INTERPOLATION -- PART I AND PHOTOGRAPHY


Sooner or later, we all want to make large prints. However, if a photographer prints at the native image size of his digital camera, he may be disappointed in the size of the print. For instance, at a typical printing resolution of 300 PPI, a six megapixel camera will produce a print approximately 6.7" X 10.0". Not a particularly impressive sized print. Particularly when one considers that reasonably priced inkjet printers now print at 13" x 19". On the other hand, those that have been around digital photography for even a little while know that six megapixel cameras are capable of producing sharp, photo quality prints at 13" x 19" and even larger.
So, what's the secret? How do we get from 6.7" X 10.0" to much larger prints without lowering the printing PPI? Obviously, we have to create more pixels. This process of creating more pixels is called interpolation. This is done by software magic. Interpolation software analyses the pixels in an image and adds more pixels based on that analysis. As an example, a 200% interpolation would double the linear size of an image. In other words, it doubles the size of the image in each of its two dimensions (i.e., length and width). As a result, each pixel becomes four pixels (essentially a 2 x 2 grid). The image quadruples in size, and the photographer can now print that image (originally at 6.7" X 10.0") at a size of 13.3" x 20.0" with the printing resolution unchanged.
Sounds like a sweet deal. But not all is perfect in the land of interpolation. Interpolation comes at a cost. There are three primary problems with interpolation:
Problem 1: Interpolation does not Create New Data. No matter how the interpolation software does its magic, it is going to spread the limited information in a digital file over a larger area. Thus, a given amount of information from a digital file spread over the larger area of an interpolated file will not look as good as it did at its original size. As a consequence, there is a certain degree of image degradation that results from interpolating an image. Thus, an interpolated file from a six megapixel camera will not look as good as an image (that was not interpolated) from a twelve megapixel camera -- even if the file sizes are similar after the six megapixel image was interpolated.
Figure 1: Mojave Green
Problem 2: Interpolation can Result in Jaggies. Jaggies is the term used to describe when lines or curves, that should be smooth, become jagged. This is due to the digital nature of digital photography. Each digital image is made up of a grid of pixels. Thus, lines and curves in a digital image aren't really lines and curves at all. Rather, they are really made up of combinations of pixels (in this case, think of pixels as dots of color). In order to illustrate this concept, let's start with my friend in Figure 1 (actually, he isn't my friend at all; if he had had his way, he would have killed me). Figure 1 shows the entire image. Image 2 shows a close up of the snake's skin. At this magnification (100%), the curves that form the patterns appear relatively smooth. However, Figure 3 shows an extreme close-up of the snake. At this magnification (500%), it can be seen that the curves are really a jagged patterns of pixels (this figure was simply enlarged on the screen; it was not interpolated).
Figure 2: Mojave Green's Scales at 100% Magnification
Figure 3: Mojave Green's Scales at 500% Magnification
What does all this have to do with interpolation? At the native image size of a camera (before interpolation), those jagged edges are so small that they can not be seen. On the other hand, as an image is interpolated larger, the jagged edges can become more visible. At some point, they may become obvious and detract from the image.
Now, if an image was enlarged by simply duplicating the pixels, the jaggies would become a major problem (the image would end up looking like Figure 3). Lucky for us, interpolation software does not simply duplicate the pixels. The software is much more sophisticated than that. The software looks at the image one pixel at a time. For each individual pixel, the interpolation software looks at the color of that pixel as well as the color of the neighboring pixels. When creating the new pixels, the software attempts to figure out what the color of these new pixels should be based on the software's analysis of the original pixel and its neighbors. Figure 4 demonstrates what the interpolation software does. After analyzing the original pixels 1 and 2, the software creates a new pixel with a color that is between the colors of the original pixels (this figure oversimplifies the process for illustration purposes, but it demonstrates the main point).
Figure 4: What Interpolation Software Does
Something called anti-aliasing now comes into play during the interpolation that helps suppress the jaggies. A look back at Figure 3 shows that the jaggies are most noticeable where light pixels border dark pixels. This creates a hard edge that makes the jaggies stand out. Figure 5 shows how anti-aliasing helps minimize the jaggies. Figure 5 demonstrates the concept in black and white in order to simplify the concept. Before interpolation, the eye sees sharp black/white edges that make the jaggies stand out. This is shown in the first histogram that shows the tonal values of an edge. The pixels go from dark on the left side of the histogram to light on the right side. As can be seen, the tonal transition is abrupt. During interpolation, new pixels are added along the edge. These new pixels will be given values between the black pixels on one side of the line and the white pixels on the other. In other words, the interpolation will place pixels of varying densities of gray between the black and white pixels along the edge. This is shown in the second histogram. The tonal transition has been made more gradual by the introduction of the new gray pixels. Now, instead of the hard black/white edge, there is a softer black/gray/white transition. This softens the jaggies and makes them less noticeable.
Figure 5: Anti-Aliasing
Comparing Figures 6 and 7 shows how interpolation actually reduces the jaggies. Figure 6 shows the original 500% enlargement (the image simply enlarged on the screen, not interpolated). Figure 7 shows a 500% interpolation of the same image. Clearly, the interpolation has dramatically reduced the jaggies. This softening of the edges, and thus the jaggies, is called anti-aliasing.
Figure 6: Mojave Green's Scales at 500% Magnification
Figure 7: Mojave Green's Scales at 500% Interpolation
One thing to keep in mind is that, while interpolation software does its best to reduce jaggies, the software can not completely eliminate them. As images are interpolated larger, the jaggies become more of an issue.
Problem 3: Interpolation Causes a loss in Sharpness. The same process that smoothes out the jaggies, does the same to the edges in an image. Imagine that an image has a nice sharp edge (it has an abrupt black/white transition). Looking back at Figure 5 shows what will happen to that edge. The nice, sharp black/white transition will be changed to a much softer black/gray/white transition. This will cause a reduction in acutance (for an explanation of acutance, see my article titledSharpening -- Part I). This will be interpreted by a viewer of the image as a loss of sharpness. This is why most sharpening should be performed after interpolation.

INTERPOLATION ALGORITHMS

Despite the limitations of interpolation, used intelligently, it can do a very good job of increasing the size of images. Of course, discerning photographers want the best prints possible -- thus, the best interpolation possible is required.
As far as quality of interpolation is concerned, one of the important factors is the interpolation algorithm used. It is the algorithm that determines how the color values of the new pixels are calculated. Furthermore, not all algorithms are created equal. Some create better results than others.
So, what are the options, and which is the best? The options tend to fall into two categories. In the first category are the interpolation algorithms in Photoshop. In the second category are the interpolation software packages offered by other companies that claim to produce superior results. Since the choice of interpolation algorithm can have a significant impact on the quality of a final print, the rest of this article will look at the Photoshop interpolation algorithms and two independent interpolation software packages as shown in the list below:
  • Photoshop Interpolation Algorithms.
    • Nearest Neighbor.
    • Bilinear.
    • Bicubic.
    • Bicubic Smoother.
    • Stairstep.
  • Independent Interpolation Software Packages.
    • Genuine Fractals.
    • PhotoZoom Professional (uses S-Spline algorithm).
There are other independent software packages available. However, these options are some of the most commonly used. Since it would take an extraordinary amount of time to evaluate all of the interpolation packages, this article will focus on these popular options.
The primary difference between algorithms is how they analyze the color of the pixels and use that information to determine the color values of the new pixels. Thus, a good starting point for analyzing interpolation options is to understand how they use the pixel data to determine the color values of the new pixels.
Nearest Neighbor: The Nearest Neighbor interpolation is the fastest option. However, it is also the least sophisticated. It simply takes the color of a pixel and assigns it to the new pixels that are created from that pixel. Due to this rather simplistic approach, Nearest Neighbor interpolation does not create an anti-aliasing effect. This leads to problems with jaggies. Consequently, Nearest Neighbor interpolation is considered to be incapable of producing photographic quality work. As a result. This interpolation method will not be considered further in this article.
Bilinear: Bilinear interpolation uses the information from a pixel (let's call it the original pixel) and four of the pixels that touch it to determine the color of the new pixels that are created from the original pixel. Bilinear uses rather simple, linear calculations to do this. The Bilinear interpolation does have an anti-aliasing effect. However, it is not considered good enough for photo quality images. Therefore, the Bilinear interpolation will not be considered further in this article.
Bicubic: Bicubic interpolation uses the information from an original pixel and sixteen of the surrounding pixels to determine the color of the new pixels that are created from the original pixel. Bicubic interpolation is a big improvement over the previous two interpolation methods for two reasons: (1) Bicubic interpolation uses data from a larger number of pixels and (2) Bicubic interpolation uses a Bicubic calculation that is more sophisticated than the calculations of the previous interpolation methods. Bicubic interpolation is capable of producing photo quality results and is probably the method most commonly used.
Bicubic Smoother: Bicubic Smoother interpolation is a relatively new addition to the Photoshop interpolation methods. It also uses a Bicubic calculation. My understanding is that it samples data from a larger number of pixels than Bicubic interpolation. The claim is that it produces a smoother interpolation than Bicubic.
Stairstep: You will not find a Stairstep interpolation method in Photoshop. Rather, it is a procedure that is followed using Bicubic interpolation. With Stairstep interpolation, the interpolation is done in small increments using Bicubic interpolation. In other words, the interpolation is done in several small steps rather than one step as in traditional Bicubic interpolation. Generally, Stairstep interpolation is done in 10% increments (each interpolation is made 10% larger than the last) until the desired image size is reached.
PhotoZoom Professional/S-Spline: PhotoZoom Professional uses an S-Spline algorithm (it also has other options, but the S-Spline is the one in which we are interested). According to the company that sells PhotoZoom Professional (BenVista), the advantage of the S-Spline algorithm is that it determines the color of new pixels by a more sophisticated algorithm that changes its calculations based on the color values found in an image. In other words, interpolation methods such as Bicubic use the same formulas for each pixel that is interpolated (e.g., the same formula or weights are used regardless of what the surrounding pixels look like). S-Spline interpolation analyzes the surrounding pixels and changes its formulas/weights depending on the color values of those pixels.
Genuine Fractals: Genuine Fractals samples from a larger number of pixels than Bicubic interpolation and uses its own algorithm to determine the value of the new pixels.

THE PROOF IS IN THE PUDDING

Often, you will find people that swear by a particular product or technique, claiming that it is better than any other option available. The problem is, you can find other people that swear at the very same product or technique. This is the case for interpolation. Each method has its fans and detractors. However, for the photographer that wants to produce the best prints possible, what it really boils down to is the old saying, "The proof is in the pudding". Rhetoric aside, what we are really interested in is which interpolation method produces the best images. This can be determined only by interpolating some images using the various interpolation methods and comparing the results.
Thus, the rest of this article will focus on comparing interpolations of four images using the following interpolation methods: Bicubic, Bicubic Smoother, Stairstep, S-Spline (PhotoZoom Professional), and Genuine Fractals.
To make a fair comparison, three factors need to be considered:
The image: The best interpolation method for an image may depend on the image itself. In other words, one shoe may not fit all. One interpolation method may work best for one image and anther interpolation method may work best for another image. Therefore, this article will compare interpolations of four images to determine if this issue is a valid concern.
Image size: The best interpolation method for one size of enlargement may not necessarily be the best method for a different size. Therefore, this article will compare interpolations of the images at three enlargements: 200%, 300%, and 400%. To get an idea of how large a print these interpolation amounts will produce, Table 1 shows the printed sizes of images (at 300 PPI) from some popular sensor sizes (both at their native image size and interpolated at the various enlargements).
Table 1: Image Sizes (in inches) Printed at 300 PPI
Sensor SizeNative Size200%300%400%
3 Megapixel
4.7 x 7.1
9.4 x 14.1
14.1 x 21.2
18.9 x 28.3
6 Megapixel
6.7 X 10.0
13.3 x 20.0
20.0 x 30.0
26.7 x 40.0
8 Megapixel
7.7 x 11.5
15.4 x 23.1
23.1 x 34.6
30.8 x 46.2
12.8 Megapixel
9.7 x 14 .6
19.5 x 29.2
29.2 x 43.8
38.9 x 58.4
16.7 Megapixel
11.1 x 16.7
22.2 x 33.4
33.4 x 50.0
44.5 x 66.7
Sharpening: I debated how to best present the results of the interpolations (i.e., should I show the unsharpened images or the sharpened ones; if the sharpened images are shown, which sharpening method should be used). After considerable work experimenting with the interpolations, I came to the following conclusions. It is really difficult to judge the quality of the interpolations in the unsharpened images. Problems such as halos or jaggies often don't really stand out until the image is sharpened. Furthermore, in the real world, images have to be sharpened after interpolation anyway. Therefore, the images shown have all been sharpened. The images were sharpened using a two step approach. All interpolations for a particular image received the exact same sharpening approach and amount. If you would like to see one of the images without sharpening, simply move the mouse over the image and the unsharpened version will appear.
The images that were used for the interpolations are shown in Figures 8 to 11. Each of these images was shot with a high quality DSLR with the following sensor sizes: Figure 8 (6 megapixel), Figure 9 (8 megapixel), and Figures 10 and 11 (12.8 megapixels). Each image was shot with a professional grade lens. Crops from these images are shown in the rest of this article to compare the interpolation methods. One thing to keep in mind is that I am looking at the actual images on a large, high quality, color calibrated monitor. You are looking at JPEG copies of the images through your monitor. Your ability to see what is described in the analyses below depends on the quality of your monitor.
Figure 8: Egret
Figure 9: Mojave Green
Figure 10: Clock
Figure 11: Doll

INTERPOLATION: EGRET AT 200%

The first image is the Egret. Figures 12 to 16 show the interpolations for this image.
Figure 12: Bicubic
Figure 13: Bicubic Smoother
Figure 14: Stairstep
Figure 15: Genuine Fractals
Figure 16: S-Spline
The most noticeable thing about the 200% Egret interpolations is that there is very little difference between the interpolations. I suppose that one could pick a favorite, but I doubt that the differences would show up in a print.

INTERPOLATION: MOJAVE GREEN AT 200%

The second mage is the Mojave Green Rattlesnake. Figures 17 to 21 show the interpolations for the Mojave Green.
Figure 17: Bicubic
Figure 18: Bicubic Smoother
Figure 19: Stairstep
Figure 20: Genuine Fractals
Figure 21: S-Spline
Again, at 200% interpolation, there appears to be little difference between the images. The S-Spline does look a little bit sharper to my eyes, but it also looks a bit grainier. Other than that, there is little else to differentiate the images from each other. As before, it is highly unlikely that that any differences would be noticed in a print.

INTERPOLATION: CLOCK AT 200%

The third mage is the Clock. Figures 22 to 26 show the interpolations for the clock.
Figure 22: Bicubic
Figure 23: Bicubic Smoother
Figure 24: Stairstep
Figure 25: Genuine Fractals
Figure 26: S-Spline
Again, at 200% interpolation, the differences are slight.

INTERPOLATION: DOLL AT 200%

The Last mage is the doll. Figures 27 to 31 show the interpolations for the doll.
Figure 27: Bicubic
Figure 28: Bicubic Smoother
Figure 29: Stairstep
Figure 30: Genuine Fractals
Figure 31: S-Spline
For the doll at 200% interpolation, it appears to me that Genuine Fractals produced a cleaner rendering of the fine detail of the hair. There doesn't appear to be much of a difference between the other interpolations.

200% INTERPOLATION CONCLUSIONS

The primary conclusion for the 200% interpolations is rather clear and simple:
In most cases, the differences between the interpolation methods, at this level, are relatively small and will probably not be noticeable in a print. This is very significant since most photographers will not interpolate much beyond 200%. For instance, the most popular DSLRs, right now, are around eight megapixels. A 200% interpolation printed at 300 PPI will yield a 15.4 x 23.1 print. Considering that the most popular inkjet printers, at this time, will not print larger than 13 x 19, it does not seem likely that most photographers will need to interpolate much beyond 200% on a regular basis. Even a 20 x 30 print at 300 PPI will only need a 260% interpolation from an eight megapixel camera.