Handling desaturation

Pixelmator 3.5.8 handles desaturation differently than Adobe Photoshop 25.6. Within PS, there’s the option of handling color with either the Adobe ACE Engine or Apple CMM Engine, whereas Pixelmator relies only on Apple CMM. Fortunately, switching between engines in Photoshop does not affect output.

The example below shows blocks of pure Red, Green and Blue on the bottom half and completely desaturated versions of them on the top half. With Photoshop, desaturating concludes with a middle grey value of 127 in the 8-bit sRGB color space and gamma.

Photoshop: Adobe ACE Engine & Apple CMM Engine

Oddly, Pixelmator desaturates each R, G, B square to a different middle grey value. Perhaps a fluke or perhaps to mimic the response our cones have to each wavelength - there’s no written evidence either way.

Pixelmator: Apple CMM Engine (presumably, since the application also relies on the Apple RAW engine.)

YouTube AV1 update March 2024

Official support for AV1 is now available on youtube.com —> Settings —> Playback and performance --> AV1 Settings. ‘Always prefer AV1’ is only recommended for chips with AV1 Hardware accelerated decode including:

  • Apple M3 and A17 Pro (iPhone 15 Pro)
  • Samsung Galaxy S24 (Exynos 2400)
  • Pixel 8 (Tensor G3)
  • Intel Core Ulta, Core 14th Gen
  • AMD Ryzen 7

With the exception of AVC/HEVC 5K resolution when the iMac 5K was released, YouTube only supported up to 4K HDR in Safari under macOS, limiting 8K HDR to AV1 within Chrome. Now, up to 8K60 HDR AV1 is hardware accelerated with Apple M3 and takes virtually no toll on battery life or CPU usage.

RAW Engine Noise Reduction

RAW photos are as the name implies, an unprocessed form of an image at its most primary. Since these files need an engine to create a visible rasterized photo, you can imagine that just as there are many different photo editing Apps (Photoshop, Pixelmator, Lightroom etc…) there are many different RAW engines. This study will focus primarily on the handling of noise.

Right off the bat we see how drastically each RAW engine handles the same file. Capture One and Affinity Photo have their own custom built RAW engines that allow completely turning off both Luma and Chroma Noise Reduction while the built-in macOS RAW engine (which Pixelmator Pro also uses) has a preset amount reduction that cannot be modified.

Capture One: heavy grain and random speckles of different colors prove that no Luma or Chroma Noise Reduction is being applied. *Note: by default a small amount of Luma and Chroma noise reduction is applied but was disabled specifically for this test.

macOS Preview: The built-in Preview App applies strong Chrominance reduction as seen by the complete continuity of green across the leaf without dotes of variously colored noise, while Luminance reduction is about medium considering a grainy pattern is still thankfully visible.

macOS Quick Look: When you click on an image and tap space bar an enlarged window of the photo shows up; this is what Apple calls Quick Look. You would think this would be the exact same processing as the macOS Preview App but clearly that's not the case. The Apple development team has decided that customers want a squeaky clean image completely void of noise, which makes sense from a compression standpoint because file size is kept at bay but at the complete loss of any and all texture. The 1/3 stop less of exposure (darker image) could also be a tactic to keep noise down or simply a processing setting inconcetsincy.

Conclusion

Complete noise control of a RAW still image can only be had through a custom built RAW engine such as Capture One, Adobe Camera RAW or Affinity Photo.

Extended ISO

The following examples refer to the results of examining the behavior of still photos of the Nikon Z6 (Firmware 3.6) at 14-bit uncompressed RAW 6048 x 4024 developed in Capture One 16.3.2.32 and RawDigger 1.4.7 on macOS Sonoma 14.1.2.


Highlight Recovery

To achieve the same light quantity, shutter speed was adjusted accordingly by half step increments. Looking at highlights outside the window, we can see ISO 400, 200 and 100 preserve the same amount of detail when pulling down exposure by 4 stops in Capture One. Extended ISO 50 ‘Lo 2.0’ shows clipping at around 1 stop earlier as seen in the lower right hand image, cutting a significant amount of dynamic range.

Note the lack of detail blown out around the house roofs, not simply the lower white point.

It would be easy to conclude now that Extended ISO has no benefit, but we must now consider noise levels in the shadows.

Shadow Recovery

First we must completely disable Sharpening, Noise Reduction and Lens Correction in Capture One to achieve an unaltered RAW file (Base Characteristics must be applied; the Nikon Z6 ProStandard ICC Profile and Film Standard Curve were chosen).

After rising exposure by 4 stops the shadow noise difference between Extended ISO 50 and even ISO 100 is significant.

Conclusion

1) Pushing and pulling an image by + /- 4 EV is not practical in real world terms and a photo is generally considered incorrectly exposed if such edits are necessary, therefor these examples are issued more to illustrate a point. That said, also in the real world are times where a client enjoys a photo even though it’s rather under/overexposed and you must do whatever it takes to recover it because the scene content itself is captivating. In these scenarios you’ll take every bit of dynamic range / low noise headroom as one can get.

2) Images are not viewed at 400% zoom, so even though noise levels seem significant at these magnified levels, they are all but indistinguishable from each other while viewing scrolling through your phone at 100%.

3) Go take a meaningful photo.

24p, 30p and 60p content in a 120fps file

Issue: All but recent televisions in North America refresh at a maximum rate of 60 frames per second. This is not an issue for 30fps content because each frame is multiplied by 2 and 60fps content is of course already native. But what about 24? 60 is not evenly divisible by 24, so frames are unevenly displayed creating a faint but noticeable stuttering artifact.

Artistic view: Each frame rate has its place. 24fps is aesthetically linked to modern day cinema, with many arguing that the lack of information per seconds allows our mind to fill in the blanks and immerse ourselves deeper in the story. 60fps is smooth and lifelike, perfect for sports and news broadcasts where we want to as if we were standing in the stadium with the players. And 30fps often being used when a device can't display 60fps due to processor or bandwidth restraints. 120fps being a further twice as smooth as 60fps, or in other words that much more faithful to real life.

120fps file: DaVinci Resolve 18.5.1 (though not Final Cut Pro 10.6.8) supports the editing and export of 119.88 [fractional] and 120fps files. For the Apple ecosystem we have ProMotion 120Hz Displays in the iPhone 14 Pro, MacBook Pro 14/16” M1/2 and iPad Pro M1/2. Note - though macOS Sonoma and iOS 17 can in theory play 120fps video at native 120Hz, by default they both playback in slow motion because most if not all 120/240fps records are stylistically used for slow motion. YouTube as well has a maximum playback rate of 60Hz (not including playing at 2x which is not the effect we’re after).

Solution: Many new 4K televisions as well as the Apple devices mentioned refresh at 120Hz, which is evenly divisible by 24, 30 and 60. These equal divisions allow for the possibility of multiple frame rates within one file to play correctly without unevenly dropping or multiplying frames.

Why? Top Gear (original UK version) is the only show I’m aware of that created two different looks within one file: Using MBAFF a smooth 1080i50 (BBC is PAL 25/50fps) for the hangar interview scenes so the television audience can feel like they’re live in the studio. And 1080i25 for a more cinematic look during the movie segments. The result were incredible and now in 2023 we have the potential for 4K HDR to weave between 24p and 120p footage seamless if we choose to code our applications to do so. Additionally, HEVC and AV1 codecs are intelligent enough with B-Frames to tell an encoder to simply repeat a frame multiple times using markers instead of treating each as a different frame, savings 5x the space versus an intra-frame system.