Prosecution Insights
Last updated: August 17, 2026
Application No. 19/081,856

TECHNIQUES FOR RENDERING CONTENT

Non-Final OA §103
Filed
Mar 17, 2025
Priority
Jun 04, 2023 — provisional 63/470,977 +1 more
Examiner
NGUYEN, PHU K
Art Unit
Tech Center
Assignee
Apple Inc.
OA Round
1 (Non-Final)
86%
Grant Probability
Favorable
1-2
OA Rounds
1y 1m
Est. Remaining
94%
With Interview

Examiner Intelligence

Grants 86% — above average
86%
Career Allowance Rate
1043 granted / 1214 resolved
+25.9% vs TC avg
Moderate +8% lift
Without
With
+7.9%
Interview Lift
resolved cases with interview
Typical timeline
2y 7m
Avg Prosecution
33 currently pending
Career history
1234
Total Applications
across all art units

Statute-Specific Performance

§101
14.9%
-25.1% vs TC avg
§103
58.5%
+18.5% vs TC avg
§102
7.4%
-32.6% vs TC avg
§112
8.0%
-32.0% vs TC avg
Black line = Tech Center average estimate • Based on career data from 1214 resolved cases

Office Action

§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 . 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. This application currently names joint inventors. In considering patentability of the claims the examiner presumes that the subject matter of the various claims was commonly owned as of the effective filing date of the claimed invention(s) absent any evidence to the contrary. Applicant is advised of the obligation under 37 CFR 1.56 to point out the inventor and effective filing dates of each claim that was not commonly owned as of the effective filing date of the later invention in order for the examiner to consider the applicability of 35 U.S.C. 102(b)(2)(C) for any potential 35 U.S.C. 102(a)(2) prior art against the later invention. Claims 1-18 are rejected under 35 U.S.C. 103 as being unpatentable over SUN et al (US 20230132642) in view of CHENG et al (US 20190342425). As per claim 1, Sun teaches the claimed “method,” comprising: at a computer system: “receiving a request to render a first asset” (Sun, [0023] - An example of the initialization subsystem 110 generates, for each asset in the 3D virtual environment, a respective set of objects at varying levels of detail representing that asset); and in response to receiving the request to render the first asset: in accordance with a determination that a first set of one or more criteria is satisfied, wherein the first set of one or more criteria includes a criterion based on a first set of one or more characteristics of the first asset and a first set of one or more current performance measurements of the computer system, rendering the first asset in a first manner” (Sun, [0035]-[0036] - At block 215, the process 200 involves generating, for each asset accessed at block 205, a respective set of objects representing the asset at the levels of detail selected at block 210, in some examples, each asset is described at its highest possible level of detail in the asset repository 140… After initialization of the immersive graphics system 100 (i.e., after generation of objects represents the assets at various levels of detail), a client device 160 may participate in the immersive graphics system 100 to enable a user to view and potentially interact with the virtual environment 195), “wherein the first set of one or more characteristics includes a number of vertices desired to be rendered for the first asset, a texture size of a portion of a representation of the first asset, a physics setting applied to a representation of the first asset, an animation defined by the first asset, or a combination thereof” (Sun, [0034] - At block 210, the process 200 involves selecting a set of levels of detail. A level of detail defines an amount of complexity in an object or set of objects representing an asset. For instance, if an asset is described as a point cloud, then a higher LoD may include a greater number of vertices than a lower LoD. If an asset is described as a mesh, then a higher LoD may include a greater number of faces than a lower LoD. Levels of detail can be defined in various ways, and further, each level of detail may be defined differently for different types of data structures ( e.g., point clouds versus meshes); [0061] - Some embodiments divide 3D content (e.g., assets) based on the coarsest LoD… For instance, a unit can be the coarsest triangle in a 3D mesh, a largest super-voxel in a volume, a texel in the coarsest mipmap level of a height/displacement texture, or a separate object in a swarm scene); and “in accordance with a determination that a second set of one or more criteria is satisfied, wherein the second set of one or more criteria includes a criterion based on a second set of one or more characteristics of the first asset and a second set of one or more current performance measurements of the computer system, rendering the first asset in a second manner different from the first manner, wherein the second set of one or more criteria is different from the first set of one or more criteria” (Sun, [0041]-[0042] - As such, at block 320, the process 300 involves receiving an update from the graphics server 105, based on the user information or importance values transmitted to the graphics server 105. In some embodiments, the update includes a set of objects representing assets of the virtual environment 195. The client device 160 stores the set of objects in the client object repository 185. Thus, the client object repository 185 may include not only objects from this update but additional objects from previous updates based on user information from previous points in time… As described above, the client object repository 185 may include objects from the most recent update from the graphics server 105 as well as, in some cases, objects received as part of previous updates. In some embodiments, the rendering subsystem 190 may render a frame using any of such objects. For instance, if two or more objects at two or more LoDs representing a single asset are stored in the client object repository 185, the rendering subsystem 190 may select one of such objects, such as an object with a higher LoD than all other objects in the client object repository 185 for that asset, to use during rendering). It’s noted that Sun’s updating of the objects on the asset (e.g., [0047]-[0053] - Additionally or alternatively, however, the client data may include a respective importance value for each asset, where the importance values are based on the user information such as the user position, orientation, and gaze position… In some embodiments, the graphics server 105 continuously updates importance values as new client data is received from the client device 160… At block 420, the process 400 involves selecting a set of objects to transmit to the client device 160, based on the importance values for the assets, as updated at block 415… After receiving the set of objects, an example of the client device 160 renders frames for output to its display 170. Some embodiments of the graphics server 105 repeat this process 400 while the client device 160 remains involved in the immersive graphics system 100… The importance value for an asset may be computed repeatedly, such as at a frequency sufficient to capture the user's movements or gaze positions. For instance, each time the user information changes, the importance values may be updated) implies the rendering of the asset in different manners depending on the important values set for the asset. See also Cheng (e.g., [0025] - For example, graphical settings can include settings that control the following: a quantity of virtual objects displayed simultaneously by the application in a scene (e.g., a number of non-player characters, or a number of background objects),... The rendering options include any value or setting that affects the way in which the application renders virtual objects for display. Rendering options include values or settings for the following: a level-of-detail (LOD) for each virtual object, a type of occlusion used when rendering, properties of shadows used in rendering a scene, a method of handling reflections from surfaces within a scene, a shader program used during rendering, and the like; [0028] - the client module 106 within the application 114 receives the determined configuration data and applies the determined values for the settings therein to the user device 102 and the application 114. As part of operation 510 of the method 500, the client module 106 on the device modifies values within the application 114 and within the operating system using the configuration data (e.g., modifying setting values) in real-time to improve the performance of the application 114 on the device 102). Thus, since Sun and Cheng are in the same endeavor of prioritizing objects on an asset for display (e.g., ensuring critical components render in the foreground), it would have been obvious, in view of Cheng, to configure Sun’s method as claimed by rendering the asset in different manners under different important values associated with the change of user information. The motivation is to prioritize the most important objects of the asset (e.g., objects under the user’s gaze position) for high quality and finer details on display. Claim 2 adds into claim 1 “wherein rendering the first asset in the first manner includes providing a 3D representation of the first asset, and wherein rendering the first asset in the second manner includes providing a 2D representation of the first asset” (Sun, [0034] - Levels of detail can be defined in various ways, and further, each level of detail may be defined differently for different types of data structures; [0060] - The above formulas represent a screens-space model but can be adapted for a virtual environment 195 that is 3D and includes 3D assets. In some embodiments, assets can be 3D and may be represented in various forms, such as triangle meshes, volumes, terrains, or large crowded objects… In some embodiments, however, the assets of the virtual environment include nonuniformly distributed content, such as depth and connectivity. An embodiment of the immersive graphics system 100 applies a deferred shading algorithm to convert various types of 3D primitives to 2D perception evaluations). Noted that Sun’s updating of object important values causing an object of the asset from high important value (i.e., represented in a high detail form as 3D object) to a low important value (i.e., represented in a lower detail form as 2D object) (Sun, [0041]-[0042] - As such, at block 320, the process 300 involves receiving an update from the graphics server 105, based on the user information or importance values transmitted to the graphics server 105. In some embodiments, the update includes a set of objects representing assets of the virtual environment 195) Sun’s ensuring critical components render in the foreground; [0047]-[0053] - Additionally or alternatively, however, the client data may include a respective importance value for each asset, where the importance values are based on the user information such as the user position, orientation, and gaze position… In some embodiments, the graphics server 105 continuously updates importance values as new client data is received from the client device 160… At block 420, the process 400 involves selecting a set of objects to transmit to the client device 160, based on the importance values for the assets, as updated at block 415… After receiving the set of objects, an example of the client device 160 renders frames for output to its display 170). Claim 3 adds into claim 1 “wherein rendering the first asset in the first manner includes providing an animation of the first asset or rendering a representation of the first asset with a physics setting applied to the representation” (Cheng, [0018] - For example, an asset can include data for an image, a 3D model (textures, rigging, and the like), an audio sound, a video, an animation, a 3D mesh and the like; [0022] - The game engine 104 would typically include a physics engine, collision detection, rendering, networking, sound, animation, and the like in order to provide the user with the application environment (e.g., video game environment)), and “wherein rendering the first asset in the second manner does not include rendering an animation of the first asset and does not include rendering a representation of the first asset with the physics setting applied to the representation” which Chen suggests in his “render options” (e.g., The rendering options include any value or setting that affects the way in which the application renders virtual objects for display) in which the animation object in the asset is not a high prioritized item of the asset for representation (Cheng, [0025] - The quality of a virtual asset includes any value or setting of the virtual asset that can affect the rendered quality or performance of a virtual object which is rendered from the virtual asset by the application; including a polygon count in a 3D mesh for the virtual object, a number of joints in the virtual object, … The graphical settings can include any value or setting used by the application that affects the graphical processing of virtual assets to display a scene in the application. For example, graphical settings can include settings that control the following: a quantity of virtual objects displayed simultaneously by the application in a scene (e.g., a number of non-player characters, or a number of background objects), a quantity, type, and properties of light sources used by the application in rendering a scene, a number of particles in a particle system used by the application when rendering a scene that includes particles (e.g., smoke), a method of handling reflections from surfaces within a scene, settings controlling the generation of procedural materials at runtime, and the like. The rendering options include any value or setting that affects the way in which the application renders virtual objects for display. Rendering options include values or settings for the following: a level-of-detail (LOD) for each virtual object, a type of occlusion used when rendering, properties of shadows used in rendering a scene, a method of handling reflections from surfaces within a scene, a shader program used during rendering). The motivation is to enhance the display under a limit bandwidth by only select the “important items” of the asset for representation. Claim 4 adds into claim 1 “wherein the first asset is displayed while audio is playing” (Cheng, [0018] - For example, an asset can include data for an image, a 3D model (textures, rigging, and the like), an audio sound, a video, an animation, a 3D mesh and the like; [0022] - The game engine 104 would typically include a physics engine, collision detection, rendering, networking, sound, animation, and the like in order to provide the user with the application environment (e.g., video game environment)), the method further comprising: “in response to detecting a change to a current performance measurement, ceasing playback of the audio” which Chen suggests in his “render options” (e.g., The rendering options include any value or setting that affects the way in which the application renders virtual objects for display) in which the audio in the asset is not a high prioritized item of the asset for representation (Cheng, [0025] - The quality of a virtual asset includes any value or setting of the virtual asset that can affect the rendered quality or performance of a virtual object which is rendered from the virtual asset by the application; including a polygon count in a 3D mesh for the virtual object, a number of joints in the virtual object, … The graphical settings can include any value or setting used by the application that affects the graphical processing of virtual assets to display a scene in the application. For example, graphical settings can include settings that control the following: a quantity of virtual objects displayed simultaneously by the application in a scene (e.g., a number of non-player characters, or a number of background objects), a quantity, type, and properties of light sources used by the application in rendering a scene, a number of particles in a particle system used by the application when rendering a scene that includes particles (e.g., smoke), a method of handling reflections from surfaces within a scene, settings controlling the generation of procedural materials at runtime, and the like. The rendering options include any value or setting that affects the way in which the application renders virtual objects for display. Rendering options include values or settings for the following: a level-of-detail (LOD) for each virtual object, a type of occlusion used when rendering, properties of shadows used in rendering a scene, a method of handling reflections from surfaces within a scene, a shader program used during rendering). The motivation is to enhance the display under a limit bandwidth by only select the “important items” of the asset for representation. Claim 5 adds into claim 1 “wherein rendering the first asset in the first manner includes providing a first portion of the first asset with a first texture, and wherein rendering the first asset in the second manner includes providing the first portion of the first asset with a second texture different from the first texture” (Sun, Sun, [0034] - At block 210, the process 200 involves selecting a set of levels of detail. A level of detail defines an amount of complexity in an object or set of objects representing an asset. For instance, if an asset is described as a point cloud, then a higher LoD may include a greater number of vertices than a lower LoD. If an asset is described as a mesh, then a higher LoD may include a greater number of faces than a lower LoD. Levels of detail can be defined in various ways, and further, each level of detail may be defined differently for different types of data structures ( e.g., point clouds versus meshes); [0061] - Some embodiments divide 3D content (e.g., assets) based on the coarsest LoD… For instance, a unit can be the coarsest triangle in a 3D mesh, a largest super-voxel in a volume, a texel in the coarsest mipmap level of a height/displacement texture, or a separate object in a swarm scene). Claim 6 adds into claim 1 “wherein rendering the first asset in the first manner includes providing the first asset in a first resolution, and wherein rendering the first asset in the second manner includes providing the first asset in a second resolution different from the first resolution” (Sun, [0034] - At block 210, the process 200 involves selecting a set of levels of detail. A level of detail defines an amount of complexity in an object or set of objects representing an asset. For instance, if an asset is described as a point cloud, then a higher LoD may include a greater number of vertices than a lower LoD. If an asset is described as a mesh, then a higher LoD may include a greater number of faces than a lower LoD. Levels of detail can be defined in various ways, and further, each level of detail may be defined differently for different types of data structures ( e.g., point clouds versus meshes); [0061] - Some embodiments divide 3D content (e.g., assets) based on the coarsest LoD… For instance, a unit can be the coarsest triangle in a 3D mesh, a largest super-voxel in a volume, a texel in the coarsest mipmap level of a height/displacement texture, or a separate object in a swarm scene). Claim 7 adds into claim 1 “wherein rendering the first asset includes displaying, via a first display generation component in communication with the computer system, the first asset” (Sun, [0035]-[0036] - At block 215, the process 200 involves generating, for each asset accessed at block 205, a respective set of objects representing the asset at the levels of detail selected at block 210, in some examples, each asset is described at its highest possible level of detail in the asset repository 140… After initialization of the immersive graphics system 100 (i.e., after generation of objects represents the assets at various levels of detail), a client device 160 may participate in the immersive graphics system 100 to enable a user to view and potentially interact with the virtual environment 195). Claim 8 adds into claim 1 “wherein a first performance measurement of the first set of one or more current performance measurements is measured before receiving the request to render the first asset” which Sun teaches in the client device bandwidth, or network bandwidth available for transmissions to the client device which is decided before receiving the request to render the asset (Sun, [0015]-[0019] - Certain embodiments described herein improve upon such techniques by dynamically prioritizing assets in a virtual environment such that assets having a greater impact on user experience are transmitted to a client device at a high level of detail while assets that have lesser impact can be transmitted at a comparatively low level of detail, thus intelligently utilizing the network bandwidth or the client device's capabilities… the network bandwidth needed to transmit that object generally increases as the LoD increases. As described herein, some examples intelligently determine which LoD to use for each asset to optimize the perceptual experience for the user given the available bandwidth of the network… Given the advancements in graphics processing units (GPUs), a bottleneck in the generation of immersive environments is the network's capabilities, such as client device bandwidth. Embodiments described herein overcome the bottleneck issue by prioritizing the use of network resources, such as bandwidth, by selectively determining which LoD to use for each asset so as to provide a perceptually satisfying experience for the user without having to utilize the highest level of detail for every asset; [0050] - In some embodiments, the knapsack represents the client device bandwidth, or other network resource, available between the graphics server 105 and the client device 160; the items represent the assets; and the values represent the importance values of the assets. The weight of an asset represents, or relates to, the amount of bandwidth, or other network resource, required for transmitting an object or set of objects representing that asset. Some embodiments solve the knapsack problem to determine, for each asset, which one or more objects, if any, to send to the client device 160. Various techniques exist for solving the knapsack problem, such as implementations of heuristics). Claim 9 adds into claim 1 “wherein a second performance measurement of the first set of one or more current performance measurements is measured in response to receiving the request to render the first asset” which Sun teaches in the client device bandwidth, or network bandwidth available for transmissions to the client device which is decided before in response to receiving the request to render the asset (Sun, [0015]-[0019] - Certain embodiments described herein improve upon such techniques by dynamically prioritizing assets in a virtual environment such that assets having a greater impact on user experience are transmitted to a client device at a high level of detail while assets that have lesser impact can be transmitted at a comparatively low level of detail, thus intelligently utilizing the network bandwidth or the client device's capabilities… the network bandwidth needed to transmit that object generally increases as the LoD increases. As described herein, some examples intelligently determine which LoD to use for each asset to optimize the perceptual experience for the user given the available bandwidth of the network… Given the advancements in graphics processing units (GPUs), a bottleneck in the generation of immersive environments is the network's capabilities, such as client device bandwidth. Embodiments described herein overcome the bottleneck issue by prioritizing the use of network resources, such as bandwidth, by selectively determining which LoD to use for each asset so as to provide a perceptually satisfying experience for the user without having to utilize the highest level of detail for every asset; [0050] - In some embodiments, the knapsack represents the client device bandwidth, or other network resource, available between the graphics server 105 and the client device 160; the items represent the assets; and the values represent the importance values of the assets. The weight of an asset represents, or relates to, the amount of bandwidth, or other network resource, required for transmitting an object or set of objects representing that asset. Some embodiments solve the knapsack problem to determine, for each asset, which one or more objects, if any, to send to the client device 160. Various techniques exist for solving the knapsack problem, such as implementations of heuristics). Claim 10 adds into claim 1 “wherein a third performance measurement of the first set of one or more current performance measurements is determined by rendering another asset different from the first asset” which Sun teaches in the client device bandwidth, or network bandwidth available for transmissions to the client device which can be determined (e.g., visual display shows high details and smooth transformation) by rendering another asset different from the first asset (e.g., similar characteristics of displayed items) (Sun, [0015]-[0019] - Certain embodiments described herein improve upon such techniques by dynamically prioritizing assets in a virtual environment such that assets having a greater impact on user experience are transmitted to a client device at a high level of detail while assets that have lesser impact can be transmitted at a comparatively low level of detail, thus intelligently utilizing the network bandwidth or the client device's capabilities… the network bandwidth needed to transmit that object generally increases as the LoD increases. As described herein, some examples intelligently determine which LoD to use for each asset to optimize the perceptual experience for the user given the available bandwidth of the network… Given the advancements in graphics processing units (GPUs), a bottleneck in the generation of immersive environments is the network's capabilities, such as client device bandwidth. Embodiments described herein overcome the bottleneck issue by prioritizing the use of network resources, such as bandwidth, by selectively determining which LoD to use for each asset so as to provide a perceptually satisfying experience for the user without having to utilize the highest level of detail for every asset; [0050] - In some embodiments, the knapsack represents the client device bandwidth, or other network resource, available between the graphics server 105 and the client device 160; the items represent the assets; and the values represent the importance values of the assets. The weight of an asset represents, or relates to, the amount of bandwidth, or other network resource, required for transmitting an object or set of objects representing that asset. Some embodiments solve the knapsack problem to determine, for each asset, which one or more objects, if any, to send to the client device 160. Various techniques exist for solving the knapsack problem, such as implementations of heuristics). Claim 11 adds into claim 1 “receiving a request to render a second asset different from the first asset; and in response to receiving the request to render the second asset, rendering the second asset in the second manner” (Sun, [0017]-[0019] - The computer system then determines a respective importance value for each asset visible to the user, based on the user's position, orientation, and gaze position. Given the available bandwidth, the computer system selects a set of objects to transmit to the client device, based on the various importance values assigned to the assets. In the set of objects, a first object representing a first asset with a high importance value has a higher LoD than a second object representing a second asset with a lower importance value. In other words, a lower LoD is deemed more acceptable for objects with lower importance values… Embodiments described herein overcome the bottleneck issue by prioritizing the use of network resources, such as bandwidth, by selectively determining which LoD to use for each asset so as to provide a perceptually satisfying experience for the user without having to utilize the highest level of detail for every asset). Claim 12 adds into claim 1 “after receiving the request to render the first asset and after rendering the first asset in the first manner, receiving a second request to render the first asset; and in response to receiving the second request to render the first asset, rendering the first asset in the second manner” (Sun, [0044]-[0048] - For each such client device 160, the graphics server 105 determines a set of objects representing assets and transmits such objects as an update back to that client device 160… In some embodiments, the graphics server 105 continuously updates importance values as new client data is received from the client device 160. In some other embodiments, however, the graphics server 105 determines whether an update is needed at the client device 160 and, if so, updates the importance values upon determining that an update is needed; [0053] - The importance value for an asset may be computed repeatedly, such as at a frequency sufficient to capture the user's movements or gaze positions. For instance, each time the user information changes, the importance values may be updated). Claim 13 adds into claim 1 “wherein receiving the request to render the first asset includes detecting, via one or more input devices in communication with the computer system, an input directed to a file corresponding to the first asset” (Sun, [0044]-[0048] - For each such client device 160, the graphics server 105 determines a set of objects representing assets and transmits such objects as an update back to that client device 160… Each such client device 160 can be in use by a distinct user with distinct interactions with the virtual environment 195 (e.g., independent of interactions made by other users at other client devices 160), such as different movements through the virtual environment. Thus, depending on the interactions being performed at each client device 160, the graphics server 105 may transmit different sets of objects to the various client devices 160 and may do so at different points in time… the client data may include a respective importance value for each asset, where the importance values are based on the user information such as the user position, orientation, and gaze position). Claim 14 adds into claim 1 “wherein receiving the request to render the first asset includes detecting, via an application of the computer system, a request from a first portion of the application to render a second portion of the application” in which Sun’s displayed assets in the client device based on user information (e.g., the user's movements or gaze positions) suggests a case in which the first portion of the application (e.g., render an asset of a focused object) can be the same of a second portion of the application (e.g., render the same focused object) (Sun, [0044]-[0048] - For each such client device 160, the graphics server 105 determines a set of objects representing assets and transmits such objects as an update back to that client device 160… Each such client device 160 can be in use by a distinct user with distinct interactions with the virtual environment 195 (e.g., independent of interactions made by other users at other client devices 160), such as different movements through the virtual environment. Thus, depending on the interactions being performed at each client device 160, the graphics server 105 may transmit different sets of objects to the various client devices 160 and may do so at different points in time… the client data may include a respective importance value for each asset, where the importance values are based on the user information such as the user position, orientation, and gaze position). Claim 15 adds into claim 1 “while the first asset is being displayed, detecting a change to one or more current performance measurements of the computer system; and in response to detecting the change to the one or more current performance measurements, rendering the first asset in a different manner than the first asset that was displayed when detecting the change” in which the change in Sun’s performance measurement (e.g., network bandwidth available for transmissions to the client device) causes a corresponding change in the prioritized objects in the asset for display, or in other words, rendering the asset in a different manner when detecting the change in system performance measurement (Sun, [0015]-[0019] - Certain embodiments described herein improve upon such techniques by dynamically prioritizing assets in a virtual environment such that assets having a greater impact on user experience are transmitted to a client device at a high level of detail while assets that have lesser impact can be transmitted at a comparatively low level of detail, thus intelligently utilizing the network bandwidth or the client device's capabilities… the network bandwidth needed to transmit that object generally increases as the LoD increases. As described herein, some examples intelligently determine which LoD to use for each asset to optimize the perceptual experience for the user given the available bandwidth of the network… Given the advancements in graphics processing units (GPUs), a bottleneck in the generation of immersive environments is the network's capabilities, such as client device bandwidth. Embodiments described herein overcome the bottleneck issue by prioritizing the use of network resources, such as bandwidth, by selectively determining which LoD to use for each asset so as to provide a perceptually satisfying experience for the user without having to utilize the highest level of detail for every asset; [0050] - In some embodiments, the knapsack represents the client device bandwidth, or other network resource, available between the graphics server 105 and the client device 160; the items represent the assets; and the values represent the importance values of the assets. The weight of an asset represents, or relates to, the amount of bandwidth, or other network resource, required for transmitting an object or set of objects representing that asset. Some embodiments solve the knapsack problem to determine, for each asset, which one or more objects, if any, to send to the client device 160. Various techniques exist for solving the knapsack problem, such as implementations of heuristics). Claim 17 adds into claim 1 “in response to receiving the request to render the first asset: in accordance with a determination that a third set of one or more criteria is satisfied, wherein the third set of one or more criteria includes a criterion that is satisfied when the request to render the first asset does not include a size to render the first asset, rendering the first asset at a first size; and in accordance with a determination that a fourth set of one or more criteria is satisfied, wherein the fourth set of one or more criteria includes a criterion that is satisfied when the request to render the first asset includes a second size to render the first asset, rendering the first asset at the second size, wherein the fourth set of one or more criteria is different from the third set of one or more criteria, and wherein the second size is different from the first size” (Sun, [0034] - A level of detail defines an amount of complexity in an object or set of objects representing an asset… Levels of detail can be defined in various ways, and further, each level of detail may be defined differently for different types of data structures; [0039] - the detection subsystem 180 of the client device 160 detects the user's position and orientation in the virtual environment 195 as well as the user's gaze position in the screen space of the display 170. The detection subsystem may detect this user information repeatedly (e.g., multiple times per second), resulting in a stream of data representing the user information; [0041] - As such, at block 320, the process 300 involves receiving an update from the graphics server 105, based on the user information or importance values transmitted to the graphics server 105. In some embodiments, the update includes a set of objects representing assets of the virtual environment 195. The client device 160 stores the set of objects in the client object repository 185). Noted: Updated object related to the object’s size (depending on the user’s position) are assigned different important values. Claims 17 and 18 claim a non-transitory computer-readable storage medium and a computer system based on the method of claim 1; therefore, they are rejected under a similar rationale. Any inquiry concerning this communication or earlier communications from the examiner should be directed to PHU K NGUYEN whose telephone number is (571)272-7645. The examiner can normally be reached M-F 8-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, Daniel F. Hajnik can be reached at (571) 272-7642. 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. /PHU K NGUYEN/Primary Examiner, Art Unit 2616
Read full office action

Prosecution Timeline

Mar 17, 2025
Application Filed
Aug 04, 2026
Non-Final Rejection mailed — §103 (current)

Precedent Cases

Applications granted by this same examiner with similar technology

Patent 12705831
USING TWO-DIMENSIONAL IMAGES OF A SUBJECT AND TARGET MODELS TO GENERATE NOTIFICATIONS IDENTIFYING FACIAL FEATURE VARIATION
1y 4m to grant Granted Aug 11, 2026
Patent 12694610
STRUCTURE-FROM-MOTION (SFM) SEQUENCING USING NON-VISUAL INFORMATION
2y 7m to grant Granted Jul 28, 2026
Patent 12694635
PRE-OPERATIVE PLANNING OF SURGICAL REVISION PROCEDURES FOR ORTHOPEDIC JOINTS
2y 1m to grant Granted Jul 28, 2026
Patent 12675949
THREE-DIMENSIONAL MESH GENERATOR BASED ON TWO-DIMENSIONAL IMAGE
2y 5m to grant Granted Jul 07, 2026
Patent 12675950
METHOD AND AN ELECTRONIC DEVICE FOR 3D SCENE RECONSTRUCTION AND VISUALIZATION
2y 3m to grant Granted Jul 07, 2026
Study what changed to get past this examiner. Based on 5 most recent grants.

Strategy Recommendation AI-generated — please review before filing

Get a prosecution strategy drawn from examiner precedents, rejection analysis, and claim mapping.
Typically takes 5-10 seconds — AI-generated, attorney review required before filing

Prosecution Projections

1-2
Expected OA Rounds
86%
Grant Probability
94%
With Interview (+7.9%)
2y 7m (~1y 1m remaining)
Median Time to Grant
Low
PTA Risk
Based on 1214 resolved cases by this examiner. Grant probability derived from career allowance 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