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 Bandwidth
Standard Raw Effective
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.

From G-Sync Variable Refresh To G-Sync HDR Gaming Experience The (Asus) G-Sync HDR Experience: Premium Panel for Premium Price
Comments Locked


View All Comments

  • crimsonson - Tuesday, October 2, 2018 - link

    Someone can correct me, but AFAIK there are no native 10 bit RGB support in games. 10-bit panel would at least improve its HDR capabilities.
  • FreckledTrout - Tuesday, October 2, 2018 - link

    The games that say they are HDR should be using 10-bit color as well.
  • a5cent - Wednesday, October 3, 2018 - link

    Any game that supports HDR uses 10 bpp natively. In fact, many games use 10 bpp internally even if they don't support HDR officially.

    That's why a HDR monitor must support the HDR10 video signal (that's the only way to get the 10 bpp frame from the GPU to the monitor).

    OTOH, a 10 bit panel for gaming typically won't provide a perceptible improvement. In practice, 8bit+FRC is just as good. IMHO it's only for editing HDR still imagery where real 10bit panels provide benefits.
  • GreenReaper - Thursday, October 4, 2018 - link

    I have to wonder if 8-bit+FRC makes sense on the client side for niche situations like this, where the bandwidth is insufficient to have full resolution *and* colour depth *and* refresh rate at once?

    You run the risk of banding or flicker, but frankly that's similar for display FRC, and I imagine if the screen was aware of what was happening it might be able to smooth it out. It'd essentially improve the refresh rate of the at the expense of some precise accuracy. Which some gamers might well be willing to take. Of course that's all moot if the card can't even play the game at the target refresh rate.
  • GreenReaper - Thursday, October 4, 2018 - link

    By client, of course, I mean card - it would send an 8-bit signal within the HDR colour gamut and the result would be a frequency-interpolated output hopefully similar to that possible now - but by restricting at the graphics card end you use less bandwidth, and hopefully it doesn't take too much power.
  • a5cent - Thursday, October 4, 2018 - link

    "I have to wonder if 8-bit+FRC makes sense on the client side for niche situations like this"

    It's an interesting idea, but I don't think it can work.

    The core problem is that the monitor then has no way of knowing if in such an FRC'ed image, a bright pixel next to a darker pixel correctly describes the desired content, or if it's just an FRC artifact.

    Two neighboring pixels of varying luminance affect everything from how to control the individual LEDs in a FALD backlight, to when and how strongly to overdrive pixels to reduce motion blur. You can't do these things in the same way (or at all) if the luminance delta is merely an FRC artifact.

    As a result, the GPU would have to control everything that is currently handled by the monitor's controller + firmware, because only it has access to the original 10 bpp image. That would be counter productive, because then you'd also have to transport all the signaling information (for the monitor's backlighting and pixels) from the GPU to the monitor, which would require far more bandwidth than the 2 bpp you set out to save 😕

    What you're thinking about is essentially a compression scheme to save bandwidth. Even if it did work, employing FRC in this way is lossy and nets you, at best, a 20% bandwidth reduction.

    However, the DP1.4(a) standard already defines a compression scheme. DSC is lossless and nets you about 30%.That would be the way to do what you're thinking of.

    Particularly 4k DP1.4 gaming monitors are in dire need of this. That nVidia and Acer/Asus would implement chroma subsampling 4:2:2 (which is also a lossy compression scheme) rather than DSC is shameful. 😳

    I wonder if nVidia's newest $500+ g-sync module is even capable of DSC. I suspect it is not.
  • Zoolook - Friday, October 5, 2018 - link

    DSC is not lossless, it's "visually lossless", which means that most of the time you shouldn't percieve a difference compared to an uncompressed stream.
    I'll reserve my judgement until I see some implementations.
  • Impulses - Tuesday, October 2, 2018 - link

    That Asus PA32UC wouldn't get you G-Sync or refresh rates over 60Hz and it's still $975 tho... It sucks that the display market is so fractured and people who use their PCs for gaming as well as content creation can't get anything approaching perfect or even ideal at times.

    There's a few 4K 32" displays with G-Sync or Freesync but they don't go past 60-95Hz AFAIK and then you don't get HDR, it's all a compromise, and has been for years due to competing adaptive sync standards, lagging connection standards, a lagging GPU market, etc etc.
  • TristanSDX - Tuesday, October 2, 2018 - link

    Soon there will be new PG27UC, with mini led backlight (10000 diodes vs 384) and with DSC
  • DanNeely - Tuesday, October 2, 2018 - link

    Eventually, but not soon. AUO is the only panel company working on 4k/high refresh/HDR; and they don't have anything with more dimming zones on their public road map (which is nominally about a year out for their production, add a few months to it for monitors makers to package them and get them to retail up once they start volume production of panels).

Log in

Don't have an account? Sign up now