Notice 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 .
Claim Rejections - 35 USC § 103
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 (i.e., changing from AIA to pre-AIA ) 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 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, 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.
The text of those sections of Title 35, U.S. Code not included in this action can be found in a prior Office action.
Claims 1-3, 8, 11-13, 18 and 20 are rejected under 35 U.S.C. 103 as being unpatentable over Gao et al. (US 20220292730 A1) in view of Park et al. (US 20220383553 A1), and further in view of Li et al. (US 20210295568 A1).
Regarding claim 1, Gao et al. teaches a point cloud attribute coding method (see para [0005]; “a method of point cloud attribute…. attribute coding can be configured to perform point cloud compression on the set of points of the point cloud”), wherein the method comprises: obtaining, by an encoder side, a to-be-coded point cloud (see para [0021]; “an encoder for encoding point cloud frames”), wherein the to-be-coded point cloud comprises at least one type of attribute information (see para [0033]; “A point cloud can contain a set of high dimensional points, typically in three dimensions (3D). Each of the high dimensional points can include 3D position information and additional attributes such as color, reflectance, etc”), and each coding point in the to-be-coded point cloud comprises an attribute value corresponding to the attribute information (see para see para [0068]; “The attribute transfer module (520) is configured to receive attributes of the input point cloud, and perform an attribute transfer process to determine an attribute value for each voxel when multiple attribute values are associated with the respective voxel”, see also para [0069]; “The attribute prediction module (550) generates an attribute prediction for a current point based on reconstructed attributes of a set of neighboring points of the current point”); determining, by the encoder side, a target ordering manner of the to-be-coded point cloud based on an initial order corresponding to the to-be-coded point cloud or based on the initial order and density corresponding to the to-be-coded point cloud (see para [0005]; “a sorting method of a set of points of a point is determined”, see also para [0006]; “The sorting method can be a Morton sorting …..In another example, the sorting method can be determined to be a Hilbert sorting” see also para [0081]; “First, the points can be sorted according to the associated Morton codes of the points in an ascending order. Let I be an array of point indexes that is ordered according to the ascending order. The encoder/decoder can compress/decompress the points respectively according to the order defined by I”, Note; calculating Morton codes, sorting them to generate an index array (I), and utilizing this array to guide the encoder/decoder to process points in that specific sequence are corresponding to target ordering manner ) and coding, by the encoder side, the to-be-coded point cloud according to the target ordering manner (see para [0038]; “The compressed point clouds (204) can be generated by an electronic device (220) that includes an encoder”).
In the same endeavor, Park et al. teaches and the density is determined based on geometric information of the to-be-coded point cloud (see para [0219]; “calculate a bounding box of a point cloud”, see also para [0255]; “There is a density with respect to each axis of the space where the points constituting the point cloud data are distributed…..generate a density of point(s) with respect to each axis based on the method of axis-based adaptive Morton code generation”) and a quantity of coding points in the to-be-coded point cloud (see para [0263]; “the ratio may be generated by dividing the number of points by the total number of points”); Accordingly, it would have been obvious to one ordinary of skill in the art before the effective filling date of the claimed invention to modify the general use of a method of point cloud attribute decoding in a point cloud decoder of Gao et al. in view of apparatus and method for efficiently processing point cloud data of Park et al. in order to address latency and encoding/decoding complexity (see para [0219]). However, the combination of Gao et al. and Park as a whole does not teach wherein the initial order is determined based on an attribute value of a target coding point in the to-be-coded point cloud.
In the same field of endeavor, Li et al. teaches wherein the initial order is determined based on an attribute value of a target coding point in the to-be-coded point cloud (see Abstract; “sorting the attribute values in the local point clouds”, see also para [0006]; “if the attribute type of the point cloud is a color value, color component values being sorted in ascending order, … if the attribute type of the point cloud is resolution ratio, the resolution ratio values being sorted in ascending order”, and Para [0029]; “all points in each local point cloud are sorted in ascending order by color chrominance component values”). Accordingly, it would have been obvious to one ordinary of skill in the art before the effective filling date of the claimed invention to modify the general use of a method of point cloud attribute decoding in a point cloud decoder of Gao et al. in view of apparatus and method for efficiently processing point cloud data of Park et al. and farther in view of an attribute-based point cloud strip division method of Li et al. in order to improves coding efficiency, and prevents the accumulation and spread of coding errors (see para [0006]).
Regarding claim 2, the rejection of claim 1 is incorporated herein,
Gao et al. in the combination further teach wherein the determining a target ordering manner of the to-be-coded point cloud based on an initial order corresponding to the to-be-coded point cloud or based on the initial order and density corresponding to the to-be-coded point cloud comprises: determining, by the encoder side, the target ordering manner as Hilbert code ordering in a case that the initial order corresponding to the to-be-coded point cloud is a second order (see para [0082]; “Then all the points in the point cloud can be sorted using Hilbert code values of the points. Points with smaller Hilbert codes can appear before points with larger Hilbert codes”, see also para [0107]; “a different sorting order such as Hilbert sorting (or Hilbert order) can be used to sort the points of a point cloud before Haar-based attribute coding. Since points sorted by Hilbert order can often have a higher correlation with neighboring points, an attribute coding performance gain can be achieved”); or determining, by the encoder side, the target ordering manner as Morton code ordering in a case that the initial order corresponding to the to-be-coded point cloud is a second order and the to-be-coded point cloud is a sparse point cloud (see para [0108]; “the sorting method flag (e.g., aps_sort_method) can specify the sorting method before Haar-based attribute coding. When the sorting method flag (e.g., aps_sort_method) is equal to a first value (e.g., 0), the Morton sorting is indicated to be used”, see also para [0090]; “points in a point cloud can be sorted using a Morton order before attribute coding”), and the second order represents a second correlation of the spatial coding points of the to-be-coded point cloud (see para [0107]; “Since points sorted by Hilbert order can often have a higher correlation with neighboring points, an attribute coding performance gain can be achieved”).
In the same field of endeavor, Park et al. in the combination further teach and the to-be-coded point cloud is a dense point cloud (see para [0285]; “determine a sorting type of x, y, and z (17000) expressed in binary bits among sorting in ascending order of the axes, sorting in descending order of the axes (S16010), sorting in ascending order of densities, sorting in descending order of densities (S16000), or sorting based on a combination of axes and densities”, see also para [0245]; “the points may be more densely distributed within the X-axis or Y-axis”).
In the same field of endeavor, Li et al. in the combination further teach determining, by the encoder side, the target ordering manner as the initial order in a case that the initial order corresponding to the to-be-coded point cloud is a first order (see para [0005]; “By means of comprehensively using the spatial position and attribute information of the point clouds, the points having similar attributes and related spatial positions are gathered as much as possible in one strip during strip division, which is convenient for making full use of the redundancy of the attribute information between adjacent points, and improving the performance of point cloud attribute compression”, see also para [0006]; “iterating all local point clouds, and sorting attribute values in each local point cloud”); wherein the first order represents a first correlation of spatial coding points of the to-be-coded point cloud (see para Abstract; “using the spatial position and attribute information of the point clouds, the points having similar attributes and related spatial positions are gathered as much as possible”).
Regarding claim 3, the rejection of claim 1 is incorporated herein,
Gao et al. in the combination further teach wherein the method further comprises: dividing, by the encoder side, the to-be-coded point cloud, to obtain N point cloud groups, wherein N is a positive integer greater than or equal to 1 (see para [0012]; “The set of sorted points of the point cloud can further be partitioned into a plurality of segments ….a number of the plurality of segments can be equal to [N/M], where the N can be a number of the set of points in the point cloud, and the M can be a positive integer. The [N/M] can be an integer that is greater than or equal to N/M”).
Li et al. in the combination further teach determining, by the encoder side, a target attribute value corresponding to each point cloud group based on an attribute value corresponding to a target coding point in the point cloud group (see para [0006]; “iterating all local point clouds, and sorting attribute values in each local point cloud, wherein 2 common attribute type color and reflectance rate are taken as examples….. color brightness component values being taken as representatives to carry out ascending order sorting”); determining, by the encoder side, a target value based on N and the target attribute value corresponding to each point cloud group (see claim 1; attribute values in each local point cloud are sorted”, see also para [0010]; “the strip number num of each local point cloud after re-division is as follows: num=ceil(Num/2.sup.d)(Formula 2)”); and determining, by the encoder side, the initial order based on the target value (see para [0006]; “obtaining one group of local point clouds with sequence by sorting…. a point cloud strip with uniform points and close attributes can be obtained”).
Regarding claim 8, the rejection of claim 1 is incorporated herein,
Park et al. in the combination further teach wherein the method further comprises: determining, by the encoder side, a third value based on the geometric information of the to-be-coded point cloud, wherein the third value represents a size of the to-be-coded point cloud; determining, by the encoder side (see para [0242]; “A bounding box according to embodiments has a width, a depth, and a height. Based on each axis where the bounding box is located, the axial length may be checked”, see also para [0245]; “the lengths of the bounding box along all three axes may be calculated as length_x, length_y, and length_z”, see also para [0296]; “axisInfo[i].length, the length for each axis, may be obtained based on a difference between the long axis of the bounding box (bbox.max[i]) and the short axis of the bounding box (bbox.min[i])”), a density value corresponding to the to-be-coded point cloud based on the third value and the quantity of coding points (see para see para [0291]; “calculate a density along each axis. A shorter axis has a higher density. This is because the number of points does not vary according to each axis, but the number of points included in a certain space or bounding box is the same”, see also para [0263]; “the ratio may be generated by dividing the number of points by the total number of points”); and determining, by the encoder side, the density corresponding to the to-be-coded point cloud based on the density value (see para [0255]; “There is a density with respect to each axis of the space where the points constituting the point cloud data are distributed”, see also para [0256]; “The density may differ among the axes. For example, the density may be higher on a shorter axis….bits of coordinates on the respective axes may be sorted (bit-interleaved) in ascending order of densities… bit-interleaving may be performed in ascending order of densities to generate a Morton code in order of y, z, and x in the Morton code generation”), wherein the to-be-coded point cloud is determined as a dense point cloud in a case that the density value is less than a third preset threshold; or the to-be-coded point cloud is determined as a sparse point cloud in a case that the density value is greater than or equal to the third preset threshold (see para [0261]; “there may be point cloud data corresponding to category 3, for example, low-density data such as autonomous driving data, with low correlation between adjacent data”, see also para [0263]; “a threshold for density-based Morton code conversion may be set to, for example, 20%”, see also para [0301]; “the Morton code generation order (S16000 and/or S16010) and the threshold of the Morton code generation order (S16020) may be used together”, and para [0117]; “the points in the lowest LOD are sparsely distributed, and the points in the highest LOD are densely distributed”).
Regarding claim 11, the scope of claim 11 is fully encompassed by the scope of claim 1,
accordingly, the rejection of claim 1 is fully applicable here (see (see para [0017]; “a non-transitory computer-readable storage medium is provided. The non-transitory computer-readable storage medium stores instructions which when executed by at least one processor cause the at least one processor to perform one or more of the methods described above”, also para [0036]; “the terminal devices (110) and (120) may be illustrated as servers, and personal computers”).
Regarding claim 12, the rejection of claim 11 is incorporated herein,
Gao et al. in the combination further teach wherein when determining a target ordering manner of the to-be-coded point cloud based on an initial order corresponding to the to-be-coded point cloud or based on the initial order and density corresponding to the to-be-coded point cloud (see para [0005]; “a sorting method of a set of points of a point is determined”, see also para [0006]; “The sorting method can be a Morton sorting …..In another example, the sorting method can be determined to be a Hilbert sorting” see also para [0081]; “First, the points can be sorted according to the associated Morton codes of the points in an ascending order. Let I be an array of point indexes that is ordered according to the ascending order. The encoder/decoder can compress/decompress the points respectively according to the order defined by I”, Note; calculating Morton codes, sorting them to generate an index array (I), and utilizing this array to guide the encoder/decoder to process points in that specific sequence are corresponding to target ordering manner ), the program or the instruction, when executed by the processor, causes the terminal to perform (see para [0137]; “techniques described above can be implemented as computer software using computer-readable instructions and physically stored in one or more computer-readable media”):; determining the target ordering manner as Hilbert code ordering in a case that the initial order corresponding to the to-be-coded point cloud is a second order (see para [0107]; “a different sorting order such as Hilbert sorting (or Hilbert order) can be used to sort the points of a point cloud before Haar-based attribute coding. Since points sorted by Hilbert order can often have a higher correlation with neighboring points, an attribute coding performance gain can be achieved”); or determining the target ordering manner as Morton code ordering in a case that the initial order corresponding to the to-be-coded point cloud is a second order (see para [0108]; “When the sorting method flag (e.g., aps_sort_method) is equal to a first value (e.g., 0), the Morton sorting is indicated to be used”).
Park in the combination further teach determining the target ordering manner as the initial order in a case that the initial order corresponding to the to-be-coded point cloud is a first order (see para [0287]; “when an input is directly provided to the encoder without a specific condition (the user provides an input for encoding in order of zxy), the sorting may be omitted”, see also para [0300]; “when the bounding box is close to the shape of a cube, the Morton code order may not be changed”) and the to-be-coded point cloud is a dense point cloud (see para [0261]; “static data such as category 1 with high density and high correlation between adjacent data”), and the to-be-coded point cloud is a sparse point cloud (see para [0261]; “low-density data such as autonomous driving data, with low correlation between adjacent data”), and the to-be-coded point cloud is a sparse point cloud, wherein the first order represents a first correlation of spatial coding points of the to-be-coded point cloud, and the second order represents a second correlation of the spatial coding points of the to-be-coded point cloud (see para [0261]; “low-density data such as autonomous driving data, with low correlation between adjacent data, or static data such as category 1 with high density and high correlation between adjacent data”).
Regarding claim 13, the rejection of claim 11 is incorporated herein,
Li et al. in the combination further teach wherein the program or the instruction, when executed by the processor, causes the terminal to further perform: dividing the to-be-coded point cloud, to obtain N point cloud groups, wherein N is a positive integer greater than or equal to 1 (see Abstract; “performing spatial division of a certain depth on a point cloud to obtain a plurality of local point clouds”, see para [0007]; “2.sup.d local point clouds being obtained after the point cloud is divided d times”); determining a target attribute value corresponding to each point cloud group based on an attribute value corresponding to a target coding point in the point cloud group (see para [0006]; “iterating all local point clouds, and sorting attribute values in each local point cloud…. if the point cloud contains 2 attributes of color and resolution ratio at the same time, color brightness component values being taken as representatives to carry out ascending order sorting”, see also [0009]; “ascending order is performed on a brightness component of a color, but not limited to the brightness component; assuming that color values in the local point cloud b (i) are R(n), G(n), B(n), the calculation formula of the brightness component is as follows: Y(n)=round(0.2126*R(n)+0.7152*G(n)+0.0722*B(n)) (Formula 1)”); determining a target value based on N and the target attribute value corresponding to each point cloud group (see para [0010]; “assuming that strip division number of the current point cloud is Num, 2.sup.d local point clouds can be obtained through step 1), and in order to ensure that the points in each local point cloud are uniform, the strip number num of each local point cloud after re-division is as follows: num=ceil(Num/2.sup.d) (Formula 2)”) ; and determining the initial order based on the target value (see para [0006]; “then obtaining one group of local point clouds with sequence by sorting”).
Regarding claim 18, the rejection of claim 11 is incorporated herein,
Park et al. in the combination further teach wherein the program or the instruction, when executed by the processor, causes the terminal to further perform: determining a third value based on the geometric information of the to-be-coded point cloud, wherein the third value represents a size of the to-be-coded point cloud; determining a density value corresponding to the to-be-coded point cloud based on the third value and the quantity of coding points (see para [0242]; “A bounding box according to embodiments has a width, a depth, and a height. Based on each axis where the bounding box is located, the axial length may be checked”, see also para [0245]; “the lengths of the bounding box along all three axes may be calculated as length_x, length_y, and length_z”, see also para [0296]; “axisInfo[i].length, the length for each axis, may be obtained based on a difference between the long axis of the bounding box (bbox.max[i]) and the short axis of the bounding box (bbox.min[i])”); and determining the density corresponding to the to-be-coded point cloud based on the density value (see para see para [0291]; “calculate a density along each axis. A shorter axis has a higher density. This is because the number of points does not vary according to each axis, but the number of points included in a certain space or bounding box is the same”, see also para [0263]; “the ratio may be generated by dividing the number of points by the total number of points”); wherein the to-be-coded point cloud is determined as a dense point cloud in a case that the density value is less than a third preset threshold ; or the to-be-coded point cloud is determined as a sparse point cloud in a case that the density value is greater than or equal to the third preset threshold (see para [0261]; “there may be point cloud data corresponding to category 3, for example, low-density data such as autonomous driving data, with low correlation between adjacent data”, see also para [0263]; “a threshold for density-based Morton code conversion may be set to, for example, 20%”, see also para [0301]; “the Morton code generation order (S16000 and/or S16010) and the threshold of the Morton code generation order (S16020) may be used together”, and para [0117]; “the points in the lowest LOD are sparsely distributed, and the points in the highest LOD are densely distributed”).
Regarding claim 20, the rejection of claim 1 is incorporated herein,
Gao et al. further teach non-transitory readable storage medium, wherein the non-transitory readable storage medium stores a program or an instruction, and when the program or the instruction is executed by a processor, the steps of the point cloud attribute coding method (see para [0036]; “a non-transitory computer-readable storage medium is provided. The non-transitory computer-readable storage medium stores instructions which when executed by at least one processor cause the at least one processor to perform one or more of the methods described above”).
Claims 4, and 14 are rejected under 35 U.S.C. 103 as being unpatentable over Gao et al. Park et al. in view of Li et al. as applied in claims 1-3 above, and further in view of Li et al. (US 20210183068 A1) herein after Li2
Regarding claim 4, the rejection of claim 3 is incorporated herein.
Gao et al. in the combination further teach wherein the first order represents a first correlation of spatial coding points of the to-be-coded point cloud, and the second order represents a second correlation of the spatial coding points of the to-be-coded point cloud (see para [0107]; “In order to improve the sorting of the points, in an embodiment, instead of Morton order sorting (also referred to as Morton sorting or Morton order), a different sorting order such as Hilbert sorting (or Hilbert order) can be used to sort the points of a point cloud before Haar-based attribute coding. Since points sorted by Hilbert order can often have a higher correlation with neighboring points, an attribute coding performance gain can be achieved”). However, the combination of Gao et al., Park et al., and Li et al. as a whole does not teach wherein the initial order meets at least one of the following: in a case that the target value is greater than a first preset threshold, the initial order corresponding to the to-be-coded point cloud is the first order; or in a case that the target value is less than or equal to the first preset threshold, the initial order corresponding to the to-be-coded point cloud is the second order.
In the same field of endeavor, Li2 teach wherein the initial order meets at least one of the following: in a case that the target value is greater than a first preset threshold, the initial order corresponding to the to-be-coded point cloud is the first order, or in a case that the target value is less than or equal to the first preset threshold, the initial order corresponding to the to-be-coded point cloud is the second order (see para [0016]; “a threshold thres of the number of points beyond the standard ratio ratio of the local point cloud is set, followed by iterating all local point clouds obtained in step…. if the proportion ratio exceeds the threshold thres, then the current local point cloud structure being spatially divided; if the proportion ratio does not exceed the threshold thres, preliminary space division being completed such that the structure of the current local point cloud is kept and the next operation is carried out”). Accordingly, it would have been obvious to one ordinary of skill in the art before the effective filling date of the claimed invention to modify the general use of a method of point cloud attribute decoding in a point cloud decoder of Gao et al. in view of apparatus and method for efficiently processing point cloud data of Park et al. and farther in view of an attribute-based point cloud strip division method of Li et al. and self-adaptive point cloud stripe division method of Li2 in order to relieve the pressure of point cloud transmission and storage (see para [0016]).
Regarding claim 14, the rejection of claim 13 is incorporated herein,
Gao et al. in the combination further teach wherein the first order represents a first correlation of spatial coding points of the to-be-coded point cloud, and the second order represents a second correlation of the spatial coding points of the to-be-coded point cloud (see para [0107]; “In order to improve the sorting of the points, in an embodiment, instead of Morton order sorting (also referred to as Morton sorting or Morton order), a different sorting order such as Hilbert sorting (or Hilbert order) can be used to sort the points of a point cloud before Haar-based attribute coding. Since points sorted by Hilbert order can often have a higher correlation with neighboring points, an attribute coding performance gain can be achieved”).
Li2 in the combination further teach wherein the initial order meets at least one of the following: in a case that the target value is greater than a first preset threshold, the initial order corresponding to the to-be-coded point cloud is the first order; or in a case that the target value is less than or equal to the first preset threshold, the initial order corresponding to the to-be-coded point cloud is the second order (see para [0016]; “a threshold thres of the number of points beyond the standard ratio ratio of the local point cloud is set, followed by iterating all local point clouds obtained in step…. if the proportion ratio exceeds the threshold thres, then the current local point cloud structure being spatially divided; if the proportion ratio does not exceed the threshold thres, preliminary space division being completed such that the structure of the current local point cloud is kept and the next operation is carried out”).
Claims 5, and 15 are rejected under 35 U.S.C. 103 as being unpatentable over Gao et al. Park et al. in view of Li et al. as applied in claims 1-3 above, and further in view of Zhang et al. (US 20210166436 A1).
Regarding claim 5, the rejection of claim 3 is incorporated herein.
The combination of Gao et al., Park et al., and Li et al. as a whole does not teach wherein the determining a target attribute value corresponding to each point cloud group based on an attribute value corresponding to a target coding point in the point cloud group comprises: determining, by the encoder side, an attribute value corresponding to a first coding point in the point cloud group as the target attribute value corresponding to the point cloud group; or determining, by the encoder side, an average of attribute values corresponding to all coding points in the point cloud group as the target attribute value corresponding to the point cloud group.
In the same field of endeavor, Zhang et al. teach wherein the determining a target attribute value corresponding to each point cloud group based on an attribute value corresponding to a target coding point in the point cloud group comprises (see para [0005]; “determines one or more original points in a point cloud that are associated with a reconstructed position. ….then determines an attribute value for the reconstructed position based on attribute information of the one or more original points”): determining, by the encoder side, an attribute value corresponding to a first coding point in the point cloud group as the target attribute value corresponding to the point cloud group (see para [0009]; “a specific attribute value of a nearest point in multiple original points to be the determined attribute value for the reconstructed point in response to the multiple original points being associated with the reconstructed position”); or determining, by the encoder side, an average of attribute values corresponding to all coding points in the point cloud group as the target attribute value corresponding to the point cloud group (see para [0008]; “calculates an average of attribute values of multiple original points as the determined attribute value for the reconstructed position in response to the multiple original points being associated with the reconstructed position”). Accordingly, it would have been obvious to one ordinary of skill in the art before the effective filling date of the claimed invention to modify the general use of a method of point cloud attribute decoding in a point cloud decoder of Gao et al. in view of apparatus and method for efficiently processing point cloud data of Park et al. and farther in view of an attribute-based point cloud strip division method of Li et al. and methods and apparatuses for point cloud compression of Zhang et al. in order to improve the amounts of data, cost and time to store and transmit (see para [0016]).
Regarding claim 15, the rejection of claim 13 is incorporated herein,
Li et al. in the combination further teach wherein when determining a target attribute value corresponding to each point cloud group based on an attribute value corresponding to a target coding point in the point cloud group (see para [0005]; “determines one or more original points in a point cloud that are associated with a reconstructed position. ….then determines an attribute value for the reconstructed position based on attribute information of the one or more original points”), the program or the instruction, when executed by the processor, causes the terminal to perform: determining an attribute value corresponding to a first coding point in the point cloud group as the target attribute value corresponding to the point cloud group (see para [0009]; “a specific attribute value of a nearest point in multiple original points to be the determined attribute value for the reconstructed point in response to the multiple original points being associated with the reconstructed position”); or determining an average of attribute values corresponding to all coding points in the point cloud group as the target attribute value corresponding to the point cloud group (see para [0008]; “calculates an average of attribute values of multiple original points as the determined attribute value for the reconstructed position in response to the multiple original points being associated with the reconstructed position”).
Claims 6-7, and 16-17 are rejected under 35 U.S.C. 103 as being unpatentable over Gao et al. and Park et al. in view of Li et al. as applied in claims 1-3 above, and further in view of Li2 and Oh et al. (US 20230316584 A1).
Regarding claim 6, the rejection of claim 3 is incorporated herein,
The combination of Gao et al., Park et al., and Li et al. as a whole does not teach wherein the determining a target value based on N and the target attribute value corresponding to each point cloud group comprises: calculating, by the encoder side for each first point cloud group, a difference between a target attribute value corresponding to the first point cloud group and a target attribute value corresponding to a second point cloud group, wherein the first point cloud group is any point cloud group other than a head point cloud group in the to-be-coded point cloud groups, and the second point cloud group is associated with the first point cloud group; determining, by the encoder side, the first point cloud group as a target point cloud group in a case what the difference is less than a second preset threshold.
In the same field of endeavor, Oh et al. teach wherein the determining a target value based on N and the target attribute value corresponding to each point cloud group comprises: calculating, by the encoder side for each first point cloud group, a difference between a target attribute value corresponding to the first point cloud group and a target attribute value corresponding to a second point cloud group (see para [0268]; “an attribute difference is obtained based on a point to be compressed (current point) and a nearest point (correlated point) with respect to a neighbor point”, see also para [0269]; “the difference between the attribute of the correlated point and the attribute of the neighbor point is assumed as an approximate value of the difference between the attribute of the current point and the attribute of the neighbor point”), wherein the first point cloud group is any point cloud group other than a head point cloud group in the to-be-coded point cloud groups, and the second point cloud group is associated with the first point cloud group (see para [0267]; “a difference from a neighbor point may be obtained considering the position and attribute similarities”); determining, by the encoder side, the first point cloud group as a target point cloud group in a case what the difference is less than a second preset threshold (see para [0314]; “attr_correlation_type: may indicate a reference for determining attribute similarity. When set to 0, it may indicate that attribute similarity is determined based on a threshold (e.g., FIG. 26). When set to 1, it may indicate that attribute similarity is determined based on a weight (e.g., FIG. 25)…th1_lower_bound and th2_upper_bound: May indicate a range when attr_correlation_type is 0. When the attribute difference is greater than or equal to th1_lower_bound and less than or equal to th2_upper_bound, it may be determined that the corresponding point is similar in attribute to the current point”). Accordingly, it would have been obvious to one ordinary of skill in the art before the effective filling date of the claimed invention to modify the general use of a method of point cloud attribute decoding in a point cloud decoder of Gao et al. in view of apparatus and method for efficiently processing point cloud data of Park et al. and farther in view of an attribute-based point cloud strip division method of Li et al. and a point cloud data transmission method of Oh et al. in order to efficiently processing a large amount of point data (see para [0016]).
However, the combination of Gao et al., Park et al. Li et al. and Oh et al. as a whole does not teach and determining, by the encoder side, the target value based on a first value, wherein the first value represents a quantity of target point cloud groups in the to-be-coded point cloud.
In the same field of endeavor, Li2 teaches and determining, by the encoder side, the target value based on a first value, wherein the first value represents a quantity of target point cloud groups in the to-be-coded point cloud (see para [0016]; “adding 1 to a counter num, and after the iteration is completed, calculating a proportion ratio of the local point cloud where the number of points exceeds maxSize”). Accordingly, it would have been obvious to one ordinary of skill in the art before the effective filling date of the claimed invention to modify the general use of a method of point cloud attribute decoding in a point cloud decoder of Gao et al. and apparatus and method for efficiently processing point cloud data of Park et al. in view of an attribute-based point cloud strip division method of Li et al. and farther in view of a point cloud data transmission method of Oh et al. and self-adaptive point cloud stripe division method of Li2 in order to generate a plurality of point cloud stripes with a rational number of points while supporting parallel processing (see para [0016]).
Regarding claim 7, the rejection of claim 6 is incorporated herein,
Li2 in the combination further teach wherein the determining the target value based on a first value comprises: determining a quotient of the first value and a second value as the target value, wherein the second value is determined based on N (see para [0016]; “when the number of points of the local point cloud exceeds maxSize, adding 1 to a counter num, and after the iteration is completed, calculating a proportion ratio of the local point cloud where the number of points exceeds maxSize”, see also para [0040]; “dividing one frame of complete point cloud into 8.sup.d local point clouds, and then obtaining a group of local point clouds with sequence by sorting”).
Regarding claim 16, the rejection of claim 13 is incorporated herein,
Oh et al. in the combination further teach wherein when determining a target value based on N and the target attribute value corresponding to each point cloud group, the program or the instruction, when executed by the processor, causes the terminal to perform: calculating, for each first point cloud group, a difference between a target attribute value corresponding to the first point cloud group and a target attribute value corresponding to a second point cloud group (see para [0268]; “an attribute difference is obtained based on a point to be compressed (current point) and a nearest point (correlated point) with respect to a neighbor point”, see also para [0269]; “the difference between the attribute of the correlated point and the attribute of the neighbor point is assumed as an approximate value of the difference between the attribute of the current point and the attribute of the neighbor point”), wherein the first point cloud group is any point cloud group other than a head point cloud group in the to-be-coded point cloud groups, and the second point cloud group is associated with the first point cloud group (see para [0267]; “a difference from a neighbor point may be obtained considering the position and attribute similarities”); determining the first point cloud group as a target point cloud group in a case what the difference is less than a second preset threshold (see para [0314]; “attr_correlation_type: may indicate a reference for determining attribute similarity. When set to 0, it may indicate that attribute similarity is determined based on a threshold (e.g., FIG. 26). When set to 1, it may indicate that attribute similarity is determined based on a weight (e.g., FIG. 25)…th1_lower_bound and th2_upper_bound: May indicate a range when attr_correlation_type is 0. When the attribute difference is greater than or equal to th1_lower_bound and less than or equal to th2_upper_bound, it may be determined that the corresponding point is similar in attribute to the current point”).
Li2. in the combination further teach and determining the target value based on a first value, wherein the first value represents a quantity of target point cloud groups in the to-be-coded point cloud (see para [0016]; “adding 1 to a counter num, and after the iteration is completed, calculating a proportion ratio of the local point cloud where the number of points exceeds maxSize”).
Regarding claim 17, the rejection of claim 16 is incorporated herein,
Li2 in the combination further teach wherein when determining the target value based on a first value, the program or the instruction, when executed by the processor, causes the terminal to perform: determining a quotient of the first value and a second value as the target value, wherein the second value is determined based on N (see para [0016]; “when the number of points of the local point cloud exceeds maxSize, adding 1 to a counter num, and after the iteration is completed, calculating a proportion ratio of the local point cloud where the number of points exceeds maxSize”, see also para [0040]; “dividing one frame of complete point cloud into 8.sup.d local point clouds, and then obtaining a group of local point clouds with sequence by sorting”).
Claim Rejections - 35 USC § 102
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 (i.e., changing from AIA to pre-AIA ) 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 following is a quotation of the appropriate paragraphs of 35 U.S.C. 102 that form the basis for the rejections under this section made in this Office action:
A person shall be entitled to a patent unless –
(a)(1) the claimed invention was patented, described in a printed publication, or in public use, on sale, or otherwise available to the public before the effective filing date of the claimed invention.
(a)(2) the claimed invention was described in a patent issued under section 151, or in an application for patent published or deemed published under section 122(b), in which the patent or application, as the case may be, names another inventor and was effectively filed before the effective filing date of the claimed invention.
The text of those sections of Title 35, U.S. Code not included in this action can be found in a prior Office action.
Claims 9 and 19 are rejected under 35 U.S.C. 102(a)(2) as being anticipated by Gao et al.
Regarding claim 9, Gao et al. teaches a point cloud attribute decoding method (see Abstract; “In a method of point cloud attribute decoding in a point cloud decoder”), wherein the method comprises: obtaining, by a decoder side, a to-be-decoded point cloud (see para [0035]; “The terminal device (120) may receive the compressed point cloud from the network (150), decompress the bitstream to reconstruct the point cloud”, see also para [0038]; “A client subsystem (206) can include a decoder (210), for example, in an electronic device (230). The decoder (210) decodes the incoming copy (207) of the compressed point clouds and creates an outgoing stream of reconstructed point clouds (211) that can be rendered on a rendering device (212)”) and at least one target parameter in an attribute parameter set of the to-be-decoded point cloud (see para [0108]; “a sorting method flag, such as sort_method, can be used to indicate which sorting method is used in Haar based attribute coding. The sorting method flag can be carried in a high level syntax, such as in a sequence parameter set (SPS), an attribute parameter set (APS), a slice header, etc… attribute_parameter_set( ) { ... ... aps_sort_method u(1) ... ... byte_alignment( ) }”), wherein one target parameter represents a target ordering manner corresponding to a type of attribute information (see para [0107]-[0108]; “instead of Morton order sorting …., a different sorting order such as Hilbert sorting (or Hilbert order) can be used to sort the points of a point cloud before Haar-based attribute coding…..the sorting method flag (e.g., aps_sort_method) can specify the sorting method before Haar-based attribute coding. When the sorting method flag (e.g., aps_sort_method) is equal to a first value (e.g., 0), the Morton sorting is indicated to be used. When the sorting method flag (e.g., aps_sort_method) is equal to a second value (e.g., 1), another sorting method such as the Hilbert sorting is indicated to be used”); and decoding, by the decoder side, the to-be-decoded point cloud according to a target ordering manner represented by the target parameter (see para [0123]; “At (S1110), a sorting method of a set of points of a point cloud can be determined based on first signaling information in a coded bitstream of the point cloud”, see also para [0127]; “At (S1150), attributes of the point cloud can be reconstructed based on the determined sorting method and the determined quantized transform coefficients”, see also para [0123]; “the set of points of the point cloud can be sorted based on the determined sorting method”).
Regarding claim 19, the rejection of claim 9 is incorporated herein,
Gao et al. further teach a terminal (see para [0036]; “the terminal devices (110) and (120) may be illustrated as servers, and personal computers”), comprising a processor and a memory, wherein the memory stores a program or an instruction that can be run on the processor, and when the program or the instruction is executed by the processor, the steps of the point cloud attribute coding method (see para [0017]; “a non-transitory computer-readable storage medium is provided. The non-transitory computer-readable storage medium stores instructions which when executed by at least one processor cause the at least one processor to perform one or more of the methods described above”).
Claim 10 is rejected under 35 U.S.C. 103 as being unpatentable over Gao et al. in view of Park et al.
Regarding claim 10, the rejection of claim 9 is incorporated herein,
Gao et al. further teach or in a case that the target parameter is a second value, the target ordering manner is Hilbert code ordering (see para [0107]; “Since points sorted by Hilbert order can often have a higher correlation with neighboring points, an attribute coding performance gain can be achieved”, see also para [0108]; “When the sorting method flag (e.g., aps_sort_method) is equal to a second value (e.g., 1), another sorting method such as the Hilbert sorting is indicated to be used”); or in a case that the target parameter is a third value, the target ordering manner is Morton code ordering (see para [0006]; “The sorting method can be a Morton sorting based on the second signaling information being equal to a first value. In another example, the sorting method can be determined to be a Hilbert sorting based on the second signaling information being equal to a second value”, see also para [0108]; “When the sorting method flag (e.g., aps_sort_method) is equal to a first value (e.g., 0), the Morton sorting is indicated to be used”). However, Gao et al. does not teach wherein in a case that the target parameter is a first value, the target ordering manner is an initial order.
In the same field of endeavor, Park et al. teach wherein in a case that the target parameter is a first value, the target ordering manner is an initial order (see para [0287]; “when an input is directly provided to the encoder without a specific condition (the user provides an input for encoding in order of zxy), the sorting may be omitted”, see also para [0300]; “when the bounding box is close to the shape of a cube, the Morton code order may not be changed”). Accordingly, it would have been obvious to one ordinary of skill in the art before the effective filling date of the claimed invention to modify the general use of a method of point cloud attribute decoding in a point cloud decoder of Gao et al. in view of apparatus and method for efficiently processing point cloud data of Park et al. in order to address latency and encoding/decoding complexity (see para [0219]).
Conclusion
Any inquiry concerning this communication or earlier communications from the examiner should be directed to WINTA GEBRESLASSIE whose telephone number is (571)272-3475. The examiner can normally be reached Monday-Friday9:00-5:00.
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, Andrew Bee can be reached at 571-270-5180. The fax phone number for the organization where this application or proceeding is assigned is 571-273-8300.
Information regarding the status of published or unpublished applications may be obtained from Patent Center. Unpublished application information in Patent Center is available to registered users. To file and manage patent submissions in Patent Center, visit: https://patentcenter.uspto.gov. Visit https://www.uspto.gov/patents/apply/patent-center for more information about Patent Center and https://www.uspto.gov/patents/docx for information about filing in DOCX format. For additional questions, contact the Electronic Business Center (EBC) at 866-217-9197 (toll-free). If you would like assistance from a USPTO Customer Service Representative, call 800-786-9199 (IN USA OR CANADA) or 571-272-1000.
/WINTA GEBRESLASSIE/ Examiner, Art Unit 2677