 This is my first LGM, both as a speaker and as an attendee, so I'm doubly excited, I guess. OK, so a little introduction first. My name's Chris Murphy. Some time ago, I authored a book called Real World Color Management, and I'm a consultant for photographers, publishers, printing companies, and even a few Fortune 100 companies. I'm going to back up a little bit. If it seems like I'm reading from a script, it's because I am. And the reason why is because I have a tendency to speak really fast, which is not good for the translators. And I also only just got this presentation a few hours ago and started to figure out what it was I was going to say. Richard was very kind that he put together a presentation, but I had to write a script to go with it, because I didn't know what I was going to say about some of the slides that he had included. So I'll go ahead and continue back to my script. So because of the kind of companies that I work for, I have some biases about image quality and user perspectives, in particular when it comes to workflow. So what brings me to free and open source software, since I tend with the companies that I work for, not to use free open source software, is some vague curiosity and eagerness to see some of the users, hopefully, in FOSS, enabled with more of the good and less of the ugly from what Apple, Adobe, and Microsoft have delivered to us. So they've done some good things, but they've also given us some impressive what the fuck moments. No other polite way to put it. So first slide, CRTs, ancient, pretty much dead and gone. An inconvenient truth here is that brightness controls adjust the display black luminance. And the contrast control adjusts display white luminance. So in effect, brightness is blackness, contrast is brightness. A bit inconvenient, I would say. And it becomes even more difficult with the new display technologies, LCDs, so forth, on which these controls are actually emulated. So the brightness control and the contrast control don't work like analog controls on a CRT. So they get emulated by way of a lookup table that's built into the LCD. And that's not to pick. These two slides are not meant to pick on Hewlett-Packard. Just an example of a display that actually does some good things that we like. But the problem is that these lookup tables tend to be proprietary and inaccessible to either developers or users. So it's just a black box. You dial the brightness control or the contrast control and you get a result. And you don't really have a way of altering that. It's a little bit more alterable on a display like a dream color. NEC builds displays that are capable of having their lookup tables adjusted. And so is Azo. So on most any consumer ordinary display, including my laptop, if you're lucky, the brightness setting will only adjust the backlight. But if you have this kind of luck, you've probably engaged in some sort of ritualistic animal sacrifice. It's very uncommon for that to occur. Usually you get all sorts of other weird behaviors, nonlinear behaviors. So this is just an example curve about these lookup tables that go into either the display or when we're working with a consumer display or a laptop display, the way that we have to try to calibrate it, and that's what I'm leading into, is calibration. What happens is the physical behavior of the device is altered in calibration. And the way that we need to do that is through lookup tables in the video card itself on the computer. So by altering the LUT in the video card, we're able to cause an effect on the display. So there's actually a disconnect to make that happen. And I would call that an inconvenient truth. For a number of reasons, if you happen to be a developer of software that manipulates the video card lookup table, you invalidate any profile that's associated with the display. For printers, and this is not a printer session, really. It's more about displays. But I bring it up just to help everybody. Calibration is a little different. Calibration is more process control, such as choosing the same brand of glossy paper. If you use glossy paper, if you don't, you might use something else, but you would need to keep that the same. Printer process control also includes ensuring consistency with print dialogue settings every time you print. This is really painful on all platforms, including simple macOS 10, supposedly. Lots of pain points in print dialogues and getting the settings consistent every time you print. So I've said this word profile a couple of times, so I need to switch to describing what a profile is in contrast to calibration. So a profile, it's related to device characterization. Characterization does not change the behavior of the device. It doesn't say that it's wrong. It doesn't say how to correct for it. It's about measuring and recording the color behavior of a device to correlate the RGB values, the device values, be it RGB or CMYK, to what's called a device-independent color space. In the ICC world, another term I'll bring up here in just a second, the ICC world, the two available color spaces that we have to deal with, that we are allowed to deal with are CIE, XYZ, and something called CIE, L-star, A-star, B-star, yeah, really geek stuff. So the CIE stands for the International Commission on Illumination, the ICC stands for the International Color Consortium. So the ICC, they're the ones that produce a specification for the ICC profile format, and that file format allows us to create these profiles. Profiles enable translation between device values and this device-independent color space that uses values based on human vision. Just random information, CIE, XYZ dates back to experiments done on grade A premium human beings way back in 1931, so this is not exactly new stuff been around for a while. So how's the correlation actually done? That's done through conversions, which requires at least two profiles. You cannot do a conversion with just one, you need to. So on the left, this is just a visual example. On the left are source values, the arrows represent what's in common between the two profiles which would be called the profile connection space, which is either CIE, XYZ or CIE lab, if you really can call it lab color space. In effect, we get a concatenation and a way to translate from one set of device values into another, so that's how you can do conversions between different flavors of RGB from RGB to CMYK, between different flavors of CMYK, and of course there's also N color, so maybe six channels or eight channels for some color spaces or more. So an inconvenient truth here is that if you use two different brands of glossy photo paper, you almost certainly need a profile for both of them because even though it says glossy photo paper on the packaging, if it's two different brands, the chemistry and the coatings are different, so the likelihood is that the behaviors will be very different. This is a little complicated sort of diagram, but some of the terms that come up, I'm not gonna explain the whole thing, some of the terms that come up that are in the description for the session, 5,000 Kelvin, D50, D65, we kind of hear these sorts of things, color temperature, where does that come from? Well, it originates from this diagram, which relates to what are called black body radiators. If you heat up this theoretical black body, if you get it hot, it starts to glow just like a toaster oven. And if you get it hotter, it'll glow red. If you get it hotter, it'll glow yellow. If you get it even hotter and hotter and hotter, it'll eventually glow white, and even hotter it'll glow blue. So that's where color temperature comes from. Temperature core relates to color, physical temperature. So an inconvenient truth is if I have an image that's adapted for D50, the display is calibrated for D50, the viewer is adapted for D50, the image looks okay, maybe it looks good, in fact. But if I display it on a laptop with a display white point of D65, now it looks rather blue, the colors get muted, there's a change in contrast, the bird kinda even looks sad. So an inconvenient truth, this is chromatic adaptation, is what this is called, and it's difficult. It's not obvious when to do it, when to fix this problem. How to fix this problem is sort of well known, but we need information. We don't have often, we don't know if the user is adapted one way or another for D50 or D65. We don't know sometimes things about the image or the display calibration state. If these things aren't known, we don't know exactly what to do, so there can be failure. And this is very common to have this sort of experience. Why does it look blue on this display? Looks good on this display, happens all the time. So this is a spectral power distribution of the D65 Illuminate. I'm not gonna really say anything else, if you look really, really closely, you'll notice that D65 is one of the red points that's not on that curve. The curve is the black body, Spectrum Melocus. That's all that I really wanna say about that. D65 and D6500 aren't exactly the same thing. Those diagrams explain why they're not exactly the same thing. Probably not super, super important to split hairs unless somebody has a question over it. So the next few slides are about gamma, a little conversation on gamma. The technically correct term, actually, I think is easier than explaining gamma. The correct term is Tone Reproduction Curve. So the Tone Reproduction Curve, like from black to white, which is what this slide is about, it's a curve that describes the relationship between input signals and output brightness. Which is a hallmark going back to analog days of our various devices, but still exists today because operating system GUIs are designed with this tone mapping in mind. Our images are encoded with this in mind. Oh, that's really scary, five minutes left. Ah, see, I always go over time. And it's so interesting. So anyway, this has something to do with the fact we don't have displays capable of full scene illuminates. Since they're not bright enough, we have to do tone mapping, which is the reason why we have Tone Reproduction Curves. And so the correct term, Tone Reproduction Curve, it can be defined multiple ways. With a gamma 1.8 function, with a gamma 2.2 function, that's where the gamma comes in, is that it's a mathematical function. So displays could be described with parametric functions. They could be described with the sRGB curve. There are any number of shapes of curves that can correctly describe the Tone Reproduction characteristics of a display. It doesn't have to be a gamma, is what I kind of tend to harp on. I think gamma kind of confuses a lot of people. What are we talking about? So what's an inconvenient truth here? Especially in video, this happens with images too, but particularly with video, it's common to specify or imply an encoded Tone Reproduction Curve. But then the encoder doesn't do that. It doesn't embed the metadata or it doesn't encode using what it should be doing. And then we have various players that will either ignore the metadata, do their own thing. So that's why we get video players that will play the same video and they'll look different. The video itself will look different. That's kind of a nasty mess. Linear or light, I'm going to skip. The viewing box with the shirt. This is, let's see, since I don't have a whole lot of time. Okay, yeah, there aren't too many slides left. This is probably the most important last thing that I'd like to talk about. And there's more that I can give you that you can have the full script if you want. So the ambient viewing conditions are kind of an inconvenient truth because this is very common, especially for designers. Designers love to work near windows. I think a lot of marketing ideas come from just looking out the window and seeing the world go by. So when they don't get to be near windows, the ideas are okay. Not sure where my next idea is coming from. Sort of a joke. But this is actually a big problem because windows cause differences in luminance in the room, because differences in color temperature. And so the user's never adapted. They're always changing. So technically this is disqualifying. And in professional video and traditional print pre-press, a long time ago, before there were people like me and color scientists saying, don't do that, they figured this out on their own. And that was to have gray walls, subdued lighting, very consistent quality controlled environments. So it's kind of a big problem that we don't have actual viewing condition information with a measuring device of some sort, an inexpensive one, say on the display that could measure the ambient and could compensate for some things like this. But it's actually a really difficult problem even if we had such a thing. So I think I'm gonna leave it there and go directly to questions at this point, even though there's more information. Probably boring anyway. So maybe in the questions we can get some more of these slides so we have the best of both worlds. So one question here. Excellent. Do you know it's possible to make a implementation of a blue only for software? Is there an implementation for? For make a control of chroma. Do you know the blue only option that the serility monitor? Sorry, I'm not understanding the... Oh. The chromatic adaptation problem of this thing. This problem? No, no. In video monitors, you can calibrate by only seeing the blue channel. He's asking if that can be simulated in software. I haven't thought about that. Video has lots of problems because the ICC color management is computationally kind of expensive. So only recently has this started to become incorporated into video. Video has its own way of dealing with these sorts of problems. And the least expensive way of dealing with the problem in video has been simply to adjust a curve and hope maybe tell somebody about it or not tell somebody about it. That's so... Yeah, I think so. Certainly all of the tools that are available for video professional video people can now be simulated in software. We have the ability to do that in software, sure. Whether those tools exist is not always clear. That may not be the case. Maybe there's room for development there. You started with a comparison between the commercial world and the tools they provided with the open source, but you didn't say what best practice had been adopted. And one of the things you mentioned was graphics card, high-end graphics cards and high-end monitors. Presumably open source don't have access to those. So specific recommendations on best practices. I would... So there's some caution because there's a continuum here on the right way to do things and then not as good of a way to do things. On the not so good scale, I would put laptops. Laptops are inherently mobile. I don't have a neck brace to keep this angle exactly right with the way that it was calibrated or profiled. So I would say that laptops are... Just forget it. There's no point in calibrating and profiling a laptop. A lot of people do, but I never do myself. Can you calibrate and profile reasonably decent consumer displays? Sure, absolutely. Not a problem. Can you pay a little bit more money and get a much better result? Yes, you can. And those displays are the NEC, PA series displays. The NEC PA series displays. And then there's the small problem, which is actually a big problem. The small problem is it because the APIs are closed for calibrating, actually putting the calibration information into the display. Since that's a proprietary process, the software is only macOS 10 and Windows. So this is something that I've asked NEC for opening up and there could be development if they would open it. Yes. So the nice thing about these particular displays is they on assembly, they're measured with very high and research grade colorimeters and the information is baked into that particular display. So all you need to do is run the software, which you can download for free. It extracts this information from the display, makes the changes that you want for color temperature and brightness and so forth. And it is as good or better than, you don't need to measure it. It's already been measured. So it interpolates from the assembly line measurements. So you don't have to buy a colorimeter or you don't have to buy a measuring device and you just push a button and it does everything. It's very cool. One more question, yeah. That's the last one. It's just a bit more of an addition. I mean, if you splash out on a really high end monitor and a high end video card that do more than eight bits per channel, then yes, you can use free software with that and use the full range of values of those monitors. Krita has been supporting that for some years now. It's a good, yeah, it's a fair point. So there is a way with better video cards with higher bit depth for that lookup table so that there's less quantization going to the display. So that's a possibility for a decent calibration and then also doing all of the color conversions within software and those can be done, well, they can be done very high quality, 32-bit float is commonplace now. So if you get the right conversion at the right precision level and the right eight bits for even an eight-bit display, you can get a very good result. Okay, thank you very much, Chris.