System and method for optimizing the processing of images
First Claim
1. A method for optimizing the performance in processing a sequence of images represented as a directed acyclic graph comprising:
- receiving a selection of a view node from a plurality of nodes of the directed acyclic graph, at which point an output image is to be viewed;
evaluating the cost to process each predecessor branch of nodes of a plurality of branches of nodes in the directed acyclic graph;
rendering the output image by processing the predecessor branches in order from most costly to least costly; and
re-ordering the predecessor branches based on the cost to process the branches, comprises;
processing each node in each predecessor branch from the closest to the view node to the furthest from the view node, determining whether a current node may be rendered in places, and re-ordering the current node, if the current node allows for rendering in place.
1 Assignment
0 Petitions
Accused Products
Abstract
A system and method for optimizing the processing of a sequence of images represented as a directed acyclic graph. The method comprises receiving a selection of a view node at which point an output image is to be viewed. The cost to process each predecessor branch of nodes of a plurality of branches of nodes in the directed acyclic graph. The output image is rendered by processing the predecessor branches in order from most costly to least costly. In one embodiment, images may be represented as a directed acyclic graph. In one embodiment, the method also includes re-ordering the predecessor branches based on the cost to process the branches. The method may be implemented on a system such as a computer.
-
Citations
11 Claims
-
1. A method for optimizing the performance in processing a sequence of images represented as a directed acyclic graph comprising:
-
receiving a selection of a view node from a plurality of nodes of the directed acyclic graph, at which point an output image is to be viewed;
evaluating the cost to process each predecessor branch of nodes of a plurality of branches of nodes in the directed acyclic graph;
rendering the output image by processing the predecessor branches in order from most costly to least costly; and
re-ordering the predecessor branches based on the cost to process the branches, comprises;
processing each node in each predecessor branch from the closest to the view node to the furthest from the view node, determining whether a current node may be rendered in places, and re-ordering the current node, if the current node allows for rendering in place. - View Dependent Claims (2, 3, 4, 5)
audio data; and
image data.
-
-
3. The method of claim 2 wherein the image data comprises:
geometry data.
-
4. The method of claim 1 wherein evaluating the cost comprises:
calculating the amount of memory needed to process the predecessor branch.
-
5. The method of claim 1 wherein determining comprises:
-
evaluating whether the current node is a simple effect; and
concluding that the node may be rendered in place if the node is a simple effect.
-
-
6. A machine readable medium having stored thereon instructions which when executed by a processor cause the machine to perform operations comprising:
-
receiving a selection of a view node from a sequence of images represented as a directed acyclic graph comprised of a plurality of nodes, at which point an output image is to be viewed;
evaluating the cost to process each predecessor branch of nodes of a plurality of branches of nodes in the directed acyclic graph;
rendering the output image by processing the predecessor branches in order from most costly to least costly; and
re-ordering the predecessor branches based on the cost to process the branches, comprises;
processing each node in each predecessor branch from the closest to the view node to the furthest from the view node, determining whether a current node may be rendered in places, and re-ordering the current node, if the current node allows for rendering in place. - View Dependent Claims (7, 8)
calculating the amount of memory needed to process the predecessor branch.
-
-
8. The machine readable medium of claim 6 wherein determining comprises:
-
evaluating whether the current node is a simple effect; and
concluding that the node may be rendered in place if the node is a simple effect.
-
-
9. A system for optimizing the performance in processing a sequence of images represented as a directed acyclic graph comprising:
-
means for receiving a selection of a view node from the directed acyclic graph at which point an output image is to be viewed;
means for evaluating the cost to process each predecessor branch of nodes of a plurality of branches of nodes in the directed acyclic graph;
means for rendering the output image by processing the predecessor branches in order from most costly to least costly; and
means for re-ordering the predecessor branches based on the cost to process the branches, the means for re-ordering comprises;
means for processing each node in each predecessor branch from the closest to the view node to the furthest from the view node, means for determining whether a current node may be rendered in place, and means for re-ordering the current node when the current node allows for rendering in place. - View Dependent Claims (10, 11)
means for calculating the amount of memory needed to process the predecessor branch.
-
-
11. The system of claim 9 wherein the means for determining comprises:
-
means for evaluating whether the current node is a simple effect; and
means for concluding that the node may be rendered in place if the node is a simple effect.
-
Specification