Le format Canon * .CR2 / CRW contient-il des données «vraiment RAW»?


11

Dans mon travail, je traite des images brutes * .CR2 prises par un reflex numérique Canon en mode brut. Quand j'ai lu sur le format ici , j'ai été surpris de constater qu'il a 4 IFD TIFF qui contiennent a) Image JPEG de taille originale b) Image JPEG miniature c) Données RVB non compressées d) Image JPEG sans perte.

Mon impression jusqu'à présent était que tout fichier d'image RAW capturé par une caméra aurait des données Raw Bayer, c'est-à-dire des données de type bayer R, Gr, B, Gb, et certaines données EXIF ​​sur les paramètres de capture de la caméra, etc.

Mais après avoir lu cette spécification CR2, je suis légèrement confus quant à la façon dont il peut avoir des données RVB ou même des données JPEG étonnamment. Il semble que ce soient les données après le dématriçage (obtention des données de pixels R / G / B manquantes pour le motif Bayer du capteur d'origine). Si tel est le cas, je ne considérerais pas * .CR2 comme des données "vraiment brutes". Il a effectué un dématriçage avant de vider le fichier dit brut.

Suis-je en train de manquer quelque chose?

Est-ce que d'autres formats Camera Raw (par exemple Nikon - * .NEF, Kodac - * .kdc, Pentax - * .ptx / pef, ...) ont des données de bayer réelles sans aucun traitement?


2
La page vers laquelle vous liez indique qu'elle contient le modèle Bayer, donc oui, elle a le modèle Bayer.

Le lien sur le format est rompu
Pedro77

Réponses:


11

Je pense que vous manquez certainement quelque chose. Considérez: JPG est utilisé pour stocker (et généralement compresser, des images avec perte). N'importe quelle image. Qu'est-ce qu'une image? C'est un super gros paquet de pixels, quand tout est dit et fait.

La sortie du capteur de la caméra est également un très gros paquet de pixels. Il se trouve que ce ne sont pas des pixels RVB pleine couleur, ce sont des pixels monochromes - que tout pixel individuel représente RG ou B dépend de son emplacement sur le capteur d'image, qui est connu. Mais leur nature monochrome, couleur donnée par position ne signifie pas qu'ils ne peuvent pas être utilement stockés de la manière JPG. Un faisceau de pixels est un faisceau de pixels, et pourquoi réinventer la roue?

Examinez de plus près le document. "Donc, avec une grille BAYER de RG / GB, les lignes paires ont des données HuffCode / Diff entrelacées pour ... RGRGRG ..., tandis que les lignes impaires c'est ... GBGBGB ...". Ainsi, la sortie brute de Bayer est stockée au format JPG. Sans perte, il est indiqué (sinon nous aurions un problème!) Et probablement à plus de 8 bits de profondeur. Vous avez trop cuisiné pour en obtenir une photo utile.

Les autres images JPG sont utilisées pour la prévisualisation, l'histogramme et autres. Il est logique de les faire cuire une fois pour toutes au fur et à mesure que l'image est prise, plutôt que d'avoir à le faire à la volée à chaque fois que vous souhaitez les regarder. Cela signifie également que l'ordinateur peut les pêcher à des fins de vignettes une fois que vous avez déchargé l'appareil photo sur le PC.

*** Je ne peux pas ajouter de commentaire pour une raison quelconque, donc cela va ici: Goldenmean, qu'est-ce qui vous fait penser qu'il y a un problème que vous n'avez pas d'informations RVB complètes pour chaque pixel? En supposant que vous créez un format RAW et que vous avez une mesure de 128 à partir d'une cellule de capteur "rouge"; vous pouvez choisir de le stocker sous 128,0,0 ou 128,128,128 ou, si vous vous sentez intelligent, 128, "données de la cellule suivante", "données de la cellule suivante" pour économiser de l'espace. Peu importe vraiment. C'est le travail du convertisseur RAW de garder une trace de cela (bien que je suis sûr que les programmeurs l'apprécieraient si vous documentiez comment vous avez choisi de stocker vos données de capteur) et d'en faire une image réelle.


2
Le format JPG avec perte que nous connaissons tous est apparemment assez différent du schéma nommé "Lossless JPEG" utilisé dans ces fichiers bruts.
Lyman Enders Knowles

2
@Lyman: Oui, ça l'est. Il est également utilisé dans DNG par exemple, en savoir plus: en.wikipedia.org/wiki/Lossless_JPEG
Guffa

Je comprends - «tout ce qui est pixel» et le «codec JPEG sans perte», mais des questions demeurent, comment peut-il avoir 3 composants pour chaque pixel stocké dans le brut. Le capteur ne donne pas de triplet pour chaque pixel physique, mais il ne donne qu'un seul des 3 (R, G ou B), pas tous les 3 que les formats semblent stocker pour chaque pixel. C'est le qn.
goldenmean

2

Le DNG contient un JPG en niveaux de gris sans perte avec une résolution 4 fois supérieure au fichier jpg couleur " normal ". Est-ce plus clair maintenant?

Quel est le problème en plaçant 3 types de boules noires dans un basked destiné à contenir 3 boules colorées ?

Dans le fichier JPG, il n'y a pas de couleurs, il n'y a que des chiffres, comme dans tout autre format de fichier. Et ils utilisent JPG parce qu'il est plus facile de l'encoder de cette façon, car le processeur de l'appareil photo est déjà conçu pour créer de tels fichiers.

Ils écriraient probablement les données de la matrice en zip, rar, flac ou tout autre format sans perte à peu près de la même manière. Mais cela nécessiterait un tas d'algorithmes ajoutés au logiciel de la caméra, qui ne sont pas nécessaires.


Je suis confus par votre explication. le lien ne fonctionne plus, mais l'OP indique qu'il existe des fichiers TIFF. Si l'appareil photo peut produire des fichiers TIFF, pourquoi doit-il encoder des données brutes en JPG? JPG sans perte signifie qu'aucune donnée n'est perdue lors de la compression, mais cela ne signifie pas nécessairement que la conversion des données de matrice brutes en JPG ne transforme pas ou ne perd pas les informations d'une manière ou d'une autre, n'est-ce pas?
MikeW
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.