Page FB inaccessible

Démarré par seba, Février 26, 2023, 18:28:53

« précédent - suivant »

Nikojorj

Et il existe des capteurs avec 4 photosites pour un pixel en mode normal, ce sont les QuadBayer (et pour les smartphones, ça leur permet de récupérer pas mal de dynamique en faisant varier le gain de ces sous-pixels et c'est bienvenu).
Ils gardent cependant le filtre de Bayer (avec la même couleur sur les 4 sous-pixels) parce que c'est quand même un truc qui marche bien.
Par contre quand ils essayent d'utiliser individuellement les sous-pixels pour avoir une plus haute résolution (le cas du bas du schéma ci-dessous), ça marche pas trop bien, la couleur est vraiment trop sous-échantillonnée je pense.


seba

Citation de: jenga le Mai 21, 2025, 20:50:33La confusion est compréhensible, car très soigneusement créée par la publicité trompeuse, voire mensongère, des constructeurs.

Nikon indique, par exemple pour le Z5II: "Capteur : FX de 24,5 millions de pixels"

Mais un appareil photo avec un capteur de X photosites donne bien une image de X pixels (pour la matrice de Bayer après dématriçage). Je pense que NS a réfléchi toute seule et s'est dit que le seul moyen d'avoir les valeurs RVB pour un pixel était de regrouper 4 photosites. C'est dans la droite ligne des explications farfelues qu'elle a l'habitude de professer.

Verso92

Citation de: seba le Mai 22, 2025, 07:01:58Mais un appareil photo avec un capteur de X photosites donne bien une image de X pixels (pour la matrice de Bayer après dématriçage). Je pense que NS a réfléchi toute seule et s'est dit que le seul moyen d'avoir les valeurs RVB pour un pixel était de regrouper 4 photosites. C'est dans la droite ligne des explications farfelues qu'elle a l'habitude de professer.

D'ailleurs, c'est une explication qu'on retrouve quelquefois sur certains sites farfelus, et c'est ce que m'avait sorti une collègue du club photo, il y a quelques temps...

egtegt²

Citation de: Verso92 le Mai 22, 2025, 08:37:01D'ailleurs, c'est une explication qu'on retrouve quelquefois sur certains sites farfelus, et c'est ce que m'avait sorti une collègue du club photo, il y a quelques temps...
Strictement parlant ça n'est pas totalement faux dans le sens où pour créer un pixel, on a besoin de l'information de plusieurs photosites. Mais si on le présente comme ça, il faut alors préciser que chaque photosite et utiliser pour créer plusieurs pixels et au final on a bien un ratio d'un pixel par photosite.

Par contre il n'y a pas de correspondance photosite/pixel un à un.

Verso92

Citation de: egtegt² le Mai 22, 2025, 09:41:53Strictement parlant ça n'est pas totalement faux dans le sens où pour créer un pixel, on a besoin de l'information de plusieurs photosites.

C'est rigoureusement faux : le carré RVVB n'est que le motif de base de la matrice de Bayer, rien de plus.

Pour recréer les couleurs, les algorithmes récents (gradient) fonctionnent sur un voisinage de 9 photosites, d'après mes lectures.

egtegt²

Citation de: Verso92 le Mai 22, 2025, 09:48:08C'est rigoureusement faux : le carré RVVB n'est que le motif de base de la matrice de Bayer, rien de plus.

Pour recréer les couleurs, les algorithmes récents (gradient) fonctionnent sur un voisinage de 9 photosites, d'après mes lectures.
Tu as raison, j'aurais dû préciser : ça n'est pas faux de dire qu'un pixel nécessite plusieurs photosites pour être calculé, mais c'est faux de dire que c'est 4.

Accessoirement je me suis déjà posé la question : si on prend une photo avec le quart de la résolution, est-ce que l'appareil fait toujours un dématriçage ou est-ce qu'il se contente de regrouper 4 photosites pour faire un pixel ? La seconde solution me semblerait plus logique mais est-ce celle qui est retenue ?

Verso92

#2156
Citation de: egtegt² le Mai 22, 2025, 10:43:30Tu as raison, j'aurais dû préciser : ça n'est pas faux de dire qu'un pixel nécessite plusieurs photosites pour être calculé, mais c'est faux de dire que c'est 4.

Les farfelus qui partent sur ce postulat en déduisent que la définition doit être divisée par quatre, ou font des calculs bizarres du diamètre des photosites (voir NS, en amont dans ce fil)...

Citation de: egtegt² le Mai 22, 2025, 10:43:30Accessoirement je me suis déjà posé la question : si on prend une photo avec le quart de la résolution, est-ce que l'appareil fait toujours un dématriçage ou est-ce qu'il se contente de regrouper 4 photosites pour faire un pixel ? La seconde solution me semblerait plus logique mais est-ce celle qui est retenue ?

Je me suis déjà posé ce genre de question.

Je pense qu'il y a dématriçage, mais l'opération doit être lourde quand on constate la capacité du buffer mise à mal quand on utilise les définitions sous-échantillonnées, malgré le poids plus léger des fichiers au final...

seba

Je pense aussi que c'est dématricé puis redimensionné.
D'ailleurs certains appareils dans le temps redimensionnaient à la hausse.

jenga

#2158
Citation de: egtegt² le Mai 22, 2025, 10:43:30Accessoirement je me suis déjà posé la question : si on prend une photo avec le quart de la résolution, est-ce que l'appareil fait toujours un dématriçage ou est-ce qu'il se contente de regrouper 4 photosites pour faire un pixel ? La seconde solution me semblerait plus logique mais est-ce celle qui est retenue ?

De toute façon, comme les photosites RVB ne sont pas au même endroit, un remappage est nécessaire pour les réaligner, même si on ne fait pas de dématriçage. Cette opération se réalise par un filtre de convolution, tout comme l'interpolation nécessaire au dématriçage.

(dans les deux cas, remappage ou interpolation, il s'agit de calculer la valeur d'une composante, mettons R, à un emplacement où il n'y a pas de photosite R, en se basant sur les photosites R voisins; selon la puissance calcul disponible, on prend un voisinage plus ou moins étendu)

Comme les deux sont des opérations linéaires, elles sont réalisables en même temps (un seul passage de la matrice de convolution); il n'y aurait donc pas de perte de temps à effectuer un dématriçage dans tous les cas.


jenga

Citation de: Verso92 le Mai 21, 2025, 20:59:07Le Z5II délivre bien des images de 24,5 MPixels, aucun mensonge ni tromperie là-derrière.

Le mensonge est dans la pub Nikon: "Capteur : FX de 24,5 millions de pixels"
https://www.nikon.fr/fr_FR/product/cameras/z5ii

Dans la réalité:
-le capteur délivre 24 M photosites et 0 pixel
-le Z5II délivre 24 M photosites et 0 pixel en NEF
-le Z5II délivre 24 M pixels interpolés en JPEG

Verso92

Citation de: jenga le Mai 22, 2025, 11:37:56Le mensonge est dans la pub Nikon: "Capteur : FX de 24,5 millions de pixels"
https://www.nikon.fr/fr_FR/product/cameras/z5ii

Dans la réalité:
-le capteur délivre 24 M photosites et 0 pixel
-le Z5II délivre 24 M photosites et 0 pixel en NEF
-le Z5II délivre 24 M pixels interpolés en JPEG

Tu devrais leur faire un procès, dans ce cas (si tu as raison, tu vas te faire des couilles en or).

jenga

Citation de: Verso92 le Mai 22, 2025, 11:44:46Tu devrais leur faire un procès, dans ce cas (si tu as raison, tu vas te faire des couilles en or).
Aucune importance pour moi, le résultat me convient parfaitement (m'impressionne à chaque utilisation, pour tout dire, quel chemin parcouru en 30 ans) et je n'attache aucune importance aux pubs.

C'était juste en référence à ta collègue manifestement perdue face à ces pubs plutôt limites.  ;)

jenga

Citation de: Nikojorj le Mai 21, 2025, 21:02:49Pourquoi un pixel aurait-il nécessairement les 3 informations de couleur?
Dans plein de méthodes de compression d'image, la luminance a plus de résolution que la chrominance et ça va très bien.

Le pixel a nécessairement les 3 infos dans les chaînes numériques usuelles. Les méthodes de compression dans un fichier, c'est une autre question.

Concernant les jpeg sortis de boîtier, généralement en YCbCr 4.2.2, le sous-échantillonnage des deux infos couleur Cb et Cr ne perd pas d'information, il ne fait que sous-échantillonner ce qui a été sur-échantillonné ("interpolé") lors du dématriçage.

Si tout ça est calculé avec une profondeur suffisante en interne boîtier, ce facteur n'induit pas de perte.


jenga

Et merci à vous pour ces échanges techniques intéressants!

seba

Sur le dernier SF il y a un nombre incroyable de commentaires, tous dithyrambiques.
La « meilleure technicienne », un « puits de connaissances », des « vérités dures à entendre », « admiratif de la scientifique ».
Ce type a bien retenu l'histoire du 50mm, une fable totalement inventée par Nath Sakura.
Il n'y a que des décérébrés parmi ses followers ?

Alain c

Ce qui est inquiétant  - ou amusant pour moi - c'est de voir comment elle se comporte comme un véritable dictateur qui tord le cou à certaines vérités pour mieux embobiner ses admirateurs.
Contres vérités parfois surprenantes qui motivent ce fil !
Matérialiser l'immatériel

egtegt²

Citation de: jenga le Mai 22, 2025, 11:35:03De toute façon, comme les photosites RVB ne sont pas au même endroit, un remappage est nécessaire pour les réaligner, même si on ne fait pas de dématriçage. Cette opération se réalise par un filtre de convolution, tout comme l'interpolation nécessaire au dématriçage.

(dans les deux cas, remappage ou interpolation, il s'agit de calculer la valeur d'une composante, mettons R, à un emplacement où il n'y a pas de photosite R, en se basant sur les photosites R voisins; selon la puissance calcul disponible, on prend un voisinage plus ou moins étendu)

Comme les deux sont des opérations linéaires, elles sont réalisables en même temps (un seul passage de la matrice de convolution); il n'y aurait donc pas de perte de temps à effectuer un dématriçage dans tous les cas.


J'avoue que j'ai du mal à comprendre : si je prends un bloc de 4 photosites en carré en partant du bord, j'ai obligatoirement un rouge, un bleu et deux verts. Rien ne m'empêcherait si je demande une image avec 1/4 de la résolution de calculer un pixel à partir de ces 4 photosites. C'est probablement ce qui donnerait l'image la plus proche de la réalité.



Mais effectivement au vu des informations de Verso, ça n'est probablement pas fait de cette façon sinon l'appareil n'aurait pas besoin d'autant d'espace en cache. Il est plus que probable que le RAW est d'abord dématricé puis reconstruit avec une résolution moindre. J'imagine que ça n'est pas si simple techniquement de faire autrement.

Nikojorj

Citation de: egtegt² le Mai 22, 2025, 16:19:11Rien ne m'empêcherait si je demande une image avec 1/4 de la résolution de calculer un pixel à partir de ces 4 photosites. C'est probablement ce qui donnerait l'image la plus proche de la réalité.
Comme dit jenga, on va sans doute gagner un peu de qualité en répartissant d'abord les infos de couleur sur l'ensemble des pixels.
Ta méthode n'est pas forcément la meilleure, mais c'est assez probablement la plus simple conceptuellement - ce qui ne veut pas forcément dire que ce soit la plus simple à mettre en oeuvre!

Nikojorj

Citation de: jenga le Mai 22, 2025, 12:56:28Concernant les jpeg sortis de boîtier, généralement en YCbCr 4.2.2, le sous-échantillonnage des deux infos couleur Cb et Cr ne perd pas d'information, il ne fait que sous-échantillonner ce qui a été sur-échantillonné ("interpolé") lors du dématriçage.
C'est à mon sens bien la preuve qu'on peut avoir une image avec plein de pixels et un peu moins d'infos de couleur.

jenga

Citation de: egtegt² le Mai 22, 2025, 16:19:11J'avoue que j'ai du mal à comprendre : si je prends un bloc de 4 photosites en carré en partant du bord, j'ai obligatoirement un rouge, un bleu et deux verts. Rien ne m'empêcherait si je demande une image avec 1/4 de la résolution de calculer un pixel à partir de ces 4 photosites. C'est probablement ce qui donnerait l'image la plus proche de la réalité.

Question intéressante! Associer directement 4 photosites R, V1, V2, B pour créer un pixel ne serait pas correct, parce que les 4 sites n'échantillonnent pas au même endroit, ça créerait des franges à chaque transition.

En prenant comme référence, par exemple, la sous-image constituée par les photosites R, il faut interpoler chacune des trois autres sous-images V1, V2 et B pour calculer leurs valeurs aux points de R.

Soit "pas" la distance entre deux sites de même couleur (deux fois le pas des photosites). On doit donc décaler la sous-image V1 d'un 1/2 pas à droite, V2 d'un 1/2 pas en haut, B de 0,707 pas en diagonale.

Comment effectuer ces décalages?
Effectuer ces décalages ne pose aucun problème si l'échantillonnage est correct, c'est-à dire si l'image analogique ne comporte pas de fréquence supérieure à la fréquence de Shannon (f = 1/2pas).
On peut alors retrouver exactement la valeur des sous-images V1, V2, et B en n'importe quel point, donc en particulier en tout point de la sous-image R.

Mais les interpolateurs simples ("au plus proche voisin", bilinéaire", etc. sont tous trop imprécis pour cela; il suffit pour s'en convaincre de tracer une sinusoïde et de voir que la valeur en un point n'est ni la valeur en un autre point situé 1/4 pas à gauche ou 1/4 pas à droite, ni la valeur moyenne entre ces 2 points, etc.

L'interpolateur rigoureusement exact est la convolution de la sous-image à décaler par une matrice (le "noyau de convolution") dont les coefficients sont donnés par la fonction "sinus cardinal" [Asin(Bx + C)]/x, avec des coefficients A, B et C qui dépendent du pas de la grille et du décalage voulu.

Son inconvénient est qu'il nécessite un noyau de grande taille pour être très précis, ce qui est pénalisant en termes de puissance de calcul. D'autres fonctions largement étudiées permettent d'atteindre une précision suffisante avec des noyaux plus petits, le choix étant une question de compromis et de savoir-faire du concepteur.

Et le dématriçage, dans tout ça?
A ce stade, on a un interpolateur permettant de calculer la valeur exacte de chaque sous-image V1, V2 et B en n'importe quel point. On l'a utilisé pour calculer leurs valeurs en tout point de R.

On a donc notre image RVB au quart de la résolution de la grille.

On remarque que le même interpolateur (aux coefficients près) peut calculer les valeurs interpolées des 4 sous-images, non seulement sur les points de R, mais en tout point de la grille, et donc obtenir des pixels en tout point de la grille... c'est-à-dire l'essentiel du dé-matriçage.

Ce qu'on a dû faire pour sortir l'image au 1/4 de la résolution de la grille est donc similaire à ce qu'on doit faire pour dématricer.

Les autres actions du dématriçage (remplacer les photosites morts ou dédiés à l'AF, appliquer un petit passe-haut pour que ce soit plus joli, etc.), sont également similaires dans les deux cas.









Verso92

Citation de: egtegt² le Mai 22, 2025, 16:19:11J'avoue que j'ai du mal à comprendre : si je prends un bloc de 4 photosites en carré en partant du bord, j'ai obligatoirement un rouge, un bleu et deux verts. Rien ne m'empêcherait si je demande une image avec 1/4 de la résolution de calculer un pixel à partir de ces 4 photosites. C'est probablement ce qui donnerait l'image la plus proche de la réalité.

Je n'en suis pas certain.

Les calculs d'interpolation lors du dématriçage se font sur un voisinage plus étendu. Et j'imagine qu'il y a de bonnes raisons là-derrière...

jenga

Citation de: Verso92 le Mai 23, 2025, 10:21:59Je n'en suis pas certain.

Les calculs d'interpolation lors du dématriçage se font sur un voisinage plus étendu. Et j'imagine qu'il y a de bonnes raisons là-derrière...
Tout à fait. Comme expliqué plus haut, le dématriçage est essentiellement une interpolation: il faut retrouver les valeurs de R, G et B à des endroits où il n'y a pas de photosite de cette couleur.

Et l'interpolation parfaite nécessite de prendre en compte la totalité des sites R pour calculer la valeur de R en dehors d'un site.

Prenons l'exemple ci-dessous. Les seuls points connus sont repérés par des ronds; c'est un échantillonnage parfaitement valable au sens de Shannon (plus fin que la demi-période).

On peut donc retrouver exactement la valeur en tout point (par exemple au point d'interrogation), à partir des seuls points repérés par des ronds.

On voit tout de suite qu'en considérant uniquement un ou deux points proches (interpolateurs "au plus proche", "linéaire"), ça ne fonctionne pas du tout.

Mais un vrai interpolateur retrouvera exactement la valeur du pic, en considérant un plus grand nombre de point et la connaissance de la fréquence maxi du signal.
Le nombre de points considérés est un compromis entre précision et temps de calcul.

seba

Citation de: jenga le Mai 23, 2025, 13:00:21Tout à fait. Comme expliqué plus haut, le dématriçage est essentiellement une interpolation: il faut retrouver les valeurs de R, G et B à des endroits où il n'y a pas de photosite de cette couleur.

Et l'interpolation parfaite nécessite de prendre en compte la totalité des sites R pour calculer la valeur de R en dehors d'un site.

Je ne vois vraiment pas le rapport entre la couleur d'un photosite et la prise en compte de la totalité des photosites R. Entre deux rouges la couleur peut être quelconque.

jenga

#2173
Citation de: seba le Mai 23, 2025, 15:50:33Je ne vois vraiment pas le rapport entre la couleur d'un photosite et la prise en compte de la totalité des photosites R. Entre deux rouges la couleur peut être quelconque.
Oui, elle peut être quelconque. On peut très bien avoir un rouge à 0 et le voisin à 100%

Mais ça n'empêche pas de calculer très exactement la valeur entre deux photosites à condition que le pas des sites rouges soit inférieur à la demi-période de la plus haute fréquence du signal (condition de Shannon).

Intuitivement, on cherche la courbe la plus lisse possible passant par tous les points connus (les ronds)
Sur l'exemple ci-dessous, on voit que la seule connaissance des deux ronds autour du sommet ne permet pas de retrouver la valeur du sommet.
Mais en faisant passer la courbe la plus lisse possible par tous les ronds, on passe bien par le sommet.


C'est la condition de Shannon qui garantit que la courbe "la plus lisse possible" reproduit bien le vrai signal d'origine.

C'est assez simple à justifier mathématiquement mais ça risque d'ennuyer (à juste titre) les lecteurs. En gros, pour connaître la valeur du rouge à une distance D d'un photosite rouge, on filtre la courbe des valeurs connues avec un filtre de gain 1 (entre les fréquences 0 et Shannon) et de phase D (à quelques constantes près), c'est-à-dire un "translateur" de distance D.

Ce filtre a pour réponse impulsionnelle un sinus cardinal : sinc(x) = [sin(x)]/x, c'est pour ça qu'on trouve des sinus cardinaux partout en traitement du signal.

En traitement des images 2D, on trouve de façon analogue l'extension à deux dimensions du sinc, c'est par exemple la loi de variation de l'éclairement de la tache d'Airy.


Verso92

Citation de: jenga le Mai 23, 2025, 20:16:34Intuitivement, on cherche la courbe la plus lisse possible passant par tous les points connus (les ronds)
Sur l'exemple ci-dessous, on voit que la seule connaissance des deux ronds autour du sommet ne permet pas de retrouver la valeur du sommet.
Mais en faisant passer la courbe la plus lisse possible par tous les ronds, on passe bien par le sommet.


C'est la condition de Shannon qui garantit que la courbe "la plus lisse possible" reproduit bien le vrai signal d'origine.

C'est assez simple à justifier mathématiquement mais ça risque d'ennuyer (à juste titre) les lecteurs.

C'est le souvenir que j'ai d'un cours de traitement du signal suivi à Supélec, il y a maintenant bien des années.

J'avais posé la question, du genre comment peut-on être sûr que la reconstruction analogique est bien conforme au signal d'origine numérisé. Le prof m'avait répondu que si la condition de Shannon était respectée (fréquence du signal inférieure à la moitié de la fréquence d'échantillonnage), le signal analogique reconstitué était bien conforme à celui d'origine (en quelque sorte, qu'il y avait bijection, qu'il n'y avait qu'une représentation possible).

Ça m'a toujours un peu étonné (intuitivement), mébon, ces gens étant des cadors du domaine, je leur fait confiance...  ;-)