IP Library › Granted Patent US 7,136,072
Granted Patent B2
US 7,136,072 · App. 09/921,464 · Granted Nov 14, 2006

System and method for performing texture synthesis

Assignee: Hewlett-Packard Development Company, L.P.
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 7,136,072
App. No.
09/921,464
Filed
Aug 3, 2001
Granted
Nov 14, 2006
Kind
B2
Examiner
YANG, RYAN R
Art Unit
2628
USPC
345/582
Abstract

In one embodiment, a method for synthesizing a texture of a desired size from a sample texture is provided. The method comprises the steps of generating a matrix of the desired size, and providing values to the matrix. The values include random values and at least a portion of the values represents a desired structure according to which graphical features of a synthesized texture are to substantially conform. The method further comprises executing a texture synthesis process that utilizes the matrix to generate a synthesized texture of the desired size having graphical features arranged therein substantially in conformance with the desired structure.

Claims (59)

1. A method for synthesizing a texture of a desired size from a sample texture, said method comprising:

generating a matrix of said desired size;

providing values to said matrix, wherein said values comprise random values and wherein at least a portion of said values represent a desired structure according to which graphical features of a synthesized texture are to substantially conform; and

executing a texture synthesis process that utilizes said matrix to generate a synthesized texture of said desired size having graphical features arranged therein substantially in conformance with said desired structure.

2. The method of claim 1 wherein said providing comprises:

providing constant values to said matrix that represent said desired structure.

3. The method of claim 1 wherein said providing comprises:

providing constant values to said matrix that are arranged therein to represent said desired structure.

4. The method of claim 1 wherein said providing comprises:

populating said matrix with values from a pre-existing file.

5. The method of claim 4 further comprising:

randomizing said values from said pre-existing file.

6. The method of claim 5 wherein said randomizing further comprises:

randomizing said values from said pre-existing file to a user-specified degree.

7. The method of claim 4 wherein said values from said pre-existing file are nearly the desired result but are not tileable.

8. The method of claim 4 wherein said values from said pre-existing file include said at least a portion of values that represent said desired structure, but wherein said matrix having values from said pre-existing file is not readily tileable.

9. The method of claim 1 wherein said executing said texture synthesis process further comprises:

(a) selecting a value from said matrix;

(b) determining a first neighborhood of the selected value from said matrix; and

(c) comparing said first neighborhood to neighborhoods of said sample texture to determine an optimal value of said sample texture.

10. The method of claim 9 further comprising:

(d) repeating (a)–(c) for each value of said matrix.

11. The method of claim 1 wherein said sample texture comprises a parametric texture map (PTM) texture.

12. The method of claim 11 wherein said providing comprises:

providing texel values to said matrix.

13. The method of claim 1 wherein said sample texture comprises a texture of a format selected from the group consisting of:

red-green-blue (RGB), red-green-blue-alpha (RGBA), color index, luminance, and luminance alpha.

14. The method of claim 1 wherein said providing comprises providing pixel values to said matrix.

15. The method of claim 1 further comprising re-sizing said synthesized texture.

16. The method of claim 1 wherein said desired size is not a power of 2, further comprising:

re-sizing said synthesized texture to a size that is a power of 2.

17. A system for generating a synthesized texture from a sample texture, said system comprising:

a first data structure defining said sample texture of a first plurality of values;

a second data structure defining a texture of a second plurality of values, wherein at least a portion of said values of said second data structure are random and wherein at least a portion of said values of said second data structure represent a desired structure according to which graphical features are to substantially conform; and

a texture synthesis algorithm, said texture synthesis algorithm being operable to utilize at least said first data structure and said second data structure to generate a synthesized texture having graphical features arranged therein in substantial conformance to said desired structure.

18. The system of claim 17 wherein said first data structure is of a first size and wherein said second data structure is of a second size.

19. The system of claim 17 wherein said at least a portion of said values of said second data structure comprises:

constant values arranged in said second data structure to represent said desired structure.

20. The system of claim 17 wherein said second data structure is populated with values from a pre-existing file comprising said at least a portion of said values that identify said desired structure.

21. The system of claim 17 wherein said sample texture comprises a parametric texture map (PTM) texture.

22. The system of claim 21 wherein said first plurality of values comprise texel values.

23. The system of claim 17 wherein said texture synthesis algorithm is operable to transform said second data structure into said synthesized texture.

24. The system of claim 23 wherein said second data structure has a size that is not a power of 2, and wherein said texture synthesis algorithm is further operable to re-size said synthesized texture to a size that is a power of 2.

25. The system of claim 17 wherein said texture synthesis algorithm is further operable to select a value from said second data structure, determine a first neighborhood of the selected value from said second data structure, compare said first neighborhood to neighborhoods of said first data structure to determine an optimal value of said first data structure, and assign said optimal value to the selected value of said second data structure.

26. The system of claim 17 wherein said texture synthesis algorithm is further operable to re-size said synthesized texture.

27. A system for synthesizing a texture of a desired size from a sample texture, said system comprising:

code for generating a matrix of said desired size;

code for initializing said matrix with a plurality of values, wherein at least a portion of said values are random and wherein at least a portion of said values represent a desired structure according to which graphical features are to be arranged; and

code for generating a synthesized texture of said desired size having graphical features arranged therein according to said desired structure.

28. The system of claim 27 wherein said code for initializing said matrix further comprises:

code for providing constant values to said matrix arranged therein to identify said desired structure.

29. The system of claim 27 wherein said code for initializing said matrix further comprises:

code for populating said matrix with values from a pre-existing file.

30. The system of claim 27 wherein said code for generating comprises:

code for transforming at least a portion of said values of said matrix such that said matrix defines said synthesized texture.

31. The system of claim 27 wherein said code for generating further comprises:

code for determining a first neighborhood of a selected value from said matrix;

code for comparing said first neighborhood to neighborhoods of said sample texture to determine an optimal value of said sample texture; and

code for assigning said optimal value of said sample texture to the selected value of said matrix.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 30, 2003
From: HEWLETT-PACKARD COMPANY
To: HEWLETT-PACKARD DEVELOPMENT COMPANY L.P.
Reel/Frame 014061/0492 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 9, 2002
From: RITTER, BRADFORD A.
To: HEWLETT-PACKARD COMPANY
Reel/Frame 012455/0523 →
Continuity (1)
Related Publication 20030206176A1 · Nov 6, 2003