IP Library Granted Patent US 7,149,368
Granted Patent B2
US 7,149,368 · App. 10/299,623 · Granted Dec 12, 2006

System and method for synthesis of bidirectional texture functions on arbitrary surfaces

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,149,368
App. No.
10/299,623
Granted
Dec 12, 2006
Kind
B2
Abstract

A bidirectional texture function (BTF) synthesizer serves to synthesize BTFs on arbitrary manifold surfaces using “surface textons” given a sample BTF as an input. The synthesized BTFs fit the surface geometry naturally and seamlessly, and not only look similar to a sample BTF in all viewing and lighting conditions, but also exhibit a consistent mesostructure when the viewing and lighting directions change. Further, the synthesized BTFs capture the fine-scale shadows, occlusions, and specularities caused by surface mesostructures, thereby improving the perceived realism of the textured surfaces. In addition, the BTF synthesizer can describe real-world textures to allow a user to decorate real-world geometry with real-world textures. Finally, BTF synthesis using surface textons works well for any materials that can be described by three-dimensional textons.

Claims (52)

1. A system for automatically synthesizing a texton map on a three-dimentional mesh surface, comprising:

providing a sample bidirectional texture function (BTF);

generating a two-dimensional texton map from the sample BTF;

computing a dot-product matrix representing a surface texton space from the sample BTF;

providing a three-dimensional mesh representing a three-dimensional surface; and

iteratively synthesizing a surface texton map for the three-dimensional mesh from the two-dimensional texton map and the dot-product matrix.

2. The system of claim 1 further comprising using the surface texton map to synthesize an output BTF on the three-dimensional mesh.

3. The system of claim 1 further comprising rendering the BTF to the mesh surface given desired viewing and lighting directions.

4. The system of claim 1 wherein generating the two-dimensional texton map comprises:

constructing a three-dimensional “texton vocabulary” comprised of three-dimentional textons representing prototype surface texture patches from the sample BTF; and

assigning a representative entry from the texton vocabulary to each pixel of the sample BTF to construct the two-dimensional texton map.

5. The system of claim 1 wherein computing the dot-product matrix comprises:

constructing a three-dimensional “texton vocabulary” comprised of three-dimentional textons representing prototype surface texture patches from the sample BTF; and

computing a dot-product of every pair of three-dimensional textons in representative entries constructed from the three-dimensional texton vocabulary.

6. The system of claim 1 wherein iteratively synthesizing the surface texton map for the three-dimensional mesh comprises:

identifying a first neighborhood of textons for each vertex of the three-dimentional mesh;

forming a candidate set of potentially matching neighborhood textons;

identifying a second neighborhood of textons for each pixel in the candidate set;

determining a minimum distance between textons in the first neighborhood and textons in the second neighborhood in the candidate set; and

iteratively synthesizing the surface texton map by assigning a texton label and texture coordinates to each vertex based on the minimum distance.

7. The system of claim 6 wherein forming the candidate set is accelerated by using a k-coherence search.

8. The system of claim 7 wherein the k-coherence search pre-computes k candidates for each neighborhood texton of the pixels in the two-dimensional texton map.

9. The system of claim 8 wherein the number candidates identified by the k-coherence search is adjustable.

10. A computer-implemented process for automatically synthesizing a bidirectional texture function on a surface, comprising using a computing device to:

input a sample bidirectional texture function (BTF);

construct a two-dimensional texton map and a corresponding surface texton space from the sample BTF;

provide a three-dimensional mesh representing a three-dimensional surface;

iteratively synthesize a surface texton map for the three-dimensional mesh from the two-dimensional texton map and the corresponding surface texton space; and

iteratively synthesize a BTF on the three-dimensional mesh from the surface texton map.

11. The computer-implemented process of claim 10 wherein constructing the two-dimensional texton map comprises constructing a three-dimentional texton vocabulary from the sample BTF, and assigning a representative entry from the texton vocabulary to each pixel of the sample BTF to synthesize the two-dimensional texton map.

12. The computer-implemented process of claim 10 wherein the surface texton space is represented by a matrix of dot-products computed between pairs of three-dimensional textons comprising representative entries in a three-dimensional texton vocabulary constructed from the BTF.

13. The computer-implemented process of claim 10 wherein iteratively synthesizing the surface texton map for the three-dimensional mesh comprises:

identifying a first neighborhood of textons for each vertex of the three-dimentional mesh;

forming a candidate set of potentially closely matching neighborhood textons;

identifying a second neighborhood of textons for each pixel in the candidate set;

determining a minimum distance between textons in the first neighborhood and textons in the second neighborhood in the candidate set; and

iteratively synthesizing the surface texton map by assigning a texton label and texture coordinates to each vertex based on the minimum distance.

14. The computer-implemented process of claim 13 wherein forming the candidate set is accelerated by using a k-coherence search which pre-computes k candidates for each neighborhood texton of the pixels in the two-dimensional texton map.

15. The computer-implemented process of claim 14 wherein the number of candidates, k, is user adjustable.

16. The computer-implemented process of claim 10 further comprising rendering the BTF to the three-dimensional mesh given desired viewing and lighting directions.

17. A computer program stored in a computer's memory, which when executed causes the computer to process data for automatically synthesizing a bidirectional texture function for use in texturing arbitrary surfaces, by executing instructions for:

building a texton vocabulary of three-dimensional textons from a sample bidirectional texture function (BTF);

constructing a two-dimensional texton map by using the texton vocabulary to assign representative texton labels to the pixels of the sample BTF;

constructing a surface texton space by computing a dot-product matrix from pairs of three-dimensional textons constructed from the representative texton labels from the texton vocabulary and discarding associated appearance vectors;

identifying a first neighborhood of textons for each vertex of a three-dimentional mesh;

forming a candidate set of potentially closely matching neighborhood textons;

identifying a second neighborhood of textons for each pixel in the candidate set;

determining a minimum distance between textons in the first neighborhood and textons in the second neighborhood in the candidate set; and

iteratively synthesizing a surface BTF by assigning a texton label and texture coordinates to each vertex based on the minimum distance.

18. The computer program of claim 17 further comprising rendering the BTF to an arbitrary surface represented by a three-dimensional mesh given desired viewing and lighting directions.

19. The computer program of claim 17 further comprising accelerating the formation of the candidate set by performing a k-coherence search for pre-computing k candidates for each neighborhood texton of the pixels in the two-dimensional texton map.

20. The computer program of claim 19 wherein the number of candidates, k, is user adjustable.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 9, 2014
From: MICROSOFT CORPORATION
To: MICROSOFT TECHNOLOGY LICENSING, LLC
Reel/Frame 034541/0477 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 19, 2002
From: TONG, XIN; LIU, LIGANG; GUO, BAINING; SHUM, HEUNG-YEUNG
To: MICROSOFT CORPORATION
Reel/Frame 013509/0572 →