Appearance
VHS
VHS is a stylized tape treatment built from luma/chroma filtering, noise, color delay and row motion.
Hollow Knight


Signal path
The four stages process the picture in this order:
text
presented RGB
→ input filtering and carrier-encoded signal
→ demodulation, luma reconstruction and signal disturbances
→ tape-style bandwidth, color delay and row motion
→ output chroma filtering and RGB conversion
→ optional presentationThe tape stage receives decoded Y/I/Q; the output stage then filters chroma from the completed tape image.
VHS separates a weighted RGB brightness channel, Y, from signed color-difference channels, I and Q.
Here the carrier remains
Input filtering gives Y and chroma different horizontal responses. The encoder then combines them into a scalar composite-like signal using a four-position carrier. Before row/frame phase offsets, its I/Q pairs repeat:
text
position I Q
0 1 0
1 0 1
2 −1 0
3 0 −1Frame parity and pairs of rows offset that phase. The decoder follows the same rule to recover luma and chroma from neighboring samples.
Floating-point storage keeps negative chroma and values outside the display range intact between stages.
Brightness edges and color edges take different routes
Demodulation uses horizontal neighborhoods. Luma receives smear and a limited ringing contribution from nearby values. Individual noise terms affect Y, I and Q, while a small row/frame-dependent rotation changes chroma phase.
The tape stage further limits luma and chroma bandwidth independently. It samples chroma from a horizontally delayed position, so a color boundary can trail the corresponding brightness edge. Luma compensation and sharpening preserve some definition without restoring information already removed by filtering.
VHS measures filter distances in output pixels, so output size and later resampling can change its appearance.


Output filtering and RGB conversion
The final stage filters I and Q horizontally with different weights and samples chroma at a fractional vertical offset, then converts Y/I/Q back to RGB and clamps the result to the display range. The output blur applies to chroma only.
Noise, motion and timing
VHS can move even over a stationary input. Row-dependent displacement and frame-dependent disturbances give it tape-like instability.
Localized motion
The input stage adds horizontal displacement near the bottom of the sampled picture. A head-switching-style region has its own shift and jitter; a tracking region introduces row-dependent waviness, noise and intermittent snow. Their influence is localized.
Later, the tape stage applies a smoother horizontal edge wave that varies with row and frame. Chroma delay remains a separate spatial displacement, and rare row-level chroma loss can remove color without deleting that row's luma.
Noise has a signal domain
Some noise enters the encoded scalar signal before demodulation. Other noise is added separately to decoded luma and chroma. Small chroma-phase changes rotate I/Q. Subsequent filtering and reconstruction shape how each disturbance reaches the displayed image.
VHS evolves these effects by frame index without retaining image history. LCD's Ghosting instead samples preceding pristine frames.
Presentation cadence affects how quickly frame-indexed effects appear to move.
Presentation
VHS shares CRT’s Curved and Curved + Bezel presentations, while skipping its beam and mask stages. Curvature bends the completed VHS picture; Bezel adds the housing. Optional Reflection lights that housing from the treated image through additional filtering passes.
No pixel-grid prerequisite
VHS's filters, carrier and disturbances use the presented sampling raster. Detect Grid and Manual dimensions are unnecessary. Virtual Resolution is available to CRT and LCD only.