8-bit and 16-bit/fr: Difference between revisions

From RawPedia
Jump to navigation Jump to search
(→‎Introduction: updating)
(updating)
Line 29: Line 29:
Plus la profondeur de couleur est importante, le plus précisément la couleur est décrite, au prix d'un calcul plus long, de plus de RAM et de plus d'espace de stockage.
Plus la profondeur de couleur est importante, le plus précisément la couleur est décrite, au prix d'un calcul plus long, de plus de RAM et de plus d'espace de stockage.


== Bits Per What? ==
== Bits par quoi ? ==


Bit depth is expressed as a value which describes either the number of '''bits per pixel''' (BPP), or '''bits per channel''' (BPC). The very popular [https://en.wikipedia.org/wiki/JPEG JPEG format] typically saves images with a precision of 8 bits per channel, using three channels, for a total of 24 bits per pixel. The [https://en.wikipedia.org/wiki/TIFF TIFF format] supports various bit depths, for example 32 bits per channel for a total of 96 bits per pixel.
La profondeur de couleur s'exprime sous forme d'une valeur qui décrit soit le nombre de '''bits par pixel''' (BPP), ou de '''bits par canal''' (BPC). Typiquement, le format très populaire [https://fr.wikipedia.org/wiki/JPEG JPEG] enregistre ses images avec une précision de 8 bits par canal, utilisant trois canaux, pour un total de 24 bits par pixel. Le format [https://fr.wikipedia.org/wiki/Tagged_Image_File_Format TIFF] supporte différentes profondeurs de couleur, par exemple, 32 bits par canal pour un total de 96 bits par pixel.


When describing bit depth, state what you're describing to leave no room for ambiguity. For example, if someone says they have a "32-bit" image, does that mean the image has 32 bits per channel, or does it have 4 channels at 8 bits per channel?
Lors de propos au sujet de la profondeur de couleur, précisez bien ce dont vous parlez pour ne laisser aucune ambiguïté. Par exemple, si quelqu'un dit posséder une image de "32-bits", cela signifie t-il 32 bits par canal, ou est-ce 4 canaux de 8 bits ?


== Precision ==
== Precision ==

Revision as of 17:25, 15 January 2019

8 bits et 16 bits

Lorsqu'on parle de « 8-bits » en matière de formats d'image, signifie que le programme attribue 8 bits (8 valeurs égales à "1" ou "0" qui ensemble forment un octet capable de représenter tout nombre entier depuis 0 [00000000] jusqu'à 255 [11111111]) à chaque canal de couleur du pixel, et dans les fichiers enregistrés par RawTherapee, chaque pixel possède trois canaux : rouge, vert et bleu.

La plupart des appareils photo réflexes (ou DSLR en anglais) modernes proposant le format raw utilisent un convertisseur analogique / numérique de 12 ou 14 bits pour enregistrer les données du capteur. Cela signifie que choisir pour votre appareil photo un format de sortie de 8 bits par canal, comme JPEG, provoque une perte d'informations. Cela n'est pas aussi simple qu'il y parait, les appareils enregistrent les données linéairement (en raison de limitations dans la conception du matériel) alors que les formats JPEG, TIFF et PNG encodent leur données selon le gamma ce qui signifie qu'ils attribuent plus de valeurs dans les ombres et moins dans les hautes lumières, car cela correspond mieux à la sensibilité de l’œil. Cela signifie aussi qu'une image JPEG 8 bits peut afficher un nombre de pas de la gamme dynamique égal à log2((1/2^8)^2.2) = 17.6; ce qui dépasse les 14 pas des meilleurs appareils actuels. Cela explique pourquoi vous pouvez quelquefois apercevoir le bruit de l'appareil dans les ombres même dans une image JPEG de 8 bits. Cependant, en raison du moindre nombre de valeurs dans les hautes lumières nous perdons de la précision à ce niveau comparé au potentiel de l'appareil. En pratique, cela n'est pas un problème quand le fichier de sortie est le fichier définitif sans traitement ultérieur. Cependant, une photo peut-être considérablement améliorée si elle est enregistrée au format raw puis traitée à l'aide d'un programme de développement numérique dernier cri tel que votre fidèle serviteur : RawTherapee.

Une fois la photo développée par RawTherapee, vous êtes confronté au même choix, enregistrer l'image avec une résolution de couleur de 8 bits ou de 16 bits par canal (seuls TIFF et PNG, pas JPEG). Si après développement par RawTherapee vous envisagez de retoucher vos photos dans un éditeur d'image en 16 bits, c'est mieux de les enregistrer dans un format 16 bits non destructif. Le TIFF non compressé est considéré comme un format intermédiaire, vu qu'il est rapide à l'enregistrement et conserve toutes les métadonnées (EXIF, IPTC, XMP) du fichier original, (généralement, PNG élimine les métadonnées).

Il existe une certaine confusion a propos de la désignation 8, 16, 24 ou 32 bits. Voici une clarification, du moins espérons-le, accrochez-vous. En fait, vous n'avez pas besoin de lire cela pour utiliser RawTherapee, c'est juste pour votre connaissance générale. Chacun des canaux rouge, vert et bleu enregistrés dans un fichier JPEG, PNG ou TIFF est en fait une image sans couleur, mais lorsque vous combinez ensemble ces trois images sans couleur, vous obtenez une image en couleur. C'est de cette façon que fonctionnent toutes les représentations numériques d'images, les couleurs sont toujours décomposées suivant leurs composantes d'une façon ou d'une autre. Dans tous les formats de fichier vers lesquels RawTherapee peut enregistrer (JPG, PNG et TIFF), chaque pixel possède les informations concernant les trois canaux de couleur, rouge vert et bleu. Nous disons « 8 bits par canal » pour signifier clairement que ces 8 bits ne concernent qu'un seul canal de couleur. La raison en est que vous pouvez rencontrer des références à des « images 8 bits » et c'est équivoque car celui qui écrit cela peut vouloir faire référence à des formats d'images capables de n'enregistrer que des images en échelle de gris, qui n'enregistrent qu'un seul canal ou bien à des formats d'images qui enregistrent trois canaux avec une précision de 8 bits pour chaque. Une autre notation possible pour exactement les mêmes images « 8 bits » que RawTherapee enregistre, est « 24 bits ». Waouh ! Perturbant. Vraiment ? Chaque pixel comprend trois canaux, et chaque canal est formé de 8 bits de données, on a donc bien un total de 24 bits de données par pixel. Et cela empire. Les programmes d'édition des images peuvent aussi enregistrer un quatrième canal, appelé alpha. Pour faire simple, alpha indique le niveau de transparence du pixel. Ces canaux alpha possèdent aussi une « résolution de couleur » sur 8 bits. PNG et TIFF peuvent tous les deux gérer l'alpha, pas JPG. Si vous avez une image de 8 bits par canal plus un canal alpha, elle peut aussi être désignée comme étant une image 32 bits ; R (8) + V(8) + B(8) + alpha(8) = 32. L'ultime problème est que vous pouvez aussi avoir une image qui attribue 32 bits par canal de couleur. Ces images peuvent être aussi bien désignées comme des images « 32 bits » que comme des images « 96 bits » (car R (32) + V(32) + B(32) = 96). Tous les fichiers d'image en véritable HDR sont enregistrés dans un format qui attribue au moins 16 bits en virgule flottante par canal de couleur, comme le format EXR ; ou 32 bits, comme le format RGBE. Pour résumer, une image « 8 bits par canal » avec trois canaux (RVB) peut aussi être appelée une image « 24 bits par pixel ». Une image « 16 bits par canal » avec trois canaux peut aussi être appelée une image « 48 bits par pixel ». Dans les 2 cas, utilisez la première appellation, (la description complète « x bits par canal » et ne dite pas seulement « x bits »), ce que vous dites est plus clair.


NEW page - translation in progress. _____________________________

Profondeur de couleur


Introduction

Il vous arrive d'entendre des termes tels que "8-bits", "16-bits", "24-bits", "32-bits", "64-bits" et "96-bits" en rapport avec les images numériques. Cet article va clarifier la signification de ces termes

Les images numériques sont constituées de millions de pixels, et chaque pixel décrit un ou plusieurs canaux de couleur. Les images en niveaux de gris n'ont besoin que d'un canal (la valeur de 0 peut représenter le noir pur, 255 le blanc pur et les valeurs intermédiaires représentent alors les gris entre noir et blanc), alors que les images couleur en mode RVB ont besoin de trois canaux, un décrit le rouge, un le vert et un le bleu. Chaque canal ne décrit que l'intensité, aussi il n'y a rien de fondamentalement vert à propos du nombre qui décrit a pixel du canal vert; les couleurs sont la conséquence de l'interaction entre les trois canaux dans le modèle colorimétrique Rouge Vert Bleu.

Un seul pixel peut représenter plus de trois canaux, par exemple il peut contenir l'information du canal alpha (lequel décrit la transparence) ou un canal infra-rouge (supporté par certains scanners).

Plus la profondeur de couleur est importante, le plus précisément la couleur est décrite, au prix d'un calcul plus long, de plus de RAM et de plus d'espace de stockage.

Bits par quoi ?

La profondeur de couleur s'exprime sous forme d'une valeur qui décrit soit le nombre de bits par pixel (BPP), ou de bits par canal (BPC). Typiquement, le format très populaire JPEG enregistre ses images avec une précision de 8 bits par canal, utilisant trois canaux, pour un total de 24 bits par pixel. Le format TIFF supporte différentes profondeurs de couleur, par exemple, 32 bits par canal pour un total de 96 bits par pixel.

Lors de propos au sujet de la profondeur de couleur, précisez bien ce dont vous parlez pour ne laisser aucune ambiguïté. Par exemple, si quelqu'un dit posséder une image de "32-bits", cela signifie t-il 32 bits par canal, ou est-ce 4 canaux de 8 bits ?

Precision

What difference does bit depth make? The more bits are available to describe a color, the more precisely you can describe that color.

  • A precision of 1 bit per channel means that there is only 1 bit to describe the value. A bit can only be 0 or 1, so you can only represent two values, which typically would mean black or white.
  • A precision of 2 bits per channel means there are two bits available to describe a color. Since each bit can be 0 or 1, and there are two of them, they can represent 4 possible values:
    [00] = 0
    [01] = 1
    [10] = 2
    [11] = 3

    If we use 0 to represent black and 3 to represent white, there are two additional shades of gray which can be described.

  • A precision of 8 bits per channel means there are 8 bits which can represent 256 values:
    [0000 0000] = 0
    [0000 0001] = 1
    (...)
    [1111 1110] = 254
    [1111 1111] = 255

    If we use 0 to represent black and 255 to represent white, 254 shades of gray can also be described. This is what JPEG files use - 8 bits per channel, with 3 channels. It is sufficient to be used for most ready-to-view photographs in the sRGB color space without visible posterization, so you can use it when saving photographs ready to be viewed over the internet. It is not suitable as an intermediate format nor as a final format if there is a chance you might need to tweak the photograph later on, as you run the risk of introducing posterization artifacts, depending on the strength of adjustments. 8-bit precision is not enough to represent a high dynamic range scene in a linear way without posterization, i.e. you theoretically could use 8 bits of precision to describe a high dynamic range scene linearly, but the numbers would be so far apart that heavy posterization would occur. For instance, if a photograph captures a sunny day in the park, and if we assume that black should be 0 and white should be 1 000 000, we could map 0 to 0 and 255 to 1 000 000, but then there would only be 254 values left for describing all the remaining 999 999 shades of the original scene.

  • A precision of 16 bits per channel (16-bit integer) means there are 16 bits which can represent 65536 values:
    [0000 0000 0000 0000] = 0
    [0000 0000 0000 0001] = 1
    (...)
    [1111 1111 1111 1110] = 65534
    [1111 1111 1111 1111] = 65535

    Digital cameras typically capture light in 12-bit or 14-bit precision (and due to noise and imprecise electronics the lowest bits are of dubious quality). 16 bits per channel are enough for most photography needs, including for use in intermediate files (if you want to pass an image from one program to another without data loss).

  • The values of a 16-bit floating point image, also known as half-precision floating point, are spread in a way more suitable to sampling light than in 16-bit integer. This is so for various reasons: human vision is more sensitive to small changes in dark tones than to small changes in bright ones; our eyes respond to light in a logarithmic way (light must be 10 times more intense in order for us to see it as twice as bright); and specular highlights which can be the the brightest elements in a scene (the sun reflecting off a door knob) need not be described as accurately as all the other tones. In 16-bit floating-point notation, values are distributed more closely in the (lower) darker tones than in the (higher) lighter ones, thus allowing for a more accurate description of the tones more significant to us.
  • A 32-bit floating point image can represent 4.3 billion values per channel, and requires roughly twice the disk space as a 16-bit image. Few programs support 32-bit images.

One of the reasons bit depth affects mostly shadows is due to the way colors are stored. Each color is defined by a mixture of red, green and blue. Using an 8-bit image and the color orange as an example, many values are possible when describing bright orange, but the number of samples available to describe dark orange drops to very few, i.e. only the lowest 3-4 bits from each channel can be used to describe dark orange, which means only 16 possibilities exist. The higher the bit-depth, the more colors can be described, and posterization avoided.

Gamma Encoding

Gamma encoding can be used when saving image files, meaning that values are modified in such a way that more can be allocated in the shadow range than in the highlight range, which better matches the human eye's sensitivity. This means that an 8 bit JPEG can display as much as log2((1/2^8)^2.2) = 17.6 stops of dynamic range, which indeed exceeds the 14 stops of the current best cameras, which explains why you sometimes can see a camera's shadow noise even in an 8-bit JPEG. However, due to the non-linear distribution, we lose precision compared to the raw file recorded in a linear way by the digital camera. Practically this is not a problem when the output file is the definitive one and will not be processed anymore, however a photo can be vastly improved when saved as raw data and processed using a state of the art raw processing program, such as yours truly - RawTherapee.

After RawTherapee

Once you have adjusted a photo in RawTherapee and are ready to save, you are faced with a choice of output format, per-channel bit depth, color space and gamma encoding. If you plan to post-process your photos after RawTherapee in a 16-bit-capable image editing program, it is better to save them in a lossless 16-bit format. RawTherapee can save images in 16-bit integer precision (denoted as "TIFF (16-bit)" in the Save dialog) as well as 16-bit floating-point precision (denoted as "TIFF (16-bit float)"). Uncompressed TIFF at 16-bit integer precision is suggested as an intermediate format as it is the fastest to save and is widely compatible with other software. 32-bit files are roughly twice the size and not well supported by other programs.