Regarding OpenEXR... it can have any number of channels, but it's the same number of channels for all pixels. Though perhaps you are referring to "deep" images, in which there are multiple *samples* per pixel, each one with a different depth value, used to describe how a value like alpha varies with distance along the ray represented by the pixel. This is a thorny and very specialized issue in the field it comes from (visual effects), way way way out of the scope of anything you'd want in std.