The Asus ROG Swift PG27UQ G-SYNC HDR Monitor Review: Gaming With All The Bells and Whistlesby Nate Oh on October 2, 2018 10:00 AM EST
When DisplayPort 1.4 Isn’t Enough: Chroma Subsampling
One of the key elements that even makes G-Sync HDR monitors possible – and yet still holds them back at the same time – is the amount of bandwidth available between a video card and a monitor. DisplayPort 1.3/1.4 increased this to just shy of 26Gbps of video data, which is a rather significant amount of data to send over a passive, two-meter cable. Still, the combination of high refresh rates, high bit depths, and HDR metadata pushes the bandwidth requirements much higher than DisplayPort 1.4 can handle.
All told, DisplayPort 1.4 was designed with just enough bandwidth to support 3840x2160 at 120Hz with 8bpc color, coming in at 25.81Gbps of 25.92Gbps of bandwidth. Notably, this isn’t enough bandwidth for any higher refresh rates, particularly not 144MHz. Meanwhile when using HDR paired with the P3 color space, where you’ll almost certainly want 10bpc color, there’s only enough bandwidth to drive it at 98Hz.
|DisplayPort 1.1 (HBR1)||10.8Gbps||8.64Gbps|
|DisplayPort 1.2 (HBR2)||21.8Gbps||17.28Gbps|
|DisplayPort 1.3/1.4 (HBR3)||32.4Gbps||25.92Gbps|
As a result, for these first generation of monitors at least, NVIDIA has resorted to a couple of tricks to make a 144Hz 4K monitor work within the confines of current display technologies. Chief among these is support for chroma subsampling.
Chroma subsampling is a term that has become a little better known in the last few years, but the odds are most PC users have never really noticed the technique. In a nutshell, chroma subsampling is a means to reduce the amount of chroma (color) data in an image, allowing images and video data to either be stored in less space or transmitted over constrained links. I’ve seen it referred to compression at some points, and while the concept is indeed similar it’s important to note that chroma subsampling doesn’t try to recover lost color information nor does it even intelligently discard color information, so it’s perhaps thought better as a semi-graceful means of throwing out color data. In any case, the use of chroma subsampling is as old as color television, however its use in anything approaching mainstream monitors is much newer.
So how does chroma subsampling work? To understand chroma subsampling, it’s important to understand the Y'CbCr color space it operates on. As opposed to tried and true (and traditional) RGB – which stores the intensity of each color subpixel in a separate channel – Y'CbCr instead stores luma (light intensity) and chroma (color) separately. While the transformation process is not important, at the end of the day you have one channel of luma (Y) and two channels of color (CbCr), which add up to an image equivalent to RGB.
Chroma subsampling, in turn, is essentially a visual hack on the human visual system. Humans are more sensitive to luma than chroma, so as it goes, some chroma information can be discarded without significantly reducing the quality of an image.
The technique covers a range of different patterns, but by far the most common patterns, in order of image quality, are 4:4:4, 4:2:2:, and 4:2:0. 4:4:4 is a full chroma image, equivalent to RGB. 4:2:2 is a half chroma image that discards half of the horizontal color information, and requires just 66% of the data as 4:4:4/RGB. Finally 4:2:0 is a quarter chroma image, which discards half of the horizontal and half of the vertical color information. In turn it achieves a full 50% reduction in the amount of data required versus 4:4:4/RGB.
Wikipedia: diagram on chroma subsampling
In the PC space, chroma subsampling is primarily used for storage purposes. JPEG employs various modes to save on space, and virtually every video you’ve ever seen, from YouTube to Blu-rays, has been encoded with 4:2:0 chroma. In practice chroma subsampling is bad for text because of the fine detail involved – which is why PCs don’t use it for desktop work – but for images it works remarkably well.
Getting back to the matter of G-Sync then, the same principle applies to bandwidth savings over the DisplayPort connection. If DP 1.4 can only deliver enough bandwidth to get to 98Hz with RGB/4:4:4 subsampling, then going down one level, to 4:2:2, can free up enough bandwidth to reach 144Hz.
Users, in turn, are given a choice between the two options. When using HDR they can either pick to stick with a 98Hz refresh rate and get full 4:4:4 subsampling, or drop to 4:2:2 for 144Hz.
In practice for desktop usage, most users are going to be running without HDR due to Windows’ shaky color management, so the issue is moot and they can run at 120Hz without any colorspace compromises. It’s in games and media playback where HDR will be used, and at that point the quality tradeoffs for 4:2:2 subsampling will be less obvious, or so NVIDIA’s reasoning goes. Adding an extra wrinkle, even on an RTX 2080 Ti few high-fidelity HDR-enabled games will be able to pass 98fps to begin with, so the higher refresh rate isn’t likely to be needed right now. Still, if you want HDR and access to 120Hz+ refresh rates – or SDR and 144Hz for that matter – then there are tradeoffs to be made.
On that note, it’s worth pointing out that to actually go past 120Hz, the current crop of G-Sync HDR monitors require overclocking. This appears to be a limitation of the panel itself; with 4:2:2 subsampling there’s enough bandwidth for 144Hz even with HDR, so it’s not another bandwidth limitation that’s stopping these monitors at 120Hz. Rather the purpose of overclocking is to push the panel above its specifications (something it seems plenty capable of doing), allowing the panel to catch up with the DisplayPort connection to drive the entire device at 144Hz.
Meanwhile on a quick tangent, I know a few people have asked why NVIDIA hasn’t used the VESA’s actual compression technology, Display Stream Compression (DSC). NVIDIA hasn’t officially commented on the matter, and I don’t really expect they will.
However from talking to other sources, DSC had something of a rough birth. The version of the DSC specification used in DP 1.4 lacked support for some features manufacturers wanted like 4:2:0 chroma subsampling, while DP1.4 itself lacked a clear definition of how Forward Error Correction would work with DSC. As a result, manufacturers have been holding off on supporting DSC. To that end, the VESA quietly released the DisplayPort 1.4a specification back in April to resolve the issue, with the latest standard essentially serving as the “production version” of DisplayPort with DSC. As a result, DSC implementation and adoption is just now taking off.
As NVIDIA controls the entire G-Sync HDR ecosystem, they aren’t necessarily reliant on common standards. None the less, if DSC wasn’t in good shape to use in 2016/2017 when G-Sync HDR was being developed, then it’s as good a reason as any that I’ve heard for why we’re not seeing G-Sync HDR using DSC.