Bitmaps, unlike vector graphics, don't provide enough data to scale an image extensively—if you try to make the image bigger, more data is required than the pixels originally recorded. To get around this, image resizing makes use of a technique known as "interpolation"—trying to "guess" the missing pixels based on the color values of their neighbors. Two interpolation techniques, bicubic and bilnear, are especially common in image processing.
Bicubic vs. Bilinear
Bilinear interpolation is a relatively simple technique, not much more complicated than "nearest neighbor" interpolation—where pixel gaps are filled in by simply copying adjacent pixels. For every "missing" pixel (the pixels that have to be created to blow up the image) the bilinear method takes the four points that are closest at the diagonal corners, and averages their values out to produce the middle pixel. Bicubic interpolation, in contrast, takes not only the four closest diagonal pixels, but their closest points as well, for a total of 16 pixels.
Advantages of Bicubic Interpolation
Because any interpolation method relies on inventing new data, any resized image is equally faithful between interpolation techniques in terms of raw information content. The difference chiefly lies in how the image is perceived by the viewer, and because bicubic interpolation makes use of more data, its results are generally smoother. Bicubic interpolation creates smoother curves than bilinear interpolation, and introduces fewer "artifacts," or pixels that stand out as conspicuously deteriorating the apparent quality of the image.
The increased smoothness of bicubic interpolation comes at a substantial cost in terms of processing time; the algorithms and formulas used for the bicubic method are much more complex. Accordingly, while bilinear interpolation is fairly quick and may not be that much slower than nearest-neighbor calculations, bicubic interpolation is slower, at times by an order of magnitude. This makes bicubic interpolation less desirable in situations where speed is of the essence or the added smoothness of the final image isn't as important.
When you need to increase the size of an image and time isn't important—for example, if you're making prints from a digital camera on your own time—bicubic interpolation provides the smooth results that are perceived as being of a higher quality. However, the fact that it uses additional pixels can be a downside when the image is being shrunk, rather than enlarged, because it also means that more pixels are discarded or changed. In these cases, the comparatively smaller number of pixels employed by the bilinear method can produce results that are more pleasing to the eye, with fewer artifacts.
- Photos.com/Photos.com/Getty Images