DETAILED ACTION
Notice of Pre-AIA or AIA Status
1. The present application, filed on or after March 16, 2013, is being examined under the first inventor to file provisions of the AIA .
Continued Examination Under 37 CFR 1.114
2. A request for continued examination under 37 CFR 1.114, including the fee set forth in 37 CFR 1.17(e), was filed in this application after final rejection. Since this application is eligible for continued examination under 37 CFR 1.114, and the fee set forth in 37 CFR 1.17(e) has been timely paid, the finality of the previous Office action has been withdrawn pursuant to 37 CFR 1.114. Applicant's submission filed on February 27, 2026 has been entered.
Response to Amendment
3. The amendment filed February 27, 2026 has been entered. Claims 1, 3-19, and 21-22 remain pending in the application. Amended Drawing sheet was also received February 27, 2026 and has been entered.
Response to Arguments
4. Applicant's arguments filed February 27, 2026 have been fully considered but they are not persuasive.
5. Applicant argues that the prior art fails to teach “the reference curve guide spanning and overlaying a portion of the reference vector curve matching the edited curvature” in claim 1, 12, and 19.
Examiner replies the Applicant’s arguments with respect to claim(s) 1 have been considered but are moot because the new ground of rejection does not rely on any reference applied in the prior rejection of record for any teaching or matter specifically challenged in the argument.
Jain et al. (U.S. Patent Application Publication No. 2022/0130088 A1) Figure 8 and Paragraph 136 is used instead to teach the reference curve guide spanning and overlaying the reference vector curve.
Thus, the dependent claims 3-18 and 21-22 are not allowable.
6. Applicant argues that the prior art fails to teach the amended claim 6 limitation wherein the sequence of identifiers are “formed from instances of identifiers selected from a plurality of identifiers, where the identifiers correspond to respective ranges of angles representing respective amounts of vector curve curvature”.
Examiner replies that Dhanuka et al. (U.S. Patent Application Publication No. 2021/0133477 A1) teaches wherein the sequence of identifiers are “formed from instances of identifiers selected from a plurality of identifiers, where the identifiers correspond to respective ranges of angles representing respective amounts of vector curve curvature” in Paragraphs 94 and 95. Dhanuka teaches the paths are segmented and can path descriptors like “LCLC” which identify parts of the path which are lines or curves. The lines and curves correspond to respective angles of being a line or curve.
Thus, Asente in view of Dhanuka teaches curve signatures being determined for the reference vector curve and target vector curve with identifiers being selected from a plurality of identifiers.
Claim Rejections - 35 USC § 103
7. 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.
8. The text of those sections of Title 35, U.S. Code not included in this action can be found in a prior Office action.
9. Claim(s) 1, 3-5, 10-16, and 21 is/are rejected under 35 U.S.C. 103 as being unpatentable over Asente et al. (U.S. Patent Application Publication No. 2020/0160570 A1), hereinafter referred to as Asente, in view of Jaramillo et al. (U.S. Patent Application Publication No. 2018/0067630 A1), hereinafter referred to as Jaramillo, and Jain et al. (U.S. Patent Application Publication No. 2022/0130088 A1), hereinafter referred to as Jain.
10. Regarding claim 1, Asente teaches a method, comprising: acquiring, by a computing device (Paragraph 34 and Figure 1 teach a computing device 102 that performs the method and techniques described), a target vector curve (Paragraph 40, Figure 3 teaches acquiring an input path 312 that can be a curved segment or path such as a Bezier curve or more. A Bezier curve is a vector curve);
generating, by the computing device, a curve signature of the target vector curve describing curvature of the target vector curve and a curve signature of a reference vector curve describing curvature of the reference vector curve (Paragraph 40, 43 teaches resolved paths which are reference vector curves. The resolved paths can be Bezier curves which is a vector curve; Paragraph 55 teaches the continuous mappings of the target vector curve f: [a,b] -> M and reference vector curve g: [a’, b’] -> M. The continuous mappings are the curve signatures which describe the curvature of the curve through the location and ordering of the points along the curves);
comparing, by the computing device, the curve signature of the target vector curve to the curve signature of the reference vector curve (Paragraph 55 teaches using the Fréchet distance in Equation 2 to compare the curve signature of the target vector curve ‘f’ and curve signature of the reference vector curve ‘g’);
determining, by the computing device based on the comparing, the curvature of the target vector curve is within a threshold tolerance of the curvature of the reference vector curve (Paragraph 56 teaches checking if the Fréchet distance between the target vector curve and reference vector curve is within a threshold of similarity. The Fréchet distance compares the curve signatures which thus compares the curvatures. The threshold of similarity is related to the curvatures of the reference vector and target vector curve and is thus a threshold tolerance of the curvatures of the reference and target vector curves);
generating, by the computing device based on the curvature of the reference vector curve, an edited curvature of the target vector curve (Paragraph 57 and Figure 3 teach providing a path suggestion through the path suggestion generator 306 that will edit the target vector curve; Paragraph 60 teaches the path suggestion generator edits the input path or target vector curve based on the geometry of one or more resolved paths which is the reference vector curve. The geometry of the reference vector curve includes the curvature of the reference vector curve. Thus, the target vector curve has its curvature edited based on the curvature of the reference vector curve);
generating, by the computing device based on the edited curvature of the target vector curve, a target curve guide (Paragraph 57 teaches the suggested curve is displayed to the user for selection; Paragraph 84, 85 and Figure 9 teach the path suggestions are displayed to the user after each user input path or target vector curve. The path suggestions displayed are the target curve guides which are generated and can be selected);
and displaying, by the computing device, the reference vector curve(Paragraph 38 and Figure 2 teaches a reference vector curve 202, a target vector curve 204, and the target curve guide 204’ being displayed),
However, Asente fails to teach generating, by the computing device based on the curvature of the reference vector curve, a reference curve guide and displaying, by the computing device, the reference curve guide at the reference vector curve, the reference curve guide spanning and overlaying a portion of the reference vector curve matching the edited curvature.
Jaramillo teaches generating, by the computing device based on the curvature of the reference vector curve, a reference curve guide (Paragraph 34 teaches control points can be generated to guide creation of symmetrical curves. The control points can be considered a curve guide as it guides the creation of curves; Paragraph 79 and Figure 7 teach control points 706 and 710 associated with the reference vector curve 702. The control points displayed by the device can be considered the reference curve guide which is based on the curvature of the reference vector curve 702);
and displaying, by the computing device, the reference curve guide at the reference vector curve (Paragraph 79 and Figure 7 teach control points 706 and 710 associated with the reference vector curve 702. The control points displayed by the device can be considered the reference curve guide which is based on the curvature of the reference vector curve 702. Figure 7 also teaches the control points or reference curve guide are displayed around the reference vector curve 702. This can be considered as teaching to display the reference curve guide at the reference vector curve).
Asente and Jaramillo are considered analogous to the claimed invention because both are in the same field of creating new segments that mimics an already existing segment. Thus, it would have been obvious to a person holding ordinary skill in the art before the effective filing date to modify the method of generating an edited curvature of the target vector curve taught by Asente with the reference curve guide taught by Jaramillo in order to guide the user in selecting a curve that has symmetry with the reference curve (Jaramillo Paragraph 79-80).
However, Asente and Jaramillo are not relied upon for the below claim language: the reference curve guide spanning and overlaying a portion of the reference vector curve matching the edited curvature.
Jain teaches the reference curve guide spanning and overlaying a portion of the reference vector curve matching the edited curvature (Paragraph 136 and Figure 8 teach the reference vector curve 808 overlaying a portion of the reference vector curve which is the edge for object 804. It matches the edited curvature 806 for object 802).
Asente, Jaramillo, and Jain are considered analogous to the claimed invention as because both are in the same field of aligning paths. Thus, it would have been obvious to a person holding ordinary skill in the art before the effective filing date to modify the method of generating an edited curvature of the target vector curve taught by Asente in view of Jaramillo with the reference guide spanning and overlaying the reference vector curve taught by Jain in order to efficiently and flexibly snap digital design objects onto a variety of precise snappable locations to generate enhanced digital design documents and images (Jain Paragraph 3).
11. Regarding claim 3, Asente in view of Jaramillo and Jain teaches the limitations of claim 1. However, Asente is not relied upon for the below claim language: wherein a curvature of the target curve guide is equal to a curvature of the reference curve guide.
Jaramillo teaches the method wherein a curvature of the target curve guide is equal to a curvature of the reference curve guide (Paragraph 79 and Figure 7 teach the control points 708 and 710 which are the reference curve guide. The control points represent a curvature shown by reference curve 702. The curvature of the reference curve can be considered the curvature of the reference curve guide control points 708 and 710. The curvature of the target curve guide 710b is equal to the curvature of the reference curve 702. Thus, the curvature of the target curve guide 710b is equal to a curvature of the reference curve guide).
Asente, Jaramillo, and Jain are considered analogous to the claimed invention as because both are in the same field of aligning paths. Thus, it would have been obvious to a person holding ordinary skill in the art before the effective filing date to modify the method of generating an edited curvature of the target vector curve taught by Asente in view of Jain with the reference curve guide taught by Jaramillo in order to guide the user in selecting a curve that has symmetry with the reference curve (Jaramillo Paragraph 79-80).
12. Regarding claim 4, Asente in view of Jaramillo and Jain teaches the limitations of claim 3. Asente further teaches the method further comprising: displaying, by the computing device, a user confirmation prompt with the target curve guide (Paragraph 38 teaches an input line 204 which is the target curve vector and the edited line 204’ which is the target curve guide 204’; Paragraph 57 and 85 teach presenting the user with the path suggestion option for selection. This is the user confirmation prompt which displays the path suggestion. The path suggestion is the target curve guide); and responsive to a user confirmation input to the user confirmation prompt via a user interface device, replacing, by the computing device, the curvature of the target vector curve with the edited curvature (Paragraph 57 and 85 teaches upon user selection of the suggested path, the input path or target vector curve will be replaced with the path suggestion or edited curvature).
However, Asente is not relied upon for the below claim language: the method further comprising: displaying, by the computing device, the reference curve guide.
Jaramillo teaches the method further comprising: displaying, by the computing device, the reference curve guide (Paragraph 79 and Figure 7 teach control points 706 and 710 associated with the reference vector curve 702. The control points displayed by the device can be considered the reference curve guide which is based on the curvature of the reference vector curve 702).
Asente, Jaramillo, and Jain are considered analogous to the claimed invention as because both are in the same field of aligning paths. Thus, it would have been obvious to a person holding ordinary skill in the art before the effective filing date to modify the method of generating an edited curvature of the target vector curve taught by Asente in view of Jain with the reference curve guide taught by Jaramillo in order to guide the user in selecting a curve that has symmetry with the reference curve (Jaramillo Paragraph 79-80).
13. Regarding claim 5, Asente in view of Jaramillo and Jain teaches the limitations of claim 1. Asente further teaches the method further comprising adjusting, by the computing device, the curvature of the target vector curve to the edited curvature (Paragraph 57 and 85 teach upon user selection of the suggested path, the input path or target vector curve will be replaced with the path suggested or edited curvature. Thus, the curvature of the target vector curve is adjusted to the edited curvature).
14. Regarding claim 10, Asente in view of Jaramillo and Jain teaches the limitations of claim 1. Asente further teaches the method further comprising determining, by the computing device, the reference vector curve from one or more candidate reference vector curves based on a length between each candidate reference vector curve and the target vector curve (Paragraph 84 teaches path suggestions are generated based on resolved paths which are reference vector curves; Paragraph 87 teaches scoring the path suggestions based on the lengths for the line segments in the suggested path which comes from the reference vector curve and the initial segment which comes from the target vector curve. The score determines a correct suggested path. Thus, the reference vector curve is determined over other candidate reference vector curves based on the score which depends on the length between the reference and target curves).
15. Regarding claim 11, Asente in view of Jaramillo and Jain teaches the limitations of claim 1. Asente further teaches the method wherein the threshold tolerance of the curvature of the reference vector curve is a range of curvatures centered around the curvature of the reference vector curve (Paragraph 56 teaches the similarity of the curvature of the resolved path, which is the reference vector curve, with the input path, which is the target vector curve, would be measured against a threshold. The threshold is based on the similarity of the curvatures of the reference and target vector curves. Thus, the threshold is based around the curvature of the reference vector curve and the target vector curve).
16. Regarding claim 12, Asente teaches a method, comprising: determining, by a computing device, a curvature signature of a reference vector curve within a computer graphics environment; determining, by the computing device, a curve signature of a target vector curve (Paragraph 40 teaches resolved paths which are reference vector curves. The resolved paths can be Bezier curves which is a vector curve; Paragraph 55 teaches the continuous mappings of the target vector curve f: [a,b] -> M and reference vector curve g: [a’, b’] -> M. The continuous mappings are the curve signatures which describe the curvature of the curve through the location and ordering of the points along the curves) ;
determining, by the computing device, a difference between the curve signature of the reference vector curve and the curve signature of the target vector curve (Paragraph 55 teaches using the Fréchet distance in Equation 2 to compare the curve signature of the target vector curve ‘f’ and curve signature of the reference vector curve ‘g’. The comparison with the Fréchet distance is a difference between the curve signatures of the target and reference vector curves);
generating, by the computing device, an edited curvature to be applied to the target vector curve based on the difference between the curve signature of the reference vector curve and the curve signature of the target vector curve (Paragraph 57 and Figure 3 teach providing a path suggestion through the path suggestion generator 306 that will edit the target vector curve; Paragraph 50 and 61 teaches the path suggestion generator edits the input path or target vector curve based on the matrix transformation M with the reference vector curve that would create the suggested path. The matrix transformation M contains information on the transformation needed to transform a path to another path which is the difference between the target and reference vector curve);
and displaying, by the computing device, the target vector curve, the reference vector curve, a target curve guide based on the edited curvature at the target vector curve,Paragraph 38 and Figure 2 teaches a reference vector curve 202, a target vector curve 204, and the target curve guide 204’ based on the edited curvature of the target vector curve being displayed).
However, Asente fails to teach displaying, by the computing device, a reference curve guide at the reference vector curve, the reference curve guide spanning and overlaying a portion of the reference vector curve matching the edited curvature.
Jaramillo teaches displaying, by the computing device, a reference curve guide at the reference vector curve (Paragraph 79 and Figure 7 teach control points 706 and 710 associated with the reference vector curve 702. The control points displayed by the device can be considered the reference curve guide which is based on the curvature of the reference vector curve 702. Figure 7 also teaches the control points or reference curve guide are displayed around the reference vector curve 702. This can be considered as teaching to display the reference curve guide at the reference vector curve).
Asente and Jaramillo are considered analogous to the claimed invention because both are in the same field of creating new segments that mimics an already existing segment. Thus, it would have been obvious to a person holding ordinary skill in the art before the effective filing date to modify the method of generating an edited curvature to be applied to the target vector curve taught by Asente with the reference curve guide taught by Jaramillo in order to guide the user in selecting a curve that has symmetry with the reference curve (Jaramillo Paragraph 79-80).
However, Asente and Jaramillo are not relied upon for the below claim language: the reference curve guide spanning and overlaying a portion of the reference vector curve matching the edited curvature.
Jain teaches the reference curve guide spanning and overlaying a portion of the reference vector curve matching the edited curvature (Paragraph 136 and Figure 8 teach the reference vector curve 808 overlaying a portion of the reference vector curve which is the edge for object 804. It matches the edited curvature 806 for object 802).
Asente, Jaramillo, and Jain are considered analogous to the claimed invention as because both are in the same field of aligning paths. Thus, it would have been obvious to a person holding ordinary skill in the art before the effective filing date to modify the method of generating an edited curvature of the target vector curve taught by Asente in view of Jaramillo with the reference guide spanning and overlaying the reference vector curve taught by Jain in order to efficiently and flexibly snap digital design objects onto a variety of precise snappable locations to generate enhanced digital design documents and images (Jain Paragraph 3).
17. Regarding claim 13, Asente in view of Jaramillo and Jain teaches the limitations of claim 12. Asente further teaches the method further comprising adjusting, by the computing device, a curvature of the target vector curve by applying the edited curvature to the target vector curve responsive to a user confirmation input via an input device (Paragraph 35 and Figure 1 teach the computing device 102 has a freeform drawing component 106 that accepts and processes user input from a cursor control device, gesture, stylus, or more. These are input devices; Paragraph 57 and 85 teach upon user selection of the suggested path, the input path or target vector curve is replaced with the path suggestion or edited curvature. The user selection is the user confirmation input via one of the listed input devices).
18. Regarding claim 14, Asente in view of Jaramillo and Jain teaches the limitations of claim 12. Asente further teaches the method further comprising: determining, by the computing device, a respective curve signature for each other vector curve within the computer graphics environment, where the target vector curve, the reference vector curve, and each other vector curve within the computer graphics environment are cubic or quadratic Bezier vector curves (Paragraph 40 teaches resolved paths being any paths existing in the drawing and are vector curves. The paths can be cubic Bezier curves which is a vector curve; Paragraph 55-56 teach using the Fréchet distance between the input path and resolved path pairs. The pairs involve comparing the target vector curve to all the other vector curves in the computer graphics environment. A continuous mapping of the target vector curve f: [a,b] -> M and other vector curves g: [a’, b’] -> M is used and determined for the Fréchet distance calculation. The continuous mappings are the curve signatures which describe the curvature of the curve through the location and ordering of the points along the curves);
comparing, by the computing device, the curve signature of the target vector curve to the respective curve signature of each other vector curve within the computer graphics environment (Paragraph 55-56 teach using the Fréchet distance between the continuous mappings of the input path and resolved paths which is the same as comparing the curvature signature of the target vector curve to the respective curvature signatures of the vector curves in the computer graphics environment);
.
However, Asente is not relied upon for the below claim language: displaying, by the computing device while displaying the reference curve guide at the reference vector curve, another reference curve guide at another reference vector curve based on the comparing.
Jaramillo teaches displaying, by the computing device while displaying the reference curve guide at the reference vector curve, another reference curve guide at another reference vector curve based on the comparing (Paragraph 80-83 teach generating control points for the curves or original path segments. The original path segment is the reference vector curve. Thus, more control points or reference curve guides can be generated for any other reference vector curve detected when combined with Asente).
Asente and Jaramillo are considered analogous to the claimed invention because both are in the same field of creating new segments that mimics an already existing segment. Jain is considered analogous to the claimed invention because it is in the same field of aligning paths. Thus, it would have been obvious to a person holding ordinary skill in the art before the effective filing date to modify the method of generating an edited curvature to be applied to the target vector curve taught by Asente in view of Jain with the reference curve guide taught by Jaramillo in order to guide the user in selecting a curve that has symmetry with the reference curve (Jaramillo Paragraph 79-80).
19. Regarding claim 15, Asente in view of Jaramillo and Jain teaches the limitations of claim 12. Asente further teaches the method wherein determining, by the computing device, the curve signature of the reference vector curve includes partitioning the reference vector curve to a plurality of curve segments (Paragraph 45-46 teach calculating the tangent vector and angular turn for sample points on a path and generating segments on the path based on the angular turn values. The path can be the reference vector curve and the segments are the path being partitioned into a plurality of curve segments);
determining a respective angle for each curve segment of the plurality of curve segments (Paragraph 45-46 teach each curve section or segment is created based on the tangent vector and angular turn, or angle, identified for each sampled point. Thus, the segments have a respective angle associated with it),
generating a respective identifier for the respective angle of each curve segment of the plurality of curve segments (Paragraph 45-46 teach each curve section or segment is created based on the tangent vector and angular turn, or angle, identified for each sampled point. The sampled points for the segments are the respective identifiers and have an angle associated with it),
and aggregating each respective identifier in a sequence of the curve segments of the plurality of curve segments (Paragraph 45-46 teach the sampled points create the segments based on the angles; Paragraph 55 teaches the continuous mappings of the target vector curve f: [a,b] -> M and reference vector curve g: [a’,b’] -> M. The continuous mappings are the curve signatures which describe the curvature of the curve through the location and ordering of points or identifiers along the curves. The mapping of each identifier can also be considered aggregating each identifier for each curve segment of the curve).
20. Regarding claim 16, Asente in view of Jaramillo and Jain teaches the limitations of claim 15. Asente further teaches the method wherein: determining the respective angle for each curve segment of the plurality of curve segments includes determining a tangent angle or a normal angle of each curve segment (Paragraph 46 teaches calculating the angular turn of each identifier, and thus segment associated with the identifier, using tangent vectors at the sample point which is the identifier. Using tangent vectors determines the tangent angle);
and generating the respective identifier for the respective angle of each curve segment includes sorting the respective angle to an angle range of a plurality of angle ranges and representing the angle range via the respective identifier (Paragraph 46 teaches identifying the greatest angular turn value and creating the segments from the greatest turns. This is sorting the angles into ranges that are considered the greatest/highest and lowest. The segments created each have the sample points which make up the segments. Thus, the sample points associated with each segment are the generated respective identifiers for each curve section that has a respective angle range, and the identifiers are based off sorting the angles to find the greatest angles).
21. Regarding claim 21, Asente in view of Jaramillo and Jain teaches the limitations of claim 1. However, Asente and Jaramillo are not relied upon for the below claim language: the method wherein displaying the reference curve guide at the reference vector curve includes displaying the reference curve guide as a line spanning and overlaying the portion of the reference vector curve matching the edited curvature.
Jain teaches the method wherein displaying the reference curve guide at the reference vector curve includes displaying the reference curve guide as a line spanning and overlaying the portion of the reference vector curve matching the edited curvature (Paragraph 136 and Figure 8 teach the reference vector curve 808 as a line spanning and overlaying a portion of the reference vector curve which is the edge for object 804. It matches the edited curvature 806 for object 802).
Asente, Jaramillo, and Jain are considered analogous to the claimed invention as because both are in the same field of aligning paths. Thus, it would have been obvious to a person holding ordinary skill in the art before the effective filing date to modify the method of generating an edited curvature of the target vector curve taught by Asente in view of Jaramillo with the reference guide spanning and overlaying the reference vector curve taught by Jain in order to efficiently and flexibly snap digital design objects onto a variety of precise snappable locations to generate enhanced digital design documents and images (Jain Paragraph 3).
22. Claim(s) 6-9, 17, and 22 is/are rejected under 35 U.S.C. 103 as being unpatentable over Asente et al. (U.S. Patent Application Publication No. 2020/0160570 A1), hereinafter referred to as Asente, in view of Jaramillo et al. (U.S. Patent Application Publication No. 2018/0067630 A1), hereinafter referred to as Jaramillo, and Jain et al. (U.S. Patent Application Publication No. 2022/0130088 A1), hereinafter referred to as Jain, as applied to claim 1 and 15 above, and further in view of Dhanuka et al. (U.S. Patent Application Publication No. 2021/0133477 A1), hereinafter referred to as Dhanuka.
23. Regarding claim 6, Asente in view of Jaramillo and Jain teaches the limitations of claim 1. However, Asente, Jaramillo, and Jain are not relied upon for the below claim language: the method wherein the curve signature of the target vector curve includes a first sequence of identifiers indicating the curvature of the target vector curve and the curve signature of the reference vector curve includes a second sequence of identifiers indicating the curvature of the reference vector curve, with the first sequence of identifiers and the second sequence of identifiers formed from instances of identifiers selected from a plurality of identifiers, where the identifiers correspond to respective ranges of angles representing respective amounts of vector curve curvature.
Dhanuka teaches the method wherein the curve signature of the target vector curve includes a first sequence of identifiers indicating the curvature of the target vector curve and the curve signature of the reference vector curve includes a second sequence of identifiers indicating the curvature of the reference vector curve, with the first sequence of identifiers and the second sequence of identifiers formed from instances of identifiers selected from a plurality of identifiers, where the identifiers correspond to respective ranges of angles representing respective amounts of vector curve curvature (Paragraph 94 teaches paths can have corresponding path descriptors. The path is segmented and the segments are determined to be a line or curve. The path descriptor is generated “as a concatenation of the segment information” and an example of a path descriptor can be “LCLC”, L representing a line and C representing a curve. The path descriptor teaches a curve signature with identifiers L and C which correspond to respective ranges of angles. L represents the range of angles where it is just a line and C corresponds to the respective ranges of angles where the path is curved; Paragraph 95 teaches the path descriptors can be determined to compare two paths which teaches a first sequence of identifiers and a second sequence of identifiers indicating the curvature of a vector curve and have instances of identifiers selected from a plurality of identifiers. The two paths can be a target and reference curve when combined with Asente).
Asente, Jaramillo, Jain, and Dhanuka are considered analogous to the claimed invention because both are in the same field of aligning paths in a design. Thus, it would have been obvious to a person holding ordinary skill in the art before the effective filing date to modify the method of generating an edited target vector curve taught by Asente in view of Jaramillo and Jain with the curve signatures taught by Dhanuka in order to still accurately compare and match paths but maintain efficient memory usage (Dhanuka Paragraph 2).
24. Regarding claim 7, Asente in view of Jaramillo, Jain, and Dhanuka teaches the limitations of claim 6. However, Asente, Jaramillo, and Jain are not relied upon for the below claim language: the method wherein comparing, by the computing device, the curve signature of the target vector curve to the curve signature of the reference vector curve includes determining a difference between the first sequence of identifiers and the second sequence of identifiers.
Dhanuka teaches the method wherein comparing, by the computing device, the curve signature of the target vector curve to the curve signature of the reference vector curve includes determining a difference between the first sequence of identifiers and the second sequence of identifiers (Paragraph 95 teaches comparing “the segment information of the path descriptors to find matching path descriptors”. The comparison teaches determining difference between a first sequence of identifiers and a second sequence of identifiers until a match is found. If the path is not determined to be a match, this teaches that a difference between the path descriptors or curve signatures were determined. The two paths can be a target and reference curve when combined with Asente).
Asente, Jaramillo, Jain, and Dhanuka are considered analogous to the claimed invention because both are in the same field of aligning paths in a design. Thus, it would have been obvious to a person holding ordinary skill in the art before the effective filing date to modify the method of generating an edited target vector curve taught by Asente in view of Jaramillo and Jain with the comparison of curve signatures taught by Dhanuka in order to still accurately compare and match paths but maintain efficient memory usage (Dhanuka Paragraph 2).
25. Regarding claim 8, Asente in view of Jaramillo, Jain, and Dhanuka teaches the limitations of claim 6. However, Asente, Jaramillo, and Jain are not relied upon for the below claim language: the method wherein generating, by the computing device, the curve signature of the target vector curve includes: partitioning the target vector curve into a first plurality of curve segments; for each curve segment of the first plurality of curve segments, assigning to said curve segment a respective instance of a respective identifier selected from the plurality of identifiers; and combining the instances of identifiers assigned to the curve segments of the first plurality of curve segments to form the first sequence of identifiers; and generating, by the computing device, the curve signature of the reference vector curve includes: partitioning the reference vector curve into a second plurality of curve segments; for each curve segment of the second plurality of curve segments, assigning to said curve segment a respective instance of a respective identifier selected from the plurality of identifiers; and combining the instances of identifiers assigned to the curve segments of the second plurality of curve segments to form the second sequence of identifiers.
Dhanuka teaches the method wherein generating, by the computing device, the curve signature of the target vector curve includes: partitioning the target vector curve into a first plurality of curve segments (Paragraph 94 teaches there anchor points on a curve or glyph which create segments. This teach partitioning the target vector curve into a plurality of curve segments);
for each curve segment of the first plurality of curve segments, assigning to said curve segment a respective instance of a respective identifier selected from the plurality of identifiers (Paragraph 94 teaches “determine whether a segment between two anchor points of a path descriptor represents a line or a curve.” This teaches the curve segment is assigned a respective instance of a L, a line, or a C, a curve. The L and C identifiers teach a plurality of identifiers);
and combining the instances of identifiers assigned to the curve segments of the first plurality of curve segments to form the first sequence of identifiers (Paragraph 94 teaches “in a path having a line followed by a curve, followed by a line, and then followed by a curve, the digital typography detection system 106 can include segment information indicating a sequence of “LCLC” for the path descriptor”. This teaches combining the instances of identifiers to form the first sequence of identifiers);
and generating, by the computing device, the curve signature of the reference vector curve includes: partitioning the reference vector curve into a second plurality of curve segments (Paragraph 95 teaches the path descriptors can be determined to compare two paths which teaches a first sequence of identifiers and a second sequence of identifiers indicating the curvature of a vector curve and have instances of identifiers selected from a plurality of identifiers. The two paths can be a target and reference curve when combined with Asente. The method taught in Paragraph 94 can be replicated for a reference vector curve. Paragraph 94 teaches “determine whether a segment between two anchor points of a path descriptor represents a line or a curve.” This teaches the curve segment is assigned a respective instance of a L, a line, or a C, a curve. The L and C identifiers teach a plurality of identifiers);
for each curve segment of the second plurality of curve segments, assigning to said curve segment a respective instance of a respective identifier selected from the plurality of identifiers (Paragraph 94 teaches “in a path having a line followed by a curve, followed by a line, and then followed by a curve, the digital typography detection system 106 can include segment information indicating a sequence of “LCLC” for the path descriptor”. This teaches combining the instances of identifiers to form the first sequence of identifiers);
and combining the instances of identifiers assigned to the curve segments of the second plurality of curve segments to form the second sequence of identifiers (Paragraph 94 teaches “in a path having a line followed by a curve, followed by a line, and then followed by a curve, the digital typography detection system 106 can include segment information indicating a sequence of “LCLC” for the path descriptor”. This teaches combining the instances of identifiers to form the first sequence of identifiers).
Asente, Jaramillo, Jain, and Dhanuka are considered analogous to the claimed invention because both are in the same field of aligning paths in a design. Thus, it would have been obvious to a person holding ordinary skill in the art before the effective filing date to modify the method of generating an edited target vector curve taught by Asente in view of Jaramillo and Jain with the combining of identifiers to create curve signatures taught by Dhanuka in order to still accurately compare and match paths but maintain efficient memory usage (Dhanuka Paragraph 2).
26. Regarding claim 9, Asente in view of Jaramillo, Jain, and Dhanuka teaches the limitations of claim 8. However, Asente, Jaramillo, and Jain are not relied upon for the below claim language: the method wherein partitioning the target vector curve into the first plurality of curve segments includes sampling points along the target vector curve to define the first plurality of curve segments, partitioning the reference vector curve into the second plurality of curve segments includes sampling points along the reference vector curve to define the second plurality of curve segments, the respective instance of the respective identifier assigned to each curve segment of the first plurality of curve segments corresponds to a respective angle of said curve segment, and the respective instance of the respective identifier assigned to each curve segment of the second plurality of curve segments corresponds to a respective angle of said curve segment.
Dhanuka teaches the method wherein partitioning the target vector curve into the first plurality of curve segments includes sampling points along the target vector curve to define the first plurality of curve segments (Paragraph 76 teaches extracting anchor points from a path to define segments for the path descriptor. The anchor points teach sampling points to define the curve segments),
partitioning the reference vector curve into the second plurality of curve segments includes sampling points along the reference vector curve to define the second plurality of curve segments (Paragraph 76 teaches extracting anchor points from a path to define segments for the path descriptor. The anchor points teach sampling points to define the curve segments; Paragraph 95 teaches comparing multiple paths. The two paths can be a target and reference curve when combined with Asente and the sampling of points taught in Paragraph 76 can be replicated for a reference vector curve or second path),
the respective instance of the respective identifier assigned to each curve segment of the first plurality of curve segments corresponds to a respective angle of said curve segment, and the respective instance of the respective identifier assigned to each curve segment of the second plurality of curve segments corresponds to a respective angle of said curve segment (Paragraph 94 teaches the segments are determined to be a line or curve. The path descriptor is generated “as a concatenation of the segment information” and an example of a path descriptor can be “LCLC”, L representing a line and C representing a curve. The path descriptor teaches a curve signature with identifiers L and C which correspond to respective ranges of angles. L represents the range of angles where it is just a line and C corresponds to the respective ranges of angles where the path is curved; Paragraph 95 teaches the path descriptors can be determined to compare two paths which teaches a first plurality of curve segments and a second plurality of curve segments indicating the curvature of a vector curve and have instances of identifiers selected from a plurality of identifiers).
Asente, Jaramillo, Jain, and Dhanuka are considered analogous to the claimed invention because both are in the same field of aligning paths in a design. Thus, it would have been obvious to a person holding ordinary skill in the art before the effective filing date to modify the method of generating an edited target vector curve taught by Asente in view of Jaramillo and Jain with segmenting a path and assigning identifiers taught by Dhanuka in order to still accurately compare and match paths but maintain efficient memory usage (Dhanuka Paragraph 2).
27. Regarding claim 22, Asente in view of Jaramillo, Jain, and Dhanuka teaches the limitations of claim 8. However, Asente, Jaramillo, and Jain are not relied upon for the below claim language: the method wherein combining the instances of identifiers assigned to the curve segments of the first plurality of curve segments includes concatenating the instances of identifiers to form the first sequence of identifiers.
Dhanuka teaches the method wherein combining the instances of identifiers assigned to the curve segments of the first plurality of curve segments includes concatenating the instances of identifiers to form the first sequence of identifiers (Paragraph 94 teaches “in a path having a line followed by a curve, followed by a line, and then followed by a curve, the digital typography detection system 106 can include segment information indicating a sequence of “LCLC” for the path descriptor”. This teaches concatenating the instances of identifiers to form the first sequence of identifiers).
Asente, Jaramillo, Jain, and Dhanuka are considered analogous to the claimed invention because both are in the same field of aligning paths in a design. Thus, it would have been obvious to a person holding ordinary skill in the art before the effective filing date to modify the method of generating an edited target vector curve taught by Asente in view of Jaramillo and Jain with concatenating identifiers taught by Dhanuka in order to still accurately compare and match paths but maintain efficient memory usage (Dhanuka Paragraph 2).
28. Regarding claim 17, Asente in view of Jaramillo and Jain teaches the limitations of claim 15. However, Asente, Jaramillo, and Jain are not relied upon for the below claim language: the method wherein: determining, by the computing device, the curve signature of the reference vector curve includes determining a delta subsequence of the reference vector curve based on a difference between the respective angles of adjacent curve segments of the plurality of curve segments; and determining, by the computing device, the difference between the curve signature of the reference vector curve and the curve signature of the target vector curve includes determining a difference between the delta subsequence of the reference vector curve and a delta subsequence of the target vector curve.
Dhanuka teaches the method wherein: determining, by the computing device, the curve signature of the reference vector curve includes determining a delta subsequence of the reference vector curve based on a difference between the respective angles of adjacent curve segments of the plurality of curve segments (Paragraph 94-95 teaches determining the path descriptor for paths in the drawing which includes the reference vector curve. The path descriptor is a sequence of information indicating where a segment is a line or curve in the path. Determining segments in the path to be part of a line or curve inherently includes determining the difference between angles of adjacent curve segments. Thus, the path descriptor has the delta sub-signature for the reference vector curve through indications of the segments being part of a curve or line);
and determining, by the computing device, the difference between the curve signature of the reference vector curve and the curve signature of the target vector curve includes determining a difference between the delta subsequence of the reference vector curve and a delta subsequence of the target vector curve (Paragraph 95 teaches finding another path with a similar path descriptor which has the delta sub-signatures. Finding another path with the same or similar path descriptors also inherently involves determining differences between a reference vector curve and target vector curve delta sub-signatures when comparing the order of the segments for being lines or curves).
Asente, Jaramillo, Jain, and Dhanuka are considered analogous to the claimed invention because both are in the same field of aligning paths in a design. Thus, it would have been obvious to a person holding ordinary skill in the art before the effective filing date to modify the method of generating an edited target vector curve taught by Asente in view of Jaramillo and Jain with the delta subsequences taught by Dhanuka in order to still accurately compare and match paths but maintain efficient memory usage (Dhanuka Paragraph 2).
29. Claim(s) 18 is/are rejected under 35 U.S.C. 103 as being unpatentable over Asente et al. (U.S. Patent Application Publication No. 2020/0160570 A1), hereinafter referred to as Asente, in view of Jaramillo et al. (U.S. Patent Application Publication No. 2018/0067630 A1), hereinafter referred to as Jaramillo, and Jain et al. (U.S. Patent Application Publication No. 2022/0130088 A1), hereinafter referred to as Jain, as applied to claim 12 above, and further in view of Tsang et al. (U.S. Patent Application Publication No. 2014/0340388 A1), hereinafter referred to as Tsang.
Regarding claim 18, Asente in view of Jaramillo and Jain teaches the limitations of claim 12. However, Asente, Jaramillo, and Jain are not relied upon for the below claim language: the method wherein the determining, by the computing device, the curve signature of the target vector curve includes generating a normalization of the target vector curve based on the reference vector curve and determining the curve signature of the target vector curve based on the generated normalization of the target vector curve.
Tsang teaches the method wherein the determining, by the computing device, the curve signature of the target vector curve includes generating a normalization of the target vector curve based on the reference vector curve and determining the curve signature of the target vector curve based on the generated normalization of the target vector curve (Paragraph 77 teaches normalizing the curve segments with respect to the model curves or reference vector curves and creating curve signatures based on those normalized curve segments).
Asente, Jaramillo, Jain, and Tsang are considered analogous to the claimed invention because both are in the same field of aligning paths. Thus, it would have been obvious to a person holding ordinary skill in the art before the effective filing date to modify the method of generating edited target curves taught by Asente in view of Jaramillo and Jain with the normalization of the target vector curve taught by Tsang in order to provide a scale invariant representation of the geometry of the path for comparison with other paths (Tsang Paragraph 77).
30. Claim(s) 19 is/are rejected under 35 U.S.C. 103 as being unpatentable over Asente et al. (U.S. Patent Application Publication No. 2020/0160570 A1), hereinafter referred to as Asente, in view of Dhanuka et al. (U.S. Patent Application Publication No. 2021/0133477 A1), hereinafter referred to as Dhanuka, Gehlaut et al. (U.S. Patent Application Publication No. 2020/0320756 A1), hereinafter referred to as Gehlaut, and Jain et al. (U.S. Patent Application Publication No. 2022/013008 A1), hereinafter referred to as Jain.
Regarding claim 19, Asente teaches one or more computer-readable storage media storing instructions that, responsive to execution by a computing device, causes the computing device to perform operations including (Paragraph 90 and 97 teaches a computer readable storage media with instructions to be executed by the computing device):
acquiring a target vector curve (Paragraph 40, Figure 3 teaches acquiring an input path 312 that can be a curved segment or path such as a Bezier curve or more. A Bezier curve is a vector curve);
comparing a curvature of the target vector curve to a curvature of a reference vector curve using respective curve signatures (Paragraph 55 teaches using the Fréchet distance in Equation 2 to compare the curve signature of the target vector curve ‘f’ and curve signature of the reference vector curve ‘g’);
responsive to the curvature of the target vector curve being within a threshold tolerance of the curvature of the reference vector curve, generating an edited curvature of the target vector curve based on the curvature of the reference vector curve (Paragraph 56 teaches checking if the Fréchet distance between the target vector curve and reference vector curve is within a threshold of similarity. The Fréchet distance compares the curve signatures which thus compares the curvatures. The threshold of similarity is related to the curvatures of the reference vector and target vector curve and is thus a threshold tolerance of the curvatures of the reference and target vector curves; Paragraph 57 and Figure 3 teach providing a path suggestion through the path suggestion generator 306 that will edit the target vector curve; Paragraph 60 teaches the path suggestion generator edits the input path or target vector curve based on the geometry of one or more resolved paths which are the reference vector curves that the target curve was within the tolerance of. The geometry of the reference vector curve includes the curvature of the reference vector curve. Thus, the target vector curve has its curvature edited based on the curvature of the reference vector curve);
and displaying, by the computing device, the target vector curve, the reference vector curve (Paragraph 38 and Figure 2 teaches a reference vector curve 202, a target vector curve 204 being displayed),
However, Asente fails to teach comparing a curvature of the target vector curve to a curvature of a reference vector curve using respective signatures defined by sequences of text; and displaying, by the computing device, the edited curvature of the target vector curve as a target curve guide overlaying the target vector curve and a reference curve guide spanning and overlaying a portion of the reference vector curve matching the edited curvature.
Dhanuka teaches comparing a curvature of the target vector curve to a curvature of a reference vector curve using respective signatures describing sequences of text (Paragraph 94-95 teaches the path descriptor being a text sequence for the curves in the design which includes both the target and reference vector curves. The path descriptor is the signature and it uses sequences of text).
Asente and Dhanuka are considered analogous to the claimed invention because both are in the same field of matching paths in a design. Thus, it would have been obvious to a person holding ordinary skill in the art before the effective filing date to modify the method of generating an edited target vector curve taught by Asente with the signatures taught by Dhanuka in order to still accurately compare and match paths but maintain efficient memory usage (Dhanuka Paragraph 2).
However, Asente and Dhanuka fail to teach displaying, by the computing device, the edited curvature of the target vector curve as a target curve guide overlaying the target vector curve and reference curve guide spanning and overlaying a portion of the reference vector curve matching the edited curvature.
Gehlaut teaches displaying, by the computing device, the edited curvature of the target vector curve as a target curve guide overlaying the target vector curve (Paragraph 23-25 and Figure 1 teach a target curve guide 105 overlaying the target vector curve 100 to finally create the edited curvature 110).
Asente and Dhanuka are considered analogous to the claimed invention because both are in the same field of matching paths in a design. Gehlaut is considered analogous to the claimed invention because it is in the same field of matching a target segment to a guide. Thus, it would have been obvious to a person holding ordinary skill in the art before the effective filing date to modify the method of generating an edited target vector curve taught by Asente in view of Dhanuka with overlaying the guide on the target vector curve taught by Gehlaut in order to easily edit drawings to make them more symmetric (Gehlaut Paragraph 13).
However, Asente, Dhanuka, and Gehlaut fail to teach displaying, by the computing device, a reference curve guide spanning and overlaying a portion of the reference vector curve matching the edited curvature.
Jain teaches a reference curve guide spanning and overlaying a portion of the reference vector curve matching the edited curvature (Paragraph 136 and Figure 8 teach the reference vector curve 808 overlaying a portion of the reference vector curve which is the edge for object 804. It matches the edited curvature 806 for object 802).
Asente and Dhanuka are considered analogous to the claimed invention because both are in the same field of matching paths in a design. Gehlaut is considered analogous to the claimed invention because it is in the same field of matching a target segment to a guide. Jain is considered analogous to the claimed invention because it is in the same field of aligning paths. Thus, it would have been obvious to a person holding ordinary skill in the art before the effective filing date to modify the method of generating an edited curvature of the target vector curve taught by Asente in view of Dhanuka and Gehlaut with the reference guide spanning and overlaying the reference vector curve taught by Jain in order to efficiently and flexibly snap digital design objects onto a variety of precise snappable locations to generate enhanced digital design documents and images (Jain Paragraph 3).
Conclusion
31. The prior art made of record and not relied upon is considered pertinent to applicant's disclosure.
- Frisken (U.S. Patent Application Publication No. 2009/0027397 A1) teaches fitting a parametric curve to an object in a drawing. Figure 3A also teaches points as identifiers representing angles selected from a plurality of angles for comparison with another curve.
32. Any inquiry concerning this communication or earlier communications from the examiner should be directed to CHRISTINE Y AHN whose telephone number is (571)272-0672. The examiner can normally be reached M-F 9-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, Alicia Harrington can be reached at (571)272-2330. 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.
/CHRISTINE YERA AHN/Examiner, Art Unit 2615
/ALICIA M HARRINGTON/Supervisory Patent Examiner, Art Unit 2615