Digital Halftoning
Total Page:16
File Type:pdf, Size:1020Kb
Digital Halftoning Sasan Gooran PhD Course May 2013 DIGITAL IMAGES (pixel based) Scanning Photo Digital image ppi (pixels per inch): Number of samples per inch ppi (pixels per inch) • ppi (scanning resolution): Number of samples per inch • The higher ppi the better the representation of the con-tone image (Photo) • Higher ppi requires more memory • ppi should not be unncessarily high • Choice of ppi???? ppi = 72 ppi = 36 ppi = 18 DIGITAL IMAGES Memory bits/pixel • Grayscale 8 256 tones • RGB 3*8=24 256^3=16.7 million colors DIGITAL HALFTONING • Since most printing devices are not able to reproduce different shadows of gray the original digital image has to be transformed into an image containing white (0’s) and black (1’s) Halftoning DIGITAL HALFTONING Con-tone Halftoned Prepress Halftoning Print Image Image DIGITAL HALFTONING Example Periodic and clustered dots (AM) DIGITAL HALFTONING Example Non-periodic and dispersed dots (FM) HALFTONE CELL Pixel (/a number of pixels) Halftone cell The fractional area covered by the ink corresponds to the value of the pixel (or the area) HALFTONE CELL Halftone cell Original image Halftoned image SCREEN RULING/ FREQUENCY • lpi (lines per inch): Number of halftone cells per inch • The higher lpi the better the print (?!) • High lpi requires more stable print press etc. • Does a higher lpi always lead to a better print? (to be answered later) RULE OF THUMB ppi= Desired size*2*lpi Original size Ex. A 10 x 15 cm2 photo that is supposed to be 20 x 30 cm2 when printed at 150 lpi has to be scanned with a ppi about 2*2*150 = 600. Micro dot HALFTONE CELL dpi: Number of micro dots per inch This halftone cell represents at most 82 + 1= 65 gray tones HALFTONE CELL Screen ruling: number of halftone cells per inch (lpi) Micro dot Resolution: number of Halftone cell micro dots per inch (dpi) In this case: 17 gray tones lpi & dpi • lpi: Number of halftone cells per inch • A halftone cell consists of micro dots • dpi: Number of micro dots per inch • The ratio dpi/lpi decides the size of the halftone cell lpi & dpi ⎛ ⎞2 ⎜ ⎟ ⎜dpi⎟ ⎜ ⎟ +1=number of gray tones ⎜ ⎟ ⎝ lpi ⎠ lpi & dpi (Example) • Assume that dpi is fixed at 600 • lpi = 150 only gives 17 gray tones • lpi = 100 only gives 37 gray tones • lpi = 50 gives 145 gray tones • Does a higher lpi always lead to a better print? Not necessarily! High lpi, few gray tones Lower lpi, more gray tones Low lpi, more gray tones but large halftone dots, (not satisfying) AM & FM HALFTONING • AM (Amplitude Modulated) – The size of the dots is variable, their frequency is constant • FM (Frequency Modulated) 1st generation – The size of the dots is constant, their frequency varies • FM (Frequency Modulated) 2nd generation – The size of the dots and their frequency vary AM & FM (1st & 2nd Generation) Halftone AM FM, 1st FM, 2nd AM & FM Halftone AM FM FM Halftone, 1st and 2nd generation First Second Hybrid Halftoning FM_1FM_2 AM THRESHOLDING ⎧1, if g(m,n) ≥ t(m,n) b(m,n) = ⎨ ⎩0, if g(m,n) < t(m,n) g and b are the original and the halftoned image, respectively. t is the threshold matrix. THRESHOLDING 0.6 1 0.1 0.3 0.2 0 OriginalOriginalbild image ThresholdTröskelmatris matrix HalftonedRastrerad image bild This threshold matrix represents 10 gray tones THRESHOLD MATRIX Example: Line 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 THRESHOLD MATRIX Example: Spiral 1 2 3 4 12 13 14 5 11 16 15 6 10 9 8 7 THRESHOLD MATRIX Clustered & Dispersed, 45 degrees 14 12 13 16 19 21 20 17 1 30 8 28 2 29 7 27 5 4 3 10 28 29 30 23 17 9 24 16 18 10 23 15 6 1 2 11 27 32 31 22 5 25 3 32 6 26 4 31 9 7 8 15 24 26 25 18 21 13 19 11 22 14 20 12 19 21 20 17 14 12 13 16 2 29 7 27 1 30 8 28 28 29 30 23 5 4 3 10 18 10 23 15 17 9 24 16 27 32 31 22 6 1 2 11 6 26 4 31 5 25 3 32 24 26 25 18 9 7 8 15 22 14 20 12 21 13 19 11 Clustered Dispersed TABLE HALFTONING Mean Original image Halftoned image TABLE HALFTONING Clustered Dispersed FM HALFTONING Error Diffusion Error filter Original image Halftoned image Error Diffusion The threshold value is 0.5 Suffers from artifacts, See specially the highlights and shadows and also the mid-tone regions Error Diffusion The threshold value is a random number between 0.25 and 0.75 Better? Iterative Method Controlling Dot Placement (IMCDP) Assumptions: • The original continuous-tone image is scaled between 0 and 1 • 0 and 1 represent white and black respectively • The binary/halftoned image is totally white to begin with IMCDP The mean of the density values of the original image corresponds to the area of the inked regions Original Image Binary Image The first dot is placed where the original image has its largest density value IMCDP The impact of the placed dot is fed back to the original image by a filter Original Image Binary Image The next dot is placed where the modified image has its largest density value Iterative Halftoning, IMCDP Original IMCDP IMCDP(filter) • A Gaussian filter is used • Experiments show that an 11 x 11 Gaussian filter leads to satisfactory results in most cases • The size of the filter should be changing for the light and dark parts of the original image IMCDP(filter) For halftoning of a constant image with a coverage of p% the size of the filter is decided by: a = 100/ p The size of the filter is (2a + 1) x (2a + 1) rounded IMCDP(filter) 11 x 11 filter 21 x 21 filter IMCDP Models of Visual Perception H( f ) = 2.6(0.0192+ 0.114 f )exp{− (0.114 f )1.1} f is the frequency in cycles/ degree The spacing between the dots is given by: 1 1 1 180 =τ = 2arctan( ) = degrees f 2Rd Rd π R is the printer resolution and d is the viewing distance. Models of Visual Perception Viewing distance, d = 30 inches Printer resolution, R = 300 dpi A simple Printer Model (Dot overlap Model) β γ T α 0 0 0 0 0 0 0 0 β α α 2β α β 0 0 1 1 0 1 0 β 2α−γ 1 1 2α 1 α 0 1 0 0 0 0 0 α 1 2α−γ α 2β α β 0 0 0 0 0 0 0 β α β 0 0 0 0 b(i,j) b p(i,j) ⎧ 1 if b(i, j) =1 p(i, j) = ⎨ ⎩ f1α + f2β − f3γ if b(i, j) = 0 Least Square Model Based Algorithm g(Original) z EYE MODEL b(Binary) PRINTER MODEL EYE MODEL w 2 (z w ) ε = ∑∑ i, j − i, j The squared error i j One way: Start with an initial binary image b. For each pixel (i,j) find the binary value b(i,j) that minimizes ε. Objective Quality Measures Objective Quality Measure (Halftone Images) Why difficult? • A method that works well for certain kinds of images, might produce results of low quality for other images • The definition of a “good” halftoning method may vary from application to application • There might be a number of requests that cannot be formulated by a simple objective measure • And so on … Objective Quality Measure (Halftone Images) A number of criteria • The original grayscale image and the binary image should be as similar as possible (How to define this similarity?) • The black dots in the highlights (and the “white” dots in the shadows) should be placed homogeneously. • In color case, the color should also be reproduced as accurate as possible • And so on … A simple measure 2 e = ∑(b(i, j) − g(i, j)) i, j g is the original image and b is the resulting binary image Which image b gives the lowest error e? SNR (Signal-to-Noise ratio) ∑ g(i, j)2 SNR(dB) =10 log ( i, j ) 10 ∑(g(i, j) − b(i, j))2 i, j SNR • These kinds of measures are very easy to apply but they assume that the distortion is only caused by additive noise. • These measures don’t correlate well with our perceived visual quality Quantization Noise Spectrum (QNS) The quantization noise is defined as: q(i, j) = g(i, j) −b(i, j) The quantization noise spectrum (QNS) is defined as: 2 Q(k,l) Q is the 2-dimensional Fourier transform of q The smaller the quantization noise spectrum, the more similar b and g are. Similarity By similarity we mean the perceptual similarity. Since the eye acts as a low-pass filter it is desirable that the QNS is is small in the low pass region, that means: 2 e = ∑ Q(k,l) is small Ω Ω denotes a low-pass region. QNS (Example) g = 1/32 Error diffusion IMCDP QNS • The error e has been calculated for the images shown in previous slide when W is a circular low-pass region that occupy 12.5% of the image. The error is slightly smaller for the image halftoned by ED than the one by IMCDP!!!! • Therefore: It is not only the magnitude of the QNS in the low-pass region that is important.