rays, sometimes referred to as bitmaps. Each pixel is defined through 3 x 8 = 24-bit codewords, with eight bits defining the intensity of each of the red, blue, and green (RBG) components, on a 0-255 scale. This code makes up to 256 X 256 X 256 = 16777.216 or about 16.7 million possible colors! This original pixel is then analyzed and decomposed into a new color space, which considers three components: one for luminance (or brightness, or "luma"), and two for chrominance (or "chroma"). Chrominance is another way of labeling colors according to their hue (position in a linear color scale) and saturation (intensity). The reason for such a conversion is that the luminance and chrominance data offer more possibilities for compression, as we shall see. The JPEG algorithm first transforms the 2D-RBG pixel array into three 2D arrays, one for luminance and two for chrominance. Each of these arrays is then decomposed into blocks of 64 pixels, which equivalently form 8 X 8 pixel arrays (each pixel being eight bits). As the human eye sees more details in luminance, it is possible to throw out some information in the chrominance blocks. This is referred to as downsampling or chroma subsampling. There exist many different possibilities of achieving downsampling, of which I will only mention two. Let us name 4:4:4 the original three-block set, as shown in Fig. G4. As seen from the figure, halving the horizontal data in the last two 8 X 8 (chroma) blacks results in a set called 4:2:2, which is one-third smaller.³1 Halving the chroma data in both horizontal and vertical directions results in the set 4:2:0, which is one-half smaller. This 4:2:0 compression is the scheme used in most JPEG images, and also in digital video (DV) and high-definition DV (HDV), in MPEG (including MPEG-2 for the digital video disk or DVD). However, the JPEG compression algorithm does not stop there! The 8 X 8 blocks (or their reduced versions) are then submitted to discrete cosine transform (DCT), which is analogous to a 2D discrete Fourier transform. 3