Procedural Noise/Noise

What is Noise?

Introduction

This section begins with both basic and formal definitions of noise in the context of computer graphics and special effects. It serves a building block for the following discussion on procedural noise.

Check out the Noise Review wiki page for a general review of noise and signals; several images are included in this page to help with visualizing noise.

Definitions

Most people understand the word noise in terms of everyday living experiences, particularly when referring to audible noise heard from freeway traffic or the din of chatter at a party. The hearer understands that there are other cars or people around, but has difficulty distinguishing one person or car from another. Referring to the party, the conversations are independent from one another, and as such the audible sounds are added together in a somewhat meaningless way. The addition of several independent sources has a bell curve or Gaussian distribution according to the central limit theorem. A Gaussian distribution is often the basis for one particular type of noise known as Additive White Gaussian Noise. A Gaussian distribution is a random distribution which is special in that it can be completely defined in terms of its mean and variance, which are its first two statistical moments. A uniform distribution can also be used to create noise. A uniform distribution requires that any particular point across some interval be picked with equal probability. Noise coming from a uniform distribution is often referred to as white noise.

According to Lagae, noise is "the random number generator of computer graphics." It is a random and unstructured pattern, and is useful wherever there is a need for source of extensive detail that is nevertheless lacking in evident structure.

Perlin and Hoffert describe noise as "an approximation to white noise band-limited to a single octave. White noise, being a a uniformly random signal, contains an equal distribution of power at all frequencies. A band-limited signal, however, contains power only in a particular range or band of frequencies with zero power outside of the band (i.e. zero power for the other frequencies). Thus, noise can be used as a basis to shape a particular spectrum's power as desired.

The paper, State of the Art in Procedural Noise Functions, offers the following description of noise. A noise is a stationary and normal random process. Control of the power spectrum is proivded, either directly, or through the summation of a number of independent scaled instances of (typically brand-limited) noise.

Signals can often be described in terms of their frequency or phase, however random signals (i.e. noise) are referred to as such because they exhibit a random phase. Labeling such signals or referring to these signals in terms of their frequency or phase would not make as much sense as referring to their statistical properties. In a nutshell, noise is completely characterized by its power spectrum.

Ebert outlines the ideal properties of a noise function as follows:

An excellent review (i.e. created by the same author :) ) on noise can be found at the Noise Review wiki page.

Procedural Noise

The term procedural here (and in computer science) is referring to something described by an algorithm or segment of code as opposed to a data structure. For example, instead of using a picture of a marble vase, an algorithm might be used to define the model of the vase and a texture generated in a similar manner to cover it. One nice thing about this is that the vase and accompanying texture can be defined for an infinite number of points (i.e. it is continuous) as opposed to the picture or image of the vase which would only be defined over a limited number of discretized sample points.

Procedural Noise has been used used for a variety of reasons in special effects to include:

Software tools that implement procedural noise functions

Practically every major 3D software package implements some form of procedural noise or other. Some examples include:

Advantages to procedural noise


2011-03-29 17:44