Prosecution Insights
Last updated: April 19, 2026
Application No. 18/758,515

DENSE GEOMETRY FORMAT ENCODINGS AS BASE MESH FOR SUBDIVISION SURFACES

Non-Final OA §102§103
Filed
Jun 28, 2024
Examiner
HAKALA, ALAN GREGORY
Art Unit
2617
Tech Center
2600 — Communications
Assignee
Advanced Micro Devices, Inc.
OA Round
1 (Non-Final)
Grant Probability
Favorable
1-2
OA Rounds
2y 9m
To Grant

Examiner Intelligence

Grants only 0% of cases
0%
Career Allow Rate
0 granted / 0 resolved
-62.0% vs TC avg
Minimal +0% lift
Without
With
+0.0%
Interview Lift
resolved cases with interview
Typical timeline
2y 9m
Avg Prosecution
8 currently pending
Career history
8
Total Applications
across all art units

Statute-Specific Performance

§103
57.1%
+17.1% vs TC avg
§102
42.9%
+2.9% vs TC avg
Black line = Tech Center average estimate • Based on career data from 0 resolved cases

Office Action

§102 §103
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 § 102 In the event the determination of the status of the application as subject to AIA 35 U.S.C. 102 and 103 (or as subject to pre-AIA 35 U.S.C. 102 and 103) is incorrect, any correction of the statutory basis (i.e., changing from AIA to pre-AIA ) for the rejection will not be considered a new ground of rejection if the prior art relied upon, and the rationale supporting the rejection, would be the same under either status. The following is a quotation of the appropriate paragraphs of 35 U.S.C. 102 that form the basis for the rejections under this section made in this Office action: A person shall be entitled to a patent unless – (a)(2) the claimed invention was described in a patent issued under section 151, or in an application for patent published or deemed published under section 122(b), in which the patent or application, as the case may be, names another inventor and was effectively filed before the effective filing date of the claimed invention. Claim(s) 1-3, 5-12, 14-20 are rejected under 35 U.S.C. 102(a)(2) as being anticipated by Kim (US 20230290011 A1). Regarding independent claims 10, 1, 19, Kim teaches: A system comprising: a memory configured to store a compressed data structure; and a processor configured to perform operations comprising: (Kim ¶645: “The electronic device 4300 includes the electronic display 4302, one or more input devices 4304, one or more input/output (I/O) ports4306, a processor core complex 4308 having one or more processing circuitry(s) or processing circuitry cores, local memory4310, a main memory storage device4312”) extracting (¶61 decoded) geometry from a compressed data structure by applying topology information (¶571 displacements) to a set of unique vertices of the compressed data structure;( Kim ¶53 “The pre-processor produces a base mesh m(i) and displacements d(i) that can be provided to encoder 402, which produces a compressed bitstream b(i) therefrom.” ¶61“On the decoder side (Fig. 5), the comprewssed bitstream b(i) is received by a decoder” ¶571 “Decoding The positions of the mesh is reconstructed by adding the i-th displacement in the area corresponding to the current patch data unit in the displacement video to the i-th vertex in the subpart associated with the current patch data unit in the … base mesh. [0572] The location of the displacement( i ) is counted from … (left top corner of the corresponding area) of the current patch. [573] The list of vertices is created from the triangle faces (with the same facegroup id) associated with the current patch. The non-overlapping vertex indices are saved into the list based on the order of their appearance” ¶574 “… if a patch (mesh_intra_patch_data_unit[0]) has subpart_id 0, then triangle faces with fi(facegroupId) 0 are associated with this patch, which are f 1/2/4, f 2/4/5 and f 0/1/2 … this correlation between triangle faces and facegroupId’s may be indicated via a correlated ordering between a listing of the triangle faces and a list of associated facegroupId’s. For example, in Figure 40, the ordered list of triangle faces (e.g., f 1/2/4, f 2/4/5, f 2/5/3, and f 0/1/2) and corresponding ordered list of facegroupId’s (e.g., f1 0, fi 0, fi 1, and fi0) indicate that each of f 1/2/4, f 2,/4/5, and f 0/1/2) are associated with facegroupId 0 and that triangle face f 2/5/3 is associated with facegroupId 1. [0575] Then, the associated vertices are ordered as 1,2,4,5,0. Therefore, the first displacement is added to vertex1(x1,y1,z1) and the last displacement is added to vertex0(x0,y0,z0). For patch[1], the associated vertices are ordered as 2,5,3.” Note: As stated above displacements are ordered pieces of location data. The compressed geometry, or mesh itself is made up of patches. From these small samples of triangles in the patch we gather a list of unique vertices by only storing only those which do not overlap. When the displacements are added to the vertices to reconstruct triangles in a patch elsewhere we are extracting the geometry. Rather than saving duplicate geometry/vertices or saving highly detailed meshes the application stores displacement values which denote where the specified geometry exists elsewhere and what positions they should be in. This teaches the extraction of geometry from a compressed data structure by applying topology information to a set of unique vertices of the compressed data structure as the displacement location data is our topology information.) applying one or more subdivision operations to the geometry to obtain subdivided geometry; (Kim ¶277 “Similar to the geometry information, additional processing may be performed to the base mesh information after its decoding. More specifically, after decoding the base mesh data, the resulting meshes may be subdivided through a mesh subdivision process. This process requires information, e.g. the subdivision method to be used among others, which may be indicated/included in the atlas data substream.”) and performing rendering operations utilizing the subdivided geometry (Kim ¶600 “The adaptive tessellation module 503 can take as inputs: … A decoded base mesh m’(i) which may (but need not) have per vertex/face/edge attributes describing saliency and importance/priority information” ¶610 “The tessellation module 503 can … be used for rendering or for processing by the application” Note: Here we see Kim teach that the decoded mesh, which is the geometry data we have extracted from the compressed data, can be rendered.) Regarding claims 11, 2, 20, dependent on 11, 1, 19, Kim teaches: The system of claim 10, wherein the topology information indicates implicit or explicit connectivity information. (Kim ¶285 a v-mesh bitstream is provided to the decoder, the decoder demultiplexes (3201) the bitstream into V3C parameter sets 3202, Mesh subbitstreams 3203, Geometry subbitstreams 3204, Attribute subbitstreams 3205” ¶286 “output mesh geometry, texture coordinates and connectivities are calculated by mesh position refinement process (3215) that combines the output of the mesh normalization process 3210 and the outputs of geometry normalization process 3212 to derive the resultant meshes (e.g., described by mesh geometry, texture coordinates, and connectivity).” Note: Here we see that in the decoding process described in Kim, which is its decompressing process as the encoded data is the compressed data structure, we are able to use outputs to derive the connectivity information. This teaches compressed data that has topology information which contains implicit or explicit connectivity information.) Regarding claims 12, 3, dependent on 10, 1, Kim teaches, The system of claim 10, wherein the topology information identifies which unique vertices comprise which triangles. (Kim ¶573 “The list of vertices is created from the triangle faces (with the same facegroup id) associated with the current patch. The non-overlapping vertex indices are saved into the list based on the order of their appearance” ¶574 “… if a patch (mesh_intra_patch_data_unit[0]) has subpart_id 0, then triangle faces with fi(facegroupId) 0 are associated with this patch, which are f 1/2/4, f 2/4/5 and f 0/1/2 … this correlation between triangle faces and facegroupId’s may be indicated via a correlated ordering between a listing of the triangle faces and a list of associated facegroupId’s. For example, in Figure 40, the ordered list of triangle faces (e.g., f 1/2/4, f 2/4/5, f 2/5/3, and f 0/1/2) and corresponding ordered list of facegroupId’s (e.g., f1 0, fi 0, fi 1, and fi0) indicate that each of f 1/2/4, f 2,/4/5, and f 0/1/2 are associated with facegroupId 0 and that triangle face f 2/5/3 is associated with facegroupId 1. [0575] Then, the associated vertices are ordered as 1,2,4,5,0. Therefore, the first displacement is added to vertex1(x1,y1,z1) and the last displacement is added to vertex0(x0,y0,z0)” Note: Here we see Kim teach that the triangle faces are ordered and tracked by ids, and that the triangle faces are referred to by the vertices that compose them. This teaches that the topology information present identifies which unique vertices comprise which triangles.) Regarding claims 14, 5, dependent on 11, 1, Kim teaches: The system of claim 10, wherein the one or more subdivision operations include one or more of a loop-based subdivision, a grid-based subdivision, or a Catmull-Clark-based subdivision. (Kim ¶178 “The remeshing techniques described herein can be used with these or any other subdivision technique. For triangular meshes, the mid-edge interpolation, loop, butterfly, and Catmull-Clark subdivision techniques are among the most popular.” Note: Here we see that the application teaches the options to use loop and Catmull-clark subdivision types.) Regarding claims 15, 6, dependent on 11, 1, Kim teaches: The system of claim 10, wherein the one or more subdivision operations include subdividing edges of the geometry based on tessellation factors to obtain vertices and connecting the vertices to obtain subdivided geometry. (Kim FIG. 36, FIG. 37: PNG media_image1.png 650 458 media_image1.png Greyscale Kim ¶546 “vmc_ext_subdivision_iteration_count=2 … For patch[0], mdu_patch_subdivisionmethod_enable_flag and mdu_subdivision_iteration_count is 1. Then, as illustrated in patch [0] of FIG. 37, the area corresponding to the patch, the triangle constructed by v0, v1 and v3, is populated with vertices by a method whose index is 1 and the iteration count will be 1. mdu_vertex_index_list is set as {v0, v1, v3, v5, v6, v7}. The order of vertex indices can be determined by subdivision method and the order of the corresponding displacement is aligned with this order. [0548] 2) For patch[1], …. mdu_subdivision_iteration_count is set as vmc_ext_subdivision_iteration_count. As illustrated in FIG. 37, the area corresponding to the patch, the triangle constructed by v0, v1 and v2, is populated with vertices accordingly. mdu_vertex_index_list is set as {v0, v1, v2, v5, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17}.” Note: In FIG. 36 and 37 and the accompanying description we see that edges of the geometry can be subdivided based on tessellation factors. The tessellation factor mentioned here is the subdivision iteration count which specifies how many times a given edge will be subdivided. Kim specifies that for patch 0 the iteration count is 1, we see this reflected as every edge gets a single new vertex along it, subdividing it once into two pieces in FIG. 37. This creates three new vertices (v5,v6,v7), teaching the obtaining of vertices from subdividing edges of geometry. The connection of the vertices and obtaining of subdivided geometry is taught implicitly, as seen in the before and after of the triangles from FIG. 36 to FIG. 37 the vertices are generated for the triangle/patch and are connected to form a new triangle.) Regarding claims 16, 7, dependent on 15, 6, The system of claim 15, wherein the tessellation factors are specified differently for border regions of the geometry and for internal regions of the geometry. (Kim ¶546 “For patch[0], mdu_patch_subdivisionmethod_enable_flag and mdu_subdivision_iteration_count is 1. Then, as illustrated in patch [0] of FIG. 37, the area corresponding to the patch, the triangle constructed by v0, v1 and v3, is populated with vertices by a method whose index is 1 and the iteration count will be 1. mdu_vertex_index_list is set as {v0, v1, v3, v5, v6, v7}.”Kim ¶73 “The subdivision scheme behavior could be adaptively changed (e.g., to preserve sharp edges) based on implicit and explicit criteria such as: [0074] Per face/edge/vertex attribute information associated with the base mesh and explicitly encoded as mesh attributes” Fig 42: PNG media_image2.png 426 676 media_image2.png Greyscale ¶619 “FIG. 42 (cf. FIG. 11) illustrates a technique for subdividing a triangle based on the number of edges determined to be subdivided based on the algorithm described above. In 4201a, each edge is to be subdivided, resulting in the triangle being split into four triangles as shown. In (b), two edges of the triangle are to be subdivided (the edges other than the base), resulting in the triangle being split into three triangles as shown. In (c) only one edge is to be subdivided, resulting in the triangle being split into two triangles as shown. In (d), no edges are to be subdivided, meaning the original triangle is preserved. This is just one possible approach, and other subdivision approaches could be applied” Note: In ¶546 Kim teaches that we can specify the tessellation factors, in this case the number of subdivision iterations per edge for a given patch. This specifies a tessellation factor for both the “border regions”, interpreted as in the outermost edges that initially define the shape/geometry, and for the “internal regions” which are interpreted as the newly subdivided shapes and edges inside our initial geometry. However, as specified in ¶73 we are able to change our subdivision scheme aka tessellation factors for the outermost edges, “border regions”. This allows for the internal regions to have a different tessellation factor (subdivision iteration count) than the border regions, in ¶619 the example is selecting one or multiple edges to have an iteration count of 0 meaning it will not be subdivided. Kim specifies this is just one example of how we can specify subdivision approaches/tessellation factors for the border regions different from internal regions.) Regarding claims 17, 8, dependent on 10, 1, Kim teaches: The system of claim 10, further comprising displacing vertices of the subdivided geometry to a limit surface. (Kim ¶62 “to produce a base mesh m(i) and a displacement field d(i) discussed above with respect to Fig. 4. … the “original” curve, is first down-sampled to generate a base curve/polyline 602, referred to as the “decimated” curve. A subdivision scheme, such as those described in Reference [A1] (identified below), can be applied to the decimated polyline 602 to generate a “subdivided” curve … The proposed scheme can be independent of the chosen subdivision scheme and could be combined with any subdivision scheme such as the ones described in Reference [A1]. The subdivided polyline can then be deformed to get a better approximation of the original curve. More precisely, a displacement vector can be computed for each vertex of the subdivided mesh 603 (illustrated by the arrows in the displaced polyline 604 of Figure 6), so that the shape of the displaced curve is sufficiently close to the shape of the original curve. ” ¶277 “Similar to the geometry information, additional processing may be performed to the base mesh information after its decoding. More specifically, after decoding the base mesh data, the resulting meshes may be subdivided through a mesh subdivision process. This process requires information, e.g. the subdivision method to be used among others, which may be indicated/included in the atlas data substream. Subdivided/resampled meshes are then refined by adding the displacements” ¶178 “The remeshing techniques described herein can be used with these or any other subdivision technique. For triangular meshes, the mid-edge interpolation, loop, butterfly, and Catmull-Clark subdivision techniques” Note: A limit surface refers to a theoretical truly smooth surface that a mesh approaches after an infinite amount of subdivision. When we specify more detail about a smooth surface and take actions to make it more accurate such as subdividing it more we are “approaching” the limit surface. The claim’s “limit surface” is referring to a surface which has had additional steps, particularly more subdivisions, taken to make it smoother. Kim teaches that specific steps are taken to render curved surfaces more accurately i.e. smoother teaching that the geometry can contain limit surfaces. One such effort is that curved, smooth surfaces are given additional subdivision steps before compression so that they can be extracted more accurately than other areas of geometry. Furthermore, specific displacements that give more information about curved surfaces are saved for the purpose of making the reconstructed curves more accurate, teaching the displacement of vertices of the subdivided geometry to a limit surface. We also see subdivision techniques used for approaching the limit surface such as Catmull-clark and loop are specifically used.) Regarding claims 18, 9, dependent on 17, 8, The system of claim 17, further comprising applying additional displacements to the vertices. (Kim ¶63 “The subdivided polyline can then be deformed to get a better approximation of the original curve. More precisely, a displacement vector can be computed for each vertex of the subdivided mesh 603 (illustrated by the arrows in the displaced polyline 604 of Figure 6), so that the shape of the displaced curve is sufficiently close to the shape of the original curve.” ¶191 “final subdivided deformed mesh F(i) and the decimated mesh pm(i). If iterative mesh deformation is omitted, then the initial deformed mesh F0(i) may be substituted for final deformed mesh F(i). … [0192] The Displacement Computation Module 2010 can compute displacements d(i) by taking the difference between the positions of F(i) (or F0(i) and the subdivided version of pm(i), to exploit correlations between the two meshes and produce a more compressible representation. The resulting displacement field d(i) can then fed as input to the encoder module (along with base mesh m(i) as described above in Section 1.” Note: Here, we see that Kim has a specific approach for determining general displacements. Outside of this approach it will also create “additional displacements” for the vertices that make up the limit/curved surfaces so that they can be reconstructed more accurately) Claim Rejections - 35 USC § 103 In the event the determination of the status of the application as subject to AIA 35 U.S.C. 102 and 103 (or as subject to pre-AIA 35 U.S.C. 102 and 103) is incorrect, any correction of the statutory basis (i.e., changing from AIA to pre-AIA ) for the rejection will not be considered a new ground of rejection if the prior art relied upon, and the rationale supporting the rejection, would be the same under either status. The following is a quotation of 35 U.S.C. 103 which forms the basis for all obviousness rejections set forth in this Office action: A patent for a claimed invention may not be obtained, notwithstanding that the claimed invention is not identically disclosed as set forth in section 102, if the differences between the claimed invention and the prior art are such that the claimed invention as a whole would have been obvious before the effective filing date of the claimed invention to a person having ordinary skill in the art to which the claimed invention pertains. Patentability shall not be negated by the manner in which the invention was made. Claim(s) 13, 4 are rejected under 35 U.S.C. 103 as being unpatentable over Kim (US 20230290011 A1) in view of Howson (US 10339696 B2). Regarding claims 13, 4, dependent on 10, 1, Kim teaches: The system of claim 10, Kim does not teach the ability to use rendering methods of rasterization or ray tracing, Howson teaches: wherein the rendering operations comprise one of performing rasterization-based rendering or performing ray tracing based rendering. (Howson ¶4 “One aspect relates to a machine-implemented method for use in 3-D rendering. The method comprises accessing geometry data… (7)The method also may further comprise making a rendering using both a rasterization subsystem and a ray tracing subsystem” Note: Here we see Howson teaches that geometry can be rendered using both rasterization and with ray tracing based rendering.) It would have been obvious to a person having ordinary skill in the art before the effective filing date of the claimed invention to combine Kim and Howson’s teachings wherein extracted geometry from a compressed data structure is subdivided and then rendered using ray tracing or rasterization based rendering. There are many reasons that would motivate one to use rasterization or ray tracing rendering in this context, one of which is rendering higher quality light, shadows, reflections, and similar visual qualities which ray tracing excels at. Another might be speed and efficiency in rendering which are known benefits of rasterization rendering. Conclusion Any inquiry concerning this communication or earlier communications from the examiner should be directed to ALAN GREGORY HAKALA whose telephone number is (571)272-7863. The examiner can normally be reached 8:00am-5:00pm. 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, King Poon can be reached at (571) 270-0728. 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. /KING Y POON/Supervisory Patent Examiner, Art Unit 2617
Read full office action

Prosecution Timeline

Jun 28, 2024
Application Filed
Jan 22, 2026
Non-Final Rejection — §102, §103 (current)

AI Strategy Recommendation

Get an AI-powered prosecution strategy using examiner precedents, rejection analysis, and claim mapping.
Powered by AI — typically takes 5-10 seconds

Prosecution Projections

1-2
Expected OA Rounds
Grant Probability
2y 9m
Median Time to Grant
Low
PTA Risk
Based on 0 resolved cases by this examiner. Grant probability derived from career allow rate.

Sign in with your work email

Enter your email to receive a magic link. No password needed.

Personal email addresses (Gmail, Yahoo, etc.) are not accepted.

Free tier: 3 strategy analyses per month