Adobe DNG 1.3

28 06 2009

dngtm1.gifNous en avons parlé ici. Adobe a profité de la sortie de Lightroom en version 2.4 et Camera RAW en version 5.4 pour modifier de manière significative les spécifications du format DNG.

Mais attention, disons-le tout de suite, cette version 1.3 des spécifications de DNG n’apportent pour l’instant rien de concret à l’utilisateur.

Alors, de quoi s’agit-il ?

Rappelons que seuls les logiciels propriétaires tels que Canon DPP ou Nikon Capture NX (pour ne citer que les plus connus) sont à même d’exploiter les données contenues dans un fichier brut (aussi connu sous le nom générique anglais « raw » qui ne signifie rien d’autre que « brut ») issu d’un appareil photo, portant respectivement l’extension .cr2 et .nef pour Canon et Nikon.

En effet, ces fichiers contiennent non seulement les données de l’image mais aussi un certain nombre d’informations liées aux caractéristiques de la prise de vue. Certaines de ces informations sont directement accessibles (et donc exploitables par des logiciels tiers) et d’autres existent sous forme cryptée que seuls les logiciels propriétaires savent décrypter et utiliser dans le post-traitement.

Le format DNG, dont les spécifications sont ouvertes, peut accueillir toutes les informations délivrées par le boîtier, y compris le fichier image raw mais aussi les données en clair ou cryptées. DNG ne permet pas de décrypter les données cryptées par les constructeurs.
En ce sens, le format DNG n’est donc qu’un conteneur qui donne un aspect standard.

Ceci ayant été rappelé, revenons à DNG 1.3.

La nouveauté apportée par la version 1.3 du format DNG réside dans le fait que Adobe a ménagé un nouvel espace pour accueillir  un certain nombre de fonctions (ou plus exactement des paramètres pouvant alimenter des fonctions pré-définies) qui pourront être appliquées au fichier d’image brut, avant ou après dématriçage.
Ces fonctions sont appelées « Opcodes » (très probablement pour « Operation codes »).

Voici la liste des ces fonctions, telles qu’elles apparaissent dans la documentation de la version 1.3 de DNG :

  • WarpRectilinear
  • WarpFisheye
  • FixVignetteRadial
  • FixBadPixelsConstant
  • FixBadPixelsList
  • TrimBounds
  • MapTable
  • MapPolynomial
  • GainMap
  • DeltaPerRow
  • DeltaPerColumn
  • ScalePerRow
  • ScalePerColumn

Si l’on en juge par la dénomination de ces fonctions, il s’agit d’une panoplie complète de corrections optiques (distorsion optique, vignettage, luminosité, bruit, etc) applicables localement ou globalement. De plus, ces post-traitements pourraient être effectués sur un ordinateur dont la puissance de calcul sera toujours notablement supérieure à la capacité de traitement du processeur d’un boîtier d’appareil photo.

Aujourd’hui, ce type de corrections n’est possible directement que dans les logiciels propriétaires (Canon DPP permet, par exemple, d’effectuer des corrections optiques des objectifs Canon). Les logiciels tiers, tels que Adobe Camera Raw (et par conséquent Lightroom qui partage le même moteur de dématriçage), Capture One, Bibble Pro et consorts ne peuvent bénéficier de ces corrections car ils n’ont pas accès aux données cryptées par les constructeurs. Ils sont donc contraints de développer par eux-mêmes des modules de corrections optiques manuels ou encore des modules de réduction de bruit fondés sur un échantillonage préalable, mais surtout, des modules de dématriçage au coup par coup, en fonction de chaque appareil. Or, l’utilisateur aurait tout à gagner à pouvoir maitriser de bout en bout sa chaîne de développement et ce, sur la base de données constructeur d’origine et non pas à partir de moteur de dématriçage issus du « reverse engineering » tel que Adobe (et les autres) est obligé de le pratiquer aujourd’hui.

Adobe ouvre donc une porte supplémentaire vers les constructeurs afin de promouvoir ce qu’il voudrait voir devenir un standard : le format DNG.
Panasonic collabore d’ores et déjà dans ce sens et propose l’accès à ces données.
On peut imaginer les gigantesques améliorations dont pourraient bénéficier les logiciels tels que Camera Raw et Lightroom s’ils pouvaient avoir accès aux paramètres permettant de faire fonctionner ces fonctions !
Mais, n’en doutons pas, Adobe va certainement proposer quelque chose dans ce sens et dans un avenir proche !

Mais les majors sont-elles prêtent à documenter ces fonctions ? Probablement pas dans l’immédiat. Elles considèrent en effet que l’accès ouvert à ces données risque de les priver d’un avantage par rapport à la concurrence.

Au final, c’est le photographe et client qui est privé de la maitrise de sa chaîne de développement, au nom de l’avantage commercial des fabricants d’appareil photo.

Référence [en] :  http://www.adobe.com/products/dng/pdfs/dng_spec_1_3_0_0.pdf

ADDENDUM :

1) Lorsque l’on regarde d’un peu plus près les caractéristiques des « Opcodes » listés plus haut, on peut en tirer les conclusions suivantes :

  • WarpRectilinear : permet la correction de la distorsion géométrique (radiale et tangentielle)  et la correction des aberrations chromatiques transverses des optiques hors grand-angle.
  • WarpFisheye : permet de projeter à plat les images déformées par un objectif ultra grand-angle (fish-eye) et permet les mêmes corrections que la fonction WarpRectilinear pour les objectifs ultra grand-angle et hors grand-angle.
  • FixVignetteRadial : permet de corriger l’assombrissement radial (vignettage) par application d’un gain radial variable.
  • FixBadPixelsConstant : interpolation des pixels défectueux et marquage de ceux-ci
  • FixBadPixelsList : idem précédent, mais peut prendre en charge une zone rectangulaire formée de plusieurs pixels
  • TrimBounds : recadrage selon les paramètres spécifiés
  • MapTable : ?
  • MapPolynomial : ?
  • GainMap : multiplie un plan ou une région de l’image par un facteur local donné => une sorte de HDR ?
  • DeltaPerRow : ?
  • DeltaPerColumn : ?
  • ScalePerRow : ?
  • ScalePerColumn : ?

Même s’il manque une interprétation de certaines fonctions, il y a fort à parier que celles-ci sont associées au traitement du bruit numérique.

2) Tags additionnels présents dans la spécification 1.3 :

  • OpcodeList1
  • OpcodeList2
  • OpcodeList3

Ces tags indiquent dans quel ordre devront être appliquées les fonctions décrites ci-dessus. Ils indiquent respectivement que la fonction sera appliquée sur le RAW, avant dématriçage (OpcodeList1), juste après linéarisation (OpcodeList2) et après dématriçage (OpcodeList3).

Le dernier (mais très intéressant) nouveau tag s’appelle NoiseProfile. Il permet de renseigner, à priori (et donc à l’aide d’une base de donnée de profil de bruit pour un capteur donné associé à une sensibilité donnée), la quantité de bruit présente dans le raw avant dématriçage.


Actions

Informations



5 réponses à “Adobe DNG 1.3”

  1. 28 06 2009
    Gilles (21:34:25) :

    Juste une mise au point : je suppose qu’Adobe fait du reverse engineering pour comprendre comment fonctionne les solutions des autres, mais je doute fort qu’elle s’en serve pour développer ses propres technologies.

    Et Adobe s’est toujours reposée sur sa capacité à proposer des solutions développées en interne. Elle en a les moyens financiers et intellectuels… et ça finira comme d’habitude : en « standard professionnel de l’industrie de l’image ».

  2. 28 06 2009
    PHOTO [numérique] (21:48:44) :

    Adobe utilisait dans le passé le fameux dcraw développé par Dave Coffin pour faire fonctionner Camera Raw.
    dcraw est fondé sur le « reverse engineering » des divers fichiers bruts existant actuellement (plus de 300 formats raw différents à ce jour).
    Depuis, Adobe n’utilise plus dcraw et procède à son propre « reverse engineering » pour alimenter son moteur de dématriçage.

    Il ne s’agit donc pas seulement de faire du « reverse engineering » pour analyser les solutions logicielles de la concurrence, mais bien de faire vivre Camera Raw.

    Tous les éditeurs de logiciels tiers sont confrontés au même problème. C’est pour ça que des logiciels tels que ACDSee, LightZone, l’ancien RawShooter, SilverFast, Picasa, IrfanView, Canto Cumulus, BreezeBrowser, et j’en passe, utilisent ou utilisaient dcraw.

  3. 29 06 2009
    Didcreole (21:06:30) :

    Sympa cet article, merci FX :-)

  4. 30 06 2009
    fiatlux (09:40:18) :

    Article intéressant.

    Ceci dit, je ne crois pas qu’il faille espérer que beaucoup d’APN fournissent ce genre d’info avant très longtemps, voire jamais.

    Même chez Nikon ou Canon, les corrections ne sont pas basées par de infos fournies de manière électronique par le couple boîtier/objectif. Elles sont soit automatiques sur base de l’analyse de l’image (cas de la correction des aberrations chromatiques dans les boîtiers Nikon et dans Capture NX, correction qui a l’avantage de marcher avec absolument tous les objectifs: récents, moins récents, de Nikon ou de fabricants tiers, voire objectifs obscurs adaptés à la monture F), soit sur base d’une base de données des paramètres de correction (cas de la correction de la distorsion dans DPP ou PTLens).

    Vu l’efficacité des algorithmes tout auto de Nikon pour la correction des AC, il me tarde de trouver une fonction identique dans Lightroom. Un support de la base de donnée PTLens des corrections géométriques serait également très intéressant (j’utilise ce dernier en « plugin » pour le moment). Ce serait une solution plus pragmatique et plus efficace dans le court terme que d’attendre que les fabricants fournissent les info sde correction sur un plateau.

  5. 30 06 2009
    Bellette (18:27:29) :

    @fiatlux
    En fait le nouveau k7 (pentax) semble utiliser des infos qui proviennent de l’objectif pour la correction des aberrations chromatiques (-> http://forums.dpreview.com/forums/readflat.asp?forum=1036&message=32086885&changemode=1 ).
    L’info est déjà utilisée pour la correction des jpegs, et comme les appareils pentax savent écrire du dng, peut être que les opcodes correspondants seront intégrés dans un futur plus ou moins proche dans les fichiers raw.
    Celà dit, cela revient peut-être aussi à utiliser une base de donnée, sauf qu’ici il y en a juste un bout intégré à l’objectif.

Laisser un commentaire




sakura974 |
mariagepriscillaetolivier |
sierra1 |
Unblog.fr | Créer un blog | Annuaire | Signaler un abus | venissime
| Ma passions : la photgraphie
| elendian & auscar