Login| Sign Up| Help| Contact|

Patent Searching and Data


Title:
METHOD FOR THE NON-LOCAL DEMOSAICING OF AN IMAGE, AND ASSOCIATED DEVICE
Document Type and Number:
WIPO Patent Application WO/2022/123145
Kind Code:
A1
Abstract:
The invention proposes a demosaicing method applied to an initial image having pixels each corresponding to an initial spectral band so as to obtain a demosaiced image in multiple spectral bands having pixels each corresponding to said initial spectral band or to an interpolated spectral band, characterized in that it comprises: - on the basis of a plurality of reference patches and for each reference patch from among the plurality of reference patches: o determining a set of patches similar to said reference patch, o determining a covariance matrix of said set of similar patches and o for each similar patch of said set of similar patches, computing estimates of the interpolated spectral bands based on a decomposition of the covariance matrix into blocks, where the decomposition into four blocks is dependent on the phasing of each similar patch and - determining the interpolated spectral bands by aggregating the estimates of the interpolated spectral bands, involving aggregating the estimates of the interpolated spectral bands for each pixel.

Inventors:
GUILLAUME LAURENT (FR)
Application Number:
PCT/FR2021/052157
Publication Date:
June 16, 2022
Filing Date:
December 01, 2021
Export Citation:
Click for automatic bibliography generation   Help
Assignee:
AIRBUS DEFENCE & SPACE SAS (FR)
International Classes:
G06T3/40
Foreign References:
US5629734A1997-05-13
US5652621A1997-07-29
Other References:
XIN LI ET AL: "New edge-directed interpolation", IEEE TRANSACTIONS ON IMAGE PROCESSING, IEEE, US, vol. 10, no. 10, 1 October 2001 (2001-10-01), pages 1521 - 1527, XP002267654
WING-SHAN TAM ET AL: "A Modified Edge Directed Interpolation for images", 17TH EUROPEAN SIGNAL PROCESSING CONFERENCE, IEEE, 24 August 2009 (2009-08-24), pages 283 - 287, XP032758974
DANIEL KEREN ET AL: "Restoring subsampled color images", MACHINE VISION AND APPLICATIONS, SPRINGER, BERLIN, DE, vol. 11, no. 4, 1 December 1999 (1999-12-01), pages 197 - 202, XP002561965
A. BUADES ET AL.: "Self-similarity Driven Demosaicking", IMAGE PROCESSING ON LINE, 1 June 2011 (2011-06-01)
Attorney, Agent or Firm:
PLASSERAUD IP (FR)
Download PDF:
Claims:
Revendications

[Revendication 1] Procédé de démosaïquage appliqué à une image initiale présentant des pixels correspondants chacun à une bande spectrale initiale pour l'obtention d'une image démosaïquée à plusieurs bandes spectrales présentant des pixels correspondants chacun à ladite bande spectrale initiale ou à une bande spectrale interpolée, caractérisé en ce qu'il comprend :

- sur la base d'une pluralité de patchs de référence prédéterminés et pour chaque patch de référence parmi la pluralité de patchs de référence : o une détermination (310) d'un ensemble de patchs similaires audit patch de référence, o une détermination (320) d'une matrice de covariance dudit ensemble de patchs similaires et o pour chaque patch similaire dudit ensemble de patchs similaires, un calcul d'estimatifs des bandes spectrales interpolées, fonction d'une décomposition en bloc de la matrice de covariance (340), où la décomposition en quatre blocs est fonction du phasage de chaque patch similaire et

- une détermination des bandes spectrales interpolées par une agrégation (350) des estimatifs des bandes spectrales interpolées, où on agrège les estimatifs des bandes spectrales interpolées pour chaque pixel.

[Revendication 2] Procédé selon la revendication 1 , dans lequel les patches de référence prédéterminés sont répartis de façon à couvrir une proportion déterminée de l'image.

[Revendication 3] Procédé selon la revendication 1 ou 2, dans lequel lors de la détermination de la matrice de covariance de l'ensemble des patchs similaires, les patchs similaires comprennent des bandes spectrales initiales et des bandes spectrales intermédiaires, ces bandes spectrales intermédiaires étant issues d'un démosaïquage préalable par interpolation linéaire appliqué à l'image initiale. [Revendication 4] Procédé selon la revendication précédente, dans lequel la détermination (310) dudit ensemble de patchs similaires à chaque patch de référence est déterminée par une fonction de similitude appliquée à une image intermédiaire résultant du démosaïquage préalable par interpolation linéaire de l'image initiale.

[Revendication 5] Procédé selon la revendication 1 ou 2, dans lequel lors de la détermination de la matrice de covariance de l'ensemble des patchs similaires, les patchs similaires comprennent des bandes spectrales initiales et des bandes spectrales intermédiaires, ces bandes spectrales intermédiaires étant issues d'un démosaïquage préalable par interpolation linéaire et d'un débruitage préalable appliqués à l'image initiale.

[Revendication 6] Procédé selon la revendication précédente, dans lequel la détermination (310) dudit ensemble de patchs similaires à chaque patch de référence est déterminée par une fonction de similitude appliquée à une image intermédiaire résultant du démosaïquage préalable par interpolation linéaire (100) et du débruitage préalable de l'image initiale.

[Revendication 7] Procédé selon la revendication 5 ou 6, dans lequel le débruitage consiste en une fonction de débruitage local appliquée à chaque patch et fonction dudit ensemble de patches similaires au patch considéré.

[Revendication 8] Procédé selon l'une des revendications 1 à 7, dans lequel les bandes spectrales correspondent à l'espace colorimétrique RGB ou YUV.

[Revendication 9] Procédé selon l'une des revendications 1 à 8, dans lequel les bandes spectrales correspondent à l'espace colorimétrique RGB et les pixels de l'image initiale sont organisés selon un motif de Bayer.

[Revendication 10] Procédé selon l'une des revendications précédentes, dans lequel l'agrégation (350) des estimatifs des bandes spectrales interpolées est réalisée par un calcul d'une moyenne de ces estimatifs de bandes spectrales interpolées.

[Revendication 11] Procédé selon l'une des revendications précédentes, dans lequel la décomposition en quatre blocs fonction du phasage dudit patch similaire, est fonction du couple (L,C) correspondant au Lième pixel et au Cième pixel dudit patch similaire, chaque valeur de la matrice à la ligne L et à la colonne C, étant, selon qu'il s'agisse de :

- un pixel L correspondant à une bande spectrale initiale et un pixel C correspondant à une bande spectrale initiale, attribuée à un premier bloc

- un pixel L ne correspondant pas à une bande spectrale initiale et un pixel C correspondant à une bande spectrale initiale, attribuée à un deuxième bloc

- un pixel L correspondant à une bande spectrale initiale et un pixel C ne correspondant pas à une bande spectrale initiale, attribuée à un troisième bloc

OU

- un pixel L ne correspondant pas à une bande spectrale initiale et un pixel C ne correspondant pas à une bande spectrale initiale, attribuée à un quatrième bloc

[Revendication 12] Procédé selon la revendication précédente, dans lequel, pour chaque patch similaire dans ledit ensemble de patchs similaires, le calcul des estimatifs des bandes spectrales interpolées est réalisé comme suit :

Où : xm est le vecteur des estimatifs des bandes spectrales interpolées dudit patch similaire,

- est le vecteur des valeurs moyennes des pixels des patches dudit ensemble de patchs similaires, où on considère les pixels ne correspondant pas à une bande spectrale initiale,

- yd est le vecteur des pixels correspondant à une bande spectrale initiale dans ledit patch similaire, - est le vecteur des valeurs moyennes des pixels des patches dudit ensemble de patchs similaires, où on considère les pixels correspondant à une bande spectrale initiale,

- est la matrice inverse du premier bloc et - est le deuxième bloc.

[Revendication 13] Procédé selon la revendication précédente, dans lequel lors du calcul des estimatifs des bandes spectrales interpolées pour des patchs similaires présentant un même phasage, intervient une même décomposition de la matrice de covariance en blocs qui sont mémorisés et réutilisés pour tous ces patchs similaires présentant le même phasage.

[Revendication 14] Produit programme d'ordinateur, comprenant des instructions de code pour la mise en œuvre du procédé selon l'une des revendications précédentes, lorsqu'il est exécuté par un calculateur.

[Revendication 15] Dispositif de traitement d'images comprenant un calculateur (11 ), caractérisé en ce qu'il est configuré pour mettre en œuvre le procédé selon l'une des revendications 1 à 13.

Description:
Description

Titre : Procédé de démosaïquage non-local d'une image et dispositif associé

Domaine technique

[0001] La présente demande concerne un procédé de démosaïquage d'une image. Le procédé s'applique notamment au démosaïquage d'images dont les composantes sont disposées selon un motif de Bayer dans le domaine RVB.

Technique antérieure

[0002] Une image obtenue par un capteur matriciel multi-spectral est généralement mosaïquée. Une image est par exemple acquise sous la forme de pixels à une composante de couleur ou « single color luminescence » en anglais et transformée par démosaïquage en pixels à plusieurs bandes spectrales ou « multiple color luminescence » en anglais. L'image initiale est ainsi formée d'un ensemble de pixels où chaque pixel de l'image ne correspond qu'à une bande spectrale parmi les bandes spectrales pouvant être acquises sur d'autres pixels du capteur matriciel multi-spectral, chaque pixel du capteur matriciel multi-spectral n'acquérant qu'une partie de l'information multi-spectrale.

[0003] Un cas typique est celui des capteurs organisés selon la matrice de Bayer, qui est composée de filtres verts à 50% et de filtres rouges et bleus à 25% chacun. Dans une matrice de Bayer, chaque groupe carré de quatre pixels comprend deux pixels verts en diagonale, et un pixel rouge et un bleu sur l'autre diagonale. Dans cet exemple, le démosaïquage vise donc à interpoler les deux valeurs manquantes parmi le rouge, le vert, et le bleu, pour chaque pixel de l'image initiale.

[0004] Diverses techniques de démosaïquage ont déjà été proposées. On connaît notamment la méthode, dite de Hamilton-Adams, décrite dans la publication de J. Hamilton Jr et J. Adams Jr., « Adaptive color plan interpolation in single sensor color-electronic camera, 1997 », correspondant au brevet US 5,629,734. [0005] On connaît également la publication de A. Buades et al., « Self-similarity Driven Demosaicking », in Image Processing on Line, 2011 -06-01 , ISSN 2105- 1232.

[0006] Cependant, les méthodes proposées ne permettent généralement d'obtenir qu'une qualité d'image limitée et insuffisante notamment pour des applications spatiales telles que l'observation de la Terre.

Résumé

[0007] Compte-tenu de ce qui précède, l'invention a pour but de proposer un procédé de démosaïquage d'images amélioré par rapport à l'état de la technique.

[0008] A cet égard, l'invention propose un procédé de démosaïquage appliqué à une image initiale présentant des pixels correspondants chacun à une bande spectrale initiale pour l'obtention d'une image démosaïquée à plusieurs bandes spectrales présentant des pixels correspondants chacun à ladite bande spectrale initiale ou à une bande spectrale interpolée, caractérisé en ce qu'il comprend :

- sur la base d'une pluralité de patchs de référence prédéterminés et pour chaque patch de référence parmi la pluralité de patchs de référence : o une détermination d'un ensemble de patchs similaires audit patch de référence, o une détermination d'une matrice de covariance dudit ensemble de patchs similaires et o pour chaque patch similaire dudit ensemble de patchs similaires, un calcul d'estimatifs des bandes spectrales interpolées, fonction d'une décomposition en bloc de la matrice de covariance, où la décomposition en quatre blocs est fonction du phasage de chaque patch similaire et

- une détermination des bandes spectrales interpolées par une agrégation des estimatifs des bandes spectrales interpolées, où on agrège les estimatifs des bandes spectrales interpolées pour chaque pixel. [0009] Dans des modes de réalisation, les patches de référence prédéterminés sont répartis de façon à couvrir une proportion déterminée de l'image.

[0010] Dans des modes de réalisation, lors de la détermination de la matrice de covariance de l'ensemble des patchs similaires, les patchs similaires comprennent des bandes spectrales initiales et des bandes spectrales intermédiaires, ces bandes spectrales intermédiaires étant issues d'un démosaïquage préalable par interpolation linéaire appliqué à l'image initiale.

[0011] Dans des modes de réalisation, la détermination dudit ensemble de patchs similaires à chaque patch de référence est déterminée par une fonction de similitude appliquée à une image intermédiaire résultant du démosaïquage préalable par interpolation linéaire de l'image initiale.

[0012] Dans des modes de réalisation, lors de la détermination de la matrice de covariance de l'ensemble des patchs similaires, les patchs similaires comprennent des bandes spectrales initiales et des bandes spectrales intermédiaires, ces bandes spectrales intermédiaires étant issues d'un démosaïquage préalable par interpolation linéaire et d'un débruitage préalable appliqués à l'image initiale.

[0013] Dans des modes de réalisation, la détermination dudit ensemble de patchs similaires à chaque patch de référence est déterminée par une fonction de similitude appliquée à une image intermédiaire résultant du démosaïquage préalable par interpolation linéaire et du débruitage préalable de l'image initiale.

[0014] Le débruitage peut consister en une fonction de débruitage local appliquée à chaque patch et fonction dudit ensemble de patches similaires au patch considéré.

[0015] Dans des modes de réalisation, les bandes spectrales correspondent à l'espace colorimétrique RGB ou YUV.

[0016] Dans des modes de réalisation, les bandes spectrales correspondent à l'espace colorimétrique RGB et les pixels de l'image initiale sont organisés selon un motif de Bayer. [0017] Dans des modes de réalisation, l'agrégation des estimatifs des bandes spectrales interpolées est réalisée par un calcul d'une moyenne de ces estimatifs de bandes spectrales interpolées.

[0018] Dans des modes de réalisation, la décomposition en quatre blocs fonction du phasage dudit patch similaire, est fonction du couple (L,C) correspondant au Lième pixel et au C ième pixel dudit patch similaire, chaque valeur de la matrice à la ligne L et à la colonne C, étant, selon qu'il s'agisse de :

- un pixel L correspondant à une bande spectrale initiale et un pixel C correspondant à une bande spectrale initiale, attribuée à un premier bloc

- un pixel L ne correspondant pas à une bande spectrale initiale et un pixel C correspondant à une bande spectrale initiale, attribuée à un deuxième bloc

- un pixel L correspondant à une bande spectrale initiale et un pixel C ne correspondant pas à une bande spectrale initiale, attribuée à un troisième bloc

OU

- un pixel L ne correspondant pas à une bande spectrale initiale et un pixel C ne correspondant pas à une bande spectrale initiale, attribuée à un quatrième bloc

[0019] Dans des modes de réalisation, pour chaque patch similaire dans ledit ensemble de patchs similaires, le calcul des estimatifs des bandes spectrales interpolées est réalisé comme suit :

Où : x m est le vecteur des estimatifs des bandes spectrales interpolées dudit patch similaire,

- est le vecteur des valeurs moyennes des pixels des patches dudit ensemble de patchs similaires, où on considère les pixels ne correspondant pas à une bande spectrale initiale, - y d est le vecteur des pixels correspondant à une bande spectrale initiale dans ledit patch similaire,

- est le vecteur des valeurs moyennes des pixels des patches dudit ensemble de patchs similaires, où on considère les pixels correspondant à une bande spectrale initiale,

- est la matrice inverse du premier bloc et est le deuxième bloc.

[0020] Dans des modes de réalisation, lors du calcul des estimatifs des bandes spectrales interpolées pour des patchs similaires présentant un même phasage, intervient une même décomposition de la matrice de covariance en blocs qui sont mémorisés et réutilisés pour tous ces patchs similaires présentant le même phasage.

[0021] La présente divulgation a également pour objet un produit programme d'ordinateur, comprenant des instructions de code pour la mise en œuvre du procédé selon la description qui précède, lorsqu'il est exécuté par un calculateur.

[0022] La présente divulgation a également pour objet un dispositif de traitement d'images comprenant un calculateur, caractérisé en ce qu'il est configuré pour mettre en œuvre le procédé selon la description qui précède.

[0023] Avantageusement, cette méthode permet d'obtenir des résultats améliorés en termes de qualité de restitution et de robustesse au bruit. La méthode selon l'invention permet notamment une diminution voire une suppression d'imprécisions du type iridescente.

[0024] Avantageusement encore, l'invention permet d'améliorer la qualité d'une image démosaïquée obtenue à partir d'un capteur muni d'un filtre de Bayer.

[0025] La méthode décrite permet en outre de tenir compte la distribution spatiale dans la variation de précision, qui n'est pas nécessairement isotrope, grâce à la matrice de covariance. La méthode est en effet avantageusement non-locale et s'appuie sur les similarités entre un patch de pixels de l'image et un ensemble de patches similaires, pouvant présenter des positions proches ou éloignées dans l'image initiale.

Brève description des dessins

[0026] D'autres caractéristiques, détails et avantages apparaîtront à la lecture de la description détaillée ci-après faite en référence aux figures données à titre d'exemple, sur lesquelles :

Fig. 1

[0027] [Fig. 1] représente un exemple de patch d'une image initiale où les pixels sont organisés selon un motif de Bayer.

Fig. 2a

[0028] [Fig. 2a] représente schématiquement les principales étapes du procédé de démosaïquage selon un mode de réalisation de l'invention.

Fig. 2b

[0029] [Fig. 2b] représente schématiquement les principales étapes du procédé de démosaïquage selon un autre mode de réalisation de l'invention.

Fig. 3a

[0030] [Fig. 3a] représente un exemple de vecteur obtenu à partir d'un patch d'une image avant démosaïquage.

Fig. 3b

[0031] [Fig. 3b] représente un exemple de vecteur obtenu à partir d'un patch d'une image avant démosaïquage, le patch correspondant à un phasage différent de celui représenté en figure 3a.

Fig. 4

[0032] [Fig. 4] représente schématiquement une décomposition par blocs d'une matrice de covariance d'un ensemble de patches similaires à un patch considéré. [0033] [Fig. 5] représente schématiquement un exemple de dispositif de traitement d'images adapté pour mettre en oeuvre le procédé de démosaïquage.

Description des modes de réalisation

[0034] En référence aux figures 2a et 2b, on va maintenant décrire des exemples de procédés de démosaïquage d'une image fournie par un capteur dite image initiale. Les images initiales peuvent être composées de pixel appartenant à un espace colorimétrique, par exemple à trois couleurs. Les images initiales peuvent également être des images radar. Les pixels de l'image initiale correspondent chacun à une bande spectrale initiale.

[0035] Le procédé de démosaïquage selon l'invention peut être mis en œuvre par un dispositif de traitement d'image 1 représenté schématiquement en figure 5, comprenant un calculateur 10 pouvant être par exemple un processeur équipé ou non d'une carte graphique, un microprocesseur ou un microcontrôleur. Le dispositif de traitement d'image 1 comprend notamment une interface de communication avec au moins un capteur fournissant des images initiales. Le dispositif de traitement d'image 1 peut également comprendre une mémoire 11 stockant des instructions de code exécutées par le calculateur pour la mise en œuvre du procédé, ainsi que les données nécessaires à la mise en œuvre de traitement d'une ou plusieurs images.

[0036] L'image initiale est formée d'un ensemble de pixels ayant chacun une bande spectrale initiale correspondant par exemple à une valeur spécifique pour une couleur détectée parmi un ensemble de couleurs du capteur multi-spectral.

[0037] Le capteur multi-spectral peut par exemple être du type RGB où des bandes spectrales détectées dans chaque pixel de l'image sont le rouge, le vert ou le bleu, le capteur étant équipé à cet effet d'une matrice de filtres colorés adaptés pour ne laisser passer, pour chaque pixel de la matrice, qu'une partie du spectre lumineux.

[0038] Selon un autre mode de réalisation, les bandes spectrales détectées correspondent à l'espace colorimétrique YUV. [0039] Le procédé de démosaïquage peut s'appliquer à plusieurs bandes spectrales, comme par exemple dans l'espace colorimétrique, les valeurs de certains pixels étant disponibles sous la forme de bande spectrale initiale tandis que d'autres manquantes sont à interpoler.

[0040] Le capteur générant l'image initiale, peut par exemple présenter une configuration de Bayer, comme représenté à la figure 1 , dans l'espace colorimétrique RGB. Chaque pixel vert est représenté par la lettre « V », chaque pixel rouge est représenté par la lettre « R >> et chaque pixel bleu est représenté par la lettre « B >>. Dans cette configuration, les composantes de l'espace colorimétrique sont le rouge, le vert et le bleu. 50% des pixels correspondent à la bande spectrale verte, 25% des pixels correspondent à la bande spectrale rouge et 25% des pixels correspondent à la bande spectrale bleue. Les pixels sont organisés de sorte que dans un carré de deux pixels de côté, les deux pixels d'une diagonale correspondent à la bande spectrale verte tandis que l'autre diagonale comprend un pixel rouge et un pixel bleu.

[0041] Comme représenté à la figure 2a, le procédé de démosaïquage comprend par exemple un démosaïquage préalable par interpolation linéaire 100 de l'image initiale, permettant de calculer des bandes spectrales intermédiaires. Dans le cas où les bandes spectrales correspondent à l'espace colorimétrique RGB, il s'agit d'associer à chaque pixel les deux bandes spectrales manquantes parmi le rouge, le vert et le bleu. Les bandes spectrales intermédiaires sont ici un moyen de calcul intermédiaire.

[0042] Ce démosaïquage par interpolation linéaire 100 peut être choisi parmi des méthodes de démosaïquage connues de l'Homme de l'Art. Par exemple, dans le cas de l'espace colorimétrique est RGB, le démosaïquage par interpolation linéaire peut être mis en œuvre au moyen de l'algorithme de Hamilton-Adams, comme décrit dans le brevet US5,652,621 .

[0043] Dans un autre mode de réalisation, comme représenté à la figure 2b, le procédé de démosaïquage peut comprendre en outre un traitement de débruitage 200 appliqué en sortie du démosaïquage par interpolation linéaire 100 pour l'obtention des bandes spectrales intermédiaires. [0044] Ce traitement de débruitage 200 peut être choisi parmi les traitements de débruitage connus de l'Homme de l'Art, comme par exemple un algorithme de type NL-Bayes, tel que décrit dans l'article de M. Lebrun et al., « Implementation of the « Non-Local Bayes » (NL-Bayes) Image Denoising Algorithm ». L'algorithme de débruitage NL-Bayes comprend par exemple la répétition deux fois de suite d'une identification d'un ensemble de patches de l'image similaires pour le calcul d'une matrice de covariance de l'ensemble des patches similaires, d'une estimation d'une version débruitée, à partir de la matrice de covariance et d'une agrégation pour obtenir une image débruitée. Le débruitage est par exemple mis en œuvre deux fois de suite, la première fois sur l'image obtenue à l'issue du démosaïquage par interpolation linéaire et la deuxième fois sur l'image débruitée.

[0045] L'algorithme de débruitage réalise par exemple un traitement par patch de l'image.

[0046] On peut également envisager un traitement de débruitage ne comprenant pas le calcul d'une matrice de covariance.

[0047] Dans toute la suite de la description, un patch est un morceau de l'image de forme carrée et comprenant un sous-ensemble de pixels de l'image. Un patch peut comprendre entre 2 et 10 pixels de côté et en comprend typiquement entre 3 et 5. Un patch de k = 5 pixels de côté est utilisé à titre d'exemple dans la présente description.

[0048] Le procédé de démosaïquage comprend par exemple ensuite un ensemble d'étapes mises en œuvre sur au moins un patch de l'image et de préférence sur l'ensemble des patches de l'image considérés successivement. Des patches de référence sont par exemple déterminés à l'avance et réalisent des recouvrements entre deux patchs successifs, de façon à couvrir l'ensemble de l'image. Les patches de référence peuvent par exemple être jointifs ou non. Les patches de référence jointifs peuvent par exemple se recouvrir ou pas. Les patches de référence non jointifs entre eux, peuvent par exemple être plus ou moins espacés les uns des autres. Pour les patches de référence non jointifs, une zone de l'image non couverte est par exemple inférieure à 50% de l'image voire inférieure à 25% de l'image, voire inférieure à 5% de l'image. Le choix de la proportion de l'image couverte par les patches de référence et leur éventuel recouvrement sera optimisé en fonction des cas d'usage. La proportion de l'image, couverte par les patches de référence, est par exemple comprise entre 50% et 100 %.

[0049] Pour chaque patch considéré, désigné par patch de référence, on réalise une étape 310 d'identification d'un ensemble de patches similaires de l'image au patch de référence. L'étape d'identification 310 d'un ensemble de patches de l'image similaires au patch considéré peut être mise en œuvre en calculant une distance entre le patch considéré et chacun des patches de l'image appartenant à un voisinage du patch considéré, le voisinage étant défini comme une portion de l'image de taille n x n, où n est un nombre de pixels strictement supérieur au nombre de pixels k d'un côté d'un patch, et inférieur ou égal au nombre de pixels d'un plus petit côté de l'image.

[0050] La distance peut par exemple être une distance euclidienne ou une distance quadratique normalisée, qui est calculée comme suit entre un patch P et un patch Q:

[0051] La distance peut être calculée sur l'ensemble des patches P et Q concernés ou seulement une portion de ceux-ci, par exemple une bande horizontale ou verticale.

[0052] La distance peut être calculée en radiométrie native, c'est-à-dire à partir des bandes spectrales initiales dans l'image initiale. A titre d'exemple non limitatif, dans le cas où cet espace est l'espace RGB, la distance quadratique normalisée peut être calculée, comme la somme, sur tous les pixels i des patches P et Q, de la distance où l'indice R, G, B respectivement correspond à la composante dans la couleur rouge, verte ou bleue, du patch P ou Q, respectivement.

[0053] En variante, l'image initiale peut être préalablement convertie lors d'une étape 205 dans un autre espace colorimétrique, et la distance quadratique normalisée peut être calculée dans cet espace. Par exemple, si l'image initiale est dans le domaine RGB, l'image peut être convertie dans le domaine YUV selon une transformation connue de l'Homme de l'Art. Dans ce cas, la distance quadratique normalisée peut être calculée sur la seule composante de luminance Y.

[0054] La distance est par exemple comparée à un seuil déterminé, en dessous duquel les patchs sont considérés comme similaires.

[0055] On peut également prévoir un nombre minimum de patchs similaires correspondant aux distances minimales calculées.

[0056] On peut également prévoir un nombre minimum de patchs similaires correspondant aux distances minimales calculées auxquels viennent s'ajouter les patchs dont la distance est inférieure au seuil déterminé.

[0057] Selon une variante de réalisation, l'identification d'un ensemble de patches similaires au patch considéré peut comprendre l'application d'une analyse en composantes principales de l'image en coordonnées natives ou transformées, et le calcul d'une distance (p.ex. euclidienne) sur les composantes de plus fort poids issus de cette analyse.

[0058] Selon un autre mode de réalisation, une détermination des patchs similaires peut être réalisée et mémorisé lors d'une étape préalable de débruitage.

[0059] Le procédé de démosaïquage comprend une étape 320 suivante de calcul d'une matrice de covariance de l'ensemble des patches similaires au patch de référence.

[0060] La matrice de covariance peut être calculée sur les valeurs des pixels des patches dans les bandes spectrales initiales représentées dans l'image initiale, ou autrement dit en radiométrie native.

[0061] Selon un autre mode de réalisation, la matrice de covariance peut également être calculée sur les pixels d'une image intermédiaire obtenue par le démosaïquage par interpolation linéaire, comme représenté à la figure 2a et éventuellement complété par un débruitage, comme représenté à la figure 2b. [0062] Une matrice de covariance, calculée lors d'un précédent traitement, peut éventuellement être réutilisée.

[0063] Pour le calcul de la matrice de covariance pour un ensemble de patches donné, chaque patch P est représenté par un vecteur (P(1 )...P(n)) où n correspond à la multiplication du nombre de pixels contenu dans le patch par le nombre de bandes spectrales. Par exemple pour l'espace colorimétriques à trois couleurs les coordonnées du vecteur de 1 à n/ 3 correspondent aux valeurs des pixels du patch pour la première couleur, les coordonnées de n/3+1 à 2n/ 3 correspondent aux valeurs des pixels du patch pour la deuxième couleur et les coordonnées de 2n/ 3+1 à n correspondent aux valeurs des pixels du patch pour la troisième couleur. Chaque valeur d'une coordonnée d'un patch est par exemple :

- la bande spectrale initiale du pixel disponible dans l'image initiale en sortie du capteur ou,

- La bande spectrale intermédiaire obtenue par le démosaïquage par interpolation linéaire complété éventuellement par un débruitage.

[0064] Par exemple, pour des patches en colorimétrie RGB de taille 5 pixels par 5 pixels, les patches comprennent 3 x 5 x 5 = 75 bandes spectrales, dont 25 sont disponibles dans l'image initiale et 50 sont manquantes.

[0065] Chaque patch de k pixels de côté dans l'image initiale est représenté comme un vecteur dont les k 2 premiers termes correspondent à une bande spectrale, par exemple la couleur rouge, les k 2 termes suivants correspondent à une autre bande spectrale, par exemple la couleur verte, et les k 2 derniers termes correspondent à une troisième bande spectrale, par exemple la couleur bleu.

[0066] La matrice de covariance est donc une matrice où chaque terme est défini comme suit :

Où : - i et j sont les indices des coordonnées dans la matrice,

- Pk(i) est la valeur de la i ème coordonnée du k-ième patch,

- μi est la moyenne des Pk(i) pour tous les k variant de 1 à N,

- μj est la moyenne des Pk(j) pour tous les k variant de 1 à N.

- N est le nombre de patches similaires dans l'ensemble des patches similaires au patch de référence.

[0067] La matrice de covariance quantifie donc la covariance des valeurs des pixels des patches similaires.

[0068] Dans la suite du procédé, on exploite le caractère disponible d'un pixel, c'est-à-dire ayant une bande spectrale initiale, ou le caractère manquant d'un pixel, c'est-à-dire n'ayant pas une bande spectrale initiale, pour une image à plusieurs bandes spectrales. Les emplacements des pixels présentant un caractère disponible ou manquant dépendent du phasage du patch. Pour déterminer le phasage d'un patch, il faut considérer l'emplacement sur le capteur matriciel d'un patch correspondant dans l'image initiale. Dans le cas par exemple d'un motif de Bayer, il existe quatre phasages possibles dont deux exemples sont représentés sur les figures 3a et 3b. Dans ces figures également, les pixels présentant une valeur initiale selon la composante respective rouge, verte ou bleue sont représentés respectivement par la lettre R, V, B. La figure 3a correspond à un phasage où le pixel situé en haut à gauche du patch est exprimé dans la composante verte de l'image d'origine, et la figure 3b correspond à un phasage où le pixel situé en haut à gauche du patch est le pixel exprimé dans la composante rouge.

[0069] Le procédé de démosaïquage comprend ensuite à l'étape 330, pour chaque patch similaire dudit ensemble de patchs similaires, un calcul d'estimatifs des bandes spectrales interpolées, fonction d'une décomposition en bloc de la matrice de covariance, où la décomposition en quatre blocs est fonction du phasage de chaque patch similaire.

[0070] En référence à la figure 4, on a représenté schématiquement un exemple de décomposition par bloc d'une matrice de covariance en fonction du caractère disponible ou non des bandes spectrales des pixels dans l'image initiale. Cette décomposition par bloc aboutit par exemple à quatre blocs, en fonction du phasage du patch similaire selon un couple (L,C) correspondant au Lième pixel et au Cième pixel du patch similaire pour attribuer chaque valeur de la matrice en ligne L et en colonne C:

- au bloc si le pixel L ne correspond pas à une bande spectrale initiale et le pixel C ne correspond pas à une bande spectrale initiale,

- au bloc si le pixel L ne correspond pas à une bande spectrale initiale et le pixel C correspond à une bande spectrale initiale des covariances calculées entre un pixel à caractère manquant et un pixel à caractère disponible,

- au bloc si le pixel L correspond à une bande spectrale initiale et le pixel C ne correspond pas à une bande spectrale initiale, ou

- au bloc si le pixel L correspond à une bande spectrale initiale et le pixel C correspond à une bande spectrale initiale.

[0071] Dans le cas d'un motif de Bayer pour lequel il existe quatre phasages possibles des patches, toutes les différentes décompositions par blocs de la matrice de covariance peuvent être calculée et mémorisées pour des calculs ultérieurs.

[0072] Par la suite, pour chaque décomposition par bloc obtenue, les valeurs manquantes de chaque patch d'un sous-ensemble de patches de l'ensemble E dont le phasage correspond à la décomposition par bloc, sont estimées lors d'une étape 340 avec un estimateur bayésien de type MAP (maximum a posteriori) :

Où :

- est l'estimateur au maximum a posteriori de x m ,

- est le vecteur des estimatifs des bandes spectrales interpolées dudit patch similaire - y d est le vecteur des pixels correspondant à une bande spectrale initiale dans ledit patch similaire.

[0073] Les estimatifs des bandes spectrales interpolées sont obtenus par le calcul suivant :

Où : x m est le vecteur des estimatifs des bandes spectrales interpolées dudit patch similaire,

- est le vecteur des valeurs moyennes des pixels des patches dudit ensemble de patchs similaires, où on considère les pixels ne correspondant pas à une bande spectrale initiale,

- y d est le vecteur des pixels correspondant à une bande spectrale initiale dans ledit patch similaire,

- est le vecteur des valeurs moyennes des pixels des patches dudit ensemble de patchs similaires, où on considère les pixels correspondant à une bande spectrale initiale,

- est la matrice inverse du bloc défini précédemment et est le bloc défini précédemment.

[0074] Le procédé de démosaïquage comprend ensuite une étape d'agrégation 350 dans laquelle des estimatifs des bandes spectrales interpolées pour des pixels de patches appartenant à différents ensembles de patchs similaires en relation avec différents patches de référence. On entend par agrégation la combinaison de différentes mesures en une variable unique, soit par simple addition des valeurs obtenues, soit par addition des valeurs pondérées. L'agrégation est mise en œuvre par exemple en calculant, une moyenne des estimations réalisée pour un pixel et une composante.

[0075] L'ensemble des bandes spectrales interpolées est ainsi obtenu. L'image démosaïquée selon l'invention, présente une qualité améliorée et une réduction significative voire une absence d'irisations, notamment pour des applications nécessitant une observation à haute altitude telle que l'observation de la terre.

[0076] Annexe : démonstration de la formule d'estimation.

[0077] L'estimateur au maximum a posteriori de xm en connaissant les données disponibles bruitées yd est donné par :

En utilisant la formule de Bayes on obtient les résultats suivants : est la matrice de covariance des données manquantes (non bruitées) et des données disponibles (bruitées).

On note :

Avec A, B, C, D des matrices correspondant respectivement aux matrices

Le dernier terme de dépend pas de x m et peut donc être supprimé. En dérivant par rapport à x m on obtient donc : Comme la matrice de covariances est symétrique, alors sont inverse est également symétrique. On a donc que l'aide de formules d'inversion par bloc (complément de Schur) on peut montrer que On obtient :

On suppose que les patches similaires ont été choisis tels que

Si on utilise des données débruitées pour calculer la matrice de covariance des données disponibles, on peut utiliser l'approximation :

Où est le bloc de la matrice de covariance calculée sur les donnes débruitées disponibles, I est la matrice identité, et σ 2 est la variance du bruit. On peut montrer que est inchangé dans ce cas. On obtient :