Page FB inaccessible

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

« précédent - suivant »

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

#2185
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...  ;-)

Nikojorj

Citation de: Verso92 le Mai 24, 2025, 10:47:14Le 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).
Ca revient au même que de dire que les composantes du signal de fréquence supérieure à Shannon sont perdues, non?

Verso92

Citation de: Nikojorj le Mai 24, 2025, 11:07:46Ca revient au même que de dire que les composantes du signal de fréquence supérieure à Shannon sont perdues, non?

Peut-être, oui.

jenga

Citation de: Nikojorj le Mai 24, 2025, 11:07:46Ca revient au même que de dire que les composantes du signal de fréquence supérieure à Shannon sont perdues, non?
Hélas, elles ne sont pas perdues.
Elles se mélangent avec les "bonnes" (celles inférieure à Shannon), lors de l'échantillonnage. Une fréquence "Shannon + f" se replie sur "Shannon - f". C'est le fameux "repliement de spectre", qui provoque des artefacts si la condition n'est pas remplie.

C'est impossible de les éliminer après échantillonnage, puisqu'elles se sont cachées parmi les fréquences valides. Il faut donc les éliminer avant, c'est-à-dire sur le signal analogique. D'où le débat récurrent sur les filtres anti-repliement: la théorie dit qu'ils sont indispensables, sous peine de faire n'importe quoi.

Le problème est qu'il faudrait un filtre passe-bas très sélectif, coupant tout au-dessus de Shannon mais rien en-dessous, sous peine de dégrader netteté/piqué/etc. Et réaliser un filtre quasi-parfait au niveau du capteur est apparemment difficile ou impossible.

D'où le débat...

Heureusement, en pratique, il y a peu de situations où l'image analogique présente des motifs de très haute fréquence, donc même s'il y a des artefacts de repliement ça ne se voit pas trop (plumes de canard à forte ouverture...)

jenga

Citation de: Verso92 le Mai 24, 2025, 10:47:14Ça m'a toujours un peu étonné (intuitivement), mébon, ces gens étant des cadors du domaine, je leur fait confiance...  ;-)
On peut leur faire confiance, les résultats des "traiteurs de signaux" en audio, imagerie, communications, etc. sont impressionnants.

Verso92

Citation de: jenga le Mai 24, 2025, 14:56:45On peut leur faire confiance, les résultats des "traiteurs de signaux" en audio, imagerie, communications, etc. sont impressionnants.

Disons que j'avais justement quelques doutes, quand le CD audio est sorti (loin d'être convaincu, à l'époque)...

Jean-Claude

Et il ne faut pas oublier que les capteurs ont un nombre total de photosites supérieur au nombre total de pixels dans les images produites.
Pas mal de fabricants utilisent ces pixels de bords excédentaires pour quantifier le bruit de capteur en pose longue (Leica, Hasselblad par ex.) et ainsi éviter la double pose pour débruiter (Nikon par ex.)

Jean-Claude

Et je pense que les pixels de bords excédentaires doivent également être bien utiles pour le dématriçage correct des pixels de bords d'image.

Nikojorj

Ca dépend s'ils sont masqués ou illuminés!

Verso92


Jean-Claude

Je ne connais pas de virus pour les capteurs

Même si quelques illuminés peuvent le croire

 🤣

Nikojorj

Je ne parlais pas des concombres!

Verso92

Citation de: Nikojorj le Mai 25, 2025, 11:42:04Je ne parlais pas des concombres!

T'as déjà vu des concombres illuminés ?

Nikojorj