MGS

Medium Grain Scalability

Services
Introduced in Rel-10
A video coding scalability technique defined in the SVC (Scalable Video Coding) extension of H.264/AVC. It allows a video stream to be decoded at different quality levels by selectively discarding groups of transform coefficients, providing a balance between flexibility and coding efficiency.

Description

Medium Grain Scalability (MGS) is a specific method of achieving quality scalability within the Scalable Video Coding (SVC) framework, which is an extension of the H.264/AVC video compression standard. In scalable video coding, a single encoded bitstream contains a base layer and one or more enhancement layers. The base layer provides the lowest quality representation, and enhancement layers incrementally improve the quality, resolution (spatial), or frame rate (temporal). MGS operates within the quality (SNR) scalability domain.

Technically, MGS works by partitioning the transform coefficient data of enhancement layer pictures into multiple Network Abstraction Layer (NAL) units. These NAL units, often corresponding to specific frequency bands or priority levels, can be selectively discarded by a media-aware network element (like an RAN or a video optimizer) or by the client based on available bandwidth. Unlike Fine Grain Scalability (FGS), which allows truncation at a very fine bit level, MGS operates on coarser "chunks" of data—typically at the granularity of NAL units. This provides a practical middle ground, offering more flexibility than the coarse CGS (Coarse Grain Scalability), where entire enhancement layers must be kept or dropped, but with lower complexity and better coding efficiency than FGS.

In a 3GPP context, MGS is specified for use in multimedia broadcast/multicast services (eMBMS) and adaptive HTTP streaming (e.g., DASH). The network can adapt the video quality delivered to a user or a group of users by dynamically adding or removing these MGS NAL units from the transmitted stream based on real-time radio conditions and congestion. This enables smooth quality transitions without requiring the client to switch between entirely different pre-encoded video files, reducing storage requirements on servers and providing a more seamless user experience during bandwidth fluctuations. The specification details how MGS layers are structured, signaled, and processed to ensure interoperability between encoders, network elements, and decoders.

Purpose & Motivation

MGS was developed to address the need for efficient and flexible video quality adaptation in error-prone and bandwidth-varying networks, such as mobile networks. Prior to scalable coding, adaptation required storing multiple independent copies (representations) of the same video at different bitrates, which was storage-inefficient and could cause noticeable quality jumps (and buffering) when switching between them. The SVC framework, and MGS within it, aimed to create a single, layered bitstream that could be easily adapted.

The motivation for MGS specifically was to find a better trade-off point. CGS was simple but too rigid, as it required dropping entire enhancement layers, leading to large quality steps. FGS was extremely flexible but suffered from significant coding efficiency loss (higher bitrate for the same quality) and high computational complexity. MGS was introduced as a compromise, providing multiple intermediate quality steps (more than CGS) while maintaining coding efficiency much closer to that of single-layer (non-scalable) coding. This made it a technically and economically viable option for mobile streaming and broadcast services where network conditions are dynamic and heterogeneous across users.

Key Features

  • Provides quality (SNR) scalability within the H.264/SVC standard
  • Partitions enhancement layer data into selectively discardable NAL units
  • Offers a granularity between Coarse Grain (CGS) and Fine Grain Scalability (FGS)
  • Enables network-based or client-based bitstream adaptation without full transcoding
  • Improves coding efficiency compared to FGS while maintaining adaptation flexibility
  • Specified for use in 3GPP eMBMS and adaptive streaming services

Evolution Across Releases

Rel-10 Initial

Introduced in 3GPP Release 10 as part of the enhanced specifications for Multimedia Broadcast Multicast Service (eMBMS). MGS was defined as a supported scalability mode within the SVC codec profile for eMBMS, enabling more efficient and flexible video delivery to multiple users with varying channel conditions from a single encoded source.

Defining Specifications

SpecificationTitle
TS 26.904 3GPP TS 26.904