{"id":635,"date":"2012-10-05T08:46:49","date_gmt":"2012-10-05T15:46:49","guid":{"rendered":"http:\/\/blogs.adobe.com\/lightroomjournal\/?p=635"},"modified":"2020-04-23T13:39:21","modified_gmt":"2020-04-23T20:39:21","slug":"dng-1-4-specification-notes","status":"publish","type":"post","link":"https:\/\/lrj.mattalbright.com\/index.php\/2012\/10\/05\/dng-1-4-specification-notes\/","title":{"rendered":"DNG 1.4 Specification Notes"},"content":{"rendered":"<p>I&#8217;ve received a number of questions about what&#8217;s new in the <a href=\"http:\/\/www.adobe.com\/dng\">DNG 1.4 specification<\/a> that we posted earlier this week. \u00a0If you&#8217;re not comfortable diving into the 101 page document, here&#8217;s a quick summary with a few of the potential implications of the new enhancements to the file format. \u00a0[<em>Please note that this content is an adaptation of a presentation created by Thomas Knoll, co-creator of Photoshop and creator of Adobe Camera Raw and the DNG file format.<\/em>] \u00a0Before we dig into the new changes I think it&#8217;s worth looking at the history of DNG format innovations:<\/p>\n<h2>DNG Revision History<\/h2>\n<p>DNG Version 1.0 \u2013 September 2004<\/p>\n<ul>\n<li>Initial Release<\/li>\n<\/ul>\n<p>DNG Version 1.1 \u2013 February 2005<\/p>\n<ul>\n<li>Preserving Masked Pixels<\/li>\n<\/ul>\n<p>DNG Version 1.2 \u2013 April 2008<\/p>\n<ul>\n<li>Camera Profiles (See also, DNG Profile Editor)<\/li>\n<\/ul>\n<p>DNG Version 1.3 \u2013 June 2009<\/p>\n<ul>\n<li>Opcodes\u00a0(e.g. Lens\u00a0Corrections)<\/li>\n<\/ul>\n<p>DNG Version\u00a01.4\u00a0\u2013\u00a0October\u00a02012<\/p>\n<ul>\n<li>Default User Crop<\/li>\n<li>Transparency<\/li>\n<li>Floating Point (HDR)<\/li>\n<li>Lossy Compression<\/li>\n<li>Proxies<\/li>\n<\/ul>\n<p>&nbsp;<\/p>\n<h2><strong>Default User Crop<\/strong><\/h2>\n<p>Many cameras have aspect ratio crop\u00a0modes, e.g. 4:3 or 16:9, yet still save the entire sensor image to the raw\u00a0file. \u00a0In the image below you can see that the raw file contains the entire black area within both of the camera&#8217;s crop modes. \u00a0The new tags allows the crop setting to be respected but to also allow the customer to &#8220;un-crop&#8221; the image to see the entire sensor area. \u00a0(See the new DNG Recover Edges Plug-in for Lightroom on Adobe Labs to &#8220;un-crop&#8221; a DNG file:\u00a0<a href=\"http:\/\/labs.adobe.com\/technologies\/lightroomplugins\/\">http:\/\/labs.adobe.com\/technologies\/lightroomplugins\/<\/a>)<\/p>\n<p><a class=\"lightbox\" title=\"CustomCrop\" href=\"http:\/\/lrj.mattalbright.com\/wp-content\/uploads\/2020\/04\/CustomCrop.png\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-653\" title=\"CustomCrop\" src=\"http:\/\/lrj.mattalbright.com\/wp-content\/uploads\/2020\/04\/CustomCrop.png\" alt=\"\" width=\"600\" height=\"400\" \/><\/a><\/p>\n<p>&nbsp;<\/p>\n<h2>Transparency<\/h2>\n<p>When images are &#8220;stitched together&#8221; in an alignment process or panorama process the resulting image could have &#8220;undefined&#8221; pixels around the edges. \u00a0The new specification update now allows for those undefined areas to exist in a raw file format.<\/p>\n<p><a class=\"lightbox\" title=\"pano600\" href=\"http:\/\/lrj.mattalbright.com\/wp-content\/uploads\/2020\/04\/pano600.png\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-654\" title=\"pano600\" src=\"http:\/\/lrj.mattalbright.com\/wp-content\/uploads\/2020\/04\/pano600.png\" alt=\"\" width=\"600\" height=\"353\" \/><\/a><\/p>\n<p>&nbsp;<\/p>\n<h2>Floating Point (HDR)<\/h2>\n<p>HDR images have a high dynamic range that will not fit into a 16-bit linear integer encoding. \u00a0Floating point storage of information allows for a larger amount of dynamic range to be stored within a file:<\/p>\n<ul>\n<li>16-bit integer data can only store 16\u00a0f-stops of image detail.<\/li>\n<li>16-bit floating point data can store over\u00a030 f-stops of image detail.<\/li>\n<li>32-bit floating point data can store\u00a0hundreds of f-stops of image detail.<\/li>\n<\/ul>\n<h2>Lossy Compression<\/h2>\n<p>The current tradeoff in image quality and file size between a DNG and JPEG file:<\/p>\n<p><a class=\"lightbox\" title=\"Lossy1\" href=\"http:\/\/lrj.mattalbright.com\/wp-content\/uploads\/2020\/04\/Lossy1.jpg\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-645\" title=\"Lossy1\" src=\"http:\/\/lrj.mattalbright.com\/wp-content\/uploads\/2020\/04\/Lossy1.jpg\" alt=\"\" width=\"600\" height=\"276\" \/><\/a><\/p>\n<p>A lossy compressed DNG file is much smaller but maintains the flexibility of raw data:<\/p>\n<p><a class=\"lightbox\" title=\"Lossy2\" href=\"http:\/\/lrj.mattalbright.com\/wp-content\/uploads\/2020\/04\/Lossy4.jpg\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-646\" title=\"Lossy2\" src=\"http:\/\/lrj.mattalbright.com\/wp-content\/uploads\/2020\/04\/Lossy4.jpg\" alt=\"\" width=\"600\" height=\"276\" \/><\/a><\/p>\n<p>DNG Proxies combine the ability to utilize lossy compression with downsampling.<\/p>\n<p><a class=\"lightbox\" title=\"Lossy3\" href=\"http:\/\/lrj.mattalbright.com\/wp-content\/uploads\/2020\/04\/Lossy2.jpg\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-647\" title=\"Lossy3\" src=\"http:\/\/lrj.mattalbright.com\/wp-content\/uploads\/2020\/04\/Lossy2.jpg\" alt=\"\" width=\"600\" height=\"276\" \/><\/a><\/p>\n<h2>Summary<\/h2>\n<p>These new features to the DNG file format are exciting imaging advances that enable numerous workflow opportunities.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>I&#8217;ve received a number of questions about what&#8217;s new in the DNG 1.4 specification that we posted earlier this week. \u00a0If you&#8217;re not comfortable diving into the 101 page document, here&#8217;s a quick summary with a few of the potential implications of the new enhancements to the file format. \u00a0[Please note that this content is &hellip; <a href=\"https:\/\/lrj.mattalbright.com\/index.php\/2012\/10\/05\/dng-1-4-specification-notes\/\" class=\"more-link\">Continue reading<span class=\"screen-reader-text\"> &#8220;DNG 1.4 Specification Notes&#8221;<\/span><\/a><\/p>\n","protected":false},"author":6,"featured_media":0,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"om_disable_all_campaigns":false,"_monsterinsights_skip_tracking":false,"footnotes":""},"categories":[5,10],"tags":[33],"class_list":["post-635","post","type-post","status-publish","format-standard","hentry","category-general","category-philosophy","tag-autoimim"],"jetpack_featured_media_url":"","_links":{"self":[{"href":"https:\/\/lrj.mattalbright.com\/index.php\/wp-json\/wp\/v2\/posts\/635","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/lrj.mattalbright.com\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/lrj.mattalbright.com\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/lrj.mattalbright.com\/index.php\/wp-json\/wp\/v2\/users\/6"}],"replies":[{"embeddable":true,"href":"https:\/\/lrj.mattalbright.com\/index.php\/wp-json\/wp\/v2\/comments?post=635"}],"version-history":[{"count":1,"href":"https:\/\/lrj.mattalbright.com\/index.php\/wp-json\/wp\/v2\/posts\/635\/revisions"}],"predecessor-version":[{"id":3206,"href":"https:\/\/lrj.mattalbright.com\/index.php\/wp-json\/wp\/v2\/posts\/635\/revisions\/3206"}],"wp:attachment":[{"href":"https:\/\/lrj.mattalbright.com\/index.php\/wp-json\/wp\/v2\/media?parent=635"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/lrj.mattalbright.com\/index.php\/wp-json\/wp\/v2\/categories?post=635"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/lrj.mattalbright.com\/index.php\/wp-json\/wp\/v2\/tags?post=635"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}