comp135/comp535 digital multimedia, 2nd edition nigel chapman & jenny chapman chapter 5 lecture...

23
COMP135/COMP535 Digital Multimedia, 2nd edition • Nigel Chapman & Jenny Chapman • Chapter 5 Lecture 5 - Bitmapped Images

Upload: kellie-lyons

Post on 14-Dec-2015

229 views

Category:

Documents


0 download

TRANSCRIPT

COMP135/COMP535

• Digital Multimedia, 2nd edition

• Nigel Chapman & Jenny Chapman

• Chapter 5

Lecture 5 - Bitmapped Images

COMP135/COMP535

• Also known as raster graphics• Record a value for every pixel in the image• Often created from an external source

– Scanner, digital camera, …

• Painting programs allow direct creation of images with analogues of natural media, brushes, …

Bitmapped Images

COMP135/COMP535

• Printers, scanners: specify as dots per unit length, often dots per inch (dpi)– Desktop printer 600dpi, typesetter 1270dpi, scanner 300–

3600dpi,…

• Video, monitors: specify as pixel dimensions– PAL TV 768x576px, 17" CRT monitor 1024x768px,…– dpi depends on physical size of screen

Device Resolution

COMP135/COMP535

• Array of pixels has pixel dimensions, but no physical dimensions

• By default, displayed size depends on resolution (dpi) of output device– physical dimension = pixel dimension/resolution

• Can store image resolution (ppi) in image file to maintain image's original size– Scale by device resolution/image resolution

Image Resolution

COMP135/COMP535

• If image resolution < output device resolution, must interpolate extra pixels– Always leads to loss of quality

• If image resolution > output device resolution, must downsample (discard pixels)– Quality will often be better than that of an image at device

resolution (uses more information)– Image sampled at a higher resolution than that of

intended output device is oversampled

Changing Resolution

COMP135/COMP535

• Image files may be too big for network transmission, even at low resolutions

• Use more sophisticated data representation or discard information to reduce data size

• Effectiveness of compression will depend on actual image data

• For any compression scheme, there will always be some data for which 'compressed' version is actually bigger than the original

Compression

COMP135/COMP535

• Always possible to decompress compressed data and obtain an exact copy of the original uncompressed data– Data is just more efficiently arranged, none is discarded

• Run-length encoding (RLE)• Huffmann coding• Dictionary-based schemes – LZ77, LZ78, LZW

(LZW used in GIF, licence fee charged)

Lossless Compression

COMP135/COMP535

• Lossy technique, well suited to photographs, images with fine detail and continuous tones

• Consider image as a spatially varying signal that can be analysed in the frequency domain

• Experimental fact: people do not perceive the effect of high frequencies in images very accurately

• Hence, high frequency information can be discarded without perceptible loss of quality

JPEG Compression

COMP135/COMP535

• Discrete Cosine Transform– Similar to Fourier Transform, analyses a signal into its

frequency components– Takes array of pixel values, produces an array of

coefficients of frequency components in the image– Computationally expensive process – time proportional to

square of number of pixels• Apply to 8x8 blocks of pixels

DCT

COMP135/COMP535

• Applying DCT does not reduce data size– Array of coefficients is same size as array of pixels

• Allows information about high frequency components to be identified and discarded

• Use fewer bits (distinguish fewer different values) for higher frequency components

• Number of levels for each frequency coefficient may be specified separately in a quantization matrix

JPEG – Quantization

COMP135/COMP535

• After quantization, there will be many zero coefficients– Use RLE on zig-zag sequence (maximizes runs)

• Use Huffman coding of other coefficients (best use of available bits)

JPEG – Encoding

COMP135/COMP535

• Expand runs of zeros and decompress Huffman-encoded coefficients to reconstruct array of frequency coefficients

• Use Inverse Discrete Cosine Transform to take data back from frequency to spatial domain

• Data discarded in quantization step of compression procedure cannot be recovered

• Reconstructed image is an approximation (usually very good) to the original image

JPEG – Decompression

COMP135/COMP535

• If use low quality setting (i.e. coarser quantization), boundaries between 8x8 blocks become visible

• If image has sharp edges these become blurred– Rarely a problem with photographic images, but

especially bad with text– Better to use good lossless method with text or computer-

generated images

Compression Artefacts

COMP135/COMP535

• Many useful operations described by analogy with darkroom techniques for altering photos

• Correct deficiencies in image– Remove 'red-eye', enhance contrast,…

• Create artificial effects– Filters: stylize, distort,…

• Geometrical transformations– Scale (change resolution), rotate,…

Image Manipulation

COMP135/COMP535

• No distinct objects (contrast vector graphics)• Selection tools define an area of pixels

– Draw selection (pen tool, lasso)– Select regular shape (rectangular, elliptical, 1px marquee

tools)– Select on basis of colour/edges (magic wand, magnetic

lasso)

• Adjustments &c restricted to selected area

Selection

COMP135/COMP535

• Area not selected is protected, as if masked by stencil

• Can represent on/off mask as array of 1 bit per pixel (b/w image)

• Generalize to greyscale image (semi-transparent mask) – alpha channel– Feathered and anti-aliased selections– Use as layer mask to modify layer compositing

Masks

COMP135/COMP535

• Compute new value for pixel from its old value– p' = f(p), f is a mapping function

• In greyscale images, ppp alters brightness and contrast– Compensate for poor exposure, bad lighting, bring out

detail– Use with mask to adjust parts of image (e.g. shadows and

highlights)

Pixel Point Processing

COMP135/COMP535

• Brightness and contrast sliders– Adjust slope and intercept of linear f

• Levels dialogue– Adjust endpoints by setting white and black levels– Use image histogram to choose values visually

• Curves dialogue– Interactively adjust shape of graph of f

Adjustments in Photoshop

COMP135/COMP535

• Compute new value for pixel from its old value and the values of surrounding pixels– Filtering operations

• Compute weighted average of pixel values– Array of weights k/a convolution mask– Pixels used in convolution k/a convolution kernel

• Computationally intensive process

Pixel Group Processing

COMP135/COMP535

• Classic simple blur– Convolution mask with equal weights

• Unnatural effect

– Gaussian blur• Convolution mask with coefficients falling off gradually (Gaussian

bell curve)– More gentle, can set amount and radius

Blurring

COMP135/COMP535

• Low frequency filter– 3x3 convolution mask coefficients all equal to -1, except

centre = 9– Produces harsh edges

• Unsharp masking– Copy image, apply Gaussian blur to copy, subtract it from

original• Enhances image features

Sharpening

COMP135/COMP535

• Scaling, rotation, etc.– Simple operations in vector graphics– Requires each pixel to be transformed in bitmapped

image

• Transformations may 'send pixels into gaps'– i.e. interpolation is required

• Equivalent to reconstruction & resampling; tends to degrade image quality

Geometrical Transformations

COMP135/COMP535

• Nearest neighbour

– Use value of pixel whose centre is closest in the original image to real coordinates of ideal interpolated pixel

• Bilinear interpolation

– Use value of all four adjacent pixels, weighted by intersection with target pixel

• Bicubic interpolation

– Use values of all four adjacent pixels, weighted using cubic splines

Interpolation