Bit plane 2026-11-05
A bit plane collects one fixed bit position from every integer sample of a digital image. For an unsigned -bit sample , define its plane- entry by
Each bit plane contains binary entries, while the powers of two determine their contribution to reconstruction. The Linux frame-buffer API uses this organization for FB_TYPE_PLANES, where plane stores bit of the pixel samples.[ref]
For an original four-pixel row stored as four-bit unsigned samples, the bit planes from most significant to least significant are
The third pixel reconstructs as . The same operation applies independently to every location in an image; bit-plane slicing extracts those binary images for inspection or processing.
If only the two most significant bit planes are retained, this row reconstructs as . In general that truncation gives , so the discarded remainder lies between zero and three. This is a statement about integer code values; a nonlinear color space can make equal code changes correspond to unequal light changes.
A bit plane differs from a component plane. One eight-bit red component plane can itself be decomposed into eight bit planes. State the component encoding, bit significance and layout before combining planes; the visible binary pattern alone does not identify its significance. Bit planes need not form a progression from smooth shapes to noise for arbitrary images.
Chris Lilley Created 2026-10-13 Updated 2026-11-05
Chris Lilley is credited as an editor and author of the PNG specification and as an editor of CSS Color. These works connect raster image interchange with explicit color space definitions, including the difference between encoded RGB values and components in Linear-light RGB.[ref][ref]
Color component 2026-11-05
A color component is one numerical coordinate used by a color model to describe a colour. An RGB representation has red, green and blue components, while YCbCr has luma and two colour-difference components. Their meanings depend on the model and encoding: a component need not represent a separately emitted primary light. The Microsoft technical guide explicitly separates RGB signals from Y, Cb and Cr and gives their conversion equations.[ref]
For an original normalized Linear-light RGB example, the triple contains three component values for one colour sample. Its blue component is ; that scalar alone does not specify the complete colour. A second triple shares that blue component while differing in red and green. Likewise, the same numerical triple interpreted in different color spaces need not describe the same physical colour.
A component is also distinct from a storage plane. An eight-bit packed pixel format can place three RGB component codes in three successive bytes for each pixel, all in one image memory plane. NV12M instead uses a luma plane and an interleaved colour-difference plane: two memory planes carry three color components. Chroma subsampling can additionally give the components different spatial sample counts.
An alpha channel describes transparency or coverage rather than another coordinate of the colour itself. PNG consequently distinguishes truecolour samples with red, green and blue components from truecolour-with-alpha samples that carry an additional alpha value.[ref] Component identity, sample location, numerical encoding and storage layout together determine how an image is interpreted.
Color model Created 2026-10-20 Updated 2026-11-05
A color model describes colors using numerical components and rules for interpreting them. RGB uses red, green and blue components for additive representations; a subtractive printing model instead describes how colorants affect reflected light. A model alone does not fully define a reproducible color: a color space also specifies reference primaries, white point and transfer functions as needed. Consequently the same RGB triple can produce different colors on different uncalibrated devices. This distinction is essential when converting images between displays, files and physical prints.
Component plane 2026-11-05
A component plane stores samples of one component of an image separately from its other components. A three-plane RGB color model layout can hold a red array, a green array and a blue array, each indexed by image location. Intel's planar-format table records this arrangement explicitly.[ref] A component plane stores component samples, which can occupy several bits; a bit plane stores only one bit position from each sample.
For an original image, take
At row one, column zero, using zero-based indices, the pixel is . If each component uses one byte and row-major order, the active red bytes are 10 40 70 100. A routine that changes the red component plane can leave the green and blue arrays untouched.
The three active arrays contain bytes. With a separately declared four-byte framebuffer stride for each plane's row, storage instead occupies bytes, including padding. The image values are unchanged. A plane's dimensions, base address and row stride are therefore distinct parts of its layout description.
Other colour representations need not have three equal-sized, separate component arrays. Intel's table includes formats with differently sized planes and formats that interleave two colour components in one plane.[ref] A semiplanar pixel format combines a separate plane with such an interleaved plane. Thus an API's memory-plane count alone need not equal the number of colour components. A component plane is a statement about data organization, separate from the color space that interprets its numerical samples.
Linear-light RGB 2026-11-05
In Linear-light RGB, each component is proportional to the amount of its corresponding primary light. Adding or averaging components therefore corresponds to adding or averaging those light contributions, provided the same primaries and reference conditions are used. Nonlinear display encodings such as sRGB must first be decoded for this arithmetic.[ref]
For a nonnegative sRGB channel in , the linear value is when , and otherwise. Thus encoded mid-gray represents approximately0.214 linear light. Averaging encoded black and white gives0.5, while averaging their light gives0.5 linear, encoded as approximately0.735. This explains dark fringes produced by averaging nonlinear channel values directly. The primaries, white point and transfer rule together determine a color space; linearity alone does not specify which colors an RGB triple represents.
Packed pixel format 2026-11-05
A packed pixel format stores the component fields or index for each pixel together in a single image plane, with successive pixels following one another in that plane. A planar pixel format instead separates component or bit planes. Packed does not necessarily mean one byte per pixel or the absence of row padding: the Linux frame-buffer API explicitly permits end-of-row padding in its packed storage type.[ref]
Consider an original 16-bit encoding with 4-bit fields in the order red, green, blue, alpha from most significant to least significant:
The bit fields for give . Extracting components by integer arithmetic gives
The same extraction can be implemented with bitwise operations. Declaring endianness is a separate step: this word occupies successive bytes C5 A3 in little-endian storage, and A3 C5 in big-endian storage. A component order in a word does not by itself specify the byte sequence.
If a row contains 100 of these two-byte pixels, its active data occupy 200 bytes. With framebuffer stride 208 bytes, the next row begins 208 bytes later, leaving eight padding bytes. A pixel-buffer consumer therefore needs the exact pixel format, dimensions and framebuffer stride, as well as any alpha channel convention and color space.
Post-receptoral processing compares cone signals, organizes those comparisons across space and time, and uses them to represent surfaces and objects. Three receptor classes do not imply three neurons labelled with three color names. A complete answer must distinguish the information available at the receptors from its neural transformation and its perceptual interpretation.
The principle of univariance supplies the starting constraint. For one cone class, an absorption-dependent response does not identify wavelength independently of intensity. Comparing differently sensitive classes makes chromatic information available. Relative to an adapted background, cone contrasts can be written , where is the background catch. This representation separates a change relative to the prevailing input from the raw number of absorbed photons. It is a useful coordinate system, not a claim that every neuron implements this exact formula.
Retinal circuitry immediately transforms the signals. Light hyperpolarizes cone cells and changes their transmitter release. ON and OFF bipolar pathways respond differently to changes in cone output, while horizontal and amacrine circuitry contribute spatial and temporal interactions. Retinal ganglion cells transmit spike trains rather than simply forwarding a cone's voltage. Their center–surround organization compares regions, so chromatic and spatial structure are already intertwined. Near the central retina, the midget pathway can oppose an L- or M-dominated center to a surround containing other cone input. The same circuitry can carry information useful for fine spatial structure and for chromatic contrast; these are not necessarily separate wires.
A distinct S-cone route illustrates the anatomical specificity. Dennis M. Dacey and colleagues combined physiological characterization with identification of ganglion-cell morphology in primate retina, finding that the S-ON opponent response belonged to a small bistratified ganglion-cell type rather than simply another midget cell.[ref] This supports parallel circuits with different cone combinations. Calling the pathway “blue-on” is shorthand for its stimulus response, not proof that the cell itself produces a unique blue experience.
At a simplified computational level, an achromatic-like combination and two chromatic combinations can be represented as
This invertible three-channel opponent transform reorganizes three coordinates rather than creating additional independent spectral information. Their matrix has determinant , so the transform is invertible: , and . Actual weights depend on cell, location, adaptation and stimulus conditions. This algebra is an illustrative opponent transform, not a fitted retinal wiring diagram or a complete perceptual color space.
The lateral geniculate nucleus preserves several parallel retinal pathways while also participating in cortical interactions. A. M. Derrington and colleagues studied macaque geniculate cells with gratings whose luminance and chromatic modulation could be varied independently on a calibrated color television display. Finding directions that changed cone stimulation without driving a cell constrained its linear cone weights.[ref] For a nonzero linear weight vector, the zero-response contrasts obey , defining a chromatic null plane. A null response therefore tests a relation between inputs, rather than merely assigning the cell a preferred color name. The resulting opponent directions need not coincide with human unique hues.
Cortical processing adds more complex spatial comparisons. Bevil R. Conway mapped cone inputs to color-responsive neurons in alert macaque V1 using cone-isolating spots and eye-position-corrected reverse correlation. Some cells combined chromatic opponency with opposite tuning in adjacent spatial subregions.[ref] Such double-opponent cells can respond strongly to a chromatic boundary while responding less to a spatially uniform change. This offers a mechanism useful for separating surface differences from shared illumination changes. It does not establish that one V1 population alone solves color constancy under arbitrary scenes.
Further processing must relate color to form, illumination, material and the current task. The same cone contrasts can be interpreted differently in a shadow, highlight or translucent object. Surface color judgments, discrimination thresholds and color naming therefore constrain different computations. Feedback and attention can influence which information is selected, while learning can alter how a signal is interpreted or normalized. A lesion or imaging response can constrain contributions to those tasks, but an area responsive to color is not automatically an isolated “color center.”
The strongest picture is consequently a hierarchy of interacting computations: cone-specific signals, opponent and spatial filtering, combinations tuned to richer image structure, and object-level judgments. Trichromatic sampling limits spectral information; later processing determines how that information supports boundaries, stable surface appearance and behavior.
Language is not necessary for the basic capacity to discriminate or organize colors, but it can influence color judgments, attention and memory in particular tasks. The evidence supports neither the claim that words create all color experience nor the claim that language is irrelevant whenever the stimuli are visible.
The starting distinctions are essential. A receptor sensitivity, a color-matching relation, a discrimination threshold, a category boundary and a color name are different measurements. Molecular differences can change available cone signals, while linguistic experience can change how available information is grouped or used. Finding different words for two samples does not show that one group cannot discriminate them. Finding the same matching relation does not establish identical subjective appearance or identical naming.
The biological basis imposes constraints independent of a person's vocabulary. Three cone classes provide overlapping spectral measurements, and later circuits compare those measurements. Altered receptor signals or adaptation can change performance without requiring a new word. Conversely, changing a response strategy can change performance while leaving receptor input intact. The central empirical question is therefore which stage and task language influences, not whether one can name a color without knowing its name.
Prelinguistic evidence rules out a strict requirement for color words. Alice E. Skelton and colleagues used infants' recognition-memory responses to sample relations among colors across the hue circle. Infants' categorical distinctions showed organization related to common divisions in adult color lexicons and to early visual mechanisms.[ref] Infants did not need to produce the relevant color terms to show those distinctions. The inference is not that newborns possess an immutable adult lexicon: the infants already had visual experience, and looking-time measures require controls for discriminability, novelty and attention. The title's biological interpretation should not be strengthened into proof that experience plays no role.
Cross-language studies also challenge a rigid universal partition. Debi Roberson and colleagues compared English speakers with Berinmo speakers using naming, recognition and category-learning tasks. Effects of linguistic category boundaries appeared for the categories used by each group, and response-bias controls weakened a simple claim that universally focal colors always enjoy a memory advantage.[ref] The article's historical title is retained as a citation, not adopted as a description of people. The comparison shows that category use and memory cannot be reduced to one vocabulary-independent set of preferred labels. Because language group covaries with cultural and visual experience, it does not isolate vocabulary as the sole cause.
A more direct manipulation was used by Jonathan Winawer and colleagues. Russian has conventional basic terms distinguishing lighter and darker blues that English usually groups under “blue.” Participants saw a target square and two alternatives together and selected the matching alternative. Russian speakers showed a speed advantage for comparisons crossing their linguistic boundary. A concurrent verbal task removed that advantage, while a spatial interference task did not produce the same pattern.[ref] The simultaneous display reduces the long-term color-memory explanation, and the interference manipulation implicates access to language-related processes during performance. It does not establish a new receptor limit, a complete inability to discriminate within a category, or a necessary change in private color qualia. Concurrent tasks can affect more than one processing stage.
These results motivate separating sensitivity from response facilitation. A faster match can reflect attentional selection, category-assisted comparison or decision formation. To claim changed sensory resolution, an experiment should measure psychometric functions over controlled stimulus separations, fit location, slope and lapse parameters, and test whether any effect persists with nonverbal responses and reversed response mappings. Equal physical distance in a standard color space does not automatically ensure equal discriminability for every participant; individual thresholds and adaptation should be measured where they matter.
A stronger causal program can combine within-person interference, language-learning interventions and longitudinal or bilingual comparisons, while matching exposure and task difficulty. Testing transfer to new samples distinguishes memorized stimulus labels from a changed category rule. Comparing immediate discrimination, delayed recognition, naming and appearance matches identifies whether an effect generalizes across measurement levels. These are proposed strategies rather than invented experimental outcomes. No test based only on verbal descriptions can directly establish equality or inequality of another observer's subjective experience.
The seemingly opposing findings can therefore coexist. Biology and early experience can produce color organization before fluent naming, while learned labels subsequently guide the use of that organization. Color vision does not depend on language for its existence; linguistic resources can nevertheless alter how people attend to, classify, remember and rapidly compare colors under specified conditions.
Pixel format 2026-11-05
A pixel format specifies how stored bits represent a pixel value: its components or table index, the allocation of bits to those components, and the applicable representation conventions. A complete image layout also needs dimensions and row organization, including framebuffer stride. The Linux frame-buffer API separates storage type from color interpretation and describes component offsets and lengths explicitly.[ref]
For an original packed pixel format, place red, green and blue codes in a 16-bit unsigned word , with widths 5, 6 and 5 bits respectively. Declare the red component to occupy bits15–11, green10–5 and blue4–0:
These non-overlapping bit fields specify a particular encoding. Setting gives , or 0xF800 in hexadecimal. Knowing only “16 bits per pixel” would not identify those component positions.
Endianness then controls how the word occupies byte-addressed computer memory. Little-endian storage of 0xF800 gives successive bytes 00 F8; big-endian storage gives F8 00. Reading the little-endian bytes as a big-endian word instead produces 0x00F8. Under the same declared component fields, that decodes to rather than . Bit significance in the word and byte order in memory are separate specifications.
Bit allocation also limits representable component codes: the red and blue fields have 32 levels each, while green has 64. If normalized codes are defined as , and , their respective increments are , and . These are code increments, not a claim that emitted light varies linearly with the stored number. The RGB color model and an appropriate color space supply further interpretation.
Other formats can store an image lookup table index or include an alpha channel for transparency. The frame-buffer documentation likewise distinguishes pseudocolor indices from direct component fields.[ref] Report the actual format alongside dimensions and stride when exchanging pixel buffers.
Premultiplied alpha 2026-11-05
With premultiplied alpha, a stored colour triple already includes its alpha channel multiplier: , where is the corresponding straight alpha colour. The alpha value itself is retained. This is also called associated alpha. For , recover ; at zero alpha the multiplication loses the original colour. PNG uses unassociated samples rather than this convention.[ref]
For an original Linear-light RGB example, red with becomes the stored quadruple . The source-over compositing contribution of this sample is already . Multiplying its first three entries by alpha again would make the red contribution instead of .
Premultiplied alpha also makes a useful linear interpolation example transparent. Let sample A be opaque red, , and sample B be fully transparent blue, . Their premultiplied quadruples are and . Averaging them gives
Placed over black, this contributes . Averaging the straight colour triples and alphas separately would instead give , , contributing over black. That blue contribution came from colour attached to a fully transparent sample. The calculation explains how an interpolation convention can create a coloured fringe.
The multiplication convention and the color space are separate choices. The example uses Linear-light RGB throughout. A file decoder, texture sampler and alpha compositing stage must agree on both the colour encoding and whether the samples use straight alpha or premultiplied alpha.
Straight alpha 2026-11-05
With straight alpha, colour samples are stored independently of their alpha channel value. The same convention is called unassociated alpha. For a normalized colour triple and alpha , the stored pair is ; premultiplied alpha instead stores . The PNG specification requires the unassociated convention.[ref]
For an original Linear-light RGB colour and alpha , the straight-alpha quadruple is . The corresponding premultiplied quadruple is . Both describe the same source contribution when interpreted correctly. Raising alpha to can leave the straight colour triple unchanged, while its premultiplied counterpart must become .
For source-over compositing against an opaque black background, the first sample contributes . The stored straight colour is therefore not already its final contribution. At zero alpha, a straight-alpha representation can retain arbitrary colour components while the source contributes no colour to this operation. Multiplying by zero discards those components.
Unpremultiplication recovers the straight colour by dividing premultiplied colour by alpha when alpha is nonzero. It cannot recover a colour erased at zero alpha, and finite-precision errors become significant near zero. If a premultiplied component has absolute rounding error at most , exact division by a fixed alpha magnifies that bound to . At , a component error can therefore become . These are original error bounds, rather than a measured decoder defect.
The alpha convention and the color space remain separate specifications. For light-linear arithmetic, decode nonlinear colour samples before forming their light contributions. PNG documents both compositing and conversion from associated data, including handling zero alpha.[ref]
YCbCr 2026-11-05
YCbCr represents colour using a luma component and two scaled colour-difference components. It is a family of encodings: the matrix coefficients, numerical ranges and color space must be specified. Recommendation ITU-R BT.709-6 defines one important set of signal and digital-coding conventions.
For its normalized nonlinear RGB signals , define
Here denote normalized colour differences before digital scaling. For nominal eight-bit video codes, the corresponding relationships are
These are the recommendation's signal equations and quantization scales, with nearest-integer rounding applied at the end and half-integers rounded upward.[ref]
For an original red example, gives , and . The rounded code triple is approximately . Neutral gray instead gives , hence neutral colour-difference codes 128 regardless of gray level. An RGB triple cannot simply be copied into the YCbCr component slots.
This conversion alone need not reduce the number of samples. Chroma subsampling separately reduces the spatial sampling of the colour-difference components. NV12 and NV21 additionally specify how those samples occupy computer memory. A colour conversion, a sampling choice and a storage layout therefore describe three different operations.