In the interests of making it clear that bad standards are everywhere, I thought I'd highlight Adobe's DNG format.

DNG - a Digital Negative file - is a supposedly open standard for RAW files from digital cameras. With apologies to those of you who know, here's a brief introduction to RAW files...

 

RAW Files are the best quality file a digital camera can output. They are, literally, the raw (unprocessed) data from the imaging sensor. If your camera saves pictures as a JPEG file, then it's throwing away information in the process as part of the JPEG compression. Indeed, that's why cameras have quality levels when saving files as JPEGs - the higher the quality, the lower the amount of information (detail in the picture) is thrown away. RAW files (should) keep all detail, but are much larger because of this.

RAW files often have other advantages. Most cameras (except Foveon, some Sony cameras and Fujis, which I'll ignore here) capture the picture in the usual three colour channels that we humans see - Red, Green and Blue. But because of the way that the sensors lay out their individual elements, there is usually twice as much information in the green channel as there is in the red and the blue channel. (The cameras lay the sensors out in a mosaic format, to simplify production and layout.)

And there's more - a TIFF or JPEG file saved by a camera will usually have 8 bits per colour channel, but most modern sensors will provide 12 bits (or more) of colour data per channel. When saving as RAW, all those bits are available. But when saving as a JPEG, the colour channels are downsampled to the expected 8 bits of data.

Lastly, cameras have limited processing power. The downsampling, the halving of the green colour channel - all of this is done by specialist but rather low-powered chips. With better mathematics, you can get better colour reproduction from the sensor's data - but most cameras aren't going to get a 2Ghz AMD or Intel chip in them to do this, for obvious power/weight/heat reasons.

So RAW is a file format used by some enthusiasts and pros to get more out of their photos, by spending more time and care on a fast PC than the camera would. It has other advantages - if the camera misreads the white balance, you have more bits to play with when correcting it, so you'll lose less detail. If the shot is over-exposed or under-exposed, those extra bits can help bring the lighting back to normal, by providing detail that an 8-bit JPEG/TIFF colour channel would never have recorded. For many digital photographers, RAW is their file format of choice.

 

Or at least, it would be if RAW were actually a format. RAW files are more a category of files than a single format. Every manufacturer has their own RAW file format, many of which aren't documented. When a new camera comes out, the manufacturer often uses a new variant of the RAW format if they deem it necessary. RAW files are great for photographers, but bad for software developers who are expected to provide support for all of these formats!

 

The OpenRAW team thinks that the solution is to get camera manufacturers to document their RAW formats. They've taken the sensible view that they're not going to get camera manufacturers to throw out their existing, working RAW formats and move them onto one RAW format. For starters, there could be years of argument about what that RAW format needs to do. As an example of how strongly manufacturers feel that RAW files are "theirs", I submit the fact that Nikon once chose to encrypt key data for the photo. Why? Because Nikon wants you to buy their software to work with their RAW files, and wants third party software to pay a licence to work with their files. They're m or e afraid that they'll lose software/licensing revenue than they are of losing revenue through people not buying their cameras, which is understandable given their share of the camera market (it's large!).

So OpenRAW wants documentation, camera manufacturers want licensing sales, and camera owners want unfettered access to the photos that they took and they own. (Yes, proprietary RAW files do leave us feeling like we're being hung over a barrel somewhat...)

 

Adobe stepped into this arena with the Digital Negative (DNG) specification about two years ago. It's based on the TIFF 6.0 specification (That link's a PDF), so it's not like existing code can't be adapted.

Adobe have provided the specification for free download, don't require licenses from anyone to use it, provide a free SDK to get you up and running, and on the surface they seem to have been remarkably generous. Although the standard has not been submitted to any standards organisations, Adobe have said that if there's demand they'll do so.

In return, many companies now ship products that read and write DNG files, and some (smaller) camera manufacturers have even offered DNG as a format that the camera can save as instead of RAW.

 

However, is now appears that that the DNG format has a sour aftertaste to it.

In order to avoid rocking the boat, DNG allows camera manufacturers (and others) to write their own proprietary data into special private tags. This is rather poor, but an understandable enough move to make camera manufacturers feel more comfortable with DNG. The DNG format requires all the data we need, so we're not going to see people encrypting essential information with this. The camera manufacturers are supposed to store the stuff that they would neither put into EXIF information (shot number, date/time, lens information) nor the DNG file itself in here - perhaps the mode the firmware was operating in, or the time taken to handle the image. Stuff that's only useful to their engineers, we presume.

Or at least, that was the case until Adobe themselves started saving data into there with Adobe Photoshop CS2 and their Adobe Camera RAW (ACR) plugin.

The data Adobe save into these private tags is not documented, and may represent changes that Photoshop/ACR made to the data. We have no way of knowing. Even if the picture data lies unchanged, the data may be representing how Adobe chose to handle the colour data for display - so it may be that if you open the file in Photoshop on another machine, it looks identical, but if you open it in another program that supports DNG files, it looks different. It maybe that way. Who knows? Or maybe Photoshop/ACR is just stamping "I made this" onto it. With documentation, we'd know. Instead, we now have to do detective work to find out.

 

For a supposedly open standard, this behaviour is awful. Unacceptable, even. I begin to see why Adobe hasn't pushed DNG up to a standards body yet - it's just not clear why partial documentation is better than no documentation.

As an archival format, DNG seems acceptable. Just. But as a workflow format, DNG is quite clearly unacceptable. And it's unacceptable because it allows people to potentially subvert the standard by simply leaving the data alone and describing what they did to it, and doing that in an undocumented manner.

(As an aside, it would have been so very cool if you could have left the data alone and just described your transformations in a documented way. Computers are just about fast enough to do that with imaging right now, so it would be an idea that would be no doubt welcomed.)

 

So it's not just Microsoft who can write a bad standard. They're everywhere. As Dr Grace Hopper is repu ted to have said, "The wonderful thing about standards is that there are so many of them to choose from". I'm not choosing DNG, and I'm not choosing OOXML. I'm more cheesed off at Adobe for how they've purposefully crippled DNG than I am at Microsoft for how they've purposefully rushed and bodged OOXML, but that's my subjective personal feeling right now.

 

Ultimately, both standards have the same problem - some areas of them are effectively undocumented, being mere pointers that something exists than actually telling you what should happen to the data. A document from Word may look very different in other applications because of this, and data may be handled differently from program to program because of this. And the same thing can be said of Adobe's DNG.

(OOXML also forces you to reproduce Microsoft's bugs, but I think that one's been done to death by now. I'm leaving it alone for the moment.)

 

And Dr Grace Hopper's quite tells me exactly why I'm more cheesed off with Adobe than I am with Microsoft. I can choose a different standard with regards to OOXML - I can choose ODF instead. I can't do that with DNG, because there is no alternative standard. It's the devil I don't know (camera RAW formats), or the devil that says I know him but turns out to be a liar (DNG). Not much of a choice, eh?

 

Comments (0)
philipstorry January 7th, 2007 17:51:00

 Comments
No Comments Found
Discussion for this entry is now closed.