# Summary of S4-260246: Media over QUIC for Real-Time Communication

## Document Overview

This contribution proposes additions to 3GPP TR 26.836 v0.0.1 (Study on QUIC-based media delivery for real-time communication and services) focusing on the Media over QUIC (MoQ) transport protocol. The document provides a comprehensive technical description of MoQ, its features, benefits, and limitations for real-time communication services.

## Main Technical Contributions

### Reference Updates

The CR adds three new normative references to IETF drafts:
- **draft-ietf-moq-transport-16**: "Media over QUIC Transport" - defines the core MOQT protocol
- **draft-ietf-moq-msf-00**: "MOQT Streaming Format" - specifies streaming format mappings
- **draft-ietf-moq-loc-01**: "Low Overhead Media Container" - defines container format with minimal overhead

### Protocol Introduction and Architecture

**Core Protocol Description:**
- MOQT is defined as a family of protocols for transporting real-time media (audio, video, synchronized data) over QUIC
- Uses publisher/subscriber communication model
- Supports optional relay-based distribution mechanisms
- Can operate over native QUIC or WebTransport over QUIC
- Designed for low-latency media delivery and scalable real-time communication

**Protocol Stack:**
- Includes illustration of MOQT protocol stack showing layered architecture

**Streaming Formats:**
- **MSF (MOQT Streaming Format)**: Segment-based format for interoperable low-latency streaming (previously known as WARP)
- **LOC (Low Overhead Media Container)**: Aligned with WebCodecs for minimal overhead

### Core Features

**Transport Layer Features:**
- **Publish/Subscribe Model**: Producers publish media data; consumers (clients/relays) subscribe to specific "Tracks"
- **QUIC Integration**: Leverages QUIC streams for reliable, ordered delivery (avoiding head-of-line blocking) and datagrams for loss-tolerant scenarios

**MSF Format Features:**
- **Hierarchical Data Model**: 
  - Tracks: Sequence of groups
  - Groups: Temporal sequences acting as independent join points
  - Objects: Basic addressable units
  - Subgroups: Manage decoding dependencies on single stream

- **Catalogs**: Specialized track containing metadata about available tracks, codecs, and initialization data; enables content discovery and selection via Common Catalog Format

- **Prioritization and Fetching**: 
  - Fine-grained control over object transmission
  - Subscriber and publisher priorities for resource contention management
  - Support for reliable bidirectional/unidirectional streams and unreliable datagrams
  - Object prioritization and cancellation of obsolete objects (e.g., late video frames)

- **Scalability with MoQ Relays**: 
  - CDN-like functionality
  - Cache, deduplicate, and route content based on track names
  - Media payload remains opaque and potentially encrypted

### Benefits for Real-Time Communication

**Low Latency and Congestion Control:**
- Minimal latency delivery leveraging QUIC's rapid congestion detection and response
- Reduced connection establishment latency (0-RTT / 1-RTT)
- No head-of-line blocking across independent streams
- Ability to discard outdated media objects

**Scalability:**
- Massive scaling through relays
- Relays aggregate multiple subscriptions for same content into single upstream request
- Reduces load on original publisher

**Convergence:**
- Single transport protocol for both media contribution and distribution
- Reduces need for protocol conversion or media repackaging at intermediate nodes

**Web Compatibility:**
- Native browser support via WebTransport without custom plugins
- Facilitates convergence between real-time media communication and web-based service platforms

**Delivery Flexibility:**
- Choice between reliable stream-based or unreliable datagram-based delivery within same session
- Selection based on content nature and latency requirements

**QoS Configuration:**
- Different QoS configurations possible
- Example: QUIC stream priorities for I-frames versus B-frames

**Built-in Security:**
- Mandatory encryption based on TLS 1.3
- No support for unsecured modes
- Simplified security model compared to RTP/SRTP-based solutions

### Limitations

**Out-of-Band Discovery:**
- Initial discovery of servers and specific Track Namespaces handled outside protocol
- Mechanisms exist for track discovery once session is established

**Congestion Control Complexity:**
- Latency performance depends on congestion control algorithm used
- Certain congestion control behaviors may introduce latency under specific network conditions
- Requires careful selection or tuning for real-time services

### Current Applications and Implementations

**MOQtail:**
- Implementation in Rust and TypeScript
- Provides libraries for publisher, subscriber, and relay components
- Features media application demos using LOC and CMSF formats
- GitHub: https://github.com/moqtail/moqtail

**moq-encoder-player:**
- Facebook Experimental implementation
- GitHub: https://github.com/facebookexperimental/moq-encoder-player

**Cloudflare MoQ Service:**
- Cloudflare's implementation of MoQ protocol
- Deployed MoQ Relay Network (MRN) on Cloudflare infrastructure
- Provides large-scale media streaming using MoQ
- Reference: https://blog.cloudflare.com/moq/