IP Library Granted Patent US 9,218,672
Granted Patent B2
US 9,218,672 · App. 13/812,301 · Granted Dec 22, 2015

Device and method for generating procedural images with a cache

Inventor: Christophe Soum (Clermont-Ferrand, FR)
Assignee: ALLEGORITHMIC SAS
G06T11/00G06T1/60G06T11/001G06T11/206G06T15/04
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 9,218,672
App. No.
13/812,301
Granted
Dec 22, 2015
Kind
B2
Abstract

An image generation engine capable of generating images for a host application from procedural data includes an image generation, a sequential procedural graph traversal module, an intermediate result computation module, an intermediate result rendering time computation module, an intermediate result weight computation module, memory modules for storing the graph G and the corresponding L0, L1, L2, L3 and M lists, and a comparison and deletion module adapted to compare the memory space available for storing new intermediate result data or previously existing data with a given minimum threshold and delete intermediate result data if said memory space available for storing new intermediate result data is below the threshold.

Claims (23)

1. An image generation method for an image generation engine capable of generating images from procedural data in the form of sequential graphs having simple nodes, intermediate result nodes and final result nodes, wherein the image generation engine:

a) receives at least one image generation, sequential procedural graph G from a host application and at least one rendering list L0 containing the still outstanding requests for generating images;

b) sets up a list L1 of intermediate results for storage in an intermediate result list module;

c) sets up a list L2 of intermediate result rendering times for storage in an intermediate result rendering time list module;

d) sets up a list L3 of intermediate result weights for storage in an intermediate result weight module;

e) sets up a list M of intermediate result images for storage in an intermediate result image module;

and wherein when, after a new intermediate result has been obtained, storing corresponding items that would result in the available memory space being exceeded, a comparison and deletion module:

f) performs an identification of the intermediate result having the smallest weight;

g) performs deletion of data corresponding to the identified intermediate result having the smallest weight;

h) checks the available memory space;

i) if the available memory space is greater than a given minimum threshold, the comparison and deletion module ceases to delete the data; and

j) if the available memory space is still below the given minimum threshold, the comparison and deletion module continues to step “f” of the method, until the available memory space is below said threshold.

2. The image generation method according to claim 1 , wherein the graph is in list form with indications of prerequisite intermediate results at a given step.

3. The image generation method according to claim 2 , wherein a modification of the rendering list L0 leads to a recomputation of the weights of the intermediate results.

4. The image generation method according to claim 2 , wherein the intermediate result weight computation module sorts weights in order of increasing weight.

5. The image generation method according to claim 2 , wherein the intermediate result newly obtained before the data deletion step is taken into account in the step of identifying the intermediate result having the smallest weight.

6. The image generation method according to claim 2 , wherein the intermediate result computation module determines the intermediate results according to the rendering list L0.

7. The image generation method according to claim 2 , wherein the weight computation module performs the weight computations by considering the size occupied by the result image in memory.

8. The image generation method according to claim 2 , wherein the weight computation module performs the weight computations by considering the amount of computations required to compute said intermediate result.

9. The image generation method according to claim 2 , wherein the weight computation module performs the weight computations by considering temporal distance before reusing said intermediate result.

10. The image generation method according to claim 2 , wherein, in the step of deleting the data corresponding to the intermediate result, the image generation engine performs the deletion of the image data of the intermediate result.

11. The image generation method according to claim 2 , wherein, in the step of deleting the data corresponding to the intermediate result, the image generation engine performs the deletion of the data in lists L1, L2 and L3.

12. The image generation method according to claim 2 , wherein a modification of the minimum threshold level of available memory leads to a new weight computation.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 9, 2019
From: ALLEGORITHMIC SAS
To: ADOBE INC.
Reel/Frame 049127/0512 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 2, 2013
From: SOUM, CHRISTOPHE
To: ALLEGORITHMIC SAS
Reel/Frame 030131/0933 →
Priority Claims (1)
FR 10 03201 · Jul 29, 2010 · national
Continuity (2)
Provisional Application 61369803 · Aug 2, 2010
Related Publication 20130181994A1 · Jul 18, 2013