# Light Field Glossary

codebook: Used in VQ compression, it is a small set of tiles that can be used to approximate all of the tiles in a light field.

lid: A file that describes the geometry of a light field. It is often used in the creation of light fields. Authoring scripts often use a lid file to set up the parameters for generating the images. The lifauth program also uses the lid file to convert the raw images into a lif file.

lif: A file format for representing a light field. It contains both the geometry information, as well as the pixels.

light field: A data structure to represent the flow of light through a region of free space. Typically, a light field consists of one or more slabs. Each slab is parameterized by two planes. Every ray is identified by the coordinates of its intersection with the two planes (u-v and s-t).

plane, u-v: One of the two planes that is used to parameterize a slab of a light field. Typically, we think of the u-v plane as the set of all camera locations used to create the slab. A u-v plane at infinity (i.e. its w coordinate is 0) corresponds to an orthographic (i.e. all rays parallel) projection.

plane, s-t: One of the two planes that is used to parameterize a slab of a light field. Typically, we think of the s-t plane as the image plane for each camera location used to create the slab. An s-t plane at infinity (i.e. its w coordinate is 0) corresponds to a camera with a fixed-angle field of view.

slab: A slab is our basic light field unit. Each slab is parameterized by two planes, which we call the u-v and s-t planes.

tile: Used in VQ compression, a small 4D hypercube of pixels. For example, a common tile is a 2x2x2x2 hypercube, which would include 16 pixels. In VQ compression, the light field is cut up into tiles, and the codebook consists of a list of tiles.

vector quantization (VQ): A method of lossy compression in which the light field is divided into small 4D hypercubes, which we call tiles. The compression program "trains" on a subset of these tiles, and tries to generate an even smaller subset of tiles (called the codebook), that can approximate every tile in the light field. Then, for each tile in the lightfield, we store the number of the the codebook tile that most closely matches. Thus, instead of storing all the raw data, we just store the small codebook, and one integer per tile of the light field.