Jaa


Photoshop Modes and HD Photo Pixel Formats

A Mode by Any other Name

So, as reported previously, we now have released a beta of the Windows HD Photo Plug-in for Adobe® Photoshop® software.  This plug-in allows you to open and save HD Photo files from Photoshop.  Photoshop is a powerful application with an incredible array of features.  Among those are the ability to support a wide range of image modes, or as we refer to them in HD Photo - pixel formats.  The HD Photo plug-in handles the majority of Photoshop's modes and HD Photo's pixel formats with ease, automatically creating the appropriate mapping, and allowing you to full control to choose the appropriate mode/format for your specific needs.

Mapping Pixel Formats to Modes

When you open an HD Photo file in Photoshop, the choice of the Photoshop mode associated with the HD Photo file is completely automatic.  The plug-in selects the appropriate mode to retain the full fidelity of the HD Photo file's pixel format.

Here's how HD Photo pixel formats translate to Photoshop modes on Open.

Most of these mappings should be pretty straight forward.  8-bit to 8-bit, 16-bit unsigned integer to 16-bit.  HD Photo supports multiple high dynamic range, wide gamut formats in different bit depths and numerical interpretations.  All of these map to Photoshop's 32-bit floating point mode.

There are a few HD Photo pixel formats that the plug-in doesn't support.  HD Photo offers pre-multiplied alpha channels, but there is no such equivalent in Photoshop.  This format is used for very specific rendering and compositing scenarios, so its not very likely you would ever need to open a file in this pixel format in Photoshop.  HD Photo's various n-Channel modes are also not supported via the plug-in.  Even though Photoshop can support multiple channels, the default interpretation is different enough that it simply doesn't make sense to try to force-fit files in these pixel formats.  Again, the use of n-Channel pixel formats is fairly specialized and not useful for images that are typically edited manually.

But everything else is supported - RGB, CMYK, Grayscale, black/white, alpha channels - the HD Photo plug-in handles all these various pixel formats, mapping them to the appropriate Photoshop modes.

Mapping Modes to Pixel Formats

When you save an image from Photoshop to and HD Photo file, you're typically provided a choice of different pixel formats.  The pixel formats you're offered depends on the current Photoshop mode.  It's basically the reverse mapping of the same table above.

HD Photo offers numerous pixel formats and it's important to understand when its appropriate to use the various choices.  For example, there are several different ways to store high dynamic range, wide gamut content, each with its own specific advantages and disadvantages.  Photoshop uses 32-bit floating point for HDR images, so you can always store in this pixel format to guarantee you're preserving absolutely all the content.  However, there are alternate pixel formats that preserve sufficient dynamic range and precision for most photographic applications, but use a more compact numerical format.  For example, unless storage space is of absolutely no concern, you can save HDR photos in 16-bit fixed point, producing a much smaller file.  The results will typically be much better than using a 32-bit format with a higher compression ratio.  This is a topic we'll dive into in more detail in a future post.

Basic vs. Advanced Encoder Options

When saving an image in HD Photo format, there are a whole bunch of encoder options at your disposal.  Lot's of time, you most likely don't want to bother with all those choices.  You can select the "Basic" mode and set a single slider to control the balance between image quality and file size.  the default setting (on a scale of 0.0 to 1.0) is 0.9 and will result in a high quality image with reasonable compression.  The exact amount of compression is completely depends on the content of the image.  This control effects the quality of the compressed image, but the actual file size can't really be predicted.  You'll also discover different visual results among the different pixel format bit depths.  That's primarily because you can apply much more compression to the higher bit depths before you ever see the impact of that compression on you're 8-bit monitor.  In general, you should be careful of using lower quality settings with higher bit depths; you're defeating a lot of the reason you chose a higher bit depth to begin with.

For more control of the encoder, you can select the Advanced Mode.  the ReadMe file that comes with the plug-in describes these options in some detail.  We also covered them here in a previous post about the DPK encoder utility.

Back to the Basic Mode.  That scale from 0.0 to 1.0 doesn't map directly to the Quantization setting in the Advanced Options.  It's actually controls a couple different encoder options according to the following rules:

  • If Quality=1.0, this is the same as lossless mode.
  • if Quality >0.4, Overlap mode is set to One Level; otherwise it's set to Two Level.
  • If the bit depth is <=8 then Quantization = 105 - (Quality * 100)
  • If the bit depth is >8 and <=16 then Quantization = 185 - (Quality * 180)
  • If the bit depth is >16 then Quantization = 245 - (Quality * 240)

These rules were chosen to provide a reasonable approximation of expected results based on the Basic Quality settings, but with experimentation you'll discover that different settings are appropriate for different types of images.

If you're really starving for even more details, you can always check out the complete HD Photo Feature Specification.

Color Profiles

Saving files in Photoshop provides the option to embed an ICC color profile in the file and this is fully supported by HD Photo.  However, HD Photo has explicityly-defined default color profiles so in many cases you can save space by not saving he color profile.  For Unsigned Integer pixel formats (in either 8-bit or 16-bit modes), HD Photo assumes sRGB if no color profile is present.  So, whenever you're using sRGB, there's no need to embed the profile.  Likewise, whenever using Photoshop's 32-bit mode, HD Photo will always assume the color profile is scRGB.  (This is identical to Adobe's Linear RGB color profile.)  So again, there is no need to embed a color profile for this mode; it will simply be ignored when the file is decoded.

Options, Options, Options

There are a variety of additional options in Advanced Mode, which all address specific requirements or usage modes.  If you're not sure what settings are right for you, then the best choice is to simply stick with the defaults for these options.

That should be more than enough to get you started.  Up next time (and I'll do my best not to make you wait too long) we'll talk about the recommended workflow to convert from RAW camera formats, preserving the maximum image quality.

Bill Crow

Comments

  • Anonymous
    April 02, 2007
    Can't save grey images with transparency!I think this format was forgotten when you designed the format.I am also searching for Lab support.Gerhard
  • Anonymous
    August 17, 2007
    We've just posted updated versions of the HD Photo Plug-ins for Adobe Photoshop Software to the Microsoft
  • Anonymous
    August 17, 2007
    We&#39;ve just posted updated versions of the HD Photo Plug-ins for Adobe Photoshop Software to the Microsoft
  • Anonymous
    December 06, 2007
    HD Photo plug-ins for Adobe® Photoshop® CS2 and CS3 have been officially released for both Windows and
  • Anonymous
    December 10, 2007
    In case you missed it, our friend, Bill Crow, announced the availability of&#160; the HD Photo plug-ins
  • Anonymous
    December 10, 2007
    Typically you can efficiently save grey images with transparency by encoding it as an RGB (plus alpha) image with 4:0:0 color sub-sampling.  This will discard the color information and store it as efficiently as a single channel image.  You could use n-Channel mode to store LAB content, though this would not be supported in a compatible way with Photoshop, so I'm guessing that would fall short of what you're looking for.Bill CrowMicrosoft