Comment l'espace colorimétrique YCbCr est-il représenté dans une image JPEG?


9

Je sais qu'une image 24 bits consacre 8 bits chacune pour R, G et B. Est-ce juste pour l'espace colorimétrique RVB. Dans l'espace colorimétrique YCbCr pour une image JPEG 24 bits, comment sont répartis les bits?

Réponses:


3

Il existe quelques formats pour YCbCr. de manière générale, l'œil est plus sensible aux changements de luminance (Y, luminosité) qu'aux changements de chrominance (Cb, Cr, couleur). Ainsi, il est possible d'effacer certaines informations de chrominance tout en conservant la qualité de l'image.

Ainsi, le format le plus "cher" est 4: 4: 4, où pour chaque composant luma (Y) il y a 1 différence rouge (Cr) et une différence bleue (Cb).

Ensuite, en appliquant le principe que j'ai mentionné, il y a 4: 2: 2 où pour chaque 2 composantes Y il y a 1 Cb et 1 Cr. Et cela va encore plus loin en 4: 1: 1 et 4: 2: 0, etc. Plus d'infos ici .


Ces modèles semblent se référer à l'échantillonnage de fréquence pour la vidéo, pas au codage JPEG.
2011

@whuber: Ils sont fréquemment utilisés pour discuter du codage vidéo, mais JPEG prend également en charge la luminance avec une résolution double de la chrominance. Dans le cas de JPEG, il est cependant facultatif - la chrominance peut être en pleine résolution ou en demi-résolution.
Jerry Coffin

1
Le GIMP utilisera le sous-échantillonnage de chrominance par défaut lors de l'enregistrement d'un JPEG, bien qu'il soit facile à remplacer. Je ne me souviens pas si cela s'applique également à Photoshop.
thomasrutter

@thomasrutter, Photoshop sélectionne le sous-échantillonnage en fonction du paramètre de qualité que vous choisissez. Ce n'est pas une option indépendante.
Mark Ransom

Soit dit en passant, les nombres se réfèrent au nombre d'échantillons par 4 pixels horizontaux pour Y, Pr et Pb. Donc 4: 4: 4 signifie que les trois canaux échantillonnent chaque pixel; 4: 2: 2 signifie que les canaux Pr et Pb n'échantillonnent que tous les deux pixels horizontalement; 4: 1: 1 (je ne pense pas que cela soit jamais utilisé en photographie, uniquement en vidéo) signifie que Pr et Pb n'échantillonnent que tous les quatre pixels horizontalement. 4: 2: 0 est un écart spécial par rapport à cette règle. Cela ne signifie PAS qu'il n'y a pas de canal Pb. Cela signifie que les canaux Pr et Pb sont divisés par deux dans le sens horizontal et vertical, et pas seulement horizontal.
thomasrutter

24

Un JPEG peut commencer avec 8 bits par canal R, G et B, mais lorsqu'il est stocké dans le JPEG, il est stocké très différemment, où il n'y a pas de "profondeur de bit" réelle mais à la place, les valeurs sont stockées sous forme de coefficients de fréquence d'une précision donnée.

En JPEG, ce qui est plus pertinent, c'est le taux de quantification , qui affecte la quantité d'informations jetées pendant la phase de quantification de la compression et donc la précision de chaque coefficient. Ce taux de quantification est défini par le paramètre "qualité" lorsque vous enregistrez un JPEG dans Photoshop. Cela n'est pas lié à la profondeur de bits comme dans une image raster, et vous pourriez même dire qu'une image JPEG n'a pas de profondeur de bits lorsqu'elle est au format JPEG, bien que les encodeurs / décodeurs JPEG commencent par / se terminent par 24 bits. image raster.

L'autre facteur majeur pertinent pour enregistrer un JPEG est le type de sous-échantillonnage de chrominance . Dans un JPEG, vous avez la possibilité de diviser par deux la résolution horizontale, ou à la fois horizontale et verticale, des canaux de couleur (Pr et Pb) par rapport au canal de luminance (luminosité). Lors de la décompression, les canaux de couleur sont interpolés et dans la plupart des sujets photographiques , cela ne fait pas une énorme différence.

Voici un résumé approximatif de la façon dont une image est transformée en JPEG.

  1. Les valeurs RVB sont converties en valeurs Y, Pb, Pr. L'espace colorimétrique YPbPr est mieux adapté à une compression efficace car il conserve les informations de luminance, qui contiennent le plus de détails, dans un seul canal. Cette conversion est une simple opération arithmétique parfaitement réversible, sauf en cas d'erreur d'arrondi.

  2. Si vous utilisez un sous-échantillonnage de chrominance (en d'autres termes, en utilisant autre chose que le mode 4: 4: 4), alors la résolution verticale et / ou horizontale des canaux Pb et Pr uniquement est divisée par deux. Ainsi, ces canaux auront des dimensions de pixels différentes du canal de luminance. Cela entraîne une perte permanente de résolution dans les canaux de couleur.

  3. Pour chaque canal, l'image est divisée en blocs de 8 pixels par 8 pixels, ce qui donne 64 valeurs linéaires pour chacun de ces blocs dans chaque canal. Si un canal n'est pas un multiple de 8 pixels dans l'une ou l'autre dimension, alors les pixels de bord sont répétés (et seront rejetés lors de la décompression - ainsi la compression JPEG est toujours plus efficace avec des dimensions qui sont des multiples de 8 pixels, ou 16 si vous factorisez dans le sous-échantillonnage de chrominance).

  4. Les 64 valeurs de chaque bloc subissent une transformation du domaine spatial vers le domaine fréquentiel, dans ce cas appelé une transformation cosinus discrète. Vous vous retrouvez avec 64 coefficients, chacun représentant l'amplitude d'une carte de fréquence particulière sur la zone prise par ce bloc. La première valeur est la fréquence la plus basse qui est effectivement la valeur moyenne de tous les pixels, jusqu'aux dernières valeurs qui décrivent la composante de fréquence la plus élevée du bloc. Les valeurs antérieures s'écartent toutes beaucoup plus et sont plus importantes pour l'apparence de l'image finale que les valeurs ultérieures d'un bloc. Cette opération est parfaitement réversible tant que vous utilisez suffisamment de précision.

  5. Ensuite, il y a l'étape de quantification, où chacun des 64 coefficients obtenus à l'étape précédente est divisé par un certain nombre (appelé facteur de quantification), et le reste est rejeté. C'est là que la précision des échantillons est le plus affectée, mais c'est là que vous obtenez les énormes économies d'espace de JPEG par rapport à la compression sans perte. Étant donné que tout est dans le domaine fréquentiel depuis la transformation précédente, cette perte de précision fait de son mieux pour préserver la qualité d'image perceptuelle que de simplement réduire la profondeur de bit / précision des pixels avant cette transformation. L'inverse de cette procédure consiste simplement à multiplier par le même nombre que vous avez divisé les coefficients, mais bien sûr, puisque vous avez jeté les restes, vous vous retrouvez avec moins de précision des coefficients. Il en résulte une perte de qualité permanente,

  6. Après cette quantification, il est typique que bon nombre des coefficients ultérieurs et moins significatifs soient nuls, ils sont donc supprimés. Ensuite, une routine de codage de longueur variable (sans perte) code tous les coefficients restants de manière efficace, même si chacun peut utiliser un nombre différent de bits.

Il est impossible de dire qu'un certain facteur de quantification équivaut à une certaine profondeur de bits car la quantification ne donne pas de bandes comme lorsque vous réduisez la profondeur de bits, mais donne plutôt une perte de perception globale en détail, en commençant par les parties où vous le remarqueriez. moins parce qu'il est d'une si faible amplitude pour sa fréquence.


2
Je pense que mon cerveau a explosé.
Nick Bedford

Le sous-échantillonnage en chrominance ne se traduit pas seulement par une "perte de résolution". Il introduit des artefacts très visibles en particulier dans le canal rouge.
Mark Ransom

@Mark Ransom ces artefacts ne sont rien d'autre que le résultat de la réduction de moitié de la résolution dans les canaux de couleur, et de l'interpolation nécessaire pour en tenir compte après la décompression. Il ne devrait jamais produire d '"artefacts perceptibles" autres que ceux causés par un flou de résolution, bien qu'il puisse exister des décodeurs qui gâchent cette interpolation ou effectuent une interpolation très simple du plus proche voisin, ce qui entraîne un blocage qui est tout à fait perceptible pour le rouge détails sur le noir (ou magenta sur le bleu, etc.). C'était un problème commun sur certains premiers lecteurs de DVD par exemple.
thomasrutter

5
Je ne pense pas avoir jamais vu une explication meilleure, plus facile à comprendre de la compression d'image jpeg - ou vraiment avec perte -. definite +1
jay.lee

Désolé, je ne voulais pas laisser entendre que le sous-échantillonnage provoque les artefacts. C'est juste que les erreurs existantes de quantification explosent 2X, les rendant beaucoup plus visibles. Je pense qu'il est important de savoir que l'effet visible du sous-échantillonnage est plus qu'un simple flou supplémentaire.
Mark Ransom

1

La représentation de la chrominance (Cb Cr) dans des canaux séparés de la luma (Y) a un autre effet positif sur la compression. La plupart des informations visibles se trouvent dans le canal luma. Les yeux humains tolèrent à la fois une résolution spatiale inférieure et une quantification plus agressive dans les canaux de chrominance. Ainsi, une image compressée de manière agressive peut finir par consommer environ 10% de l'espace fichier pour la chrominance, et le reste pour la luminance, tout en restant décente.

À la fin de la journée, c'est toujours une compression avec perte.


-1

Environ 8 bits pour chaque canal, mais il existe plusieurs façons légèrement différentes de le faire. Les détails sont donnés dans l'article Wikipedia sur YCbCr .


Cela a été indiqué dans la question. Fournissez une réponse plus détaillée.
Nick Bedford

@Nick Où était "ceci" indiqué dans la question, exactement? La question, telle qu'elle se présente actuellement, dit "Dans l'espace colorimétrique YCbCr pour une image JPEG 24 bits, comment sont répartis les bits?" J'ai dit comment ils sont distribués, en supposant - comme toute personne qui comprend la question - que les canaux sont Y, Cb et Cr. Ma réponse est un résumé correct de l'article Wikipedia. La politique de SE est de fournir des résumés plutôt que de copier du matériel en gros (bien qu'il soit facile, je l'avoue, de fournir quelques exemples limites de longues citations ailleurs sur ce site).
whuber

Je pense que ce type de réponse, bien qu'il ne soit pas aussi génial qu'une explication complète, est bien meilleur que celui qui ne fait que couper et coller sur Wikipedia, ou même qui paraphrase un article entier de Wikipedia. Si Wikipédia est bon, en parler aux gens est utile. Et si c'est tout ce que votre réponse contribue, être franc et donner simplement un résumé rapide et un lien est exactement la bonne chose à faire.
Veuillez lire mon profil le
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.