The images on our screens are discrete, consisting of a finite number of pixels, each characterized by luminance and, where applicable, chrominance information (see the article "The components of our images: luminance and chrominance"). This information is transmitted in ten-bit blocks. The volume of data to be transmitted grows as the number of lines and pixels per line increases.
In television, for example, the transition from ITU 601 (standard definition) to ITU 709 (high definition) increased the data rate for each image from 270 Mbit/sec (1 Mbit, or megabit, = 106 bits) to nearly 1.5 Gbit/sec (1 Gbit, or gigabit, = 109 bits). It is therefore important to compress these images. This is what the JPEG (Joint Photographic Experts Group) format does: it defines a compression/decompression, or encoding/decoding, algorithm (codec) for any still image.
Block decomposition ---------------------------
The idea is to process the pixels block by block. In practice, the blocks are square 8 × 8-pixel "micro-images." The luminance of each pixel is encoded in ten bits as an integer between 0 and 1,023. Chrominance is processed in the same way.
The discrete cosine transform (see the article "From the Fourier transform to the discrete cosine transform"), a numerical process directly inspired by Fourier transforms, converts this pixel data into a spectral representation: a matrix of numbers associated with pairs of predetermined frequencies. The particular form chosen for this matrix is no accident: in the matrix of DCT coefficients (i, j) associated with each pixel block, the coefficient DCT (0, 0) and its neighbors correspond to the lowest frequencies (values of i and j that are "close to zero" in the formula), whereas DCT (7, 7) and its neighbors correspond to the highest frequencies (values of i and j that are "close to the maximum," here 7). An 8 × 8 pixel block I(u, v), with u and v ranging from 0 to 7, is thus converted into another block using the following formula: