Monocular Occlusion in Stereograms Potential Solution #340
notouchmygnocchi
started this conversation in
Ideas
Replies: 0 comments
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
-
Monocular Occlusion (1 eye is unable to see what the other eye can) is a well known issue with 2D -> 2.5D methods like stereograms (even occurring in reality, just look at something down to the side through your nose or just behind the side of your screen) You see a visual image with one eye that isn't observed by the other eye and so instead 2 incongruous images are overlayed and compete across the same visual information field, leading to a ghost/glitch/static/glimmering/etc. effect which detracts from the overall 3D effect (though granted it does have its potential uses and provides its own 3D information in interesting ways even if visually unappealing). (You've got generative fill to at least make the gaps worthwhile information, but this doesn't resolve the occlusion created by the offset) (These are all cross-eyed viewing images below)

Now, this occlusion will occur in a stereogram whenever one has a grayscale color gap when moving horizontally along their depth map. It will also occur whenever the horizontal offset is too much for the too steep 'slope' produced by a color gradient along the horizontal, as the slope will be flipped vertically by the excessive offset at the top leading to occlusion over the lower of the depth map slope.
Pretty much the only way I can think of is to resolve this by making the depth map not have any such horizontal gaps or slopes that are steeper than the given offset allows. (This would avoid occlusion and as such no gaps would be made so none to be filled, well, beyond basic stretching interpolation). One way to do this would be to take the depth map and horizontally blur/lighten the white/black slopes that are too steep (the adjacent left/right pixel difference too high, I suppose). (I say lighten meaning foreground since fore is usually more detailed/important than background, so likely better to have distortion of pulling the background up to meet the foreground rather than pushing the foreground down to meet the background, but ideally you could allow the user to set the ratio between 100% lighten pulling up the background and 100% darken pushing down the foreground with plain blur 50:50 in the middle.)

The end result would be somewhat ballooned curving depth at edges rather than exactingly cut edges, but *almost no annoying glimmer artifacts.
*As a side note the whole 'offset on the borders of the image leading to the furthest pixels being dragged in to fill the gap' is pure monocular occlusion and would be 100% better dealt with simply by cropping the lost excess on both left and right to create a smaller image.

Truly almost no glimmer occlusion (cropping it by eyeball is difficult) (sorry for the poor example photos):
Ideally you could implement an anti-occlusion toggle/settings or something to help reduce this problem.
Beta Was this translation helpful? Give feedback.
All reactions