Video Compression Artifacts
Video compression artifacts are visible changes introduced when coding compromises cannot preserve the source's intended appearance.
A moving fabric texture becomes smooth, an edge gains faint ripples, or a dark sky breaks into steps. Compression artifacts are the visible effects of reconstruction decisions that failed to retain an important part of the source's appearance.
Different appearances come from different relationships inside the picture.
Boundaries between coded regions
Block-based coding gives neighboring regions their own predictions and corrections. If quantization simplifies them differently, their reconstructed edge values may disagree.
A smooth surface can then acquire a rectangular boundary that was not in the source. In-loop deblocking can address selected discontinuities, but the reconstructed representation still reflects how the regions were coded.
The visible block size need not equal one fixed macroblock size: partitioning, motion, filtering and error propagation can produce larger or less regular patches.
Patterns around a sharp edge
A sharp transition needs a combination of spatial patterns to represent it. Transform coding describes those patterns with coefficients. Coarsening or dropping coefficients changes their balance when the block is reconstructed.
The edge can soften or gain small alternating ripples around it, often called ringing. Similar appearances can also arise from scaling or sharpening filters, so compare where the ripple first appears in the processing path.
This is more informative than treating every halo as proof that a particular codec was selected.
Why a smooth gradient becomes banded
Use a simple scalar quantizer that rounds to multiples of four:
| Source values | 100 | 101 | 102 | 103 | 104 | 105 | 106 | 107 |
|---|---|---|---|---|---|---|---|---|
| Rounded values | 100 | 100 | 104 | 104 | 104 | 104 | 108 | 108 |
The source advances one unit at a time. The reconstructed array repeats a few levels and jumps between them. Spread such repeated values over a visible gradient and the smooth transition can appear as bands.
Original rounding example with half-step ties upward. Real video transforms and sample processing introduce their own region and precision behavior.
Limited source precision or a later display conversion can also create stepped gradients. The calculation demonstrates the loss of distinct levels; locating the responsible stage determines which operation can change it.
Texture can change in time
Fine detail and grain need many changing correction values. A constrained encoder can simplify them, making a region smoother. When the allocation or prediction changes in later pictures, the amount of retained texture can change too.
A surface may then shimmer, pulse, or briefly become sharper at certain picture boundaries. A still frame does not reveal that temporal inconsistency.
| Observation | Relationship worth inspecting |
|---|---|
| Rectangular surface changes | Region reconstruction and boundaries |
| Edge ripples | Transform approximation and later filters |
| Soft detail | Retained high-frequency patterns |
| Pulsing texture | Picture-to-picture allocation or prediction |
| Stepped shading | Available sample/reconstruction levels |
Find the first changed representation
For an Emby conversion, compare the selected source with the delivered result at the same picture time and presentation scale. If the source already contains the defect, the output is working from that reconstruction. If it appears only in the new stream, examine that encode and any preceding processing.
Then view the passage in motion. Grain consistency, flickering outlines and movement-specific breakup can be missed by paused comparisons.
A controlled second encode with more available precision or data can test whether the new coding compromise caused the change. A filter can instead conceal it by removing or modifying detail; that is another picture operation, not recovery of the original coefficients.
The comparison identifies the actual transformation to improve, while generation lineage identifies which earlier source information is still available.
See Also
- Video Quantization Parameter (QP)
- Video Bitrate
- Film Grain in Compressed Video
- Video Generation Loss