RE: CFD: Proposed new PNG public sTER chunk (MNG aspects)
John Bowler <[email protected]> Mon, 15 Nov 2004 10:16:49 -0800
| Newsgroups | gmane.comp.graphics.png.general,gmane.comp.graphics.mng.general |
|---|---|
| Message-ID | <000101c4cb3f$47a57360$6401a8c0@kalmiopsis> |
I hacked the subject line to include "MNG aspects" 'cause I believe the PNG aspects of this are pretty much clear whereas the interaction with MNG requires clarification. (It is my belief that a PNG proposal can be adopted even if the MNG aspects are ill defined - MNG has an independent approval process.) The message is cross posted - I suggest continuing this thread just on mng-list on the basis that it shouldn't affect PNG issues of sTER. From: Glenn Randers-Pehrson >Also, neither pHYs nor pHYg will work with all MNG datastreams. pHYs >must be ignored, and pHYg applies to the entire frame, not just the >stereo object. All the arguments which lead to pHYg to be created for MNG apply equally to sTER. Suppose Glenn's (implicit) suggestion is followed and sTER occurs in individual PNG streams within the MNG stream. Is the MNG frame stereo or not? If it is not (e.g. suppose a non-sTER PNG is used to fill the whole frame) how is a sTER PNG going to be composited correctly onto the non-sTER MNG frame? What are the sTER properties of an abstract object, how are these specified? (I.e. is an abstract object stereo or not?) Even if this can be resolved, if the resolution involves special treatment of sTER it won't work in older decoders (which do not see sTER). I seem to remember that I did argue that pHYs in a concrete object/PNG stream *can* be handled but that it obliges the decoder to rescale such objects to the frame pixel size. It also means that composition onto a concrete object requires the source to have the same physical pixel size. Anyway, the result of the debate was that pHYs is ignored and pHYg applies to the resultant frames. Likewise for sTER. The (original) sTER chunk proposal may contain an implicit 2:1 pHYs "...HALFHEIGHT" - that should show that the same arguments apply. However, even in the absence of the "HALFHEIGHT" option, where the sTER image has square samples by default, there is a physical transformation implied by sTER. This is because the two sub-images it contains correspond to just one, half-width, physical area (imaged by the right and left eye of the original viewer.) My conclusion is that sTER in a PNG stream must be ignored by MNG and that some chunk, e.g. sTEG, is necessary to make the whole MNG frame be stereo. This has all the compatibility features of sTER in PNG - when viewed on a sTEG capable decoder the result has half the frame width and is a full stereo animation, when viewed on pre-sTEG decoder the user sees a double width frame and must use the "cross eyed" technique to see the stereo. sTEG also makes it very easy to produce well defined stereo animations. Such animations may well use the same concrete object for both left and right image halves with the differences encoded in a different PNG stream. These PNG streams are neither stereo images nor mono images - they are building blocks which can be composited into a stereo (or, for that matter, mono) frame. sTER is meaningless for such an incomplete image! John Bowler <[email protected]> -- Send the message body "help" to [email protected]