
Fichiers DNG linéaires compacts :
comment DxO PureRAW 6 réduit la taille des fichiers DNG d’environ quatre fois sans compromettre la qualité d’image
Résumé
DxO PureRAW 6 introduit une nouvelle option de compression haute fidélité pour le format DNG, qui réduit d’environ quatre fois la taille des fichiers par rapport à la compression sans perte actuelle, tout en préservant intégralement la qualité d’image perçue.
Cette technologie associe deux techniques complémentaires : la compression de la plage dynamique et le codec d’image JPEG XL.

Principaux avantages
- Des fichiers quatre fois plus petits : les fichiers DNG linéaires d’un appareil photo de 50 Mpx passent d’environ 200 Mo à seulement 50 Mo. Le format DNG linéaire est donc pratique au quotidien, notamment pour traiter de grandes séries d’images. L’importation et la synchronisation sont plus rapides, et ces fichiers occupent évidemment moins d’espace disque.
- Haute fidélité : la compression ne modifie pas la perception de l’image, même avec des retouches poussées.
- Compatibilité : le fichier obtenu reste un fichier DNG standard, qui peut être ouvert et modifié avec n’importe quelle application compatible avec le format DNG (Adobe Lightroom, Capture One, etc.).
Pourquoi compresser encore plus les fichiers ?
Le format DNG linéaire est le format de sortie que DxO recommande pour DxO PureRAW, car il permet de conserver une souplesse de retouche maximale sans nuire à la compatibilité universelle des images avec les logiciels de traitement RAW tiers. Or, même avec la compression sans perte intégrée à la spécification DNG, un DNG linéaire pèse en général environ 4 Mo par mégapixel. Pour un appareil photo de 50 Mpx, cela représente donc 200 Mo par image.
Vous l’avez compris, il est donc forcément judicieux de compresser davantage ces fichiers.
Mais jusqu’où peut-on aller sans compromettre la qualité ?
Compression sans perte et compression sans perte perceptible
La compression sans perte est l’approche la plus rassurante, tant pour les développeurs que pour les utilisateurs, puisqu’elle garantit que le fichier décompressé est mathématiquement identique à l’original, bit pour bit. Ce type d’algorithme est cependant intrinsèquement limité en efficacité, en particulier lorsque le signal compressé contient des informations qui sont inutiles dans le rendu perçu.
Pour DxO PureRAW
Nous avons identifié deux types d’informations non pertinentes pour le rendu perçu dans les fichiers DNG linéaires :
1. Précision excessive des pixels. Les fichiers RAW des appareils photo numériques sont généralement encodés sur 12 ou 14 bits par pixel. En sortie, notre chaîne de traitement DeepPRIME utilise 16 bits. Cependant, les images conservent toujours un bruit résiduel, qui est maintenu volontairement pour éviter l’aspect « plastique » artificiel provoqué par un débruitage total. Comme nous l’expliquons ci-dessous, plus un signal contient de bruit, moins il est pertinent de maintenir une précision mathématique totale. Notre technologie de compression de la plage dynamique (Dynamic Range Compression ou DRC) a justement pour but de supprimer cette précision inutile.
2. Forme exacte des textures et du grain. En pratique, les différences légères qui existent entre les formes exactes du grain généré par le bruit ou les textures fines sont imperceptibles. La simplification de ces micro-détails est l’un des grands principes de la compression des images et vidéos. C’est justement le rôle du codec JPEG XL.

Les deux techniques s’appuient sur les mécanismes standard du format DNG, pour que tous les logiciels compatibles puissent ouvrir sans problème les fichiers obtenus. La compression DRC est encodée via le tag de la table de linéarisation DNG, et le mode de compression JPEG XL a été introduit dans la spécification DNG version 1.7. Ces deux mécanismes sont compatibles avec les principales applications de traitement RAW.
Compression de la plage dynamique
La compression de la plage dynamique (DRC) est une technique bien connue dans le traitement des signaux audio. Un compresseur réduit la plage dynamique d’un signal en appliquant une fonction de transfert non linéaire : dans le cas du son, les parties fortes sont atténuées et les parties faibles sont amplifiées, afin que le signal tienne plus efficacement dans un nombre de bits donné. Ce même principe s’adapte particulièrement bien aux images numériques RAW.
Pourquoi la compression DRC est efficace avec les images RAW
Les images numériques sont affectées par le bruit de photons (parfois appelé « bruit de grenaille »), qui est une propriété fondamentale de la lumière. L’écart-type de ce bruit croît avec la racine carrée de l’intensité du signal.
Cela a une conséquence majeure pour la compression des images linéaires :
- Dans les zones sombres, le bruit est très faible et le signal est finement structuré. Chaque bit de précision peut véhiculer une information réellement utile : dans ce cas, 14 bits voire 16 bits peuvent s’avérer nécessaires.
- Dans les zones claires, le bruit est plus élevé. La précision utile du signal est largement inférieure à ce qu’on peut représenter sur 14 ou 16 bits. Ainsi, ces bits supplémentaires encodent le bruit avec une précision dont personne n’a besoin et que personne ne peut percevoir.

Ce sont précisément ces échantillons de haute précision, inutiles car imperceptibles dans les hautes lumières, qui limitent l’efficacité de la compression sans perte : le compresseur doit encoder avec précision des bits qui ne véhiculent aucune information significative.
- La compression DRC résout le problème en appliquant une fonction de compansion (une courbe proche de la racine carrée) aux valeurs linéaires des pixels avant la compression. Sur le plan théorique, cette transformation est proche d’une transformation par stabilisation de la variance : après calcul de la racine carrée, l’écart-type du bruit devient approximativement constant sur l’ensemble de la plage tonale. La précision est ainsi ciblée sur ce qui importe le plus, avec un nombre élevé de niveaux dans les basses lumières et beaucoup moins dans les hautes lumières, mais sans jamais supprimer des informations visuellement perceptibles.

Lors de la décompression, la fonction inverse (stockée dans la table de linéarisation DNG) rétablit l’encodage linéaire d’origine, exactement comme prévu par la spécification DNG. Le processus est totalement transparent pour les applications utilisées en aval.
Le nombre de niveaux de quantification a été déterminé en laissant une certaine marge de sécurité et testé dans des scénarios de retouche extrêmes (forte augmentation de l’exposition combinée à une récupération extrême dans les basses lumières) pour que les artefacts de quantification restent invisibles dans toutes les utilisations courantes.
Compression JPEG XL
Après la compression DRC, l’image traitée est compressée avec JPEG XL, le codec d’image nouvelle génération normalisé par le comité JPEG.
Pourquoi JPEG XL est-il meilleur que le codec JPEG historique ?
Le format JPEG historique date de 1992 et repose sur une transformation en blocs fixes de 8 x 8 qui utilise un codage entropique relativement simple. Révolutionnaire pour l’époque, cette approche laisse une marge de progression considérable en termes de performances de compression au regard des standards actuels. Le codec JPEG XL est le résultat de plus de deux décennies de recherches sur la compression des images :
Transformations de blocs de taille variable : l’encodeur peut utiliser de gros blocs efficaces dans les zones unies (jusqu’à 256 x 256) et de tout petits blocs très précis près des bords (au minimum 2 x2) et s’adapter ainsi au contenu local de l’image au lieu de chercher à imposer une taille unique.
Espace colorimétrique optimisé pour la perception : la représentation interne des couleurs du format JPEG XL est modélisée sur le système visuel humain, ce qui permet d’allouer plus intelligemment des bits aux aspects de l’image les plus importants pour la perception.
Codage entropique avancé : les techniques de codage modernes, nettement plus efficaces, peuvent identifier davantage de redondances dans les données par rapport aux approches traditionnelles.
Prédiction et modélisation contextuelle sophistiquées : l’encodeur construit un modèle statistique de l’image au fil du traitement, pour repérer les structures locales fines et réduire la quantité d’informations réellement imprévisibles à stocker.
Gestion native des profondeurs de bits élevées : contrairement au format JPEG historique, le format JPEG XL a été conçu dès le départ pour les contenus à haute profondeur de bits, ce qui en fait une couche de compression idéale pour les flux de traitement RAW.
Nous appliquons le codec JPEG XL avec un réglage de qualité quasi sans perte : la perte mathématique introduite par ce codec est négligeable, bien en dessous du plancher de bruit d’images réelles. Le fait de combiner cette compression à une compression DRC effectuée en amont la rend extrêmement efficace : en éliminant la précision des détails imperceptibles avant de transmettre les données au codec JPEG XL, nous fournissons à ce dernier un signal naturellement plus facile à compresser, sans lui demander de prendre des décisions potentiellement préjudiciables pour la qualité.

