Color Rendering & Android: Why All OEMs Must Offer an sRGB Mode
The display qualities of a device were probably some of our most hot-button issues during the past couple of months. Hardware display variances like light bleed and dead or inactive pixels are common discussions. However, it has not been until recently that the deeper qualities of a display have been so largely discussed, in part due to a phone release.
As many discussions in our community, OnePlus has brought these to the forefront with the inaccuracies presented in the shipping firmware of the OnePlus 3. Sure, there were complaints about the overly saturated default colors on every Samsung device, but outside of that it is a largely quiet discussion, even when many other screens are saturated, and other manufacturers like LG also use other color space targets. Other than those who visit in-depth review sites, few actually talk about or care about things like grayscale accuracy or saturation accuracy. But display accuracy is something we should all know or care about, and even if we think our particular device looks fine the way it is, we should all attempt to understand what’s going on and even argue for more choice.
To get started let’s cover some basics. sRGB (BT.709) is a term that if you have been following the OnePlus 3 news even remotely closely you are familiar with. But what is it, exactly? sRGB is a color space within the RGB color space. The RGB color space is essentially all colors that can be created from Red, Green, and Blue colors, a very wide gamut. sRGB resides within that space and is the most common color space used in production today which is why sRGB is traditionally the color space you will want your mobile device to be tuned to. There are a number of other color spaces. Adobe RGB is one of the other mainstream ones used by professionals. Adobe RGB has a number of advantages over sRGB in its ability to reproduce lifelike colors with increased range in the blue and green colors. However, it is not used widely outside of specialty print shops and designers, meaning that if you were to create something using the Adobe RGB color space it would lose many of its attributes when being viewed on a device calibrated to sRGB.
So why use sRGB in the first place if better alternatives exist? The reason for using sRGB is simply that in the past devices had a hard time displaying larger color gamuts properly and with enough brightness making these other standards difficult to keep going accurately. Another RGB color space is NTSC (BT.409), but NTSC has never been widely used and makes OnePlus’s decision to calibrate to this standard an odd one. Finally we have a newer standard coming up, a wide gamut, called UHD (BT.2020) which is what new 4K TV’s are going to ship with that allows for enhancements like HDR video. We have all seen the 4K TV advertisements in stores and how hard they are pushing HDR video content, BT.2020 is part of what makes that possible and keeps it accurate. BT.2020 is also utilized in DCI-P3 (which LG chose in some smartphones like the LG G5) which is what digital movies are being calibrated to and Apple is making a move towards starting with the iPad Pro 9.7”; these profiles are far wider than sRGB and appears to be the standard going forward.
So if displays are better now than they were in the past, and handling wider gamuts is possible on most devices why do we push for sRGB so hard? Being tuned to sRGB has little to do with being “correct” in absolute terms since all color spaces are within the RGB color space, instead tuning your device to sRGB is the right thing to do at this time on Android because Android cannot understand anything else. Yes, the problem lies in Android, and is one that is not slated to be fixed in Nougat so it could be a long time for a fix. As pointed out in Anandtech’s update to their OnePlus 3 review, Android has NO system level color management. Why is this important? Proper color management means that it will detect the content and send that information to the display. If the information is sent to the display properly, it will accurately show sRGB content within the BT.2020 color space. When a display is calibrated to a wider gamut like Adobe RGB, NTSC, or BT.2020 and system sends relatively untagged color data to it the result is the display showing content colors conformed to its color space, thus displaying them inaccurately.
To relate it to something we might have familiarity with, remember the old Windows days when a monitor resolution was not fully supported and all content on the screen was stretched? A similar principle applies here, except with colors. Even if a display’s color gamut is superior and can accurately display these colors, it is simply incapable of displaying accurate colors because the source material is unidentifiable and is therefore stretched or changed to meet its profile.
This is why sRGB calibration matters so much for Android devices. While the sRGB color space and BT.709 are an antiquated standard that is being replaced, Android displays MUST conform to the profile, or allow a choice. Samsung devices have done this for years. The Adaptive color setting is a wide gamut (think BT.2020 or similar), Photo AMOLED is Adobe RGB, and Basic is sRGB. When you say that Samsung phones have overly saturated unrealistic colors it is not that the display itself is inferior or calibrated improperly, it’s that Android just doesn’t know how to use all that extra gamut. This is where OnePlus dropped the ball, and what Carl Pei failed to understand. sRGB is not “niche”, it is the only thing your phone can properly display because it is what almost all content is calibrated to. By calibrating the OnePlus 3 to NTSC they failed to realize that instead of increasing its gamut, it just corrupted the proper colors.
Color is highly subjective and is why this has been such a hot button issue. Just like Beats Audio headphones are terribly calibrated but high sellers, so to there are large populations who enjoy a wider gamut on Android, despite its inaccuracies. While “it looks fine” is subjective, displays that are not calibrated to sRGB are inaccurate because Android does not know that color profiles and color management even exist. It is not “fine”: on Android calibrating your display to anything but sRGB is showing the wrong colors most of the time, like it or not.
However, some people like the overly saturated colors, or a bluer display, and this is where choice comes in and why ALL manufacturers should offer sRGB as a color setting for their display. The Nexus 6P offers it, HTC offers it on the A9 and 10, OnePlus now offers it on the 3 and Samsung has offered it for years. It’s true that many people are fine with an inaccurate display, there is a big portion who may want or need to see things the way they are intended or just want accuracy, and Android OEM’s should cater to this crowd, not because it is a niche, but because it is the only way to get the proper experience from your device.