IP Library Patent Application 12789445
Patent Application
App. No. 12/789,445

Soft Disk Blue Noise Sampling

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 None
App. No.
12/789,445
Abstract

Techniques for providing soft disk sampling are described. A soft disk sampling process receives input of a sampling domain, which may include samples associated with one or more sample classes. The soft disk sampling process defines and calculates energy functions for the candidate samples. Based on the calculated energy functions, the soft disk sampling process generates output of a sample set by selecting the candidate samples from one or more sample classes. Each sample class and the sample set exhibit blue noise distribution. The number of sample classes and the number of samples may be specified for each sample class. The techniques include placing the sample set in both discrete and continuous sample spaces. Furthermore, the techniques support adaptive sampling and arbitrary sample space dimensionality.

Claims (39)

1 . A method implemented at least partially by a processor, the method comprising:

receiving input of a sampling domain for graphics applications, the sampling domain including samples associated with one or more sample classes;

calculating energy functions for the samples from the one or more sample classes; and

generating output of a sample set by selecting the samples from one or more sample classes, the selecting of the samples is determined at least in part on the calculated energy functions, wherein each sample class and the sample set exhibit blue noise distribution.

2 . The method of claim 1 , wherein the receiving input of the sampling domain further comprises specifying a number of classes and specifying a number of samples from each sample class for the sample set.

3 . The method of claim 1 , wherein the receiving input of the sampling domain further comprises at least one of specifying or calculating a desired minimum distance between the samples in a same sample class.

4 . The method of claim 1 , wherein the receiving input of the sampling domain further comprises at least one of specifying or calculating a desired distance between a pair of samples belonging to different classes.

5 . The method of claim 1 , wherein the calculating the energy function further comprises:

centering a Gaussian blob around any sample in the sample set; and

determining a variance as a function of a sample pair, the sample pair includes the sample from the sampling domain and any sample in the sample set.

6 . The method of claim 1 , wherein the generating the output of the sample set that selects the samples from each of the sample classes is determined at least in part on having a lowest calculated energy function.

7 . The method of claim 1 , further comprising using the sample set for an object placement application, wherein the sample set includes one or more sample classes of physical objects that are distributed uniformly.

8 . The method of claim 1 , further comprising using the sample set for a color stippling application, wherein the sample set includes one or more sample classes of color elements to maintain the blue noise distribution.

9 . The method of claim 1 , further comprising using the sample set for a sensor layout application, wherein the sample set includes one or more sample classes of sensor elements for a layout.

10 . The method of claim 1 , further comprising using the sample set for a color filter array design application, wherein the sample set includes one or more sample classes of filter elements that are placed uniformly.

11 . The method of claim 1 , further comprising identifying a sample class that is currently a most under-filled class among at least two or more sample classes from the sampling domain, to provide an identified sample class.

12 . The method of claim 1 , further comprising determining whether the energy function for a sample from the sampling domain is greater than or less than a predetermined threshold energy function:

in an event that the energy function for a candidate sample from the sampling domain is greater than the predetermined threshold energy function, refraining from adding the candidate sample to the sample set; and

in an event that the energy function for the candidate sample from the sampling domain is less than the predetermined threshold energy function, adding the candidate sample to the sample set.

13 . One or more computer-readable storage media encoded with instructions that, when executed by a processor, perform acts comprising:

selecting a sample class from a sampling domain, the sample class is currently a most under-filled class among at least two or more sample classes, to provide an identified sample class;

based on the identified sample class, generating a candidate sample associated with the identified sample class by using a random selection technique;

calculating an energy value of the candidate sample associated with the identified sample class; and

producing a sample set by selecting the candidate sample associated with the identified sample class to fill one or more sample classes based on whether the calculated energy value of the candidate sample is less than a minimum energy value.

14 . The computer-readable storage media of claim 13 , wherein the calculating the energy value of the candidate sample associated with the identified sample class further comprises:

centering a Gaussian blob around any candidate sample; and

determining a variance as a function of a pair of sample classes, the pair of sample classes includes the candidate sample associated with the identified sample class and any sample in the sample set.

15 . The computer-readable storage media of claim 13 , further comprising adding the candidate sample to the sample set based on the calculated energy value of the candidate sample is less than a predetermined threshold energy value.

16 . The computer-readable storage media of claim 13 , further comprising receiving input by specifying a number of samples for each sample class and specifying the number of samples from each sample class for the sample set.

17 . The computer-readable storage media of claim 13 , further comprising producing the output of the sample set where each sample class and the sample set exhibit a blue noise distribution with soft disk attributes.

18 . A system comprising:

a processor;

a soft disk sampling component executed by the processor to receive input specifying a sampling domain including samples from one or more sample classes;

an energy function calculator component executed by the processor to calculate energy values of the samples from the one or more sample classes in the sampling domain; and

the soft disk generator component to produce a sample set selecting the samples based on the calculated energy values to fill the one or more sample classes.

19 . The system of claim 18 , wherein the soft disk sampling component is further to receive input by specifying a number of sample classes and a number of samples for each sample class.

20 . The system of claim 18 , wherein the soft disk generator component is further to determine whether the energy function for a candidate sample selected from the sampling domain is greater than or less than a predetermined threshold energy function:

in an event that the energy function for the candidate sample from the sampling domain is greater than the predetermined threshold energy function, refraining from adding the candidate sample to the sample set; and

in an event that the energy function for the candidate sample from the sampling domain is less than the predetermined threshold energy function, adding the candidate sample to the sample set.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 15, 2015
From: MICROSOFT CORPORATION
To: MICROSOFT TECHNOLOGY LICENSING, LLC
Reel/Frame 034766/0509 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 1, 2010
From: WEI, LI-YI
To: MICROSOFT CORPORATION
Reel/Frame 024462/0721 →