LAYOUT DESIGN USING LOCALLY SATISFIABLE PROPOSALS
First Claim
1. A computer-implemented process, comprising:
- using a computer to perform process actions for;
receiving a set of one or more virtual objects;
receiving a set of parameters for each virtual object;
receiving characteristics of an arbitrary environment into which the virtual objects will be mapped;
receiving a set of constraints that define relative relationships between any of objects, any of the parameters of those objects, and any of the characteristics of the arbitrary environment;
setting variables of an initial layout for each virtual object that maps each of the virtual objects into the environment;
performing an iterative update of the layout of each object such that the layout of each object in each iterative update is consistent with the characteristics of the environment and is also consistent with the layout of each of the other objects until a global cost of the constraints is minimized; and
wherein each iteration uses locally satisfiable proposals to simultaneously update and optimize the variables of the layout of all of the virtual objects relative to one or more of the other virtual objects, the characteristics of the environment, and the constraints.
3 Assignments
0 Petitions
Accused Products
Abstract
A “Layout Optimizer” provides various real-time iterative constraint-satisfaction methodologies that use constraint-based frameworks to generate optimized layouts that map or embed virtual objects into environments. The term environment refers to combinations of environmental characteristics, including, but not limited to, 2D or 3D scene geometry or layout, scene colors, patterns, and/or textures, scene illumination, scene heat sources, fixed or moving people, objects or fluids, etc., any of which may evolve or change over time. A set of parameters are specified or selected for each object. Further, the environmental characteristics are determined automatically or specified by users. Relationships between objects and/or the environment derived from constraints associated with objects and the environment are then used to iteratively determine optimized self-consistent and scene-consistent object layouts. This enables the Layout Optimizer to augment environments with arbitrary content in a structured constraint-based process that adapts to changing scenes or environments.
-
Citations
20 Claims
-
1. A computer-implemented process, comprising:
using a computer to perform process actions for; receiving a set of one or more virtual objects; receiving a set of parameters for each virtual object; receiving characteristics of an arbitrary environment into which the virtual objects will be mapped; receiving a set of constraints that define relative relationships between any of objects, any of the parameters of those objects, and any of the characteristics of the arbitrary environment; setting variables of an initial layout for each virtual object that maps each of the virtual objects into the environment; performing an iterative update of the layout of each object such that the layout of each object in each iterative update is consistent with the characteristics of the environment and is also consistent with the layout of each of the other objects until a global cost of the constraints is minimized; and wherein each iteration uses locally satisfiable proposals to simultaneously update and optimize the variables of the layout of all of the virtual objects relative to one or more of the other virtual objects, the characteristics of the environment, and the constraints. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11)
-
12. A system, comprising:
-
a general purpose computing device; and a computer program comprising program modules executable by the computing device, wherein the computing device is directed by the program modules of the computer program to; receive a set of one or more virtual objects and a set of parameters for each virtual object; receive a set of constraints that define relative relationships between any of objects and any of the parameters of those objects; performing an iterative update of a layout of each virtual object using the parameters of the other virtual objects and the set of constraints until a global cost of the constraints is minimized; and wherein each iteration uses locally satisfiable proposals to simultaneously update and optimize the layout of all of the virtual objects relative to one or more of the other virtual objects and the constraints. - View Dependent Claims (13, 14, 15, 18, 19)
-
-
16. A computer-readable medium having computer executable instructions stored therein, said instructions causing a computing device to execute a method comprising:
-
receiving a set of one or more virtual objects; receiving a set of parameters for each virtual object; receiving characteristics of an environment, including parameters of one or more physical objects present in the environment, into which the virtual objects will be mapped; performing an iterative update of a configuration for each virtual object that maps each of the virtual objects into the environment based on the parameters of the other virtual objects and with the characteristics of the environment until a global configuration cost of the parameters associated with each virtual object is minimized; and wherein each iteration uses locally satisfiable proposals to simultaneously update and optimize the configuration of all of the virtual objects relative to one or more of the other virtual objects and the characteristics of the environment. - View Dependent Claims (17, 20)
-
Specification