HOG Descriptors summarize the local directions in which an image changes. The abbreviation stands for histograms of oriented gradients. A cell collects directional votes from a small region. A block uses a larger neighborhood to normalize the cell histograms before they become part of a feature vector.
A gradient has a direction and a magnitude. The direction tells which way image intensity increases locally, and the magnitude describes how strong that change is. Near a vertical transition from dark on the left to bright on the right, the gradient points roughly right. Thus a vertical edge can contribute to a horizontal gradient direction bin.
The Dalal and Triggs paper estimates gradients from differences between neighboring samples. Its color implementation selects the channel with the strongest gradient at a pixel. That is one documented choice for obtaining a vector before any local orientation votes have been combined.
A cell histogram accumulates contributions by gradient orientation. In the original paper, the contribution is weighted by gradient magnitude. A strong image transition has a larger vote than a weak one. Orientation binning then summarizes a group of directions through a finite set of entries.
The location of the cell remains meaningful even after individual pixel positions have been pooled. Two images might contain similar totals for horizontal and vertical gradients across their whole window. Their descriptors can differ if the transitions appear in different cells. Local pooling preserves a coarse arrangement of structures that one global histogram would lose.

The paper's default rectangular version groups orientations over a half turn. Under that convention, gradients pointing in opposite directions along the same axis are grouped together. An implementation that retains directed orientations distinguishes those two vectors. The selected convention is part of the feature definition.
A block contains multiple neighboring cells. Their histogram entries are considered together to set a normalization factor. This means the size of the entries in one cell is interpreted relative to the amount of gradient response in the block around it.
Consider two corresponding patches whose gradient magnitudes have all been multiplied by the same positive factor. Before normalization, their votes differ by that factor. In ideal norm division, the block norm scales by it as well, so the resulting proportions agree. Real implementations can include a small stabilizer, clipping and another normalization step. The design reduces sensitivity to a local contrast change while keeping differences in the orientation pattern available.
The paper's default example groups four eight-by-eight pixel cells into one sixteen-by-sixteen pixel block. The block advances eight pixels at a time. Adjacent blocks therefore share cells. A shared cell can contribute more than once, each time in the normalization context of the block containing it. The paper also applies a Gaussian spatial weight in its default design, so a pixel's contribution can vary with its position in that block.

For example, a shared cell can lie beside a weak texture on the left and a strong edge on the right. The left and right blocks may therefore have different total responses. For an implementation that first computes one histogram per cell, the same shared histogram then receives two different block normalization factors. This is one reason the block step is a separate parameter from the cell size.
VLFeat documents both a Dalal-Triggs variant and a different HOG variant. Its documentation explains how a cell can participate in multiple neighboring blocks. It also assigns different output arrangements to the variants. A descriptor length therefore carries information about implementation and settings as well as the source image size.
In the original paper, the feature vector is used as the input to a classifier. A robotics vision example can preserve the cell size, block size and step, orientation convention, and variant alongside the model. Those settings say how each entry was produced. A classifier trained on one feature arrangement expects the corresponding arrangement when it evaluates another image.
The paper’s default geometry also gives a useful size check. A window 64 pixels wide and 128 high contains seven block positions across and fifteen down when the block is 16 pixels wide and moves in eight-pixel steps. Four cells per block and nine entries per cell give 36 entries in each block, for 3,780 entries across the window. A different block stride changes the number of entries even when the cell size and the number of orientation bins stay fixed.
The Dalal and Triggs CVPR paper explains the original cell votes and overlapping block normalization. The VLFeat HOG implementation reference describes the local cells, neighboring blocks and variant layouts. See the robot learning section and the technical article directory.