DETAILED ACTION
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 § 101
35 U.S.C. 101 reads as follows:
Whoever invents or discovers any new and useful process, machine, manufacture, or composition of matter, or any new and useful improvement thereof, may obtain a patent therefor, subject to the conditions and requirements of this title.
Claims 12 and 13 are rejected under 35 U.S.C. 101 because claim 12 recites: “A computer-readable storage medium…”, however, the ordinary meaning of a computer readable medium known in the art covers forms of non-transitory mediums(CD-ROM, hard drives, etc.) and transitory mediums (propagating signals, etc.). Therefore claims 12, 13 are not statutory for reciting a computer readable medium which covers both non-statutory subject matter and statutory subject matter. However, claim …may be amended to narrow the claim to cover only statutory embodiments by amending the claim to recite “A non-transitory computer-readable storage medium…”. Claims that recite nothing but the physical characteristics of a form of energy, such as a frequency, voltage, or the strength of a magnetic field, define energy or magnetism, per se, and as such are non-statutory natural phenomena. O’Reilly, 56 U.S. (15 How.) at 112-14. Moreover, it does not appear that a claim reciting a signal encoded with functional descriptive material falls within any of the categories of patentable subject matter set forth in § 101. First, a claimed signal is clearly not a “process” under § 101 because it is not a series of steps. The other three § 101 classes of machine, compositions of matter and manufactures "relate to structural entities and can be grouped as ‘product’ claims in order to contrast them with process claims." 1 D. Chisum, Patents § 1.02 (1994). The three product classes have traditionally required physical structure or material.
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, 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.
Claim(s) 1-6, 8, 9, 11, and 12 are rejected under 35 U.S.C. 103 as being unpatentable over Cohen (Patent No. US 20170214943 A1) in view of Rente (NPL, “Graph-Based Static 3D Point Clouds Geometry Coding”, 2018).
Regarding claim 1, Cohen teaches A computer-implemented method for generating and rendering a view of a three dimensional, 3D, world-space, the method comprising: (Cohen, “[0014] The embodiments of the invention provide method and system for compressing a three-dimensional (3D) point cloud using prediction and transformation of attributes of the 3D point cloud. The point cloud is partitioned into 3D blocks. To compress each block, projections of attributes in previously-coded blocks are used to determine directional predictions of attributes in the block currently being coded.”)
obtaining a sparse point dataset for the 3D world-space, the sparse point dataset having a plurality of points; (Cohen, [0029] Sometimes, point clouds are already arranged in a format that is amenable to block processing. For example, graph transforms can be used for compressing point clouds that are generated by sparse voxelization. The data in these point clouds are already arranged on a 3D grid where each direction has dimensions 2.sup.j with j being a level within a voxel hierarchy, and the points in each hierarchy level have integer coordinates.”)
classifying the points of the sparse point dataset; (Cohen, “[0029] Sometimes, point clouds are already arranged in a format that is amenable to block processing. For example, graph transforms can be used for compressing point clouds that are generated by sparse voxelization. The data in these point clouds are already arranged on a 3D grid where each direction has dimensions 2.sup.j with j being a level within a voxel hierarchy, and the points in each hierarchy level have integer coordinates.”)
calculating adjacency vector data for the classified points; and (Cohen, “[0061] As shown in FIG. 4B, an adjacency matrix A including the weights of the graph edges, from which a graph Laplacian matrix Q is determined. The eigenvector matrix of Q is used as a transform for the attribute values. After the transform is applied, each connected sub-graph has the equivalent of one DC coefficient, and one or more AC coefficients.”)
However, Cohen is silent about for each point of a subset of points of the dataset, loading the point position and the corresponding adjacency vector data and reconstructing a volume element that comprises a set of adjacency vectors directed to neighboring points as a rasterized quad of a render target.
Rente teaches for each point of a subset of points of the dataset, loading the point position and the corresponding adjacency vector data (Rente, Pg. 291, “Graph K-NN Creation: First, a K-NN graph is created or each of the U-BL clusters, after the discarding procedure, for a user-specified K. The graph K-NN creation module computes the N pc × N pc adjacency matrix, which is the algebraic representation of the connectivity and distance between the U-BL cluster points. For this, the following sequence of steps is followed:”) and reconstructing a volume element that comprises a set of adjacency vectors directed to neighboring points as a rasterized quad of a render target. (Rente, Pg. 289, “Fig. 4. K-Means clustering for: (a) Egyptian Mask point cloud; (b) Loot point cloud; (c) Long dress point cloud. / EL Clustering The objective of this module is to perform a suitable clustering of the EL point cloud by grouping its points into a given number of clusters; the number of clusters is obtained by dividing the total number of points in the original point cloud by the target number of points per cluster (a user-specified parameter). The clusters obtained shall have a similar (although not necessarily the same) number of points and represent a local volume of the point cloud. To limit the time complexity of the graph-based transform learning process, i.e., to have a computable eigen decomposition, the size of the clusters cannot be very high (at maximum a few hundred of points). In the GTGC, the popular K-Means algorithm, which attempts to cluster the points into sets with equal variance, is used. The K Means algorithm divides the number of points in the EL cloud, the so-called samples, into a given number of disjoint clusters (N cl), with each of these clusters defined by the corresponding samples mean, the so-called cluster centroid; typically, these clusters centroids are not points belonging to the EL cloud. The K-Means algorithm main goal is to select cluster centroids that minimize the inertia of the clustering, J, i.e., the sum of the distances of each point to its nearest cluster centroid:”)
Therefore it would have been obvious for an ordinary skilled person in the art before the
effective filing date of claimed invention to have modified Cohen art by including for each point of a subset of points of the dataset, loading the point position and the corresponding adjacency vector data and reconstructing a volume element that comprises a set of adjacency vectors directed to neighboring points as a rasterized quad of a render target as taught by Rente and use that with Cohen’s Point Cloud Compression Using Prediction And Shape-Adaptive Transforms.
The motivation for the combination is to improve 3D points and associated attribute acquisitions accuracy.
Regarding claim 2, Cohen is silent about The method of claim 1, further comprising: sorting the classified points into respective spatially indexed buckets; wherein said calculating adjacency vector data for the classified points is performed in each bucket.
Rente teaches The method of claim 1, further comprising: sorting the classified points into respective spatially indexed buckets; wherein said calculating adjacency vector data for the classified points is performed in each bucket. (Rente, Pg. 289, “The objective of this module is to perform a suitable clustering of the EL point cloud by grouping its points into a given number of clusters; the number of clusters is obtained by dividing the total number of points in the original point cloud by the target number of points per cluster (a user-specified parameter). The clusters obtained shall have a similar (although not necessarily the same) number of points and represent a local volume of the point cloud. To limit the time complexity of the graph-based transform learning process, i.e., to have a computable eigen decomposition, the size of the clusters cannot be very high (at maximum a few hundred of points). In the GTGC, the popular K-Means algorithm, which attempts to cluster the points into sets with equal variance, is used.”)
Therefore it would have been obvious for an ordinary skilled person in the art before the
effective filing date of claimed invention to have modified Cohen art by including The method of claim 1, further comprising: sorting the classified points into respective spatially indexed buckets; wherein said calculating adjacency vector data for the classified points is performed in each bucket as taught by Rente and use that with Cohen’s Point Cloud Compression Using Prediction And Shape-Adaptive Transforms.
Regarding claim 3, Cohen is silent about The method of claim 2, wherein calculating adjacency vector data includes, for each current point in a current bucket: populating a list with all other points of the same classification in the bucket and in neighboring buckets; sorting the list in order of distance to the current point; and generating a trimmed list by including a predetermined number of the other points having the shortest distances to the current point.
Rente teaches The method of claim 2, wherein calculating adjacency vector data includes, for each current point in a current bucket: populating a list with all other points of the same classification in the bucket and in neighboring buckets; sorting the list in order of distance to the current point; and generating a trimmed list by including a predetermined number of the other points having the shortest distances to the current point. (Rente, Pg. 291, “Graph K-NN Creation: First, a K-NN graph is created or each of the U-BL clusters, after the discarding procedure, for a user-specified K. The graph K-NN creation module computes the N pc × N pc adjacency matrix, which is the algebraic representation of the connectivity and distance between the U-BL cluster points. For this, the following sequence of steps is followed: 1. Connectivity Matrix Creation: First, the nearest K neighbors for each cluster point are identified. Then, the K nearest neighbors’ indices for each of the U-BL cluster points are obtained and the corresponding connectivity matrix is created as: The connectivity matrix C is symmetric as the connections are bidirectional, i.e., if the point with index i is connected to the point with index j, then both cells C Ij and C ji of the connectivity matrix must be set to one. 2. Adjacency Matrix Creation: This step creates the adjacency matrix A of the graph, which describes the relationship between points. When the adjacencies are independent of the distances between points (or points edge distance), i.e., A = C, the graph can be viewed as unweighted. However, it was experimentally observed that better RD performance can be obtained with a weighted graph, i.e., when weights representing the similarity between points are as sociated to the graph edges. While several similarity functions are possible, it was experimentally found that a good solution in terms of RD performance consists in making the weights inversely proportional to the points edge distance. Thus, the desired adjacency matrix is created according to: where d ij is the Euclidean distance between the points with indices i and j and σ is the standard deviation of all distances d ij between pairs of connected points. This process is implemented in the same way at both encoder and decoder sides.”)
Therefore it would have been obvious for an ordinary skilled person in the art before the
effective filing date of claimed invention to have modified Cohen art by including The method of claim 2, wherein calculating adjacency vector data includes, for each current point in a current bucket: populating a list with all other points of the same classification in the bucket and in neighboring buckets; sorting the list in order of distance to the current point; and generating a trimmed list by including a predetermined number of the other points having the shortest distances to the current point as taught by Rente and use that with Cohen’s Point Cloud Compression Using Prediction And Shape-Adaptive Transforms.
Regarding claim 4, Cohen is silent about The method of claim 3, wherein calculating adjacency vector data further includes, for each current point in the current bucket, calculating directional vectors for each of the adjacent points in the trimmed list.
Rente teaches The method of claim 3, wherein calculating adjacency vector data further includes, for each current point in the current bucket, calculating directional vectors for each of the adjacent points in the trimmed list. (Rente, Pg. 291, “2. Adjacency Matrix Creation: This step creates the adjacency matrix A of the graph, which describes the relationship between points. When the adjacencies are independent of the distances between points (or points edge distance), i.e., A = C, the graph can be viewed as unweighted. However, it was experimentally observed that better RD performance can be obtained with a weighted graph, i.e., when weights representing the similarity between points are as sociated to the graph edges. While several similarity functions are possible, it was experimentally found that a good solution in terms of RD performance consists in making the weights inversely proportional to the points edge distance. Thus, the desired adjacency matrix is created according to: where d ij is the Euclidean distance between the points with indices i and j and σ is the standard deviation of all distances d ij between pairs of connected points. This process is implemented in the same way at both encoder and decoder sides.”)
Therefore it would have been obvious for an ordinary skilled person in the art before the
effective filing date of claimed invention to have modified Cohen art by including The method of claim 3, wherein calculating adjacency vector data further includes, for each current point in the current bucket, calculating directional vectors for each of the adjacent points in the trimmed list as taught by Rente and use that with Cohen’s Point Cloud Compression Using Prediction And Shape-Adaptive Transforms.
Regarding claim 5, Cohen is silent about The method as claimed in claim 2, wherein the calculation of adjacency vector data is performed in parallel for each bucket.
Rente teaches The method as claimed in claim 2, wherein the calculation of adjacency vector data is performed in parallel for each bucket. (Rente, Pg. 291, “2. Adjacency Matrix Creation: This step creates the adjacency matrix A of the graph, which describes the relationship between points. When the adjacencies are independent of the distances between points (or points edge distance), i.e., A = C, the graph can be viewed as unweighted. However, it was experimentally observed that better RD performance can be obtained with a weighted graph, i.e., when weights representing the similarity between points are as sociated to the graph edges. While several similarity functions are possible, it was experimentally found that a good solution in terms of RD performance consists in making the weights inversely proportional to the points edge distance. Thus, the desired adjacency matrix is created according to: where d ij is the Euclidean distance between the points with indices i and j and σ is the standard deviation of all distances d ij between pairs of connected points. This process is implemented in the same way at both encoder and decoder sides.”)
Therefore it would have been obvious for an ordinary skilled person in the art before the
effective filing date of claimed invention to have modified Cohen art by including The method as claimed in any one of claims 2 to 4 claim 2, wherein the calculation of adjacency vector data is performed in parallel for each bucket as taught by Rente and use that with Cohen’s Point Cloud Compression Using Prediction And Shape-Adaptive Transforms.
Regarding claim 6, Cohen is silent about The method as claimed in claim 1, wherein the calculated adjacency vector data is stored after generation.
Rente teaches The method as claimed in claim 1, wherein the calculated adjacency vector data is stored after generation. (Rente, Pg. 291, “2. Adjacency Matrix Creation: This step creates the adjacency matrix A of the graph, which describes the relationship between points. When the adjacencies are independent of the distances between points (or points edge distance), i.e., A = C, the graph can be viewed as unweighted. However, it was experimentally observed that better RD performance can be obtained with a weighted graph, i.e., when weights representing the similarity between points are as sociated to the graph edges. While several similarity functions are possible, it was experimentally found that a good solution in terms of RD performance consists in making the weights inversely proportional to the points edge distance. Thus, the desired adjacency matrix is created according to: where d ij is the Euclidean distance between the points with indices i and j and σ is the standard deviation of all distances d ij between pairs of connected points. This process is implemented in the same way at both encoder and decoder sides.”)
Therefore it would have been obvious for an ordinary skilled person in the art before the
effective filing date of claimed invention to have modified Cohen art by including The method as claimed in claim 1, wherein the calculated adjacency vector data is stored after generation as taught by Rente and use that with Cohen’s Point Cloud Compression Using Prediction And Shape-Adaptive Transforms.
Regarding claim 8, Cohen is silent about The method as claimed in claim 7, wherein reconstructing the volume element for points of the active chunk includes: drawing all points in each active chunk as instanced quads; and applying the quads to a model matrix.
Rente teaches The method as claimed in claim 7, wherein reconstructing the volume element for points of the active chunk includes: drawing all points in each active chunk as instanced quads; and applying the quads to a model matrix. (Rente, Pg. 294, “To perform the appropriate GTGC assessment, it is important to adopt a bitrate range that is perceptually meaningful; for example, it does not make sense to consider rate ranges where the resulting quality is already so high that no improvements are perceptually relevant, even if the objective quality keeps improving. This approach is especially relevant for application scenarios such as immersive telepresence, broadcasting and video games, where lossless point cloud reconstruction is not required. Thus, a bitrate range that avoids qualities very similar to each other had to be selected. To select these rates, an informal subjective quality assessment has been performed after PCL coding with rendered point clouds, since this is what the users see; this assessment included the (original) color at tributes on top of the decoded point cloud geometry, again be cause the users do not typically see the geometry alone in the addressed application scenarios. However, as no color attributes coding was performed, the bits per point (b pp) mentioned in the following only refer to the geometry. The rendering was per formed using the Technicolor software also used in MPEG Call for Proposals [43]; this rendering software has two key control parameters: the point size and the type of rendering primitive. Different point size values were tested, for each point cloud, and the size producing no holes in the rendered point cloud was selected. The rendering primitive used for the four point clouds were the cubes in detriment of points and splats.”)
Therefore it would have been obvious for an ordinary skilled person in the art before the
effective filing date of claimed invention to have modified Cohen art by including The method as claimed in claim 7, wherein reconstructing the volume element for points of the active chunk includes: drawing all points in each active chunk as instanced quads; and applying the quads to a model matrix as taught by Rente and use that with Cohen’s Point Cloud Compression Using Prediction And Shape-Adaptive Transforms.
Regarding claim 9, Cohen is silent about The method as claimed in claim 8, wherein the volume element has a shape that depends upon the classification associated with the point.
Rente teaches The method as claimed in claim 8, wherein the volume element has a shape that depends upon the classification associated with the point. (Rente, Pg. 289, “After performing the K Means clustering, each point in the EL point cloud is associated to a cluster and each EL cluster is defined by the corresponding centroid.”)
Therefore it would have been obvious for an ordinary skilled person in the art before the
effective filing date of claimed invention to have modified Cohen art by including The method as claimed in claim 8, wherein the volume element has a shape that depends upon the classification associated with the point as taught by Rente and use that with Cohen’s Point Cloud Compression Using Prediction And Shape-Adaptive Transforms.
Regarding claim 11, Cohen teaches A system for generating and rendering a view of a three dimensional, 3D, world- space, the system comprising: a processor; and memory including executable instructions that, as a result of execution by the processor, causes the system to: (Cohen, “[0065] The steps of the method described herein can be performed in a processor 100 connected to memory and input/output interfaces as known in the art.”)
obtaining a sparse point dataset for the 3D world-space, the sparse point dataset having a plurality of points; (Cohen, [0029] Sometimes, point clouds are already arranged in a format that is amenable to block processing. For example, graph transforms can be used for compressing point clouds that are generated by sparse voxelization. The data in these point clouds are already arranged on a 3D grid where each direction has dimensions 2.sup.j with j being a level within a voxel hierarchy, and the points in each hierarchy level have integer coordinates.”)
classifying the points of the sparse point dataset; (Cohen, “[0029] Sometimes, point clouds are already arranged in a format that is amenable to block processing. For example, graph transforms can be used for compressing point clouds that are generated by sparse voxelization. The data in these point clouds are already arranged on a 3D grid where each direction has dimensions 2.sup.j with j being a level within a voxel hierarchy, and the points in each hierarchy level have integer coordinates.”)
calculating adjacency vector data for the classified points; and (Cohen, “[0061] As shown in FIG. 4B, an adjacency matrix A including the weights of the graph edges, from which a graph Laplacian matrix Q is determined. The eigenvector matrix of Q is used as a transform for the attribute values. After the transform is applied, each connected sub-graph has the equivalent of one DC coefficient, and one or more AC coefficients.”)
However, Cohen is silent about for each point of a subset of points of the dataset, loading the point position and the corresponding adjacency vector data and reconstructing a volume element that comprises a set of adjacency vectors directed to neighboring points as a rasterized quad of a render target.
Rente teaches for each point of a subset of points of the dataset, loading the point position and the corresponding adjacency vector data (Rente, Pg. 291, “Graph K-NN Creation: First, a K-NN graph is created or each of the U-BL clusters, after the discarding procedure, for a user-specified K. The graph K-NN creation module computes the N pc × N pc adjacency matrix, which is the algebraic representation of the connectivity and distance between the U-BL cluster points. For this, the following sequence of steps is followed:”) and reconstructing a volume element that comprises a set of adjacency vectors directed to neighboring points as a rasterized quad of a render target. (Rente, Pg. 289, “Fig. 4. K-Means clustering for: (a) Egyptian Mask point cloud; (b) Loot point cloud; (c) Long dress point cloud. / EL Clustering The objective of this module is to perform a suitable clustering of the EL point cloud by grouping its points into a given number of clusters; the number of clusters is obtained by dividing the total number of points in the original point cloud by the target number of points per cluster (a user-specified parameter). The clusters obtained shall have a similar (although not necessarily the same) number of points and represent a local volume of the point cloud. To limit the time complexity of the graph-based transform learning process, i.e., to have a computable eigen decomposition, the size of the clusters cannot be very high (at maximum a few hundred of points). In the GTGC, the popular K-Means algorithm, which attempts to cluster the points into sets with equal variance, is used. The K Means algorithm divides the number of points in the EL cloud, the so-called samples, into a given number of disjoint clusters (N cl), with each of these clusters defined by the corresponding samples mean, the so-called cluster centroid; typically, these clusters centroids are not points belonging to the EL cloud. The K-Means algorithm main goal is to select cluster centroids that minimize the inertia of the clustering, J, i.e., the sum of the distances of each point to its nearest cluster centroid:”)
Therefore it would have been obvious for an ordinary skilled person in the art before the
effective filing date of claimed invention to have modified Cohen art by including for each point of a subset of points of the dataset, loading the point position and the corresponding adjacency vector data and reconstructing a volume element that comprises a set of adjacency vectors directed to neighboring points as a rasterized quad of a render target as taught by Rente and use that with Cohen’s Point Cloud Compression Using Prediction And Shape-Adaptive Transforms.
The motivation for the combination is to improve 3D points and associated attribute acquisitions accuracy.
Regarding claim 12, Cohen teaches A computer-readable storage medium including instructions that when executed by a computer, cause the computer to: (Cohen, “[0067] FIG. 6 shows the decoding method according to embodiments of the invention. A bitstream 501 is entropy decoded 601 to produce quantized transform coefficients 602, which are inverse-quantized 603 to produce quantized transform coefficients 604. The quantized transform coefficients are inverse transformed 605 to produce a reconstructed residual block 606. Already-decoded point locations 607 can be used to determine the locations of present and missing elements 608 in the set of quantized transform coefficients or in the reconstructed residual block. Using previously-decoded blocks from memory 610, a predictor 611 computes a prediction block 612. The reconstructed residual block is combined or added 609 to the prediction block to form a reconstructed block 613. Reconstructed blocks are spatially concatenated 614 to previously-decoded reconstructed blocks to produce an array of 3D blocks representing the reconstructed point cloud 615 output by the decoder system 600.”)
obtaining a sparse point dataset for the 3D world-space, the sparse point dataset having a plurality of points; (Cohen, [0029] Sometimes, point clouds are already arranged in a format that is amenable to block processing. For example, graph transforms can be used for compressing point clouds that are generated by sparse voxelization. The data in these point clouds are already arranged on a 3D grid where each direction has dimensions 2.sup.j with j being a level within a voxel hierarchy, and the points in each hierarchy level have integer coordinates.”)
classifying the points of the sparse point dataset; (Cohen, “[0029] Sometimes, point clouds are already arranged in a format that is amenable to block processing. For example, graph transforms can be used for compressing point clouds that are generated by sparse voxelization. The data in these point clouds are already arranged on a 3D grid where each direction has dimensions 2.sup.j with j being a level within a voxel hierarchy, and the points in each hierarchy level have integer coordinates.”)
calculating adjacency vector data for the classified points; and (Cohen, “[0061] As shown in FIG. 4B, an adjacency matrix A including the weights of the graph edges, from which a graph Laplacian matrix Q is determined. The eigenvector matrix of Q is used as a transform for the attribute values. After the transform is applied, each connected sub-graph has the equivalent of one DC coefficient, and one or more AC coefficients.”)
However, Cohen is silent about for each point of a subset of points of the dataset, loading the point position and the corresponding adjacency vector data and reconstructing a volume element that comprises a set of adjacency vectors directed to neighboring points as a rasterized quad of a render target.
Rente teaches for each point of a subset of points of the dataset, loading the point position and the corresponding adjacency vector data (Rente, Pg. 291, “Graph K-NN Creation: First, a K-NN graph is created or each of the U-BL clusters, after the discarding procedure, for a user-specified K. The graph K-NN creation module computes the N pc × N pc adjacency matrix, which is the algebraic representation of the connectivity and distance between the U-BL cluster points. For this, the following sequence of steps is followed:”) and reconstructing a volume element that comprises a set of adjacency vectors directed to neighboring points as a rasterized quad of a render target. (Rente, Pg. 289, “Fig. 4. K-Means clustering for: (a) Egyptian Mask point cloud; (b) Loot point cloud; (c) Long dress point cloud. / EL Clustering The objective of this module is to perform a suitable clustering of the EL point cloud by grouping its points into a given number of clusters; the number of clusters is obtained by dividing the total number of points in the original point cloud by the target number of points per cluster (a user-specified parameter). The clusters obtained shall have a similar (although not necessarily the same) number of points and represent a local volume of the point cloud. To limit the time complexity of the graph-based transform learning process, i.e., to have a computable eigen decomposition, the size of the clusters cannot be very high (at maximum a few hundred of points). In the GTGC, the popular K-Means algorithm, which attempts to cluster the points into sets with equal variance, is used. The K Means algorithm divides the number of points in the EL cloud, the so-called samples, into a given number of disjoint clusters (N cl), with each of these clusters defined by the corresponding samples mean, the so-called cluster centroid; typically, these clusters centroids are not points belonging to the EL cloud. The K-Means algorithm main goal is to select cluster centroids that minimize the inertia of the clustering, J, i.e., the sum of the distances of each point to its nearest cluster centroid:”)
Therefore it would have been obvious for an ordinary skilled person in the art before the
effective filing date of claimed invention to have modified Cohen art by including for each point of a subset of points of the dataset, loading the point position and the corresponding adjacency vector data and reconstructing a volume element that comprises a set of adjacency vectors directed to neighboring points as a rasterized quad of a render target as taught by Rente and use that with Cohen’s Point Cloud Compression Using Prediction And Shape-Adaptive Transforms.
The motivation for the combination is to improve 3D points and associated attribute acquisitions accuracy.
Claim(s) 7 is/are rejected under 35 U.S.C. 103 as being unpatentable over Cohen (Patent No. US 20170214943 A1) in view of Cheng (NPL, “Peer-Assisted View-Dependent Progressive Mesh Streaming”, 2009), in further view of Sathiamoorthy (Patent No. US 9594652 B1).
Regarding claim 7, Cohen is silent about The method as claimed in claim 1, further comprising: splitting the points of the data set into a plurality of spatially indexed chunks; splitting the points of the data set into a plurality of spatially indexed chunks; determining which of the chunks includes a position of a camera; determining which of the plurality of chunks is a neighbor chunk based on the spatial index relative to the camera chunk; and storing the camera chunk and neighbor chunks in an active chunk array, the subset of points of the dataset being one of the plurality of active chunks.
Cheng teaches The method as claimed in claim 1, further comprising: splitting the points of the data set into a plurality of spatially indexed chunks; (Cheng, Pg. 444, “This method sacrifices some flexibility in choosing vertices, but has several advantages. First, it significantly reduces the up-link bandwidth requirement since now only one chunk ID is needed to request a set of vertices. Second, the cost of searching for peers to retrieve data is also reduced. Third, grouping vertex splits into chunks can be done offline at the server, so no computation cost and time are needed by peers for online packetization.”)
determining which of the chunks includes a position of a camera; (Cheng, Pg. 442, “Our work is similar in spirit, but we focus on streaming single, large, progressive mesh in a view-dependent manner, rather than a 3D scene, where visibility decision is mainly done at the object level. Streaming progressive meshes needs a much finer granularity for view dependency.”)
determining which of the plurality of chunks is a neighbor chunk based on the spatial index relative to the camera chunk; and (Cheng, Pg. 442, “We therefore propose a hierarchical P2P system, which retains the advantages of centralized lookup but with significantly fewer requests to the server. The basic idea is to group peers according to the hierarchical structure of chunks in a progressive mesh. Each group has a leader that takes over most of the responsibilities of the server to reduce server overhead.”)
However, Cheng is silent about storing the camera chunk and neighbor chunks in an active chunk array, the subset of points of the dataset being one of the plurality of active chunks.
Sathiamoorthy teaches storing the camera chunk and neighbor chunks in an active chunk array, the subset of points of the dataset being one of the plurality of active chunks. (Sathiamoorthy, “[0005] (1) identifying data for which there is a need for physical integrity and high availability, (2) segmenting the data sequentially into a plurality of groups of chunks, with each group of chunks including redundant data sufficient to rebuild a lost chunk within the group of chunks, (3) storing the groups of chunks on a storage array according to a four-cycle-free bipartite storage map that, for each group of chunks, stores each chunk on a different device set within the storage array and, when a chunk within a group of chunks is lost, enables all other chunks within the group to be read in parallel from different devices within the storage array.”)
Therefore it would have been obvious for an ordinary skilled person in the art before the
effective filing date of claimed invention to have modified Cheng art by including about storing the camera chunk and neighbor chunks in an active chunk array, the subset of points of the dataset being one of the plurality of active chunks as taught by Sathiamoorthy and use that with Cheng’s Peer-Assisted View-Dependent Progressive Mesh Streaming.
The motivation for the combination is to improve partition and storing of chunks.
Claim(s) 10 is/are rejected under 35 U.S.C. 103 as being unpatentable over Cohen (Patent No. US 20170214943 A1) in view of Cheng (NPL, “Peer-Assisted View-Dependent Progressive Mesh Streaming”, 2009), in further view of Sathiamoorthy (Patent No. US 9594652 B1) in further view of Rente (NPL, “Graph-Based Static 3D Point Clouds Geometry Coding”, 2018)
Regarding claim 10, Cohen is silent about The method as claimed in claim 7, wherein reconstructing the volume element for points of the active chunk includes: grouping the points of the active chunk into clusters according to the classification of the respective points; assigning one or more of the clusters to a structure; and fitting a mesh structure to the or each assigned cluster.
Cheng teaches The method as claimed in claim 7, wherein reconstructing the volume element for points of the active chunk includes: grouping the points of the active chunk into clusters according to the classification of the respective points; (Cheng, Pg. 444, “We now elaborate on how to group vertex splits into chunks while maintaining progressiveness among the chunks. In the original design of receiver-driven protocol [8], the receiver explicitly requests individual vertex splits. Such design is not appropriate for P2P streaming for three reasons. First, the receiver needs to send one ID (2 bytes in our implementation) to request for one vertex split (less than 5 bytes in our implementation). Hence, the requests occupy a large proportion of the up-link bandwidth, which is precious in P2P streaming, in which the up-link bandwidth are needed to share data with other peers. Second, data packets need to be generated dynamically at the sender whenever requests are received, increasing computation overhead and delay. Finally, a peer needs to find proper peers to retrieve each vertex, which is expensive since the number of vertices is huge in a large progressive mesh.”)
assigning one or more of the clusters to a structure; (Cheng, Pg. 444, “Each chunk consists of multiple vertex splits, and each vertex split only belongs to one chunk.”)
Rente teaches and fitting a mesh structure to the or each assigned cluster. (Rente, Pg. 289, “The Poisson reconstruction creates a smooth, noise-free and watertight surface. To ap ply this reconstruction method, it is necessary to estimate the normal for each cloud point. / After, using the obtained 3D mesh triangles, an up sampling algorithm is used to add more points to the BL cloud, thus creating the U-BL point cloud. The up sampling algorithm iteratively divides the mesh triangles into smaller triangles and computes their corresponding centroids. These centroids are the points to be added to the U-BL cloud. The iterative algorithm stopping criterion is the number of points in the U-BL cloud.”)
Therefore it would have been obvious for an ordinary skilled person in the art before the
effective filing date of claimed invention to have modified Cheng art by including and fitting a mesh structure to the or each assigned cluster as taught by Rente and use that with Cheng’s Peer-Assisted View-Dependent Progressive Mesh Streaming. The motivation of the combination is to improve mesh fitting.
Claim(s) 13 is/are rejected under 35 U.S.C. 103 as being unpatentable over Cohen (Patent No. US 20170214943 A1) in view of Rente (NPL, “Graph-Based Static 3D Point Clouds Geometry Coding”, 2018), in further view of Sathiamoorthy (Patent No. US 9594652 B1)
Regarding claim 13, Cohen is silent about The storage medium as claimed in claim 12, wherein the storage medium is a non- transitory computer-readable storage medium.
Sathiamoorthy teaches The storage medium as claimed in claim 12, wherein the storage medium is a non- transitory computer-readable storage medium. (Sathiamoorthy, “[0005] As will be described in greater detail below, the instant disclosure generally relates to systems and methods for decreasing RAID rebuilding time by (1) taking advantage of the capability of a storage array to read and write chunks of data to different devices in parallel, and (2) increasing the amount of data that can be recovered after a parallel read.”)
Therefore it would have been obvious for an ordinary skilled person in the art before the
effective filing date of claimed invention to have modified Cohen art by including The storage medium as claimed in claim 12, wherein the storage medium is a non- transitory computer-readable storage medium as taught by Sathiamoorthy and use that with Cohen’s Point Cloud Compression Using Prediction And Shape-Adaptive Transforms.
The motivation of the combination is to improve storage of the invention.
Conclusion
Any inquiry concerning this communication or earlier communications from the examiner
should be directed to CHAK FUNG A LAM whose telephone number is (571)272-9823. The examiner can
normally be reached Monday-Friday 8am-5pm.
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, Said Broome can be reached at 5712722931. 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.
/C.A.L./Examiner, Art Unit 2612
/Said Broome/Supervisory Patent Examiner, Art Unit 2612