Previous

Next

Ordered dithering

 

a)    White noise dithering

 

Perhaps the first solution that comes to mind in order to try and recreate the local average of the intensities is to use the most common type of noise, white noise, in order to vary the threshold. We use a uniform distribution from 0 to 255. This way, we can recreate the noise impression. Here is what we get :

 

Three main remarks. First, when seen from far enough, it is recreating the continuous grayscale, which is what we were aiming at.

Second, an important drawback of this method is the nature of the noise, which confers the grainy aspect of the image, and is very visually disturbing .

Finally, it is blurring the image more than our eyes do and by this way, information is lost.

I tried to sharpen the image as a pre-process to white noise dithering with a Laplacian filter.

 

I­­sharp[x,y] = I[x,y] – β.L[x,y]*I[x,y]

 

Here is what I get, somewhat an improvement, but still has this disturbing grainy aspect

 

b)     Clustered-dot dithering

 

Clustered-dot halftones are those that we commonly see in mass hard-copy publications produce by offset printing, such as in newspapers, magazines and books. As opposed to dispersed dot patterns, where the addressability of each pixel is used, the pixels in clustered dot pattern are nucleated in groups in regular intervals. Figure X illustrates an example of this type of halftone both for grayscale and color images.

This process has a main advantage, which is that it is very robust against differences among printers characteristics. In the case of offset printing, there is a minimum size dot that will hold ink, so high resolution dispersed dot screens will not work.

Many models of the human spatial contrast sensitivity function illustrate the property that the visual system is more sensitive to orientations at 0 and 90 degree, and less acute at 45 degrees, so that’s what has been used from the earliest days of halftoning.

Here is how we build such a dither template and we see the pattern that it produces when used to reproduce a constant gray level. The dither template is a matrix specifying the order in which pixels will be turned on as gray level increases. It is periodic and is thus replicated throughout the entire image. In this figure, the threshold value ordering begins at the center of the blue spirals, until half of the array elements are assigned, then continues from the outside of the red spiral.

 

 

Here we can derive a formula to know at which viewing distance the pattern is not going to be seen anymore by the eye, depending on the display/printer resolution in dots/pixels per inch, and the size of the dither template.

 

 

In the case of the tests performed (figure  ), you have to look at it at a distance of :

Using the fact that the frequency discrimination of the eye drops at about 6 cycles per degree.

 

In color printing, the color components are rotated at different angles to avoid moiré patterns, black (most apparent color) is set at 0°, Yellow (least apparent) is set at 45°, and the two other colors, Magenta and Cyan are set at +/-15°.

 

c)    Recursive tessellation (Bayer dithering)

 

For displays or printers that are not of the highest resolution, it is desirable to spread the black and white dots more over the space, and in fact we can search the optimal template to produce a distribution of black and white pixels all over the screen, for any gray level. The procedure to build such a template is a particular case of the blue noise mask construction, so I won’t go into great detail. Let’s just look at the output of this process.

 

It is very visually pleasing. The drawback of this deterministic process is precisely its deterministic nature. We have regular patterns and we can see straight line and crosses all across the image.

We’ll see with the blue noise mask how to keep the same properties that make it visually pleasing without being so straight.

As before, I’ve tried to optimise it for color images, and a simple enhancement that I’ve thought about is to scroll the template vertically and horizontally before we apply it the the different color components. An optimal scrolling value can be found by optimally distributing the luminance across the space. Since the green component gives more luminance than the two others, here is what I end up with for the 4x4 dimensions.