In dithering halftone approximations are done without reducing resolution. To break up contours sometimes random values are added to pixel intensities. This is known as dither noise. We can set up nxn dither matrix Dn having positive integers in the rangle of 0 to n² – 1. By this we can get n² intensity levels.
Elements of D2 and D3 are in same order as pixel mask for setting up 2×2 and 3×3 pixel grids. For bilevel system display intensity values are determined by comparing input intensities to matrix elements. Scaling is done for each input intensity in range of 0 ≤ 1 ≤ n² . Now, intensity I is applied to screen position (x,y):
i = ( x mod n) + 1
j = ( y mod n) + 1
where, i, j are row and column for matrix.
If I > Dn (I,j) = Pixel at position (x,y) is turned ON.
If I < Dn (I,j) = Pixel at position (x,y) is not turned ON.
Here, n≥ 4 and un/2 is unity matrix.
Error diffusion: In this method, error between input intensity value and shown pixel intensity level at given position is diffused to pixel positions to the right and below the current pixel position. A picture with axb points is mapped to a display area with axb pixels.