IP Library Granted Patent US 7,643,034
Granted Patent B2
US 7,643,034 · App. 11/428,355 · Granted Jan 5, 2010

Synthesis of advecting texture using adaptive regeneration

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,643,034
App. No.
11/428,355
Granted
Jan 5, 2010
Kind
B2
Abstract

An adaptive texture regeneration method and system for generating a sequence of images over time (an animation sequence) that gives the appearance of texture flowing over a surface. The adaptive texture regeneration method and system helps keep synthesized texture flow over a surface from becoming so distorted such that it no longer resembles the original exemplar. This is achieved in part by using pixel coordinates instead of colors. By using pixel coordinates, distortion of the texture can be measured. Based on this distortion measurement, the texture can be adaptively regenerated if necessary. The distortion measurement of the texture is measured and compared to a distortion threshold. If the measured distortion does not exceed the threshold, then the current synthesized texture is retained. On the other hand, if the measured distortion exceeds the threshold, the current synthesized texture is regenerated.

Claims (49)

1. A method for synthesizing advecting texture on a surface, comprising:

using a computing device having a processor to generate a synthesized texture image on the surface resembling a user given exemplar image;

measuring a distortion of the synthesized texture image by measuring a Frobenius error norm of the synthesized texture image; and

selectively regenerating the synthesized texture image based on the measured distortion to cause the synthesized texture to flow over the surface while preserving an appearance similar to the exemplar:

wherein the Frobenius error norm is given by:

ξ=∥ J S −J∥ 2 ,

where ξ is the Frobenius norm, J is a desired anisometric Jacobian, J S is a Jacobian of a current synthesized texture, S, given by J S =(ddx(S) ddy(S)), where (ddx(S)) is an estimate of a derivative of synthesized coordinates along an x-axis, and (ddy(S)) is an estimate of a derivative of the synthesized coordinates along a y-axis.

2. The method of claim 1 , wherein the surface is a planar image domain.

3. The method of claim 1 , wherein the surface is a polyhedral mesh in 3D.

4. The method of claim 1 , further comprising:

defining a velocity field that specifies the flow over the surface; and

predicting the synthesized texture image by advecting pixel coordinates of a synthesized texture image at a previous time frame according to the velocity field.

5. The method of claim 1 , further comprising:

defining a distortion threshold; and

regenerating the synthesized texture image if the measured distortion is greater than the distortion threshold.

6. The method of claim 5 , further comprising causing a user to input the distortion threshold.

7. The method of claim 1 , further comprising performing the selective regeneration on finest levels of a multi-level texture synthesis technique.

8. A computer-readable storage medium having stored and encoded thereon computer-executable instructions for adaptively regenerating synthesized texture on a surface, comprising:

predicting what the synthesized texture will look like on the surface at a current time frame;

measuring a Jacobian J S , of the synthesized texture, S, given by J S =(ddx(S) ddy(S)), where (ddx(S)) is an estimate of a derivative of synthesized coordinates along an x-axis and (ddy(S)) is an estimate of a derivative of the synthesized coordinates along a y-axis;

determining a desired Jacobian, J, of the synthesized texture;

comparing the measured Jacobian, J S , and the desired Jacobian, J, to measure a distortion of the synthesized texture using a Frobenius error norm given by:

ξ=∥ J S −J∥ 2 ; and

regenerating the synthesized texture on the surface based on the comparison between the measured Jacobian and the desired Jacobian.

9. The computer-readable storage medium of claim 8 , further comprising:

comparing the measure distortion to a threshold; and

regenerating the synthesized texture on the surface if the measured distortion is greater than the threshold.

10. The computer-readable storage medium of claim 9 , wherein the threshold is defined by a user.

11. A computer-implemented process for synthesizing a synthesized advecting texture on a surface at a current time frame, comprising:

inputting an exemplar, which is a small example image from which larger textures are automatically generated, and a velocity field, which specifies a flow over the surface;

using the computer having a processor to measure a distortion of the synthesized advecting texture at a pixel at a current resolution level in a previous time frame using a Frobenius error norm that is a measure of a magnitude of a matrix, wherein the Frobenius error norm is given by:

ξ=∥ J S −J∥ 2 ,

where ξ is the Frobenius norm, J is a desired anisometric Jacobian, J S is a Jacobian of a current synthesized texture, S, given by J S =(ddx(S) ddy(S)), where (ddx(S)) is an estimate of a derivative of synthesized coordinates along an x-axis, and (ddy(S)) is an estimate of a derivative of the synthesized coordinates along a y-axis;

comparing the measured distortion to a distortion threshold; and

outputting the synthesized texture on the surface the current time frame based on the comparison.

12. The computer-implemented process of claim 11 , further comprising:

determining that the measured distortion is greater than the distortion threshold; and

predicting the selected pixel in a current resolution level of the current time frame by upsampling the synthesized advecting texture in a previous resolution level of the current time frame.

13. The computer-implemented process of claim 11 , further comprising:

determining that the measured distortion is less than the distortion threshold; and

predicting the selected pixel in a current resolution level of the current time frame by advecting pixel coordinates of the current resolution level of the previous time frame according to the velocity field.

14. The computer-implemented process of claim 11 , further comprising:

determining that there are additional pixels to be processed at the current resolution level and the current time frame; and

selecting another pixel in the current level of the current time frame to obtain a selected pixel; and

processing the selected pixel according to the process set forth above in claim 11 .

15. The computer-implemented process of claim 11 , further comprising:

determining that there are no additional pixels to be processed at the current resolution level and the current time frame; and

performing synthesis correction that involves comparing pixel neighborhoods of candidates with a neighborhood computed for a current pixel;

wherein the neighborhoods are in undistorted exemplar space.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 9, 2014
From: MICROSOFT CORPORATION
To: MICROSOFT TECHNOLOGY LICENSING, LLC
Reel/Frame 034542/0001 →