Z7 PDAF banding technical discussion

Started Oct 18, 2018 | Discussions thread
Horshack Veteran Member • Posts: 9,795
Working theory

Here's my first working theory based on hunches and the evidence collected thus far.

The striping is the result of active logic to avoid PDAF reflective banding from the metal masks, as occurs on Sony sensors. Lighting and contrast is being evaluated through some yet-unknown algorithm, and if the result of the algorithm says striping is possible the logic is applying a kernel to the pixels surrounding the PDAF pixels to offset presumed reflections off the PDAF pixels' metal masks.

There is a threshold at which the logic either applies or doesn't apply the anti-striping kernel. I have a controlled setup where I can manifest banding with 100% frequency, then reduce that frequency to 30% via a 1/3EV decrease in shutter speed, then to 0% via 2/3EV more decrease. I believe the intermittent case (30% for my setup) is the result of image noise interacting with the striping detection algorithm, creating a window by which the striping detection will sometimes detect a positive or negative based on the influence of noise around the luminance areas being detected.

If this theory is correct we must assume Nikon is doing this for a reason, ie scenarios where either striping would occur or some other unknown effect is harmful enough to IQ to justify this algorithm and its potential negative side effects. Whatever that original issue, there's obviously some play in the manifestation of that issue and the threshold which yields it since I can produce scenarios that both produce or fail to produce the banding with the non-banding image having no obvious image defects. We can only imagine what the original issue looks like since Nikon appears to actively try to avoid it, including a low-enough threshold that kicks in the correction logic before the defect is noticeable.

If this theory is correct I assume both the striping detection and avoidance/correction logic live inside Expeed. As such the algorithms are likely hard-coded, but with some programmer-available settings to control it. I also assume there's a way to enable or disable the logic. This provides hope that Nikon will either refine the logic in the future or even provide a way for the user to disable it (unlikely but one can wish).

One mystery is why the banding doesn't occur in 12-bit files, at least not perceptually. The 12-bit files also don't exhibit the ADU odd-only anomalies, likely because the 14-bit ADC/processing requires unique processing/scaling for the algorithm. Either Nikon is applying the logic but it's effects are obscured by noise in 12-bit files, or they're not applying the logic based on the presumption the extra noise in the 12-bit files would obscure the original striping/unknown issue they're trying to avoid.

All just theory...

Post (hide subjects) Posted by
Keyboard shortcuts:
FForum PPrevious NNext WNext unread UUpvote SSubscribe RReply QQuote BBookmark MMy threads
Color scheme? Blue / Yellow