IP Library Granted Patent US 8,194,069
Granted Patent B2
US 8,194,069 · App. 13/111,773 · Granted Jun 5, 2012

Layered personalization

Assignee: Gemvara, Inc.
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 8,194,069
App. No.
13/111,773
Granted
Jun 5, 2012
Kind
B2
Abstract

A computer system includes a three-dimensional model of an object such as a piece of jewelry. The model is divided into multiple layers, each of which contains one or more components of the object. Each layer is associated with one or more attribute types, each of which is associated with a corresponding plurality of possible attribute values. The system pre-renders each layer with each possible attribute type and each possible attribute value for that type and layer. The resulting layer renderings may be combined with each other to produce personalized renderings of the entire object without the need to pre-render all possible combinations of attribute values. Responsibility for rendering the layers and the final complete object personalization may be divided between client and server in a variety of ways to increase efficiency.

Claims (60)

1. A method performed by at least one computer processor executing computer-readable computer program instructions tangibly stored on a first non-transitory computer-readable medium, the method for use with a three-dimensional computer model of an object, the model comprising a plurality of layers L, each of the plurality of layers comprising at least one corresponding component in the model, each of the plurality of layers being associated with at least one attribute, the method comprising:

(A) rendering each of the plurality of layers L with each of a plurality of values A of the at least one attribute to produce a plurality of layer renderings, comprising:

(A)(1) entering a first loop over each of the plurality of layers L;

(A)(2) entering a second loop over each of the plurality of values A of the at least one attribute; and

(A)(3) for each particular layer within the plurality of layers L and for each particular attribute value within the plurality of attribute values A, applying the particular attribute value to the particular layer to produce a rendering of the particular layer;

(B) storing the plurality of layer renderings on a second non-transitory computer-readable medium;

(C) receiving a first request for a first rendering of a personalized object specifying a plurality of attribute values;

(D) selecting, from among the plurality of stored layer renderings, a subset of layer renderings corresponding to the specified plurality of attribute values; and

(E) combining the selected subset of layer renderings to produce the first rendering of the personalized object.

2. The method of claim 1 , wherein a first one of the plurality of layers comprises a plurality of components, and wherein (A) comprises rendering the plurality of components in the first layer with each of the plurality of values A of the at least one attribute.

3. The method of claim 1 , wherein (A) further comprises:

(A)(4) removing, from the rendering of the particular layer, representations of all layers other than the particular layer.

4. The method of claim 1 , further comprising:

(F) identifying, based on the specified plurality of attribute values, a price of the personalized object.

5. The method of claim 1 , wherein (A) comprises rendering shadows of variable-shape components, whereby the plurality of layer renderings include the shadows of the variable-shape components;

wherein the method further comprises:

(F) rendering shadows of invariant-shaped components to produce a layer rendering, distinct from the plurality of stored layer renderings, containing the shadows of the invariant-shaped components; and

wherein (E) comprises combining the selected subset of layer renderings with each other and with the layer containing the shadows of the invariant-shaped components to produce the rendering of the personalized object.

6. The method of claim 1 , further comprising:

(F) storing the first rendering;

(G) receiving a second request specifying the plurality of attribute values;

(H) in response to the second request, providing the first rendering.

7. The method of claim 6 , wherein (E) is performed by a first computing device, wherein the method further comprises:

(I) after (E), at the first computing device, transmitting the first rendering of the personalized object to a second computing device; and

wherein (F), (G), and (H) are performed by the second computing device.

8. The method of claim 7 , wherein (H) comprises, at the second computing device, transmitting the first rendering over a network to a third computing device.

9. The method of claim 1 , wherein (C) and (D) are performed by a first computing device, wherein (E) is performed by a second computing device, and wherein the method further comprises:

(F) before (E), at the first computing device, transmitting the subset of layer renderings over a network to the second computing device.

10. The method of claim 1 , wherein (C), (D), and (E) are performed by a first computing device, and wherein the method further comprises:

(F) after (E), transmitting the first rendering of the personalized object to a second computing device.

11. A computer program product comprising computer-readable computer program instructions, tangibly stored on a first non-transitory computer-readable medium, for execution by a computer processor to perform a method for use with a three-dimensional computer model of an object, the model comprising a plurality of layers, each of the plurality of layers comprising at least one corresponding component in the model, each of the plurality of layers being associated with at least one attribute, the method comprising:

(A) rendering each of the plurality of layers L with each of a plurality of values A of the at least one attribute to produce a plurality of layer renderings, comprising:

(A)(1) entering a first loop over each of the plurality of layers L;

(A)(2) entering a second loop over each of the plurality of values A of the at least one attribute; and

(A)(3) for each particular layer within the plurality of layers L and for each particular attribute value within the plurality of attribute values A, applying the particular attribute value to the particular layer to produce a rendering of the particular layer;

(B) storing the plurality of layer renderings on a second non-transitory computer-readable medium;

(C) receiving a first request for a first rendering of a personalized object specifying a plurality of attribute values;

(D) selecting, from among the plurality of stored layer renderings, a subset of layer renderings corresponding to the specified plurality of attribute values; and

(E) combining the selected subset of layer renderings to produce the first rendering of the personalized object.

12. The computer program product of claim 11 , wherein a first one of the plurality of layers comprises a plurality of components, and wherein (A) comprises rendering the plurality of components in the first layer with each of the plurality of values A of the at least one attribute.

13. The computer program product of claim 11 , wherein (A) further comprises:

(A)(4) removing, from the rendering of the particular layer, representations of all layers other than the particular layer.

14. The computer program product of claim 11 , further comprising:

(F) identifying, based on the specified plurality of attribute values, a price of the personalized object.

15. The computer program product of claim 11 , wherein (A) comprises rendering shadows of variable-shape components, whereby the plurality of layer renderings include the shadows of the variable-shape components;

wherein the method further comprises:

(F) rendering shadows of invariant-shaped components to produce a layer rendering, distinct from the plurality of stored layer renderings, containing the shadows of the invariant-shaped components; and

wherein (E) comprises combining the selected subset of layer renderings with each other and with the layer containing the shadows of the invariant-shaped components to produce the rendering of the personalized object.

16. The computer program product of claim 11 , further comprising:

(F) storing the first rendering;

(G) receiving a second request specifying the plurality of attribute values;

(H) in response to the second request, providing the first rendering.

17. The computer program product of claim 16 , wherein (D) is performed by a first computing device, wherein the method further comprises:

(I) after (E), at the first computing device, transmitting the first rendering of the personalized object to a second computing device; and

wherein (F), (G), and (H) are performed by the second computing device.

18. The computer program product of claim 17 , wherein (H) comprises, at the second computing device, transmitting the first rendering over a network to a third computing device.

19. The computer program product of claim 11 , wherein (C) and (D) are performed by a first computing device, wherein (E) is performed by a second computing device, and wherein the method further comprises:

(F) before (E), at the first computing device, transmitting the subset of layer renderings over a network to the second computing device.

20. The computer program product of claim 11 , wherein (C), (D), and (E) are performed by a first computing device, and wherein the method further comprises:

(F) after (E), transmitting the first rendering of the personalized object to a second computing device.

Assignments (2)
CHANGE OF NAME Recorded Jul 26, 2011
From: PARAGON LAKE, INC.
To: GEMVARA INC.
Reel/Frame 026653/0882 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 19, 2011
From: THOMAS-LEPORE, GRANT; HATANAKA, IWAO; MENON, MURALI
To: PARAGON LAKE COMPANY
Reel/Frame 026311/0847 →
Continuity (4)
Continuation 12684103 · Jan 7, 2011
Provisional Application 61152549 · Feb 13, 2009
Provisional Application 61230192 · Jul 31, 2009
Related Publication 20110216062A1 · Sep 8, 2011