Extra channel types #3509
jonsneyers
started this conversation in
JPEG XL specification extensions
Replies: 0 comments
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
-
Part 1 (core codestream) defines the following extra channel types:
Meanwhile, other types of extra channels have been suggested. While we left room for identifiers 7-14 to extend the spec later if needed, I don't think it is wise to update Part 1 too often. We also defined the
kNonOptional
andkOptional
identifiers as a generic way to add new extra channels, the idea being that the actual type of the extra channel would be stored as a string in the extra channel name (according to some kind of naming convention that could potentially also include parameters in the name string), while a naive decoder would know if it can simply ignore the contents of such a channel or not.We can use this thread to discuss what kind of additional extra channel types would be useful enough (i.e. not extremely application-specific) to have a standardized naming convention for. When we have a list, we could eventually initiate a new part of the specification (say, 18181-5) to formalize it.
Also, some of the existing extra channel types are currently underspecified: in particular,
kDepth
,kCFA
andkThermal
only have a vague meaning and it could be useful to define more exactly how to interpret them, if needed with additional metadata that is encoded either via the extra channel name or via an image header extension.Some of the potential types of extra channels that could be useful:
kThermal
that can be interpreted as part of the infrared, but there is more needed to cover what is used in satellite imagery and other kinds of scientific applications.It only makes sense to standardize such extra channel types if there's an actual need/desire for interoperability. Typically the approach currently used by applications that require such extra channels is to define their own container formats which store the relevant metadata, and then to use generic payload codecs to encode each channel separately as a grayscale image (or possibly encoding up to 3 or 4 channels at a time). That of course also works, but there are advantages to doing it the other way around and using the JXL file format as the outer container and putting any application-specific metadata in an application-specific ISOBMF box:
Anyway, the definition and adoption of such new extra channel types will mostly depend on the applications that actually use them, so please point them to this discussion thread.
Beta Was this translation helpful? Give feedback.
All reactions