idea
Layers
Layers are a mechanism allowing "scalability" of HEVC at decode time. Each frame has layers, where the base layer encodes the base image, and each layers codes only the difference from the base, improves it, allowing the decoder to selectively decode more or less of the video based on configuration, needs, and capacity.
Scalable HEVC / SHVC:
- Spatial refinement: base layer has low res, e.g 720p, then a layer for 1080p, then one for 4k
- Quality: base - low bitrate, then layers have higher bitrate with same res.
Multiview HEVC:
- Each layer is a camera view. Base layer = left eye, enhancement layer = right eye. Allows stereo 3d or mutiview/free viewpoint.
Layered HEVC is often stored as several tracks in MP4/MOV: a base track (hvc1/hev1[1]) and separate enhancement track (lhv1/lhe1)
Temporal Sublayers
Sublayers in h265 are temporal layers that allow a video stream to be played at a lower framerate by selectively dropping frames. This creates a set of "layers" where:
- The base layer, with
temporalId = 0is the set of frames that allow the lowest framerate. They are self contained: only reference frames with temporalId = 0 - Higher sublayers allow higher framerate, and may reference layers with lower or same temporalId.
A 60fps stream might be layered as:
- TemporalId 0: 15fps
- TemporalId 1: 30fps (note: to play 30fps you'd need to play frames of layer 0 and 1)
- TemporalId 2: 60fps
Links
Layers are described in VFS.