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 .
Double Patenting
The nonstatutory double patenting rejection is based on a judicially created doctrine grounded in public policy (a policy reflected in the statute) so as to prevent the unjustified or improper timewise extension of the “right to exclude” granted by a patent and to prevent possible harassment by multiple assignees. A nonstatutory double patenting rejection is appropriate where the conflicting claims are not identical, but at least one examined application claim is not patentably distinct from the reference claim(s) because the examined application claim is either anticipated by, or would have been obvious over, the reference claim(s). See, e.g., In re Berg, 140 F.3d 1428, 46 USPQ2d 1226 (Fed. Cir. 1998); In re Goodman, 11 F.3d 1046, 29 USPQ2d 2010 (Fed. Cir. 1993); In re Longi, 759 F.2d 887, 225 USPQ 645 (Fed. Cir. 1985); In re Van Ornum, 686 F.2d 937, 214 USPQ 761 (CCPA 1982); In re Vogel, 422 F.2d 438, 164 USPQ 619 (CCPA 1970); In re Thorington, 418 F.2d 528, 163 USPQ 644 (CCPA 1969).
A timely filed terminal disclaimer in compliance with 37 CFR 1.321(c) or 1.321(d) may be used to overcome an actual or provisional rejection based on nonstatutory double patenting provided the reference application or patent either is shown to be commonly owned with the examined application, or claims an invention made as a result of activities undertaken within the scope of a joint research agreement. See MPEP § 717.02 for applications subject to examination under the first inventor to file provisions of the AIA as explained in MPEP § 2159. See MPEP § 2146 et seq. for applications not subject to examination under the first inventor to file provisions of the AIA . A terminal disclaimer must be signed in compliance with 37 CFR 1.321(b).
The filing of a terminal disclaimer by itself is not a complete reply to a nonstatutory double patenting (NSDP) rejection. A complete reply requires that the terminal disclaimer be accompanied by a reply requesting reconsideration of the prior Office action. Even where the NSDP rejection is provisional the reply must be complete. See MPEP § 804, subsection I.B.1. For a reply to a non-final Office action, see 37 CFR 1.111(a). For a reply to final Office action, see 37 CFR 1.113(c). A request for reconsideration while not provided for in 37 CFR 1.113(c) may be filed after final for consideration. See MPEP §§ 706.07(e) and 714.13.
The USPTO Internet website contains terminal disclaimer forms which may be used. Please visit www.uspto.gov/patent/patents-forms. The actual filing date of the application in which the form is filed determines what form (e.g., PTO/SB/25, PTO/SB/26, PTO/AIA /25, or PTO/AIA /26) should be used. A web-based eTerminal Disclaimer may be filled out completely online using web-screens. An eTerminal Disclaimer that meets all requirements is auto-processed and approved immediately upon submission. For more information about eTerminal Disclaimers, refer to www.uspto.gov/patents/apply/applying-online/eterminal-disclaimer.
Claims 1-20 are rejected on the ground of nonstatutory double patenting as being unpatentable over claims 1-20 of U.S. Patent No. 12,530,858. Although independent claims 1 and 13 at issue are not identical, they are not patentably distinct from each other because the instant claims are broader than the patented claims and claims 1, 11-and 13 are slight variations of the same wording while all other claims are identical, as demonstrated by the correspondence in the table below. For instance, the current claims recite “the first one or more vertex weights being determined based on distances of the first visual vertex to the first one or more proxy vertices” while the patented claims recite “each of the vertex weights indicating how much the respective proxy vertex impacts a position of one of the one or more of the plurality of visual vertices that is adjacent to the respective proxy vertex” but adjacency is a specific example of distance.
Current Claim
Patented Claim
1. A method of mesh processing, the method comprising: generating a proxy mesh for a visual mesh according to a fitting plane of a plurality of visual vertices in the visual mesh, the visual mesh being of an object worn by a character model, the proxy mesh including a plurality of proxy vertices, and each of the plurality of visual vertices being associated with one or more proxy vertices in the plurality of proxy vertices; determining, for at least a first visual vertex in the plurality of visual vertices, first one or more vertex weights respectively for first one or more proxy vertices in the plurality of proxy vertices, the first one or more proxy vertices being associated with the first visual vertex, the first one or more vertex weights being determined based on distances of the first visual vertex to the first one or more proxy vertices; and adjusting a position of the first visual vertex based on the first one or more vertex weights and positions of the first one or more proxy vertices.
1. A method of mesh processing, the method comprising: generating a proxy mesh that includes a plurality of proxy vertices, the proxy mesh being generated based on a visual mesh by projecting the visual mesh that includes a plurality of visual vertices onto a fitting plane, the visual mesh being of an object worn by a character model, each of the plurality of proxy vertices indicating a respective bone of the character model and neighboring one or more of the plurality of visual vertices of the visual mesh; determining a vertex weight associated with each of the plurality of proxy vertices of the proxy mesh, each of the vertex weights indicating how much the respective proxy vertex impacts a position of one of the one or more of the plurality of visual vertices that is adjacent to the respective proxy vertex; and adjusting a position of each of the plurality of visual vertices based on the determined vertex weights of a subset of the plurality of proxy vertices that are adjacent to the respective visual vertex.
2. The method of claim 1, wherein the generating the proxy mesh further comprises: determining a first principal component of the plurality of visual vertices based on a principal component analysis (PCA), the first principal component including a most variation of the plurality of visual vertices; and determining the fitting plane based on the first principal component in which a normal vector of the fitting plane is determined based on a direction of the first principal component.
2. The method of claim 1, wherein the generating the proxy mesh further comprises: determining a first principal component of the plurality of visual vertices based on a principal component analysis (PCA), the first principal component including a most variation of the plurality of visual vertices; and determining the fitting plane based on the first principal component in which a normal vector of the fitting plane is determined based on a direction of the first principal component.
3. The method of claim 2, wherein the generating the proxy mesh further comprises: obtaining samples from each of a plurality of faces of the visual mesh based on a uniform sampling, each of the plurality of faces of the visual mesh being defined by a respective subset of the plurality of visual vertices; projecting the obtained samples from the plurality of faces of the visual mesh onto the fitting plane; and determining a two-dimensional (2D) signed distance field on the fitting plane on which the obtained samples are projected.
3. The method of claim 2, wherein the generating the proxy mesh further comprises: obtaining samples from each of a plurality of faces of the visual mesh based on a uniform sampling, each of the plurality of faces of the visual mesh being defined by a respective subset of the plurality of visual vertices; projecting the obtained samples from the plurality of faces of the visual mesh onto the fitting plane; and determining a two-dimensional (2D) signed distance field on the fitting plane on which the obtained samples are projected.
4. The method of claim 3, wherein the generating the proxy mesh further comprises: extracting a plurality of 2D isolines from the 2D signed distance field based on an iso-value through Marching Squares, an outer boundary of the 2D signed distance field being defined by the plurality of 2D isolines.
4. The method of claim 3, wherein the generating the proxy mesh further comprises: extracting a plurality of 2D isolines from the 2D signed distance field based on an iso-value through Marching Squares, an outer boundary of the 2D signed distance field being defined by the plurality of 2D isolines.
5. The method of claim 4, wherein the extracting the plurality of 2D isolines further comprises: determining a plurality of 2D squares in the 2D signed distance field based on samples in the 2D signed distance field, each of the plurality of 2D squares including 4 respective samples; classifying states of the samples of each of the plurality of 2D squares based on the iso-value, the states of the samples of the respective one of the plurality of 2D squares indicating whether the samples are larger than the iso-value; determining a point between each pair of adjacent samples of the plurality of 2D squares that have different states; and connecting adjacent points of the determined points to form the plurality of 2D isolines.
5. The method of claim 4, wherein the extracting the plurality of 2D isolines further comprises: determining a plurality of 2D squares in the 2D signed distance field based on samples in the 2D signed distance field, each of the plurality of 2D squares including 4 respective samples; classifying states of the samples of each of the plurality of 2D squares based on the iso-value, the states of the samples of the respective one of the plurality of 2D squares indicating whether the samples are larger than the iso-value; determining a point between each pair of adjacent samples of the plurality of 2D squares that have different states; and connecting adjacent points of the determined points to form the plurality of 2D isolines.
6. The method of claim 5, wherein the generating the proxy mesh further comprises: generating a plurality of simplified line segment loops based on the plurality of 2D isolines, the plurality of simplified line segment loops being generated based on a subset of the determined points, a distance between the plurality of simplified line segment loops and the plurality of 2D isolines being equal to or less than a threshold value.
6. The method of claim 5, wherein the generating the proxy mesh further comprises: generating a plurality of simplified line segment loops based on the plurality of 2D isolines, the plurality of simplified line segment loops being generated based on a subset of the determined points, a distance between the plurality of simplified line segment loops and the plurality of 2D isolines being equal to or less than a threshold value.
7. The method of claim 6, wherein the generating the proxy mesh further comprises: generating a Poisson disk sample set that includes a plurality of samples within a domain defined by the plurality of simplified line segment loops in which a distance between each pair of neighboring samples of the Poisson disk sample set is larger than a threshold distance; and removing a subset of the plurality of samples to generate the plurality of proxy vertices, the subset of the plurality of samples being removed based on a weighted sample elimination in which each of the plurality of samples is assigned with a weight and the subset of the plurality of samples are removed according to the respective weights.
7. The method of claim 6, wherein the generating the proxy mesh further comprises: generating a Poisson disk sample set that includes a plurality of samples within a domain defined by the plurality of simplified line segment loops in which a distance between each pair of neighboring samples of the Poisson disk sample set is larger than a threshold distance; and removing a subset of the plurality of samples to generate the plurality of proxy vertices, the subset of the plurality of samples being removed based on a weighted sample elimination in which each of the plurality of samples is assigned with a weight and the subset of the plurality of samples are removed according to the respective weights.
8. The method of claim 7, wherein the removing further comprises: assigning each of the plurality of samples with the respective weight; determining a first sample of the plurality of samples and neighboring samples of the first sample based on a k-dimensional tree structure of the plurality of samples; building a heap based on the first sample of the plurality of samples and the neighboring samples of the first sample, the heap indicating that the first sample and the neighboring samples of the first sample are organized in a binary tree-based structure based on the weights of the first sample and the neighboring samples of the first sample; and removing one of the neighboring samples of the first sample that corresponds to a largest weight in the heap.
8. The method of claim 7, wherein the removing further comprises: assigning each of the plurality of samples with the respective weight; determining a first sample of the plurality of samples and neighboring samples of the first sample based on a k-dimensional tree structure of the plurality of samples; building a heap based on the first sample of the plurality of samples and the neighboring samples of the first sample, the heap indicating that the first sample and the neighboring samples of the first sample are organized in a binary tree-based structure based on the weights of the first sample and the neighboring samples of the first sample; and removing one of the neighboring samples of the first sample that corresponds to a largest weight in the heap.
9. The method of claim 7, wherein the weight of each sample of the plurality of samples is associated with distances between the respective sample and respective neighboring samples of the respective sample.
9. The method of claim 7, wherein the weight of each sample of the plurality of samples is associated with distances between the respective sample and respective neighboring samples of the respective sample.
10. The method of claim 1, wherein the generating the proxy mesh further comprises: generating the proxy mesh based on a plurality of Delaunay triangles that are formed based on the plurality of proxy vertices, a circumcircle of each of the plurality of Delaunay triangles being an empty circle.
10. The method of claim 1, wherein the generating the proxy mesh further comprises: generating the proxy mesh based on a plurality of Delaunay triangles that are formed based on the plurality of proxy vertices, a circumcircle of each of the plurality of Delaunay triangles being an empty circle.
11. The method of claim 1, wherein the adjusting the position of the first visual vertex further comprises: adjusting the position of the first visual vertex based on four proxy vertices adjacent to the first visual vertex according to =(vi, vi being an initial position of the first visual vertex, being the adjusted position of the first visual vertex, Tj being a spatial transformation matrix associated with a j-th proxy vertex of the four proxy vertices, wi,j being the vertex weight of the j-th proxy vertex for the first visual vertex and indicates how much the j-th proxy vertex impacts the initial position of the first visual vertex.
11. The method of claim 1, wherein the adjusting the position of each of the plurality of visual vertices further comprises: adjusting the position of a i-th visual vertex of the plurality of visual vertices based on four proxy vertices of the plurality of proxy vertices adjacent to the i-th visual vertex according to T)v,, v, being an initial position of the i-th visual vertex, v, being the adjusted position of the i-th visual vertex, T being a spatial transformation matrix associated with a j-th proxy vertex of the four proxy vertices, w,1 being the vertex weight that is associated with the j-th proxy vertex and indicates how much the j-th proxy vertex impacts the initial position of the i-th visual vertex.
12. The method of claim 11, wherein the determining the first one or more vertex weights further comprises: determining the vertex weight wi,j of the j-th proxy vertex as: [given equation] dj indicating a distance between the j-th proxy vertex and the first visual vertex, dmax=max (d1, d2, d3, d4), ϵd being a predefined value.
12. The method of claim 11, wherein the determining the vertex weight further comprises: determining the vertex weight w,1 associated with the j-th proxy vertex as: [given equation] d, indicating a distance between the j-th proxy vertex and the i-th visual vertex, dmax=max (di, d2, d3, d4), Ed being a predefined value.
13. An apparatus of mesh processing, the apparatus comprising: processing circuitry configured to: generate a proxy mesh for a visual mesh according to a fitting plane of a plurality of visual vertices in the visual mesh, the visual mesh being of an object worn by a character model, the proxy mesh including a plurality of proxy vertices, and each of the plurality of visual vertices being associated with one or more proxy vertices in the plurality of proxy vertices; determine, for at least a first visual vertex in the plurality of visual vertices, first one or more vertex weights respectively for first one or more proxy vertices in the plurality of proxy vertices, the first one or more proxy vertices being associated with the first visual vertex, the first one or more vertex weights being determined based on distances of the first visual vertex to the first one or more proxy vertices; and adjust a position of the first visual vertex based on the first one or more vertex weights and positions of the first one or more proxy vertices.
13. An apparatus of mesh processing, the apparatus comprising: processing circuitry configured to: generate a proxy mesh that includes a plurality of proxy vertices, the proxy mesh being generated based on a visual mesh by projecting the visual mesh that includes a plurality of visual vertices onto a fitting plane, the visual mesh being of an object worn by a character model, each of the plurality of proxy vertices indicating a respective bone of the character model and neighboring one or more of the plurality of visual vertices of the visual mesh; determine a vertex weight associated with each of the plurality of proxy vertices of the proxy mesh, each of the vertex weights indicating how much the respective proxy vertex impacts a position of one of the one or more of the plurality of visual vertices that is adjacent to the respective proxy vertex; and adjust a position of each of the plurality of visual vertices based on the determined vertex weights of a subset of the plurality of proxy vertices that are adjacent to the respective visual vertex.
14. The apparatus of claim 13, wherein the processing circuitry is configured to: determine a first principal component of the plurality of visual vertices based on a principal component analysis (PCA), the first principal component including a most variation of the plurality of visual vertices; and determine the fitting plane based on the first principal component in which a normal vector of the fitting plane is determined based on a direction of the first principal component.
14. The apparatus of claim 13, wherein the processing circuitry is configured to: determine a first principal component of the plurality of visual vertices based on a principal component analysis (PCA), the first principal component including a most variation of the plurality of visual vertices; and determine the fitting plane based on the first principal component in which a normal vector of the fitting plane is determined based on a direction of the first principal component.
15. The apparatus of claim 14, wherein the processing circuitry is configured to: obtain samples from each of a plurality of faces of the visual mesh based on a uniform sampling, each of the plurality of faces of the visual mesh being defined by a respective subset of the plurality of visual vertices; project the obtained samples from the plurality of faces of the visual mesh onto the fitting plane; and determine a two-dimensional (2D) signed distance field on the fitting plane on which the obtained samples are projected.
15. The apparatus of claim 14, wherein the processing circuitry is configured to: obtain samples from each of a plurality of faces of the visual mesh based on a uniform sampling, each of the plurality of faces of the visual mesh being defined by a respective subset of the plurality of visual vertices; project the obtained samples from the plurality of faces of the visual mesh onto the fitting plane; and determine a two-dimensional (2D) signed distance field on the fitting plane on which the obtained samples are projected.
16. The apparatus of claim 15, wherein the processing circuitry is configured to: extract a plurality of 2D isolines from the 2D signed distance field based on an iso-value through Marching Squares, an outer boundary of the 2D signed distance field being defined by the plurality of 2D isolines.
16. The apparatus of claim 15, wherein the processing circuitry is configured to: extract a plurality of 2D isolines from the 2D signed distance field based on an iso-value through Marching Squares, an outer boundary of the 2D signed distance field being defined by the plurality of 2D isolines.
17. The apparatus of claim 16, wherein the processing circuitry is configured to: determine a plurality of 2D squares in the 2D signed distance field based on samples in the 2D signed distance field, each of the plurality of 2D squares including 4 respective samples; classify states of the samples of each of the plurality of 2D squares based on the iso-value, the states of the samples of the respective one of the plurality of 2D squares indicating whether the samples are larger than the iso-value; determine a point between each pair of adjacent samples of the plurality of 2D squares that have different states; and connect adjacent points of the determined points to form the plurality of 2D isolines.
17. The apparatus of claim 16, wherein the processing circuitry is configured to: determine a plurality of 2D squares in the 2D signed distance field based on samples in the 2D signed distance field, each of the plurality of 2D squares including 4 respective samples; classify states of the samples of each of the plurality of 2D squares based on the iso-value, the states of the samples of the respective one of the plurality of 2D squares indicating whether the samples are larger than the iso-value; determine a point between each pair of adjacent samples of the plurality of 2D squares that have different states; and connect adjacent points of the determined points to form the plurality of 2D isolines.
18. The apparatus of claim 17, wherein the processing circuitry is configured to: generate a plurality of simplified line segment loops based on the plurality of 2D isolines, the plurality of simplified line segment loops being generated based on a subset of the determined points, a distance between the plurality of simplified line segment loops and the plurality of 2D isolines being equal to or less than a threshold value.
18. The apparatus of claim 17, wherein the processing circuitry is configured to: generate a plurality of simplified line segment loops based on the plurality of 2D isolines, the plurality of simplified line segment loops being generated based on a subset of the determined points, a distance between the plurality of simplified line segment loops and the plurality of 2D isolines being equal to or less than a threshold value.
19. The apparatus of claim 18, wherein the processing circuitry is configured to: generate a Poisson disk sample set that includes a plurality of samples within a domain defined by the plurality of simplified line segment loops in which a distance between each pair of neighboring samples of the Poisson disk sample set is larger than a threshold distance; and remove a subset of the plurality of samples to generate the plurality of proxy vertices, the subset of the plurality of samples being removed based on a weighted sample elimination in which each of the plurality of samples is assigned with a weight and the subset of the plurality of samples are removed according to the respective weights.
19. The apparatus of claim 18, wherein the processing circuitry is configured to: generate a Poisson disk sample set that includes a plurality of samples within a domain defined by the plurality of simplified line segment loops in which a distance between each pair of neighboring samples of the Poisson disk sample set is larger than a threshold distance; and remove a subset of the plurality of samples to generate the plurality of proxy vertices, the subset of the plurality of samples being removed based on a weighted sample elimination in which each of the plurality of samples is assigned with a weight and the subset of the plurality of samples are removed according to the respective weights.
20. The apparatus of claim 19, wherein the processing circuitry is configured to: assign each of the plurality of samples with the respective weight; determine a first sample of the plurality of samples and neighboring samples of the first sample based on a k-dimensional tree structure of the plurality of samples; build a heap based on the first sample of the plurality of samples and the neighboring samples of the first sample, the heap indicating that the first sample and the neighboring samples of the first sample are organized in a binary tree-based structure based on the weights of the first sample and the neighboring samples of the first sample; and remove one of the neighboring samples of the first sample that corresponds to a largest weight in the heap.
20. The apparatus of claim 19, wherein the processing circuitry is configured to: assign each of the plurality of samples with the respective weight; determine a first sample of the plurality of samples and neighboring samples of the first sample based on a k-dimensional tree structure of the plurality of samples; build a heap based on the first sample of the plurality of samples and the neighboring samples of the first sample, the heap indicating that the first sample and the neighboring samples of the first sample are organized in a binary tree-based structure based on the weights of the first sample and the neighboring samples of the first sample; and remove one of the neighboring samples of the first sample that corresponds to a largest weight in the heap.
Conclusion
The prior art made of record and not relied upon is considered pertinent to applicant's disclosure. The closest prior art is made of record in the attached notice of references cited.
Any inquiry concerning this communication or earlier communications from the examiner should be directed to PARUL H GUPTA whose telephone number is (571)272-5260. The examiner can normally be reached Monday through Friday, from 10 AM to 7 PM.
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, Ke Xiao can be reached at 571-272-7776. 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.
/PARUL H GUPTA/Primary Examiner, Art Unit 2627