Dither

Last updated

Image on left is original. Center image reduced to 16 colors. Right image also 16 colors, but dithered to reduce banding effect. Composite image demonstrating dithering effect.png
Image on left is original. Center image reduced to 16 colors. Right image also 16 colors, but dithered to reduce banding effect.

Dither is an intentionally applied form of noise used to randomize quantization error, preventing large-scale patterns such as color banding in images. Dither is routinely used in processing of both digital audio and video data, and is often one of the last stages of mastering audio to a CD.

Contents

A common use of dither is converting a grayscale image to black and white, such that the density of black dots in the new image approximates the average gray level in the original.

Etymology

The term dither was published in books on analog computation and hydraulically controlled guns shortly after World War II. [1] [2] [nb 1] Though he did not use the term dither, the concept of dithering to reduce quantization patterns was first applied by Lawrence G. Roberts [4] in his 1961 MIT master's thesis [5] and 1962 article. [6] By 1964 dither was being used in the modern sense described in this article. [7] The technique was in use at least as early as 1915, though not under the name dither. [8]

In digital processing and waveform analysis

Dither is utilized in many different fields where digital processing and analysis are used. These uses include systems using digital signal processing, such as digital audio, digital video, digital photography, seismology, radar and weather forecasting systems.

Quantization yields error. If that error is correlated to the signal, the result is potentially cyclical or predictable. In some fields, especially where the receptor is sensitive to such artifacts, cyclical errors yield undesirable artifacts. In these fields introducing dither converts the error to random noise. The field of audio is a primary example of this. The human ear functions much like a Fourier transform, wherein it hears individual frequencies. [9] [10] The ear is therefore very sensitive to distortion, or additional frequency content, but far less sensitive to additional random noise at all frequencies such as found in a dithered signal. [11] [ failed verification ]

Digital audio

In an analog system, the signal is continuous, but in a PCM digital system, the amplitude of the signal out of the digital system is limited to one of a set of fixed values or numbers. This process is called quantization. Each coded value is a discrete step... if a signal is quantized without using dither, there will be quantization distortion related to the original input signal... In order to prevent this, the signal is "dithered", a process that mathematically removes the harmonics or other highly undesirable distortions entirely, and that replaces it with a constant, fixed noise level. [12]

The final version of audio that goes onto a compact disc contains only 16 bits per sample, but throughout the production process, a greater number of bits are typically used to represent the sample, this must be reduced to 16 bits to make the CD.

There are multiple ways to do this. One can, for example, simply discard the excess bits – called truncation. One can also round the excess bits to the nearest value. Each of these methods, however, results in predictable and determinable errors in the result. Using dither replaces these errors with a constant, fixed noise level.

Examples

Reducing amplitude resolution plot.png

Usage

Dither is added before any quantization or re-quantization process, in order to de-correlate the quantization noise from the input signal and to prevent non-linear behavior (distortion). Quantization with lesser bit depth requires higher amounts of dither. The result of the process still yields distortion, but the distortion is of a random nature so the resulting noise is, effectively, de-correlated from the intended signal.

In a seminal paper published in the AES Journal, Lipshitz and Vanderkooy pointed out that different noise types, with different probability density functions (PDFs) behave differently when used as dither signals, [13] and suggested optimal levels of dither signal for audio. Gaussian noise requires a higher level of added noise for full elimination of audible distortion than noise with rectangular or triangular distribution. Triangular distributed noise also minimizes noise modulation audible changes in the volume level of residual noise behind quiet music that draw attention to the noise. [14]

Dither can be useful to break up periodic limit cycles, which are a common problem in digital filters. Random noise is typically less objectionable than the harmonic tones produced by limit cycles.

Noise distributions

Rectangular probability density function (RPDF) dither noise has a uniform distribution; any value in the specified range has the same probability of occurring.

Triangular probability density function (TPDF) dither noise has a triangular distribution; values in the center of the range have a higher probability of occurring. Triangular distribution can be achieved by adding two independent RPDF sources.

Gaussian PDF has a normal distribution. The relationship of probabilities of results follows a bell-shaped, or Gaussian curve, typical of dither generated by analog sources such as microphone preamplifiers. If the bit depth of a recording is sufficiently great, that preamplifier noise will be sufficient to dither the recording.

Noise shaping is a filtering process that shapes the spectral energy of quantization error, typically to either de-emphasize frequencies to which the ear is most sensitive or separate the signal and noise bands completely. If dither is used, its final spectrum depends on whether it is added inside or outside the feedback loop of the noise shaper. If inside, the dither is treated as part of the error signal and shaped along with actual quantization error. If outside, the dither is treated as part of the original signal and linearises quantization without being shaped itself. In this case, the final noise floor is the sum of the flat dither spectrum and the shaped quantization noise. While real-world noise shaping usually includes in-loop dithering, it is also possible to use it without adding dither at all, in which case quantization error is evident at low signal levels.

Colored dither is sometimes mentioned as dither that has been filtered to be different from white noise. Noise shaping is one such application.

Which noise distribution to use

If the signal being dithered is to undergo further processing, then it should be processed with a triangular-type dither that has an amplitude of two quantization steps so that the dither values computed range from, for example, −1 to +1, or 0 to 2. [13] This is the lowest power ideal dither, in that it does not introduce noise modulation (which would manifest as a constant noise floor), and eliminates the harmonic distortion from quantization. If a colored dither is used instead at these intermediate processing stages, then frequency content may bleed into other frequency ranges that are more noticeable and become distractingly audible.

If the signal being dithered is to undergo no further processing – if it is being dithered to its final result for distribution – then a colored dither or noise shaping is appropriate. This can effectively lower the audible noise level, by putting most of that noise in a frequency range where it is less critical.

Digital photography and image processing

An illustration of dithering. Red and blue are the only colors used but, as the red and blue squares are made smaller, the patch appears magenta. Dithering example red blue.svg
An illustration of dithering. Red and blue are the only colors used but, as the red and blue squares are made smaller, the patch appears magenta.
256 color dithering with IrfanView 256colortestthing.png
256 color dithering with IrfanView

Dithering is used in computer graphics to create the illusion of color depth in images on systems with a limited color palette. In a dithered image, colors that are not available in the palette are approximated by a diffusion of colored pixels from within the available palette. [15] The human eye perceives the diffusion as a mixture of the colors within it (see color vision). Dithered images, particularly those using palettes with relatively few colors, can often be distinguished by a characteristic graininess or speckled appearance.

Dithering introduces noise or a pattern into an image, and often the patterning is visible. In these circumstances, it has been shown that dither generated from blue noise is the least unsightly and distracting. [16] The error diffusion techniques were some of the first methods to generate blue-noise dithering patterns. However, other techniques such as ordered dithering can also generate blue-noise dithering without the tendency to degenerate into areas with artifacts.

Examples

Color dithering on a towel Color dithering on a towel.jpg
Color dithering on a towel

Reducing the color depth of an image can have significant visual side effects. If the original image is a photograph, it is likely to have thousands or even millions of distinct colors. The process of constraining the available colors to a specific color palette effectively throws away a certain amount of color information.

A number of factors can affect the resulting quality of a color-reduced image. Perhaps most significant is the color palette that will be used in the reduced image. For example, an original image (Figure 1) may be reduced to the 216-color web-safe palette. If the original pixel colors are simply translated into the closest available color from the palette, no dithering will occur (Figure 2). However, typically this approach will result in flat areas (contours) and a loss of detail and may produce patches of color that are significantly different from the original. Shaded or gradient areas may produce color banding which may be distracting. The application of dithering can help to minimize such visual artifacts and usually results in a better representation of the original (Figure 3). Dithering helps to reduce color banding and flatness.

One of the problems associated with using a fixed color palette is that many of the needed colors may not be available in the palette, and many of the available colors may not be needed; a fixed palette containing mostly shades of green would not be well-suited for an image of a desert, for instance. The use of an optimized color palette can be of benefit in such cases. An optimized color palette is one in which the available colors are chosen based on how frequently they are used in the original source image. If the image is reduced based on an optimized palette the result is often much closer to the original (Figure 4).

The number of colors available in the palette is also a contributing factor. If, for example, the palette is limited to only 16 colors then the resulting image could suffer from additional loss of detail, resulting in even more pronounced problems with flatness and color banding (Figure 5). Once again, dithering can help to minimize such artifacts (Figure 6).

Applications

A smooth gradient using ordered dithering from black to white, using only three colors (black, gray and white) Dithered bgw.png
A smooth gradient using ordered dithering from black to white, using only three colors (black, gray and white)

One common application of dithering is to more accurately display graphics containing a greater range of colors than the display hardware is capable of showing. For example, dithering might be used in order to display a photographic image containing millions of colors on video hardware that is only capable of showing 256 colors at a time. The 256 available colors would be used to generate a dithered approximation of the original image. Without dithering, the colors in the original image would be quantized to the closest available color, resulting in a displayed image that is a poor representation of the original.

The very earliest uses were to reduce images to 1-bit black and white. This may have been done for printing even earlier than for bit-mapped video graphics. It was common for making images to display on 1-bit video displays for X and Apollo and similar Unix workstations. The dithering was usually pre-computed and only the dithered image was stored; computation and memory were far too limited to compute it live.

An example home computer users may have seen was emulation of lower resolution CGA 4 color graphics on higher resolution monochrome Hercules graphics cards, with the colors being translated to ordered dither patterns. [17] [18] [19]

Some liquid-crystal displays use temporal dithering to achieve a similar effect. By alternating each pixel's color value rapidly between two approximate colors in the panel's color space, a display panel that natively supports only 18-bit color (6 bits per channel) can represent a 24-bit color image (8 bits per channel). [20]

Dithering such as this, in which the computer's display hardware is the primary limitation on color depth, is commonly employed in software such as web browsers. Since a web browser may be retrieving graphical elements from an external source, it may be necessary for the browser to perform dithering on images with too many colors for the available display. It was due to problems with dithering that a color palette known as the web-safe color palette was identified, for use in choosing colors that would not be dithered on systems capable of displaying only 256 colors simultaneously.

But even when the total number of available colors in the display hardware is high enough to properly render full-color digital photographs, banding may still be evident to the eye, especially in large areas of smooth shade transitions. Modest dithering can resolve this without making the image appear grainy. High-end still image processing software commonly uses these techniques for improved display.

Another useful application of dithering is for situations in which the graphics file format is the limiting factor. In particular, the commonly used GIF format is restricted to the use of 256 or fewer colors. [lower-alpha 1] Images such as these have a defined color palette containing a limited number of colors that the image may use. For such situations, graphical editing software may be responsible for dithering images prior to saving them in such restrictive formats.

Dithering is analogous to the halftone technique used in printing. For this reason, the term dithering is sometimes used interchangeably with the term halftoning, particularly in association with digital printing.

The ability of inkjet printers to print isolated dots has increased the use of dithering in printing. A typical desktop inkjet printer can print, at most, just 16 colors as this is the combination of dot or no dot from cyan, magenta, yellow and black print heads. [lower-alpha 2] To reproduce a large range of colors, dithering is used. In densely printed areas, where the color is dark the dithering is not always visible because the dots of ink merge producing a more uniform print. However, a close inspection of the light areas of a print where dots are further apart reveals dithering patterns.

Algorithms

There are several algorithms designed to perform dithering. One of the earliest, and still one of the most popular, is the Floyd–Steinberg dithering algorithm, which was developed in 1975. One of the strengths of this algorithm is that it minimizes visual artifacts through an error-diffusion process; error-diffusion algorithms typically produce images that more closely represent the original than simpler dithering algorithms. [21]

Dithering methods include:

(Original)ThresholdRandom
Michelangelo's David - 63 grijswaarden.png Michelangelo's David - drempel.png Michelangelo's David - ruis.png
HalftoneOrdered (Bayer)Ordered (void-and-cluster)
Michelangelo's David - halftoon.png Michelangelo's David - Bayer.png Michelangelo's David - Void-and-Cluster.png
Floyd–SteinbergJarvis, Judice & NinkeStuckiBurkes
Michelangelo's David - Floyd-Steinberg.png Michelangelo's David - Jarvis, Judice & Ninke.png Michelangelo's David - Stucki.png Michelangelo's David - Burkes.png
SierraTwo-row SierraSierra LiteAtkinsonGradient-based
Michelangelo's David - Sierra.png Michelangelo's David - tweerijig Sierra.png Michelangelo's David - Sierra's Filter Lite.png Michelangelo's David - Atkinson.png David-Gradient based.png
Lattice-Boltzmann
Michelangelo's David - Lattice-Boltzmann Dithering.jpg

Other applications

Stimulated Brillouin scattering (SBS) is a nonlinear optical effect that limits the launched optical power in fiber optic systems. This power limit can be increased by dithering the transmit optical center frequency, typically implemented by modulating the laser's bias input. See also polarization scrambling.

Phase dithering can be used to improve the quality of the output in direct digital synthesis. [28] Another common application is to get through EMC tests by using spread spectrum clock dithering of frequency to smear out single frequency peaks. [29]

Another type of temporal dithering has recently been introduced in financial markets, in order to reduce the incentive to engage in high-frequency trading. ParFX, a London foreign exchange market that began trading in 2013, imposes brief random delays on all incoming orders; other currency exchanges are reportedly experimenting with the technique. The use of such temporal buffering or dithering has been advocated more broadly in financial trading of equities, commodities, and derivatives. [30]

See also

Notes

  1. …[O]ne of the earliest [applications] of dither came in World War II. Airplane bombers used mechanical computers to perform navigation and bomb trajectory calculations. Curiously, these computers (boxes filled with hundreds of gears and cogs) performed more accurately when flying on board the aircraft, and less well on ground. Engineers realized that the vibration from the aircraft reduced the error from sticky moving parts. Instead of moving in short jerks, they moved more continuously. Small vibrating motors were built into the computers, and their vibration was called dither from the Middle English verb "didderen," meaning "to tremble." Today, when you tap a mechanical meter to increase its accuracy, you are applying dither, and modern dictionaries define dither as a highly nervous, confused, or agitated state. In minute quantities, dither successfully makes a digitization system a little more analog in the good sense of the word. Ken Pohlmann, Principles of Digital Audio [3]
  1. Images in other file formats, such as PNG, may have color restrictions imposed on them for the sake of a reduction in file size.
  2. Some of these ink combinations are not useful though, because when the black ink is used it typically obscures any of the other colors.

Related Research Articles

<span class="mw-page-title-main">Analog-to-digital converter</span> System that converts an analog signal into a digital signal

In electronics, an analog-to-digital converter is a system that converts an analog signal, such as a sound picked up by a microphone or light entering a digital camera, into a digital signal. An ADC may also provide an isolated measurement such as an electronic device that converts an analog input voltage or current to a digital number representing the magnitude of the voltage or current. Typically the digital output is a two's complement binary number that is proportional to the input, but there are other possibilities.

Dynamic range is the ratio between the largest and smallest values that a certain quantity can assume. It is often used in the context of signals, like sound and light. It is measured either as a ratio or as a base-10 (decibel) or base-2 logarithmic value of the ratio between the largest and smallest signal values.

Signal-to-noise ratio is a measure used in science and engineering that compares the level of a desired signal to the level of background noise. SNR is defined as the ratio of signal power to noise power, often expressed in decibels. A ratio higher than 1:1 indicates more signal than noise.

<span class="mw-page-title-main">Image compression</span> Reduction of image size to save storage and transmission costs

Image compression is a type of data compression applied to digital images, to reduce their cost for storage or transmission. Algorithms may take advantage of visual perception and the statistical properties of image data to provide superior results compared with generic data compression methods which are used for other digital data.

<span class="mw-page-title-main">Halftone</span> Printing process

Halftone is the reprographic technique that simulates continuous-tone imagery through the use of dots, varying either in size or in spacing, thus generating a gradient-like effect. "Halftone" can also be used to refer specifically to the image that is produced by this process.

Sound can be recorded and stored and played using either digital or analog techniques. Both techniques introduce errors and distortions in the sound, and these methods can be systematically compared. Musicians and listeners have argued over the superiority of digital versus analog sound recordings. Arguments for analog systems include the absence of fundamental error mechanisms which are present in digital audio systems, including aliasing and associated anti-aliasing filter implementation, jitter and quantization noise. Advocates of digital point to the high levels of performance possible with digital audio, including excellent linearity in the audible band and low levels of noise and distortion.

<span class="mw-page-title-main">Compression artifact</span> Distortion of media caused by lossy data compression

A compression artifact is a noticeable distortion of media caused by the application of lossy compression. Lossy data compression involves discarding some of the media's data so that it becomes small enough to be stored within the desired disk space or transmitted (streamed) within the available bandwidth. If the compressor cannot store enough data in the compressed version, the result is a loss of quality, or introduction of artifacts. The compression algorithm may not be intelligent enough to discriminate between distortions of little subjective importance and those objectionable to the user.

<span class="mw-page-title-main">Sampling (signal processing)</span> Measurement of a signal at discrete time intervals

In signal processing, sampling is the reduction of a continuous-time signal to a discrete-time signal. A common example is the conversion of a sound wave to a sequence of "samples". A sample is a value of the signal at a point in time and/or space; this definition differs from the term's usage in statistics, which refers to a set of such values.

<span class="mw-page-title-main">Audio system measurements</span> Means of quantifying system performance

Audio system measurements are a means of quantifying system performance. These measurements are made for several purposes. Designers take measurements so that they can specify the performance of a piece of equipment. Maintenance engineers make them to ensure equipment is still working to specification, or to ensure that the cumulative defects of an audio path are within limits considered acceptable. Audio system measurements often accommodate psychoacoustic principles to measure the system in a way that relates to human hearing.

<span class="mw-page-title-main">Quantization (signal processing)</span> Process of mapping a continuous set to a countable set

Quantization, in mathematics and digital signal processing, is the process of mapping input values from a large set to output values in a (countable) smaller set, often with a finite number of elements. Rounding and truncation are typical examples of quantization processes. Quantization is involved to some degree in nearly all digital signal processing, as the process of representing a signal in digital form ordinarily involves rounding. Quantization also forms the core of essentially all lossy compression algorithms.

Quantization, involved in image processing, is a lossy compression technique achieved by compressing a range of values to a single quantum (discrete) value. When the number of discrete symbols in a given stream is reduced, the stream becomes more compressible. For example, reducing the number of colors required to represent a digital image makes it possible to reduce its file size. Specific applications include DCT data quantization in JPEG and DWT data quantization in JPEG 2000.

Noise shaping is a technique typically used in digital audio, image, and video processing, usually in combination with dithering, as part of the process of quantization or bit-depth reduction of a signal. Its purpose is to increase the apparent signal-to-noise ratio of the resultant signal. It does this by altering the spectral shape of the error that is introduced by dithering and quantization; such that the noise power is at a lower level in frequency bands at which noise is considered to be less desirable and at a correspondingly higher level in bands where it is considered to be more desirable. A popular noise shaping algorithm used in image processing is known as ‘Floyd Steinberg dithering’; and many noise shaping algorithms used in audio processing are based on an ‘Absolute threshold of hearing’ model.

In signal processing, oversampling is the process of sampling a signal at a sampling frequency significantly higher than the Nyquist rate. Theoretically, a bandwidth-limited signal can be perfectly reconstructed if sampled at the Nyquist rate or above it. The Nyquist rate is defined as twice the bandwidth of the signal. Oversampling is capable of improving resolution and signal-to-noise ratio, and can be helpful in avoiding aliasing and phase distortion by relaxing anti-aliasing filter performance requirements.

<span class="mw-page-title-main">Floyd–Steinberg dithering</span> Image dithering algorithm

Floyd–Steinberg dithering is an image dithering algorithm first published in 1976 by Robert W. Floyd and Louis Steinberg. It is commonly used by image manipulation software, for example when an image is converted into GIF format that is restricted to a maximum of 256 colors.

<span class="mw-page-title-main">Image noise</span> Visible interference in an image

Image noise is random variation of brightness or color information in images, and is usually an aspect of electronic noise. It can be produced by the image sensor and circuitry of a scanner or digital camera. Image noise can also originate in film grain and in the unavoidable shot noise of an ideal photon detector. Image noise is an undesirable by-product of image capture that obscures the desired information. Typically the term “image noise” is used to refer to noise in 2D images, not 3D images.

<span class="mw-page-title-main">Color quantization</span>

In computer graphics, color quantization or color image quantization is quantization applied to color spaces; it is a process that reduces the number of distinct colors used in an image, usually with the intention that the new image should be as visually similar as possible to the original image. Computer algorithms to perform color quantization on bitmaps have been studied since the 1970s. Color quantization is critical for displaying images with many colors on devices that can only display a limited number of colors, usually due to memory limitations, and enables efficient compression of certain types of images.

<span class="mw-page-title-main">Audio bit depth</span> Number of bits of information recorded for each digital audio sample

In digital audio using pulse-code modulation (PCM), bit depth is the number of bits of information in each sample, and it directly corresponds to the resolution of each sample. Examples of bit depth include Compact Disc Digital Audio, which uses 16 bits per sample, and DVD-Audio and Blu-ray Disc, which can support up to 24 bits per sample.

<span class="mw-page-title-main">ImageMagick</span> Free and open-source image manipulation software

ImageMagick, invoked from the command line as magick, is a free and open-source cross-platform software suite for displaying, creating, converting, modifying, and editing raster images. ImageMagick was created by John Cristy in 1987, it can read and write over 200 image file formats. It is widely used in open-source applications.

<span class="mw-page-title-main">Error diffusion</span> Type of halftoning

Error diffusion is a type of halftoning in which the quantization residual is distributed to neighboring pixels that have not yet been processed. Its main use is to convert a multi-level image into a binary image, though it has other applications.

<span class="mw-page-title-main">Ordered dithering</span> Image dithering algorithm

Ordered dithering is an image dithering algorithm. It is commonly used to display a continuous image on a display of smaller color depth. For example, Microsoft Windows uses it in 16-color graphics modes. The algorithm is characterized by noticeable crosshatch patterns in the result.

References

  1. William C. Farmer (1945). Ordnance Field Guide: Restricted. Military service publishing company.
  2. Korn, Granino Arthur; Korn, Theresa M. (1952). Electronic Analog Computers: (d–c Analog Computers). McGraw-Hill.
  3. Ken C. Pohlmann (2005). Principles of Digital Audio. McGraw-Hill Professional. ISBN   978-0-07-144156-8.
  4. Thomas J. Lynch (1985). Data Compression: Techniques and Applications. Lifetime Learning Publications. ISBN   978-0-534-03418-4.
  5. Lawrence G. Roberts, Picture Coding Using Pseudo-Random Noise, MIT, S.M. thesis, 1961 online Archived 26 September 2006 at the Wayback Machine
  6. Lawrence G. Roberts (February 1962). "Picture Coding Using Pseudo-Random Noise". IEEE Transactions on Information Theory. 8 (2): 145–154. doi:10.1109/TIT.1962.1057702.
  7. L. Schuchman (December 1964). "Dither Signals and Their Effect on Quantization Noise". IEEE Trans. Commun. 12 (4): 162–165. doi:10.1109/TCOM.1964.1088973.
  8. Comment by L. P. Ferris at the end of A. E. Kennelly; F. A. Laws; P. H. Pierce (1915). "Experimental researches on skin effect in conductors". Transactions of the American Institute of Electrical Engineers. 35 (2): 1953–2021. doi:10.1109/T-AIEE.1915.4765283. S2CID   51654558.
  9. Deutsch, Diana (1999). The psychology of music. Gulf Professional Publishing. p. 153. ISBN   978-0-12-213565-1.
  10. Hauser, Marc D. (1998). The evolution of communication. MIT Press. p. 190. ISBN   978-0-262-58155-4.
  11. Montgomery, Christopher (Monty) (2012–2013). "Digital Show and Tell". Xiph.Org / Red Hat, Inc. Retrieved 27 February 2013. Dither is specially-constructed noise that substitutes for the noise produced by simple quantization. Dither doesn't drown out or mask quantization noise, it replaces it with noise characteristics of our choosing that aren't influenced by the input.
  12. Mastering Audio: The Art and the Science by Bob Katz, pages 49–50, ISBN   978-0-240-80545-0
  13. 1 2 Vanderkooy, John; Lipshitz, Stanley P (December 1987). "Dither in Digital Audio". J. Audio Eng. Soc. 35 (12): 966–975. Retrieved 28 October 2009.
  14. Lipshitz, Stanley P; Vanderkooy, John; Wannamaker, Robert A. (November 1991). "Minimally Audible Noise Shaping". J. Audio Eng. Soc. 39 (11): 836–852. Retrieved 28 October 2009.
  15. "Dithering for Pixel Artists". 18 January 2021.
  16. Ulichney, Robert A (1994). "Halftone Characterization in the Frequency Domain" (PDF). Archived from the original (PDF) on 14 February 2014. Retrieved 12 August 2013.
  17. "ibm pc - How do CGA emulators for Hercules graphics work?". Retrocomputing Stack Exchange. Retrieved 7 February 2021.
  18. "DOS Days - CGA Simulators for Hercules Cards". www.dosdays.co.uk. Retrieved 3 December 2022.
  19. "The Programmer's Corner » SIMCGA41.ZIP » Display Utilities". www.pcorner.com. Retrieved 3 December 2022.
  20. "6-Bit vs. 8-Bit... PVA/MVA vs. TN+Film – Are Things Changing?". TFT Central. Archived from the original on 10 April 2008. Retrieved 6 February 2008.
  21. 1 2 3 4 5 Crocker, Lee Daniel; Boulay, Paul; Morra, Mike (20 June 1991). "Digital Halftoning". Computer Lab and Reference Library. Archived from the original on 27 September 2007. Retrieved 10 September 2007.Note: this article contains a minor mistake: "(To fully reproduce our 256-level image, we would need to use an8x8pattern.)" The bold part should read "16x16".
  22. Silva, Aristófanes Correia; Lucena, Paula Salgado; Figuerola, Wilfredo Blanco (13 December 2000). "Average Dithering". Image Based Artistic Dithering. Visgraf Lab. Retrieved 10 September 2007.
  23. Goodall, W. M. (1951). "Television by pulse code modulation". Bell Syst. Tech. J. 30: 33–49. doi:10.1002/j.1538-7305.1951.tb01365.x.
  24. Ulichney, Robert A (1993). "The void-and-cluster method for dither array generation" (PDF). Retrieved 11 February 2014.
  25. Xiangyu Y. Hu (2016). "Simple gradient-based error-diffusion method" (abstract). Journal of Electronic Imaging. 25 (4): 043029. Bibcode:2016JEI....25d3029H. doi:10.1117/1.JEI.25.4.043029. S2CID   35527501.
  26. Hagenburg, Kai; Breuß, Michael; Vogel, Oliver; Weickert, Joachim; Welk, Martin (2009). "A Lattice Boltzmann Model for Rotationally Invariant Dithering". Advances in Visual Computing (PDF). Lecture Notes in Computer Science. Vol. 5876. Springer Berlin Heidelberg. pp. 949–959. doi:10.1007/978-3-642-10520-3_91. eISSN   1611-3349. ISBN   978-3-642-10519-7. ISSN   0302-9743.
  27. Schmaltz, Christian; Gwosdek, Pascal; Bruhn, Andrés; Weickert, Joachim (10 November 2010). "Electrostatic Halftoning". Computer Graphics Forum. 29 (8): 2313–2327. doi:10.1111/j.1467-8659.2010.01716.x. ISSN   0167-7055. S2CID   10776881.
  28. "11", A Technical Tutorial on Digital Signal Synthesis (PDF), Analog Devices, 1999
  29. Lauder, D.; Moritz, M. (2000). Investigation into possible effects resulting from dithered clock oscillators on EMC measurements and interference to radio transmission systems. University of Hertfordshire. Archived from the original on 13 July 2012. Retrieved 25 May 2013.
  30. Mannix, Brian F. (January 2013). "Races, Rushes, and Runs: Taming the Turbulence in Financial Trading" (PDF) (working paper). Archived from the original (PDF) on 3 September 2021. Retrieved 9 July 2018.