How DisplayPort Syncs Audio and Video During VRR
DisplayPort maintains precise audio and video synchronization during Variable Refresh Rate (VRR) shifts by decoupling the audio data stream from the video frame timing. Rather than tying audio delivery directly to the active pixel clock, DisplayPort transmits audio within discrete micro-packets over the Main Link, relying on independent clock regeneration parameters and buffering. When VRR dynamically alters frame times by extending vertical blanking intervals, the underlying audio stream continues to be transmitted, buffered, and decoded at a constant rate, preventing pitch shifts, audio stutter, or desynchronization.
Packetized Architecture and Decoupled Clocks
Traditional analog and early digital video standards tied audio clocks directly to the pixel transmission clock. DisplayPort, however, operates on a packetized protocol similar to Ethernet or USB.
The physical Main Link operates at fixed transmission rates (such as RBR, HBR, HBR2, HBR3, or UHBR) regardless of the content's frame rate or resolution. Both video and audio are packetized:
- Video Streams: Encapsulated into data packets and mapped across the active lanes.
- Audio Streams: Encapsulated into Secondary Data Packets (SDPs) and multiplexed alongside video data.
Because the physical link rate is constant, the transmission of audio packets is not directly dependent on how quickly or slowly frames are rendered.
Audio Clock Regeneration (ACR)
To play audio back accurately without drift, the display or audio receiver must reconstruct the original audio sampling frequency (such as 44.1 kHz, 48 kHz, or 96 kHz). DisplayPort achieves this via Audio Clock Regeneration (ACR) architecture using two integer values: M-value (Audio Stream Clock Multiplier) and N-value (Link Clock Divider).
The source device transmits these time-stamp parameters inside the audio packets:
- The source measures the audio clock relative to the constant link symbol clock to determine \(M_{aud}\) and \(N_{aud}\).
- The sink uses a phase-locked loop (PLL) along with these parameters to reconstruct the master audio clock locally.
- Because \(M_{aud}\) and \(N_{aud}\) are calculated against the invariant link clock—and not the variable pixel render rate—the sink's local audio clock remains completely stable.
Managing VRR via Extended Vertical Blanking
Variable Refresh Rate (standardized in DisplayPort as Adaptive-Sync) synchronizes the display’s refresh cycle to the GPU's dynamic rendering speed.
When a GPU takes longer to render a frame:
- The active video scanout lines are sent at a constant line rate.
- The GPU dynamically extends the Vertical Blanking Interval (VBLANK)—the pause between the bottom of one frame and the start of the next—until the next frame is ready.
During this extended VBLANK period, the DisplayPort Main Link does not shut down. The link remains active, transmitting blanking packets and Secondary Data Packets. The GPU continues to insert audio SDPs into the stream at the required intervals, ensuring the audio receiver never experiences data starvation even when the frame rate drops substantially.
Buffer Management and Latency Compensation
To smooth out minor variations in packet delivery caused by dynamic frame transitions, DisplayPort audio receivers employ an internal First-In, First-Out (FIFO) buffer:
- Sustained Decoding: Audio data extracted from SDPs fills the FIFO buffer, which feeds the Digital-to-Analog Converter (DAC) at the precise, reconstructed sample rate.
- Jitter Absorption: Fluctuations in packet transmission timing caused by bursty video data are absorbed by this buffer.
- Lip-Sync Alignment: Modern DisplayPort specifications allow devices to report processing latency over the DisplayPort Configuration Data (DPCD) via the AUX channel. This allows the host operating system or GPU driver to adjust the audio presentation offset relative to dynamic display processing times, keeping dialogue and sound effects synchronized with on-screen action.