FR2943201A1 - Image spot modeling method, involves regrouping intensity classes according to estimated frequency components, and calculating set of values of modeling parameters of spot based on frequency components corresponding to each class - Google Patents

Image spot modeling method, involves regrouping intensity classes according to estimated frequency components, and calculating set of values of modeling parameters of spot based on frequency components corresponding to each class Download PDF

Info

Publication number
FR2943201A1
FR2943201A1 FR0951568A FR0951568A FR2943201A1 FR 2943201 A1 FR2943201 A1 FR 2943201A1 FR 0951568 A FR0951568 A FR 0951568A FR 0951568 A FR0951568 A FR 0951568A FR 2943201 A1 FR2943201 A1 FR 2943201A1
Authority
FR
France
Prior art keywords
intensity
class
image
grain
frequency components
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
FR0951568A
Other languages
French (fr)
Other versions
FR2943201B1 (en
Inventor
Mathieu Monnier
Tanou Julien Le
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Ateme SA
Original Assignee
Ateme SA
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Ateme SA filed Critical Ateme SA
Priority to FR0951568A priority Critical patent/FR2943201B1/en
Publication of FR2943201A1 publication Critical patent/FR2943201A1/en
Application granted granted Critical
Publication of FR2943201B1 publication Critical patent/FR2943201B1/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T9/00Image coding
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/40Analysis of texture
    • G06T7/41Analysis of texture based on statistical description of texture
    • G06T7/42Analysis of texture based on statistical description of texture using transform domain methods
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/12Selection from among a plurality of transforms or standards, e.g. selection between discrete cosine transform [DCT] and sub-band transform or selection between H.263 and H.264
    • H04N19/122Selection of transform size, e.g. 8x8 or 2x4x8 DCT; Selection of sub-band transforms of varying structure or type
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/136Incoming video signal characteristics or properties
    • H04N19/14Coding unit complexity, e.g. amount of activity or edge presence estimation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/176Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a block, e.g. a macroblock
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/46Embedding additional information in the video signal during the compression process
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/60Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
    • H04N19/63Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding using sub-band based transform, e.g. wavelets
    • H04N19/635Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding using sub-band based transform, e.g. wavelets characterised by filter definition or implementation details
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/85Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using pre-processing or post-processing specially adapted for video compression
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/20Special algorithmic details
    • G06T2207/20021Dividing image into blocks, subimages or windows
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/20Special algorithmic details
    • G06T2207/20172Image enhancement details
    • G06T2207/20204Removing film grain; Adding simulated film grain

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Probability & Statistics with Applications (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Discrete Mathematics (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)

Abstract

The method involves providing a number of intensity classes, where each intensity class corresponds to an interval of determined pixels values. Each intensity class is searched from values of pixels of macroblocks of the image, where the macroblocks are assigned to the intensity class. Frequency components of a spot are estimated from values of pixels of the macroblocks. The intensity classes are regrouped according to the estimated frequency components. Set of values of modeling parameters of the spot are calculated according to the frequency components corresponding to each class. Independent claims are also included for the following: (1) a computer program having set of instructions for implementing an image spot modeling method (2) a device for modeling a spot of an image (3) a system for compressing a video sequence.

Description

PARAMETRAGE DU GRAIN D'IMAGE PARAMETERING THE IMAGE GRAIN

L'invention se rapporte à l'encodage d'images et plus particulièrement au paramétrage de grain d'image. The invention relates to the encoding of images and more particularly to the image grain setting.

Le grain est un signal aléatoire de faible amplitude relativement au reste du signal d'image ou vidéo. Contrairement au bruit, le grain ne constitue pas un artefact, mais fait partie intégrante de l'image. Le grain peut être dû à la pellicule utilisée lors de la prise d'images, ou bien encore être artificiellement rajouté afin de procurer aux utilisateurs les mêmes sensations qu'une image obtenue lors d'un tournage effectué avec une pellicule. Néanmoins, les images et les vidéos peuvent faire l'objet de compressions numériques risquant de dégrader le signal de grain, ce qui nuit à l'aspect visuel. En effet, le signal de grain étant peu corrélé et de relativement faible amplitude, les étapes de quantification mises en oeuvre par la plupart des algorithmes de compression conduisent à une dégradation du signal de grain, en particulier lorsque le débit d'encodage vidéo est bas. Or, outre le fait qu'il contribue à l'aspect visuel de l'image, le grain peut permettre de dissimuler certains artefacts générés du fait de la compression. Le standard de compression H264 (ITU-T Rec H.264 1 ISO/IEC 14496- 10 Advanced Video Coding, annexe D.2.20) définit plusieurs types de modélisation du grain. Ces modélisations permettent d'ajouter à un signal vidéo compressé des paramètres modélisant le grain, de façon à rendre possible lors du décodage la génération de grain à partir de ces paramètres. Parmi les modélisations définies par ce standard, on peut citer le modèle de grain fréquentiel additif. Selon ce modèle, plusieurs classes correspondant chacune à des intervalles de valeurs de pixel sont définies. Pour une image donnée, et pour chaque classe, on estime, à partir des macroblocs de pixels appartenant à cette classe, un jeu de 5 ou 6 paramètres modélisant le grain de cette image dans la classe considérée. The grain is a random signal of small amplitude relative to the rest of the image or video signal. Unlike noise, grain is not an artifact, but an integral part of the image. The grain may be due to the film used during the imaging, or may be artificially added to provide users the same sensations as an image obtained during filming with film. Nevertheless, images and videos may be subject to digital compressions that can degrade the grain signal, which affects the visual appearance. Indeed, since the grain signal is not highly correlated and of relatively low amplitude, the quantization steps implemented by most compression algorithms lead to a degradation of the grain signal, in particular when the video encoding rate is low. . However, besides the fact that it contributes to the visual aspect of the image, the grain can make it possible to conceal certain artefacts generated due to the compression. The H264 compression standard (ITU-T Rec. H.264 1 ISO / IEC 14496 Advanced Video Coding, Annex D.2.20) defines several types of grain modeling. These modelizations make it possible to add to a compressed video signal parameters modeling the grain, so as to make it possible, during decoding, to generate grain from these parameters. Among the modelizations defined by this standard, one can quote the model of additive frequency grain. According to this model, several classes each corresponding to intervals of pixel values are defined. For a given image, and for each class, it is estimated, from the macroblocks of pixels belonging to this class, a set of 5 or 6 parameters modeling the grain of this image in the considered class.

Les procédés connus mettent en oeuvre des classes correspondant à des intervalles de valeurs de pixels prédéterminées. Une image globalement homogène, avec relativement peu de contrastes, risque de conduire à une répartition des paramètres modélisant le grain sur un nombre relativement faible de classes. Il existe un besoin pour une répartition des jeux de paramètres qui soit plus dynamique. The known methods implement classes corresponding to predetermined pixel value ranges. A globally homogeneous image, with relatively few contrasts, may lead to a distribution of parameters modeling the grain over a relatively small number of classes. There is a need for a more dynamic distribution of parameter sets.

Selon un premier aspect, il est proposé un procédé de modélisation du grain d'une image pour la compression de ladite image. On prévoit un nombre de classes d'intensité, chaque classe d'intensité correspondant à un intervalle de valeurs de pixels déterminé. Pour chaque classe d'intensité : - on recherche, à partir des valeurs de pixels de macroblocs de l'image, des macroblocs à affecter à cette classe d'intensité, - on estime des composantes fréquentielles du grain pour la classe d'intensité, à partir de valeurs de pixels des macroblocs affectés à la classe d'intensité. Ces valeurs de pixels peuvent provenir d'une image de grain obtenue par soustraction pixel par pixel d'une image filtrée à l'image source, ou bien provenir d'une autre image. Puis on regroupe les classes d'intensité en fonction des composantes fréquentielles estimées, de façon à limiter le nombre de classes d'intensité auxquelles est affecté au moins un macrobloc. Pour chacune de ces classes d'intensité ainsi regroupées, des composantes fréquentielles sont estimées, et un jeu de valeurs de paramètres de modélisation du grain est calculé en fonction de ces composantes fréquentielles correspondant à cette classe. On peut prévoir un nombre initial de classes qui soit relativement élevé. According to a first aspect, there is provided a method for modeling the grain of an image for compressing said image. A number of intensity classes are provided, each intensity class corresponding to a determined range of pixel values. For each intensity class: - we look, from the pixel values of the macroblocks of the image, of the macroblocks to be assigned to this intensity class, - we estimate frequency components of the grain for the intensity class, from pixel values of the macroblocks assigned to the intensity class. These pixel values can come from a grain image obtained by subtracting pixel by pixel from a filtered image to the source image, or from another image. The intensity classes are then grouped according to the estimated frequency components, so as to limit the number of intensity classes to which at least one macroblock is assigned. For each of these intensity classes thus grouped, frequency components are estimated, and a set of grain modeling parameter values is calculated based on these frequency components corresponding to this class. An initial number of classes can be expected which is relatively high.

Puis on regroupe ces classes en fonction des composantes fréquentielles obtenues, les jeux de paramètres étant estimés pour chacune des classes ainsi regroupées. Aussi l'intervalle de valeurs de pixels correspondant à une classe regroupée est-il susceptible de varier selon l'image qui est traitée. Les paramètres modélisant le grain sont ainsi répartis de façon plus dynamique et adaptée que dans l'art antérieur. L'image peut être partitionnée en macroblocs, ou bien les macroblocs peuvent se recouvrir les uns les autres. On peut même prévoir des fenêtres glissantes, de sorte que le nombre de macroblocs est à peu prés égal au nombre de pixels de l'image. La taille des macroblocs peut être de 8x8, 16x16 pixels, ou autre. Ce procédé est mis en oeuvre à des fins de compression de l'image. Then we group these classes according to the frequency components obtained, the sets of parameters being estimated for each of the classes thus grouped. Also the range of pixel values corresponding to a grouped class is likely to vary depending on the image that is processed. The parameters modeling the grain are thus distributed more dynamically and adapted than in the prior art. The image can be partitioned into macroblocks, or the macroblocks can overlap each other. Sliding windows can even be provided, so that the number of macroblocks is approximately equal to the number of pixels in the image. The size of the macroblocks can be 8x8, 16x16 pixels, or other. This method is used for image compression purposes.

Cette compression de l'image peut intervenir de manière isolée (compression d'image, par exemple pour obtenir des images au format JPEG, de l'anglais Joint Photographic Experts Group ). Alternativement, la compression d'image peut être effectuée en utilisant des images précédentes et/ou suivantes d'une séquence vidéo (compression vidéo). This compression of the image can occur in isolation (image compression, for example to obtain images in JPEG format, English Joint Photographic Experts Group). Alternatively, the image compression can be performed using previous and / or subsequent images of a video sequence (video compression).

Les pixels peuvent comprendre chacun trois valeurs, par exemple des valeurs de composantes RGB (de l'anglais Red Green Blue ), des valeurs de composantes YUV, ou autre. Pour regrouper les classes d'intensité, on peut comparer une à une des composantes fréquentielles d'une première classe d'intensité avec des composantes fréquentielles correspondantes d'une deuxième classe d'intensité. Ainsi, la décision de regrouper ou non des classes d'intensité est effectuée en fonction des résultats des comparaisons fréquence par fréquence, permettant ainsi d'éviter le risque d'erreur associé à une prise de décision qui serait effectuée seulement à partir de paramètres globaux. The pixels may each include three values, for example, RGB (Red Green Blue) component values, YUV component values, or the like. To group the intensity classes, we can compare one to one of the frequency components of a first intensity class with corresponding frequency components of a second intensity class. Thus, the decision whether or not to group intensity classes is made according to the results of the frequency-frequency comparisons, thus making it possible to avoid the risk of error associated with making a decision that would be made solely on the basis of global parameters. .

On peut prévoir de prendre la décision de regrouper ou non des classes d'intensité en fonction de résultats de comparaison de paramètres estimés par classe d'intensité. Ces paramètres peuvent par exemple comporter des fréquences de coupure et un écart-type obtenus eux-mêmes à partir des composantes fréquentielles. Les calculs effectués avant la prise de décision sont ainsi plus rapides, mais on risque de biaiser la décision du fait de l'erreur de quantification qui intervient lors de l'obtention de ces paramètres. Ainsi, la décision de regrouper ou non des classes d'intensité est effectuée en prenant en compte des résultats de comparaisons de composantes fréquentielles et/ou des résultats de comparaisons de paramètres estimés par classe d'intensité. We can plan to make the decision to group or not intensity classes according to the results of comparison of parameters estimated by intensity class. These parameters may for example include cutoff frequencies and a standard deviation themselves obtained from the frequency components. The calculations made before the decision are thus faster, but there is a risk of biasing the decision because of the quantification error that occurs when these parameters are obtained. Thus, the decision to group or not intensity classes is made by taking into account the results of comparisons of frequency components and / or the results of comparisons of parameters estimated by intensity class.

Par résultat de comparaison, on entend aussi bien une valeur de différence, une valeur d'un ratio, une valeur booléenne, une valeur de somme des différences absolues, ou autre. On peut prévoir : - des regroupements naturels, effectués sans objectif de nombre de classes d'intensité à atteindre, c'est-à-dire que les classes d'intensité sont regroupées en un nombre a priori indéterminé de classes d'intensité, et/ou - des regroupements forcés, effectués jusqu'à atteindre un objectif de classes d'intensité. Avantageusement, on effectue dans un premier temps des regroupements. Puis, si le nombre de classes ainsi regroupées dépasse un certain seuil, on procède à des regroupements forcés, et ce jusqu'à atteindre ce seuil. Ainsi, les regroupements sont par exemple d'abord effectués librement, sans la contrainte d'un objectif à atteindre, de sorte que ces regroupements sont avant tout fonction des valeurs des composantes fréquentielles des macroblocs des classes. Les regroupements forcés ne sont effectués que si ces regroupements naturels ne sont pas suffisants. Avantageusement, pour chaque classe d'intensité, la recherche des macroblocs à affecter à cette classe d'intensité est fonction, outre des valeurs de pixels de ce macrobloc, de résultats d'une détection de contours et/ou de bandes noires. Par exemple, si un macrobloc correspond à une zone de bande noire ou à une zone de contour, ce macrobloc n'est affecté à aucune classe d'intensité. Selon un autre exemple, si le nombre de pixels d'un macrobloc qui appartiennent à une zone de bande noire ou à une zone de contour dépasse un seuil, ce macrobloc n'est affecté à aucune classe d'intensité. Les bandes noires n'ont en effet pas de grain, et les zones de contours sont en général inexploitables, car l'extraction du grain est relativement peu fiable sur les contours. Ainsi, en refusant de prendre en compte les pixels d'une zone de contours ou d'une bande noire, on limite l'erreur de l'estimation des paramètres de grain. By comparison result is meant a difference value, a value of a ratio, a Boolean value, a sum value of the absolute differences, or other. We can foresee: - natural regroupings, carried out without objective of number of classes of intensity to be reached, that is to say that the classes of intensity are grouped in a number a priori indeterminate of classes of intensity, and / or - forced regroupings, carried out until reaching a goal of intensity classes. Advantageously, at first, groupings are carried out. Then, if the number of classes thus grouped exceeds a certain threshold, forced regroupings are carried out, until this threshold is reached. Thus, the groupings are for example first made freely, without the constraint of an objective to be achieved, so that these groupings are primarily a function of the values of the frequency components of the class macroblocks. Forced groupings are only carried out if these natural groupings are not sufficient. Advantageously, for each intensity class, the search for the macroblocks to be assigned to this intensity class is a function, in addition to the pixel values of this macroblock, of the results of an edge detection and / or black bands. For example, if a macroblock corresponds to a black band area or a contour area, this macroblock is not assigned to any intensity class. In another example, if the number of pixels of a macroblock that belong to a black band area or a contour area exceeds a threshold, this macroblock is not assigned to any intensity class. Black bands do not have grain, and contour areas are generally unusable because the extraction of grain is relatively unreliable on the contours. Thus, by refusing to take into account the pixels of a contour zone or of a black band, the error of the estimation of the grain parameters is limited.

Avantageusement, les intervalles de valeurs de pixels correspondant aux classes d'intensité se recoupent les uns les autres. Ainsi, les macroblocs sont typiquement affectés chacun à plusieurs classes d'intensité, permettant ainsi une estimation des composantes fréquentielles relativement continue d'une classe à l'autre. Un tel chevauchement des classes d'intensité peut ainsi permettre un regroupement des intervalles plus pertinent que si chaque macrobloc ne pouvait être affecté qu'au plus à une seule classe. Bien entendu, on peut alternativement prévoir une partition des valeurs possibles de pixels en un nombre prédéfini d'intervalles ne se recoupant pas les uns les autres. Selon un autre aspect, il est proposé un programme d'ordinateur comportant des instructions pour la mise en oeuvre du procédé exposé ci-dessus, lorsque ces instructions sont exécutées par un processeur d'un dispositif de modélisation de grain d'image, ce dernier dispositif étant par exemple intégré dans ou en communication avec un système de compression d'image. Selon un autre aspect, il est proposé un dispositif de modélisation du grain d'une image, comprenant : - une mémoire pour stocker un nombre prédéterminé d'identifiants de classes d'intensité et, pour chacune de ces classes d'intensité, une indication d'un intervalle de valeurs de pixels déterminé, - des moyens de sélection aptes, pour chaque classe d'intensité, à rechercher à partir des valeurs de pixels de macroblocs de l'image, des macroblocs à affecter à cette classe d'intensité, - un module d'analyse du grain apte, pour chaque classe d'intensité, à estimer des composantes fréquentielles du grain pour cette classe d'intensité, à partir de valeurs de pixels des macroblocs affectés à cette classe d'intensité, - un module de regroupement agencé pour regrouper les classes d'intensité en fonction des composantes fréquentielles estimées par le module d'analyse du grain, de façon à limiter le nombre de classes d'intensité auxquelles est affecté au moins un macrobloc, et - des moyens de traitement aptes, pour chacune de ces classes d'intensité ainsi regroupées, à estimer des composantes fréquentielles, et à calculer en fonction de ces composantes fréquentielles correspondant à cette classe un jeu de valeurs de paramètres de modélisation du grain. Advantageously, the intervals of pixel values corresponding to the intensity classes intersect each other. Thus, the macroblocks are typically assigned each to several intensity classes, thus allowing a relatively continuous estimation of frequency components from one class to another. Such an overlap of the intensity classes may thus allow more appropriate clustering of the intervals than if each macroblock could be assigned to at most one class only. Of course, one can alternatively provide a partition of the possible values of pixels in a predefined number of intervals not overlapping each other. According to another aspect, there is provided a computer program comprising instructions for carrying out the method explained above, when these instructions are executed by a processor of an image grain modeling device, the latter device being for example integrated in or in communication with an image compression system. In another aspect, there is provided a device for modeling the grain of an image, comprising: a memory for storing a predetermined number of intensity class identifiers and, for each of these intensity classes, an indication of a determined range of pixel values, - selection means adapted, for each intensity class, to search from the pixel values of the macroblocks of the image, macroblocks to be assigned to this intensity class, a grain analysis module capable, for each intensity class, of estimating frequency components of the grain for this intensity class, from pixel values of the macroblocks assigned to this intensity class, a module grouping arranged to group the intensity classes according to the frequency components estimated by the grain analysis module, so as to limit the number of intensity classes to which at least one is assigned macroblock, and processing means capable, for each of these intensity classes thus grouped, of estimating frequency components, and of calculating, as a function of these frequency components corresponding to this class, a set of values of parameters for modeling the grain. .

Ce dispositif peut permettre de mettre en oeuvre le procédé décrit ci-dessus. Les divers moyens décrits, à savoir la mémoire, les moyens de sélection et de traitement, les modules d'analyse et de regroupement, peuvent être intégrés en un ou plusieurs processeurs, par exemple des processeurs de traitement de signal numérique ou DSP (de l'anglais Digital Signal Processor ). En outre, il est proposé un système de compression d'image comportant le dispositif de modélisation de grain décrit ci-dessus. Selon encore un autre aspect, il est proposé un système de compression d'une séquence vidéo comprenant un dispositif de modélisation du grain tel que décrit ci-dessus, pour modéliser le grain d'au moins une partie des images de la séquence vidéo en des jeux respectifs de valeurs de paramètres. D'autres particularités et avantages de la présente invention apparaîtront dans la description ci-après. This device can make it possible to implement the method described above. The various means described, namely the memory, the selection and processing means, the analysis and grouping modules, can be integrated into one or more processors, for example digital signal processing processors or DSPs. English Digital Signal Processor). In addition, there is provided an image compression system comprising the grain modeling device described above. According to yet another aspect, there is provided a video sequence compression system comprising a grain modeling device as described above, for modeling the grain of at least a portion of the images of the video sequence in respective sets of parameter values. Other features and advantages of the present invention will become apparent from the description hereinafter.

La figure 1, montre un exemple de système de compression vidéo selon un mode de réalisation de l'invention. La figure 2A est un algorithme d'un exemple de procédé selon un mode de réalisation de l'invention. La figure 2B est un algorithme reprenant de façon détaillée l'étape 260 de la figure 2A. La figure 3 montre un exemple d'ensemble de composantes fréquentielles. La figure 4 illustre un procédé d'estimation de paramètres à partir de composantes fréquentielles. FIG. 1 shows an example of a video compression system according to one embodiment of the invention. Fig. 2A is an algorithm of an exemplary method according to an embodiment of the invention. Figure 2B is an algorithm detailing step 260 of Figure 2A. Figure 3 shows an example of a set of frequency components. Figure 4 illustrates a method for estimating parameters from frequency components.

La figure 5 montre un exemple de système de compression vidéo selon un mode de réalisation de l'invention Des références identiques sont utilisées pour désigner des objets identiques ou similaires. FIG. 5 shows an example of a video compression system according to one embodiment of the invention. Identical references are used to designate identical or similar objects.

En référence à la figure 1, est représenté un système 100 de compression vidéo comportant : - un module de filtrage 110 agencé pour retirer un signal de bruit et/ou de grain d'une séquence d'images vidéo sources Ims(t), de façon à obtenir une séquence d'images filtrées ImF(t). Le filtrage mis en oeuvre par ce module 110 peut être spatial, temporel, spatio-temporel, bilatéral, ou autre. Ce module de filtrage peut mettre en oeuvre un procédé de filtrage connu de l'art antérieur. - Un dispositif de modélisation du grain 120, recevant en entrée la séquence d'images sources Ims(t) et la séquence d'images filtrées ImF(t). Ce dispositif de modélisation 120 permet d'estimer des paramètres de grain pour chacune des images de la séquence vidéo. - Un module d'encodage 130 pour encoder la séquence d'images filtrées ImF(t) en une séquence vidéo compressée, ce module d'encodage étant agencé pour inclure dans la séquence vidéo compressée les paramètres de grain reçus du dispositif 120. Le module d'encodage peut être agencé de façon conforme au standard de compression H264 (ITUT Rec H.264 1 ISO/IEC 14496-10 Advanced Video Coding). La séquence vidéo compressée comporte des images ImENC(t) destinées à être envoyées sur un canal, ou bien stockées sur un support. Cette séquence compressée est destinée à subir un décodage lors de sa 25 lecture, par un module de décodage non représenté. Ce décodage permet de régénérer d'une part la version filtrée de la vidéo, et d'autre part le grain de l'image. Cette régénération du grain est effectuée à partir des paramètres de grain obtenus par le dispositif 120. Le module de décodage est agencé de façon conforme au standard H264, et en particulier à l'annexe D.2.20 de ce 30 standard pour la génération de grain. Le dispositif de modélisation du grain 120 est agencé pour traiter chaque couple d'image source Ims(t) / image filtrée ImF(t) de manière indépendante des images précédentes ou suivantes de la séquence vidéo. 10 15 20 Le dispositif de modélisation du grain 120 comprend : - un module 121 de détection de contours et de bandes noires, prenant en entrée la version filtrée de l'image ImF(t). ce module permet d'obtenir pour chaque image ImF(t) un masque binaire M (ou bitmap en anglais) indiquant les zones de contours et de bandes noires. - un module de corrélation croisée 122 recevant en entrée une image bruitée Ims(t) et l'image filtrée ImF(t) correspondante. Ce module effectue une soustraction valeur de pixel par valeur de pixel de l'image filtrée à l'image bruitée afin d'obtenir une image de bruit, puis calcule des corrélations entre plans de pixels afin d'obtenir pour chaque pixel de l'image de bruit trois valeurs dé-corrélées les unes des autres. - un module de calcul 123, intégrant une mémoire, des moyens de sélection et un module d'analyse du grain, permettant d'obtenir un nombre de tableaux 8x8 de composantes fréquentielles du grain, et - un module de post-analyse 124, intégrant un module de regroupement pour regrouper ces tableaux en un nombre limité de tableaux de composantes fréquentielles, et des moyens de traitement aptes à, pour chaque tableau ainsi regroupé, calculer des paramètres de modélisation du grain. Les figures 2A et 2B montrent un exemple d'algorithme susceptible d'être mis en oeuvre par un dispositif de modélisation de grain d'image, par exemple le dispositif 120. Est d'abord mise en oeuvre une étape 250 de détection de contours, par le module 121 de la figure 1. Par exemple, lors de cette étape, on initialise à zéro l'ensemble des bits d'un masque de contour de luminosité, chaque bit correspondant à un pixel de l'image. Puis on calcule pour chaque pixel une nouvelle valeur de luminosité (plan Y) selon : Py (i, j) = Max{PFF (i + x, j + y)}{x,y _1,0,11 ù Min{PFF (i + x, j + y)}{x,y _1,o,i} où PFy(i,j) désigne la valeur de luminosité du pixel situé à la ième ligne et jème colonne de l'image filtrée ImF(t). Si cette nouvelle valeur Py;(i, j) est supérieure à un seuil, par exemple 20, alors le bit du correspondant masque de contour est mis à un 1. Referring to FIG. 1, there is shown a video compression system 100 comprising: a filtering module 110 arranged to remove a noise and / or grain signal from a sequence of source video images Ims (t), of to obtain a sequence of filtered images ImF (t). The filtering implemented by this module 110 can be spatial, temporal, spatio-temporal, bilateral, or other. This filtering module can implement a filtering method known from the prior art. A grain modeling device 120, receiving as input the sequence of source images Ims (t) and the filtered image sequence ImF (t). This modeling device 120 makes it possible to estimate grain parameters for each of the images of the video sequence. An encoding module 130 for encoding the filtered image sequence ImF (t) into a compressed video sequence, this encoding module being arranged to include in the compressed video sequence the grain parameters received from the device 120. The encoder may be arranged in accordance with the H264 compression standard (ITUT Rec H.264 1 ISO / IEC 14496-10 Advanced Video Coding). The compressed video sequence includes ImENC images (t) to be sent on a channel, or stored on a medium. This compressed sequence is intended to be decoded when read by a not shown decoding module. This decoding makes it possible to regenerate, on the one hand, the filtered version of the video and, on the other hand, the grain of the image. This regeneration of the grain is performed from the grain parameters obtained by the device 120. The decoding module is arranged in accordance with the H264 standard, and in particular with the appendix D.2.20 of this standard for the generation of grain. . The grain modeling device 120 is arranged to process each source image pair Ims (t) / filtered image ImF (t) independently of the preceding or following images of the video sequence. The grain modeling device 120 comprises: a contour detection and black banding module 121, taking as input the filtered version of the image ImF (t). this module makes it possible to obtain for each image ImF (t) a binary mask M (or bitmap in English) indicating the zones of contours and black bands. a cross correlation module 122 receiving as input a noisy image Ims (t) and the corresponding filtered image ImF (t). This module subtracts a pixel value per pixel value from the filtered image to the noisy image to obtain a noise image, and then calculates correlations between pixel planes to obtain for each pixel of the image of noise three de-correlated values from each other. a calculation module 123 integrating a memory, selection means and a module for analyzing the grain, making it possible to obtain a number of 8x8 tables of frequency components of the grain, and a post-analysis module 124 integrating a grouping module for grouping these tables into a limited number of frequency component tables, and processing means able to compute grain modeling parameters for each table thus grouped together. FIGS. 2A and 2B show an example of an algorithm that can be implemented by an image grain modeling device, for example the device 120. A contour detection step 250 is first implemented. for example, in this step, the set of bits of a brightness contour mask is initialized to zero, each bit corresponding to one pixel of the image. Then, for each pixel, a new brightness value (Y-plane) is calculated according to: Py (i, j) = Max {PFF (i + x, j + y)} {x, y _1, 0, 11-Min {PFF (i + x, j + y)} {x, y _1, o, i} where PFy (i, j) denotes the brightness value of the pixel located at the ith line and jth column of the filtered image ImF (t ). If this new value Py; (i, j) is greater than a threshold, for example 20, then the bit of the contour mask correspondent is set to a 1.

On peut de la même façon obtenir des masques de contours de chroma, à partir respectivement des valeurs de pixels U, V. Néanmoins, des masques de contours de chroma obtenus à partir des valeurs de pixels U, V risquent d'être d'une qualité inférieure à la qualité du masque de contours Y. Aussi peut-on prévoir d'obtenir les masques de contours U et V à partir du masque de contours Y plutôt qu'à partir des valeurs de pixels U, V. Comme la résolution des plans de chroma U et V peut différer de celle du plan de luminosité Y, on peut être amené à redimensionner le masque de contours Y pour créer les masques de contours U et V. It is likewise possible to obtain chroma contour masks, respectively from the U, V pixel values. Nevertheless, chroma contour masks obtained from the U, V pixel values may be of a given size. quality inferior to the quality of the contour mask Y. Also it is possible to obtain the contour masks U and V from the contour mask Y rather than from the values of pixels U, V. As the resolution of chroma planes U and V may differ from that of brightness plane Y, it may be necessary to resize the contour mask Y to create contour masks U and V.

Alternativement, ce module 121 peut mettre en oeuvre un algorithme de détection de contours connu de l'art antérieur. En référence à la figure 2A, une étape de détection de zones de bandes noires 251 est effectuée. Les trois plans de valeurs de pixels sont pris en compte. Les valeurs Y, U, V étant susceptibles de prendre des valeurs entre 0 et 255, un pixel est considéré comme noir si - sa valeur de luminosité Y est inférieure à 25, - sa valeur de chroma U est comprise entre 120 et 136, et si - sa valeur de chroma V est comprise entre 122 et 138. Une ligne ou une colonne est considérée comme noire si tous les pixels dont elle est constituée sont considérés comme noirs. La bande noire gauche se termine à la première colonne non noire, en partant de la gauche de l'image. Les bandes noires haute, droite et basse sont définies de manière similaire. On peut de cette façon détecter des bandes noires introduites lors de conversions d'un format d'image vers un autre, par exemple 16/9 et 4/3. Suit une étape de corrélation croisée 252, au cours de laquelle est calculée la corrélation entre un plan de grain Y et un plan de grain U (respectivement un plan de grain en V), la composante corrélée ainsi calculée étant ensuite soustraite de ce plan U (respectivement plan V). Cette étape peut être mise en oeuvre par le module 122 sur la figure 1. Chaque plan de grain Y, U, V est calculé par soustraction valeur de pixel par valeur de pixel de l'image filtrée ImF(t) à l'image source Ims(t) : Gy (i, j) = PY (i, j) - PFY (i, j) GU(i,J)=PU (i, j)ùPFU(i, j) Gv(i,J)=Pv(i,j)ùPFv(i,J) où Py(i,j), Pu(i,j), Pv(i,j) désignent les valeurs de pixel Y, U, V respectivement, du pixel (i,j) de l'image source Ims(t), PFy(i,j), PFu(i,j), PFv(i,j) désignent les valeurs de pixel Y, U, V respectivement, du pixel (i,j) de l'image filtrée ImF(t), et Gy(i,j), Gu(i,j), Gv(i,j) désignent les valeurs de pixel Y, U, V respectivement, du pixel (i,j) de l'image de grain. Pour calculer la corrélation entre le plan de grain de luminosité Y et le plan de grain de chroma U, on peut, en particulier si la résolution du plan de grain de chroma U diffère de la résolution du plan de grain de luminosité Y, redimensionner le plan de grain de luminosité en un plan G'y. Par exemple, pour chaque bloc de 2x2 pixels, on calcule une valeur moyenne, cette valeur moyenne étant affecté à un pixel de l'image redimensionnée et correspondant à ce bloc. Puis on calcule une valeur de corrélation, en excluant les pixels correspondant à des zones de contours ou de bandes noires. On peut à cet effet utiliser le masque binaire M reçu du module de détection de contours et bandes noires 121 sur la figure 1. Alternatively, this module 121 can implement a contour detection algorithm known from the prior art. With reference to FIG. 2A, a step of detecting black band areas 251 is performed. The three pixel value planes are taken into account. The values Y, U, V being capable of taking values between 0 and 255, a pixel is considered black if its brightness value Y is less than 25, its chroma value U is between 120 and 136, and if - its value of chroma V is between 122 and 138. A line or a column is considered black if all the pixels of which it is constituted are considered as black. The left black band ends at the first non-black column, starting from the left of the image. The high, low and low black bands are similarly defined. In this way it is possible to detect black bands introduced during conversions from one image format to another, for example 16/9 and 4/3. Follows a cross-correlation step 252, during which the correlation between a grain plane Y and a grain plane U (respectively a grain plane in V) is calculated, the correlated component thus calculated being then subtracted from this plane U (respectively V plane). This step can be implemented by the module 122 in FIG. 1. Each grain plane Y, U, V is calculated by subtracting pixel value by pixel value from the filtered image ImF (t) to the source image Ims (t): Gy (i, j) = PY (i, j) - PFY (i, j) GU (i, J) = PU (i, j) ùPFU (i, j) Gv (i, J) = Pv (i, j) ùPFv (i, J) where Py (i, j), Pu (i, j), Pv (i, j) designate the pixel values Y, U, V respectively, of the pixel (i , j) of the source image Ims (t), PFy (i, j), PFu (i, j), PFv (i, j) designate the pixel values Y, U, V, respectively, of the pixel (i, j) of the filtered image ImF (t), and Gy (i, j), Gu (i, j), Gv (i, j) designate the pixel values Y, U, V, respectively, of the pixel (i, j) the grain image. To calculate the correlation between the brightness plane Y and the chroma grain plane U, in particular if the resolution of the chroma grain plane U differs from the resolution of the grain of brightness plane Y, resize the grain of brightness plan in a G'y plane. For example, for each block of 2x2 pixels, an average value is calculated, this average value being assigned to a pixel of the resized image corresponding to this block. Then a correlation value is calculated, excluding the pixels corresponding to contour areas or black bands. To this end, it is possible to use the bit mask M received from the edge detection module and black strips 121 in FIG.

La valeur de corrélation est calculée selon, pour le plan de chroma U : SumXY(GY,Gy) = Gy (1, j).GY(1,j ) M (i, j)=0 SumXY(G . , GU) = L Gy i, j).GU (i, j) et M (i, j)=0 Corr(GY , Gu ) = SumXY(GY 'Gu) SumXY(GY, GY ) The correlation value is calculated according to, for the chroma plane U: SumXY (GY, Gy) = Gy (1, j) .GY (1, j) M (i, j) = 0 SumXY (G, GU) = L Gy i, j) .GU (i, j) and M (i, j) = 0 Corr (GY, Gu) = SumXY (GY 'Gu) SumXY (GY, GY)

Ensuite, on soustrait au plan de chroma U la composante corrélée: 30 Gu i, j) = Gu (i, j) - G; (i, j).Corr (GY ,Gu) On obtient ainsi un plan de grain de chroma U décorrélé G'u. En procédant de la même façon entre le plan de grain de chroma Gu et le plan de grain de chroma Gv, sans redimensionnement cette fois, selon : Corr (GU , Gv) = SummY(GU, Gv) , et SumXY(GU, GU ) Gv (i, j) = Gv (i, j) ù GU (i, j).Corr(GU, Gv) , on obtient le plan de grain décorrélé G'v. On a ainsi obtenu trois plans de grains dé-corrélés G'y, G'u, G'v. Les valeurs de corrélation Corr(GY,GU) et Corr(Gu,Gv) sont conservées en tant que paramètre de modélisation du grain pour les plans de chroma U et V. On notera qu'avec le procédé décrit ci-dessus, ces valeurs de corrélation sont identiques pour tous les intervalles de valeurs de pixels U et V. Le module de calcul 123 permet d'obtenir des ensembles de composantes fréquentielles. Then, subtract from the chroma plane U the correlated component: Gu i, j) = Gu (i, j) - G; (i, j) .Corr (GY, Gu) This gives a decorrelated U chroma grain plane G'u. Proceeding in the same way between the chroma grain plane Gu and the chroma grain plane Gv, without resizing this time, according to: Corr (GU, Gv) = SummY (GU, Gv), and SumXY (GU, GU ) Gv (i, j) = Gv (i, j) ù GU (i, j) .Corr (GU, Gv), we obtain the decorrelated grain plane G'v. We thus obtained three planes of de-correlated grains G'y, G'u, G'v. The correlation values Corr (GY, GU) and Corr (Gu, Gv) are retained as a grain modeling parameter for the U and V chroma planes. It will be noted that with the method described above, these values correlation are identical for all U and V pixel value ranges. The calculation module 123 makes it possible to obtain sets of frequency components.

On prévoit un nombre initial de classes d'intensité, par exemple 31, chaque classe d'intensité correspondant à un intervalle de valeurs de pixels donné, par exemple [0,15], [8,23], [16, 31],..., [240,255]. Des identifiants de ces classes d'intensité et des indications des intervalles de valeurs de pixels correspondants peuvent être conservés dans une mémoire (non représentée sur la figure 1) du module de calcul 123. Pour chaque classe d'intensité, indicée m, on recherche des macroblocs de l'image filtrée ImF(t) à affecter à cette classe d'intensité, selon les valeurs de pixels de cette image filtrée. Puis pour chaque classe d'intensité à laquelle est affectée au moins un macrobloc, on compte le nombre de macroblocs N(m) affectés à cette classe et on estime un ensemble de composantes fréquentielles {Var(m)(i, j)} 1, i et j indiçant cette fois des fréquences spatiales. Les valeurs N(m) et {Var(m)(i, j)} 1 sont obtenues lors d'une étape 260. Une boucle, avec des étapes classiques d'initialisation, de test et d'incrémentation peut être mise en place afin de parcourir l'ensemble des classes. An initial number of intensity classes is provided, for example 31, each intensity class corresponding to a given range of pixel values, for example [0.15], [8.23], [16, 31], ..., [240,255]. Identifiers of these intensity classes and indications of the corresponding pixel value intervals can be stored in a memory (not shown in FIG. 1) of the calculation module 123. For each intensity class, indexed m, a search is performed. macroblocks of the filtered image ImF (t) to be assigned to this intensity class, according to the pixel values of this filtered image. Then for each intensity class to which is assigned at least one macroblock, we count the number of macroblocks N (m) assigned to this class and estimate a set of frequency components {Var (m) (i, j)} 1 , i and j indicating this time spatial frequencies. The values N (m) and {Var (m) (i, j)} 1 are obtained during a step 260. A loop, with conventional steps of initialization, testing and incrementation can be set up to browse all classes.

Cette étape 260 est détaillée sur la figure 2B. L'algorithme de la figure 2B permet ainsi d'obtenir, pour une classe m donnée, des valeurs N(m) et {Var ( (i, j)i,; Tout d'abord, un tableau {Sum(m)(i, j)}i, est initialisé à zéro, lors d'une étape 300. Egalement, un nombre N(m) est initialisé à zéro. Sur la figure 2B, les macroblocs sont indicés k,l et des boucles sont mises en place sur ces deux indices afin de parcourir l'ensemble des blocs, avec des étapes classiques d'initialisation des indices, de test et d'incrémentation. On notera que les macroblocs peuvent se recouvrir les uns les autres. En outre, bien que les figures 2A (à l'exception de l'étape 252) et 2B ne fassent pas mention des plans U, U, V, on notera que le procédé décrit ci-dessous est de fait appliqué à chacun de ces plans Y, U, V. A des fins de simplification, on parlera de valeur de pixel pour désigner l'une des valeurs Y,UouV. Pour classe d'intensité et pour chaque macrobloc MBk,I, on initialise un zéro un compteur d'un nombre de pixels nkl) . Puis on recherche lors d'une étape 310 les pixels de l'image filtrée ImF(t) appartenant à ce macrobloc et dont les valeurs de pixels appartiennent à l'intervalle correspondant à cette classe d'intensité. A chaque pixel ainsi trouvé, le compteur du nombre de pixels n(km,l) est incrémenté, sauf si ce pixel correspond à un bit à 1 sur le masque M obtenu suite à la détection de contours et de bandes noires. Une fois tous les pixels du macrobloc parcourus, on compare lors d'une étape 311 le nombre n(km,l) à un seuil, par exemple 50. Si le nombre n(km,l) est supérieur à ce seuil, le macrobloc est considéré comme affecté à cette classe d'intensité. Sinon, on peut passer au bloc suivant. Ainsi, plus un macrobloc comporte de pixels appartenant à une zone de contours ou de bandes noires, moins il est susceptible d'être affecté à une classe donnée. This step 260 is detailed in FIG. 2B. The algorithm of Figure 2B thus makes it possible to obtain, for a given class m, values N (m) and {Var ((i, j) i, First, a table {Sum (m) ( i, j)} i, is initialized to zero, in a step 300. Also, a number N (m) is initialized to zero, in Figure 2B the macroblocks are indexed k, l and loops are set to place on these two indices in order to browse all the blocks, with conventional steps of index initialization, testing and incrementation.It should be noted that the macroblocks can overlap each other. 2A (with the exception of step 252) and 2B do not mention plans U, U, V, it will be noted that the method described below is in fact applied to each of these planes Y, U, V For the sake of simplicity, we will speak of pixel value to designate one of the values Y, UouV For intensity class and for each macroblock MBk, I, a zero is initialized a counter of a number of pixels nkl ) . Then, during a step 310, the pixels of the filtered image ImF (t) belonging to this macroblock and whose pixel values belong to the interval corresponding to this intensity class are searched. At each pixel thus found, the counter of the number of pixels n (km, l) is incremented, except if this pixel corresponds to a bit at 1 on the mask M obtained following the detection of outlines and black bands. Once all the pixels of the macroblock have been traveled, the number n (km, l) is compared at a step 311 with a threshold, for example 50. If the number n (km, l) is greater than this threshold, the macroblock is considered assigned to this intensity class. Otherwise, we can go to the next block. Thus, plus a macroblock has pixels belonging to a zone of outlines or black bands, less it is likely to be assigned to a given class.

On notera qu'avec le procédé décrit ci-dessus, pour des macroblocs de 8x8 pixels, au-delà de 16 pixels considérés comme appartenant à une zone de contours ou de bandes noires, le macrobloc n'est affecté à aucune classe d'intensité. Lors de la régénération du grain, pour un macrobloc donné, le module de décodage recherche, à partir des valeurs de pixels de l'image en cours de décodage correspondant à ce macrobloc, à quelle classe appartient ce macrobloc. Puis une régénération de grain est effectuée à partir des paramètres correspondant à la classe ainsi trouvée. La régénération de grain sur un macrobloc correspondant à une zone de contour et/ou de bande noire n'est pas forcément préjudiciable. En effet, le grain régénéré peut être relativement peu visible du fait de la présence d'un contour, et les bandes noires sont généralement suffisamment sombres pour qu'un grain d'amplitude normal soit relativement difficile à détecter. Il est avantageux de ne pas prendre en compte les macroblocs correspondant ainsi à des zones de contours ou de bandes noires pour le calcul des composantes fréquentielles de grain d'une classe d'intensité. En effet, ces macroblocs correspondent à des parties de l'image par définition sans grain (bandes noires) ou avec un grain probablement entaché des artefacts de débruitage qui apparaissent classiquement sur les contours, de sorte qu'une modélisation du grain effectuée à partir de l'image de bruit correspondant à ces macroblocs serait probablement biaisée. Si, suite au test 311, le macrobloc est retenu, on effectue lors d'une étape 312 une transformée en cosinus discrète (DCT, de l'anglais Discrete Cosine Transform ) sur les pixels de l'une des images de grain G'y, G'u, G'v qui correspondent à ce macrobloc. On rappelle que chaque image de grain est obtenue à partir de l'image source. Cette étape 312 conduit ainsi à obtenir un jeu de composantes fréquentielles de macrobloc. Par exemple, dans le cas d'un macrobloc de 8x8 pixels, l'étape 312 conduit à 8x8 valeurs de composantes fréquentielles de macrobloc DCT(i,j), i et j indiçant des fréquences spatiales. Note that with the method described above, for macroblocks of 8x8 pixels, beyond 16 pixels considered to belong to a zone of outlines or black bands, the macroblock is not assigned to any class of intensity . During the regeneration of the grain, for a given macroblock, the decoding module searches, from the pixel values of the image being decoded corresponding to this macroblock, which class belongs to this macroblock. Then a grain regeneration is performed from the parameters corresponding to the class thus found. The regeneration of grain on a macroblock corresponding to an area of contour and / or black band is not necessarily detrimental. In fact, the regenerated grain can be relatively invisible because of the presence of a contour, and the black bands are generally sufficiently dark so that a grain of normal amplitude is relatively difficult to detect. It is advantageous not to take into account the macroblocks corresponding to zones of contours or black bands for calculating the frequency components of grain of an intensity class. Indeed, these macroblocks correspond to parts of the image by definition without grain (black bands) or with a grain probably marred by denoising artifacts that appear classically on the contours, so that a modeling of the grain made from the noise image corresponding to these macroblocks would probably be biased. If, after the test 311, the macroblock is retained, a Discrete Cosine Transform (DCT) is performed on a step 312 on the pixels of one of the G'y grain images. , G'u, G'v that correspond to this macroblock. Remember that each grain image is obtained from the source image. This step 312 thus leads to obtaining a set of macroblock frequency components. For example, in the case of an 8 × 8 pixel macroblock, step 312 leads to 8 × 8 DCT macroblock frequency component values (i, j), i and j indicating spatial frequencies.

Puis, lors d'une étape 313, on met à jour les 8x8 valeurs du tableau {Sum(m)(i, j)11 en fonction des 8x8 composantes fréquentielles de macrobloc DCT(i,j) respectives obtenues à l'étape 312. Par exemple, chaque composante Sum(m)(i, j) du tableau est incrémentée de la valeur [DCT(i, 12. (m), de façon à accorder à chaque macrobloc un poids fonction du nombre de pixels correspondant réellement à la classe d'intensité m. En outre, lors d'une étape 315, le nombre N(m) est incrémenté du nombre n(m) . Une fois tous les macroblocs parcourus, le nombre N(m) fournit ainsi une indication de la représentativité de la classe d'intensité m en nombre de pixels, plutôt qu'en nombre de macroblocs affectés à cette classe. Lors d'une étape 314, des composantes fréquentielles du grain pour la classe d'intensité m sont calculées à partit des valeurs du tableau {Sum(m) (i, Chaque composante fréquentielle Var(m)(i,j) parmi les 8x8 composantes fréquentielles {Var(m)(i, j)}.1 est calculée suivant : Var(m) (i, j) Sum(m)(i,j) La figure 3 montre un exemple de tableau de 8x8 composantes fréquentielles. Le grain n'ayant théoriquement pas de composante continue, on peut s'attendre à ce que la valeur Var(m)(0,0) soit nulle ou relativement faible. En outre, sur cette figure 3, on a représenté en hachuré les blocs correspondant à des fréquences spatiales entre des fréquences de coupure. On peut en effet déterminer deux fréquences de coupure horizontales à partir des composantes Var(m)(0,1), Var(m)(0,2) ,..., Var(m)(0,7) , et deux fréquences de coupure verticales à partir des composantes Var(m)(1,0), Var(m)(2,0),..., Var(m)(7,0) . Then, during a step 313, the 8x8 values of the table {Sum (m) (i, j) 11 are updated as a function of the 8 × 8 respective macroblock DCT (i, j) components obtained in step 312 For example, each component Sum (m) (i, j) of the array is incremented by the value [DCT (i, 12. (m), so as to give each macroblock a weight based on the number of pixels actually corresponding to the intensity class m Moreover, during a step 315, the number N (m) is incremented by the number n (m), once all the macroblocks have been traveled, the number N (m) thus provides an indication of the representativeness of the intensity class m in number of pixels, rather than the number of macroblocks assigned to this class, In a step 314, frequency components of the grain for the intensity class m are calculated from the values of the table {Sum (m) (i, Each frequency component Var (m) (i, j) among the 8x8 frequency components {Var (m) (i, j)}. calculated as: Var (m) (i, j) Sum (m) (i, j) Figure 3 shows an example of a table of 8x8 frequency components. Since the grain theoretically has no DC component, it can be expected that the value Var (m) (0,0) is zero or relatively low. Furthermore, in this FIG. 3, the blocks corresponding to spatial frequencies between cutoff frequencies are shown in hatched form. Two horizontal cutoff frequencies can be determined from Var (m) (0,1), Var (m) (0,2), ..., Var (m) (0,7), and two components. vertical cutoff frequencies from the components Var (m) (1.0), Var (m) (2.0), ..., Var (m) (7.0).

Par exemple, pour déterminer les fréquences de coupure horizontales, on calcule les valeurs suivantes : Varmed =1 LVar(m)(0, j) 7 ;_1 Varmax =Max{Var(m)(0, N(m) Var min = Min{Var(m) (09, )Ij=l,...,7 THR = Max Var med, 2 Les fréquences de coupure passe-bas et passe-haut horizontales sont définies comme respectivement les premières et dernières fréquences telles que les composantes fréquentielles correspondantes soient supérieures ou égales à ce seuil THR, comme illustré sur la figure 4. Sur cette figure 4, on a représenté les composantes Var(m)(O, j) en ordonnée, et les indices j en abscisse. Les proportions ne sont pas forcément respectées sur cette figure. For example, to determine the horizontal cutoff frequencies, the following values are calculated: Varmed = 1 LVar (m) (0, j) 7; _1 Varmax = Max {Var (m) (0, N (m) Var min = Min {Var (m) (09,) Ij = 1, ..., 7 THR = Max Var med, 2 The horizontal low-pass and high-pass cutoff frequencies are defined as the first and the last frequencies respectively, such as Corresponding frequency components are greater than or equal to this threshold THR, as illustrated in FIG. 4. In this FIG. 4, the components Var (m) (O, j) are represented on the ordinate, and the indices j on the abscissa. are not necessarily respected in this figure.

Sur l'exemple des figures 3 et 4, les fréquences de coupure passe-bas et passe-haut horizontales sont les fréquences spatiales (0,2) et (0,4) respectivement. On peut procéder de la même façon pour déterminer les fréquences de coupure passe-bas et passe-haut verticales, respectivement (1,0) et (6,0) dans l'exemple des figures 3 et 4. Pour revenir à la figure 2A, une fois les valeurs {Var(m)(i, j)}.1 et N(m) affectées à chacune des classes d'intensité, on procède à des regroupements des classes d'intensité, lors d'une série d'étapes représentées sous la référence 200. In the example of FIGS. 3 and 4, the horizontal low-pass and high-pass cutoff frequencies are the spatial frequencies (0.2) and (0.4) respectively. The same procedure can be used to determine the vertical low and high cutoff frequencies, respectively (1.0) and (6.0) in the example of Figures 3 and 4. Returning to Figure 2A once the {Var (m) (i, j)} .1 and N (m) values are assigned to each of the intensity classes, the intensity classes are grouped together in a series of steps represented under the reference 200.

Par exemple, on parcoure les classes d'intensité, au moyen d'une boucle avec les étapes classiques d'initialisation, de test et d'incrémentation, afin d'effectuer dans un premier temps des regroupements libres, sans la contrainte d'un objectif de nombre de classes. On procède à un premier test 212, portant sur les nombres N(m) et N(m+') pour deux classes d'intensité voisines. Si l'un de ces nombres est inférieur à un seuil, par exemple 6400, les classes m, et m+1 sont regroupées. On évite ainsi de conserver des classes d'intensité dont la représentativité est trop faible. Pour regrouper deux classes m, m+1, on recalcule 8x8 valeurs de composantes fréquentielles à partir des 8x8 valeurs de composantes fréquentielles de la classe m et des 8x8 valeurs de composantes 15 Var maxù Var min fréquentielles de la classe m+1, lors d'une étape 210. Chaque composante fréquentielle Var(m)(i, j) de la nouvelle classe regroupée, indicée m par convention, est calculée suivant : N(m) N(m+ Var(m)(i,j)=Var(m)(i,j)•N(m) +N(m+ +Var(m+ (i,j)•N(m)+N(m+ Egalement, on additionne les deux nombres N(m) et N('+') pour les deux classes d'intensité à regrouper pour obtenir un nombre pour la classe d'intensité regroupée, lors d'une étape 211. Enfin, on procède à une renumérotation des classes d'intensité, lors d'une étape 213. Typiquement, les classes d'intensité avec un indice inférieur à m conservent cet indice, tandis que les classes d'intensité avec un indice supérieur à (m+1) voient leur indice décrémenté de 1. En outre, le nombre de classes d'intensité MAX est décrémenté de un. Si le test 212 est négatif, on procède à un deuxième test 214, basé sur les valeurs de composantes fréquentielles de chacune des classes m, m+1. For example, we go through the intensity classes, by means of a loop with the usual steps of initialization, test and incrementation, in order to first perform free groupings, without the constraint of a goal of number of classes. We proceed to a first test 212, dealing with the numbers N (m) and N (m + ') for two neighboring classes of intensity. If one of these numbers is less than a threshold, for example 6400, the classes m, and m + 1 are grouped together. This avoids the retention of intensity classes whose representativeness is too low. To group two classes m, m + 1, we recalculate 8x8 values of frequency components from the 8x8 frequency component values of the class m and the 8x8 component values 15 Var max V Var min frequency of the class m + 1, when A step 210. Each frequency component Var (m) (i, j) of the new grouped class, indexed m by convention, is calculated as follows: N (m) N (m + Var (m) (i, j) = Var (m) (i, j) • N (m) + N (m + + Var (m + (i, j) • N (m) + N (m + Also, we add the two numbers N (m) and N (' + ') for the two intensity classes to be grouped to obtain a number for the clustered intensity class, in a step 211. Finally, the intensity classes are renumbered during a step 213 Typically, intensity classes with an index less than m retain this index, while intensity classes with an index greater than (m + 1) have their index decremented by 1. In addition, the number of classes of MAX intensity is decremented by one. If the test 212 is negative, a second test 214 is performed, based on the frequency component values of each of the classes m, m + 1.

Plutôt que de comparer les fréquences de coupure des deux classes d'intensité, on procède à des comparaisons composante fréquentielle par composante fréquentielle, de façon à obtenir un résultat de comparaison relativement précis. Par exemple, on peut effectuer des comparaisons des composantes fréquentielles de la première ligne et de la première colonne, en exceptant la composante (0,0). Par exemple, on calcule la somme, pour i entre 1 et 7, des valeurs absolues des différences Var(m)(i3O) - Var(m+ (i3O) , ainsi que la somme, pour j entre 1 et 7, des valeurs absolues des différences Var(m) (0, j) - Var(m+ (0 j) Si ces deux sommes sont chacune inférieures à un seuil, par exemple 2, alors on regroupe les classes m, m+1, en effectuant les étapes 210, 211, 213 déjà décrites. Sinon, les classes m, m+1 sont considérées comme suffisamment différentes pour ne pas être regroupées. Rather than comparing the cutoff frequencies of the two intensity classes, frequency component frequency component comparisons are made to obtain a relatively accurate comparison result. For example, comparisons can be made of the frequency components of the first row and the first column, except for component (0,0). For example, we calculate the sum, for i between 1 and 7, of the absolute values of the differences Var (m) (i3O) - Var (m + (i3O), as well as the sum, for j between 1 and 7, of absolute values differences Var (m) (0, j) - Var (m + (0 j) If these two sums are each less than a threshold, for example 2, then we group the classes m, m + 1, by performing the steps 210 211, 213 already described, otherwise classes m, m + 1 are considered to be sufficiently different not to be grouped together.

Une fois l'ensemble des classes ainsi parcouru de proche en proche, on compare lors d'une étape 215 le nombre de classes ainsi regroupées à un seuil THR'. Si ce nombre est inférieur ou égal au seuil THR', on calcule pour chaque classe regroupée un jeu de valeurs de paramètres de modélisation du grain, lors d'une étape 220. Une boucle est mise en place afin de parcourir les classes regroupées, avec les étapes classiques d'initialisation, de test et d'incrémentation. Cette étape 220 sera décrite plus loin. Si le seuil THR' est dépassé, on procède alors à des regroupements forcés, lors d'étapes 216, 217, 218. Pour chaque couple de classes voisines m et m'=m+1, on calcule une métrique de distance entre ces classes m, m', lors de l'étape 216. Once all the classes thus traveled step by step, we compare in a step 215 the number of classes thus grouped at a threshold THR '. If this number is less than or equal to the threshold THR ', a set of values of parameters for modeling the grain is calculated for each grouped class, during a step 220. A loop is set up in order to browse the grouped classes, with the usual steps of initialization, test and incrementation. This step 220 will be described later. If the threshold THR 'is exceeded, then forced regroupings are carried out, during steps 216, 217, 218. For each pair of neighboring classes m and m' = m + 1, a distance metric between these classes is calculated. m, m ', during step 216.

Par exemple, on calcule la valeur suivante : DF(m,m')= HH(m)-HH(m') + LH(m)-LH(m') + HV(m)-HV(m') + LV(m)-LV(m') où HH(m) et LH(m) désignent la valeur de j des fréquences de coupure horizontales passe-haut et passe-bas respectivement, pour la classe m, et HV(m) et LV(m) désignent la valeur de i des fréquences de coupure verticales passe-haut et passe-bas respectivement, pour la classe m. Ces fréquence de coupure peuvent être déterminées en utilisant le procédé décrit en référence aux figures 3 et 4, les composantes fréquentielles étant le cas échéant celles obtenues après regroupement(s) lors d'étape(s) 210. For example, the following value is calculated: DF (m, m ') = HH (m) -HH (m') + LH (m) -LH (m ') + HV (m) -HV (m') + LV (m) -LV (m ') where HH (m) and LH (m) denote the value of j of the high-pass and low-pass horizontal cutoff frequencies respectively for class m, and HV (m) and LV (m) denote the value of i of the vertical high-pass and low-pass cutoff frequencies respectively for the class m. These cutoff frequency can be determined using the method described with reference to FIGS. 3 and 4, the frequency components being, if appropriate, those obtained after grouping (s) during step (s) 210.

La valeur DF(m,m') représente ainsi une somme des écarts des fréquences de coupure. On calcule en outre : 1N(m) - N(m ) DC(m, m') =1û N(m) + N(m Les valeurs N(m) et N(m') peuvent le cas échéant être obtenues lors d'étape(s) 211. Cette valeur DC(m,m') donne une indication de la disparité en nombre d'échantillons entre les classes m et m'. On calcule en outre : N(m) + N(m DM(m,m') _ , NTOTAL étant le nombre de pixels de la totalité NTOTAL des macroblocs de 8x8 pixels de l'image. The value DF (m, m ') thus represents a sum of the differences of the cutoff frequencies. In addition, 1N (m) -N (m) DC (m, m ') = 1.0 N (m) + N (m). The values N (m) and N (m') can be obtained if necessary. 211. This value DC (m, m ') gives an indication of the disparity in the number of samples between the classes m and m' and furthermore calculates: N (m) + N (m DM (m, m ') _, NTOTAL being the number of pixels of the total NTOTAL macroblocks of 8x8 pixels of the image.

Cette valeur DM(m,m') donne une indication de la représentativité des classes m, m'. This value DM (m, m ') gives an indication of the representativity of the classes m, m'.

Enfin, on calcule : DE(m,m')= .4,Var(m)(i,f)ùLVar(m~)(i,j) 100 ~; i Cette valeur DE(m,m') représente un écart des variances entre les classes m et m'. Finally, we calculate: DE (m, m ') = .4, Var (m) (i, f) ùLVar (m ~) (i, j) 100 ~; This value DE (m, m ') represents a deviation of the variances between the classes m and m'.

La métrique de distance entre les classes est calculée en sommant ces quatre valeurs : The distance metric between classes is calculated by summing these four values:

D(m,m')=DF(m,m')+DC(m,m')+DM(m,m')+DE(m,m') La métrique de distance est ainsi obtenue à partir de paramètres estimés par classe d'intensité, par exemple les fréquences de coupure, les nombres N(m) et N(m'), ou bien encore les sommes LVar(m)(i, j), LVar(m')(i, j) . Les calculs de l'étape 216 sont ainsi relativement rapides. Lors de l'étape 217, on regroupe les deux classes correspondant à la plus faible valeur de métrique D. Ce regroupement comporte une étape non représentée d'estimation des composantes fréquentielles pour la nouvelle classe ainsi regroupée, similaire à l'étape 210, et une étape non représentée d'estimation du nombre N pour la nouvelle classe, similaire à l'étape 211. D (m, m ') = DF (m, m') + DC (m, m ') + DM (m, m') + DE (m, m ') The distance metric is thus obtained from parameters estimated by intensity class, for example the cutoff frequencies, the numbers N (m) and N (m '), or the sums LVar (m) (i, j), LVar (m') (i, j). The calculations of step 216 are thus relatively fast. In step 217, the two classes corresponding to the lowest value of metric D are grouped together. This grouping comprises a step that is not represented for estimating the frequency components for the new class thus grouped, similar to step 210, and a not shown step of estimating the number N for the new class, similar to step 211.

Puis les classes sont renumérotées lors d'une étape 218. Then the classes are renumbered in a step 218.

Tant que le nombre de classes restantes est supérieur au seuil THR', on effectue des regroupements (étapes 216, 217, 218). On peut prévoir de conserver d'une boucle à l'autre les valeurs de métrique D(m,m') qui restent pertinentes afin d'éviter de répéter les calculs. As long as the number of remaining classes is greater than threshold THR ', groupings are carried out (steps 216, 217, 218). It is possible to keep from one loop to another the metric values D (m, m ') which remain relevant in order to avoid repeating the calculations.

Lorsque le nombre de classes atteint le seuil THR', on peut alors calculer pour chaque classe regroupée un jeu de valeurs de paramètres de modélisation du grain, lors de l'étape 220. When the number of classes reaches the threshold THR ', it is then possible to calculate for each grouped class a set of values of parameters of modeling of the grain, during the step 220.

Le jeu de valeurs de paramètres peut comporter : The set of parameter values can include:

- Des valeurs de fréquences de coupure passe-bas et passe-haut, horizontales et verticales, soit quatre valeurs. Ces valeurs peuvent être déterminées en utilisant le procédé décrit en référence aux figures 3 et 4, les composantes 18 fréquentielles étant le cas échéant celles obtenues après regroupement lors d'étape(s) 210 et/ou similaires. - Un écart-type du grain, calculé suivant : L Var(`" (i, j) ET( = (_,;),-(o,o) , les composantes fréquentielles LH(m) * LV (m) ù HH(m) * HV (m) Var(m)(i, j) et les fréquences de coupure associées à cette classe m étant le cas échéant obtenues après regroupement lors d'étape(s) 210 et/ou similaires. - Low and high-pass cutoff values, horizontal and vertical, four values. These values can be determined using the method described with reference to FIGS. 3 and 4, the frequency components 18 being, if appropriate, those obtained after grouping during step (s) 210 and / or the like. - A standard deviation of the grain, calculated according to: L Var (`" (i, j) AND (= (_,), - (o, o), the frequency components LH (m) * LV (m) ù HH (m) * HV (m) Var (m) (i, j) and the cutoff frequencies associated with this class m being possibly obtained after grouping during step (s) 210 and / or the like.

Le jeu de paramètres peut en outre comporter, en particulier pour les plans de chroma U, V, une sixième valeur, à savoir une valeur de corrélation Corr(GY,GU) (respectivement Corr(Gu,GV) ) entre le plan de chroma U (respectivement V) et le plan de luminosité Y (respectivement U). The set of parameters may further comprise, in particular for the chroma planes U, V, a sixth value, namely a correlation value Corr (GY, GU) (respectively Corr (Gu, GV)) between the chroma plane U (respectively V) and the brightness plane Y (respectively U).

Les jeux de paramètres obtenus pour les plans Y, U, V, et pour chacune des classes regroupées, sont transmises en vue de l'encodage, par exemple au module 130 de la figure 1. The sets of parameters obtained for the planes Y, U, V, and for each of the grouped classes, are transmitted for the purpose of encoding, for example to the module 130 of FIG.

On peut en outre prévoir de transmettre à ce module une indication, pour chaque classe d'intensité regroupée, de l'intervalle de valeurs de pixels correspondant à cette classe d'intensité. It is furthermore possible to transmit to this module an indication, for each clustered intensity class, of the range of pixel values corresponding to this intensity class.

La figure 5 montre un exemple de système de compression vidéo, par exemple un serveur 400. Ce serveur 400 comporte une mémoire 401 permettant de stocker un nombre prédéterminé d'identifiants de classes d'intensité et, pour chacune de ces classes d'intensité, une indication d'un intervalle de valeurs de pixels déterminé. Le serveur 400 comporte en outre un processeur intégrant les modules de filtrage, d'analyse et d'encodage décrits en référence à la figure 1. Le serveur 400 est apte à communiquer avec un réseau 500, de type Internet, de sorte que la vidéo encodée peut être transmise sur le réseau. FIG. 5 shows an example of a video compression system, for example a server 400. This server 400 includes a memory 401 making it possible to store a predetermined number of intensity class identifiers and, for each of these intensity classes, an indication of a determined range of pixel values. The server 400 furthermore comprises a processor integrating the filtering, analysis and encoding modules described with reference to FIG. 1. The server 400 is able to communicate with a network 500, of the Internet type, so that the video encoded can be transmitted over the network.

Claims (13)

REVENDICATIONS1. Procédé de modélisation du grain d'une image pour la compression de ladite image, comprenant: prévoir un nombre de classes d'intensité, chaque classe d'intensité correspondant à un intervalle (lm) de valeurs de pixels déterminé, 10 pour chaque classe d'intensité : rechercher (310, 311), à partir des valeurs de pixels de macroblocs de l'image, des macroblocs à affecter à ladite classe d'intensité, estimer (312, 313, 314) des composantes fréquentielles du grain (Var(m)(i, j)) pour ladite classe d'intensité, à partir des valeurs de pixels 15 des macroblocs affectés à ladite classe d'intensité, regrouper (200) les classes d'intensité en fonction des composantes fréquentielles estimées, de façon à limiter le nombre de classes d'intensité auxquelles est affecté au moins un macrobloc, pour chacune des dites classes d'intensité ainsi regroupées, estimer 20 (210) des composantes fréquentielles pour ladite classe, et calculer (220) en fonction desdites composantes fréquentielles correspondant à ladite classe un jeu de valeurs de paramètres de modélisation du grain, ledit jeu de valeurs étant destiné à être encodé lors de la compression de l'image. 25 REVENDICATIONS1. A method of modeling the grain of an image for compressing said image, comprising: providing a number of intensity classes, each intensity class corresponding to an interval (1m) of determined pixel values, 10 for each class of intensity intensity: search (310, 311), from macroblock pixel values of the image, macroblocks to be assigned to said intensity class, estimate (312, 313, 314) frequency components of the grain (Var ( m) (i, j)) for said intensity class, from the pixel values of the macroblocks assigned to said intensity class, grouping (200) the intensity classes according to the estimated frequency components, so as to to limit the number of intensity classes to which at least one macroblock is assigned, for each of said intensity classes thus grouped, estimate 20 (210) frequency components for said class, and calculate (220) according to said components f corresponding to said class a set of grain modeling parameter values, said set of values being intended to be encoded during compression of the image. 25 2. Procédé selon la revendication 1, dans lequel, pour regrouper les classes d'intensité, on compare (214) une à une des composantes fréquentielles (Var(m)(i3O),Var(m)(0, j)) d'une première classe d'intensité avec des composantes fréquentielles correspondantes (Var(m+ (i3O),Var(m+ (0 j)) d'une deuxième classe d'intensité. 30 2. Method according to claim 1, wherein, to group the intensity classes, one compares (214) one to one of the frequency components (Var (m) (i3O), Var (m) (0, j)) d a first intensity class with corresponding frequency components (Var (m + (i3O), Var (m + (0j)) of a second intensity class. 3. Procédé selon l'une des revendications 1 à 2, comprenantregrouper (212, 214, 210,211, 213) dans un premier temps les classes d'intensité, si le nombre de classes d'intensité ainsi regroupées dépasse un certain seuil, procéder à des regroupages supplémentaires jusqu'à atteindre ledit seuil (216, 217, 218, 215). 3. Method according to one of claims 1 to 2, comprenantregroup (212, 214, 210,211, 213) in a first step intensity classes, if the number of intensity classes thus grouped exceeds a certain threshold, proceed to additional regrouping until said threshold is reached (216, 217, 218, 215). 4. Procédé selon l'une des revendications 1 à 3, comprenant en outre : effectuer une détection de contours de l'image (250), et dans lequel pour chaque classe d'intensité, la recherche (310) des macroblocs à affecter à ladite classe d'intensité est fonction en outre des résultats de ladite détection de contours. The method according to one of claims 1 to 3, further comprising: performing an edge detection of the image (250), and wherein for each intensity class, the search (310) of the macroblocks to be assigned to said intensity class is furthermore a function of the results of said edge detection. 5. Procédé selon l'une des revendications 1 à 4, comprenant en outre : effectuer une détection des bandes noires de l'image (251), et dans lequel pour chaque classe d'intensité, la recherche (310) des macroblocs à affecter à ladite classe d'intensité est fonction en outre des résultats de ladite détection de bandes noires. 5. Method according to one of claims 1 to 4, further comprising: performing detection of the black bands of the image (251), and wherein for each intensity class, the search (310) macroblocks to affect said intensity class is furthermore a function of the results of said detection of black bands. 6. Procédé selon l'une des revendications 1 à 5, dans lequel les intervalles de valeurs de pixels correspondant aux classes d'intensité se recoupent les uns les autres. The method of one of claims 1 to 5, wherein the pixel value intervals corresponding to the intensity classes intersect each other. 7. Procédé selon l'une des revendications 1 à 6, dans lequel l'image à compresser est dite image source, le procédé comprenant en outre soustraire valeur de pixel par valeur de pixel une image filtrée (ImF(t)) à l'image source (Ims(t) ), de façon à obtenir une image de grain, ladite image filtrée étant obtenue par un filtrage de ladite image source, et dans lequel, pour chaque classe d'intensité, les composantes fréquentielles du grain (Var(m)(i, j)) pour ladite classe d'intensité sont estimées à partir de valeurs de pixels de ladite image de grain et correspondant à des macroblocs affectés à ladite classe d'intensité. 7. Method according to one of claims 1 to 6, wherein the image to be compressed is said source image, the method further comprising subtracting pixel value per pixel value from a filtered image (ImF (t)) to source image (Ims (t)), so as to obtain a grain image, said filtered image being obtained by filtering said source image, and in which, for each intensity class, the frequency components of the grain (Var ( m) (i, j)) for said intensity class are estimated from pixel values of said grain image and corresponding to macroblocks assigned to said intensity class. 8. Procédé selon la revendication 7, dans lequel l'image de grain correspond à trois plans de valeurs de pixels (Gy, Gu, Gv), le procédé comprenant en outre une étape de calcul à partir de l'image de grain d'une nouvelle image de grain, par soustraction à chaque valeur de pixel de deux desdits trois plans d'une valeur de corrélation croisée correspondante (Corr(GY,Gu),Corr(GU,Gv))• The method of claim 7, wherein the grain image corresponds to three pixel value planes (Gy, Gu, Gv), the method further comprising a step of calculating from the grain image of a new grain image, by subtracting from each pixel value of two of said three planes a corresponding cross-correlation value (Corr (GY, Gu), Corr (GU, Gv)) 9. Procédé selon l'une des revendications 1 à 8, dans lequel, pour chaque classe d'intensité, les composantes fréquentielles (Var(m)(i, j)) sont obtenues à partir de transformées en cosinus (DCT(i,j)) de pixels des macroblocs affectés à ladite classe d'intensité. 9. Method according to one of claims 1 to 8, wherein, for each intensity class, the frequency components (Var (m) (i, j)) are obtained from cosine transforms (DCT (i, j)) pixels of the macroblocks assigned to said intensity class. 10. Procédé selon l'une des revendications 1 à 9, dans lequel les paramètres de modélisation du grain comportent des fréquences de coupure et un écart-type. 10. The method according to one of claims 1 to 9, wherein the grain modeling parameters comprise cutoff frequencies and a standard deviation. 11. Programme d'ordinateur destiné à être stocké dans une mémoire d'un dispositif de modélisation de grain d'image d'un système de compression d'image, et/ou stocké sur un support mémoire destiné à coopérer avec un lecteur dudit dispositif et/ou téléchargé via un réseau de télécommunication, caractérisé en ce qu'il comporte des instructions pour la mise en oeuvre du procédé selon l'une des revendications précédentes, lorsque lesdites instructions sont exécutées par un processeur dudit dispositif de modélisation de grain d'image. Computer program intended to be stored in a memory of an image-grain modeling device of an image compression system, and / or stored on a memory medium intended to cooperate with a reader of said device and / or downloaded via a telecommunication network, characterized in that it comprises instructions for implementing the method according to one of the preceding claims, when said instructions are executed by a processor of said grain modeling device. picture. 12. Dispositif (120) de modélisation du grain d'une image, comprenant une mémoire (123) pour stocker un nombre prédéterminé d'identifiants de classes d'intensité et, pour chacune des dites classes d'intensité, une indication d'un intervalle de valeurs de pixels déterminé, des moyens de sélection (123) aptes, pour chaque classe d'intensité, à rechercher à partir des valeurs de pixels de macroblocs de l'image, des macroblocs à affecter à ladite classe d'intensité,un module d'analyse du grain (123) apte, pour chaque classe d'intensité, à estimer des composantes fréquentielles du grain pour ladite classe d'intensité, à partir de valeurs de pixels des macroblocs affectés à ladite classe d'intensité, un module de regroupement (124) agencé pour regrouper les classes d'intensité en fonction des composantes fréquentielles estimées par le module d'analyse du grain, de façon à limiter le nombre de classes d'intensité auxquelles est affecté au moins un macrobloc, et des moyens de traitement (124) aptes, pour chacune des dites classes d'intensité ainsi regroupées, à estimer des composantes fréquentielles pour ladite classe d'intensité, et à calculer en fonction desdites composantes fréquentielles correspondant à ladite classe d'intensité un jeu de valeurs de paramètres de modélisation du grain. A device (120) for modeling an image grain, comprising a memory (123) for storing a predetermined number of intensity class identifiers and, for each of said intensity classes, an indication of a determined range of pixel values, selection means (123) adapted, for each intensity class, to search from the macroblock pixel values of the image, macroblocks to be assigned to said intensity class, a a grain analysis module (123) capable, for each intensity class, of estimating frequency components of the grain for said intensity class, from pixel values of the macroblocks assigned to said intensity class, a module grouping (124) arranged to group the intensity classes according to the frequency components estimated by the grain analysis module, so as to limit the number of intensity classes to which at least one macroblock is assigned, and processing means (124) capable, for each of said intensity classes thus grouped together, of estimating frequency components for said intensity class, and calculating as a function of said frequency components corresponding to said intensity class a set of grain modeling parameter values. 13. Système de compression d'une séquence vidéo, comprenant un dispositif de modélisation du grain selon la revendication 12 pour modéliser le grain d'au moins une partie des images de la séquence vidéo en des jeux respectifs de valeurs de paramètres.20 A video sequence compression system, comprising a grain modeling device according to claim 12 for modeling the grain of at least a portion of the frames of the video sequence into respective sets of parameter values.
FR0951568A 2009-03-12 2009-03-12 PARAMETERING THE IMAGE GRAIN Active FR2943201B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
FR0951568A FR2943201B1 (en) 2009-03-12 2009-03-12 PARAMETERING THE IMAGE GRAIN

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
FR0951568A FR2943201B1 (en) 2009-03-12 2009-03-12 PARAMETERING THE IMAGE GRAIN

Publications (2)

Publication Number Publication Date
FR2943201A1 true FR2943201A1 (en) 2010-09-17
FR2943201B1 FR2943201B1 (en) 2011-03-11

Family

ID=41131793

Family Applications (1)

Application Number Title Priority Date Filing Date
FR0951568A Active FR2943201B1 (en) 2009-03-12 2009-03-12 PARAMETERING THE IMAGE GRAIN

Country Status (1)

Country Link
FR (1) FR2943201B1 (en)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060133686A1 (en) * 2004-11-24 2006-06-22 Cristina Gomila Film grain simulation technique for use in media playback devices
US20060292837A1 (en) * 2003-08-29 2006-12-28 Cristina Gomila Method and apparatus for modelling film grain patterns in the frequency domain

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060292837A1 (en) * 2003-08-29 2006-12-28 Cristina Gomila Method and apparatus for modelling film grain patterns in the frequency domain
US20060133686A1 (en) * 2004-11-24 2006-06-22 Cristina Gomila Film grain simulation technique for use in media playback devices

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
CHRISTINA GOMILA ET AL: "SEI message for film grain encoding", JOINT VIDEO TEAM (JVT) OF ISO/IEC MPEG & ITU-T VCEG(ISO/IEC JTC1/SC29/WG11 AND ITU-T SG16 Q6), XX, XX, 23 May 2003 (2003-05-23), pages 1 - 14, XP002308742 *

Also Published As

Publication number Publication date
FR2943201B1 (en) 2011-03-11

Similar Documents

Publication Publication Date Title
EP0248711B1 (en) Method of transform coding for the transmission of image signals
FR2762699A1 (en) METHOD AND APPARATUS FOR CODING AND DECODING MOBILE IMAGES, BASED ON REGIONS
FR2724083A1 (en) BIDIRECTIONAL MOVEMENT ESTIMATION METHOD AND CORRESPONDING DEVICE
WO2015197945A1 (en) Method for encoding a digital image, and associated decoding method, devices and computer programmes
You et al. Attention modeling for video quality assessment: Balancing global quality and local quality
Liu et al. Block-based adaptive compressed sensing for video
EP2279621B1 (en) Method of coding, decoding, coder and decoder
Tandon et al. CAMBI: Contrast-aware multiscale banding index
FR3040849A1 (en) METHOD FOR COMPRESSING A VIDEO DATA STREAM
EP1603341A1 (en) Method and device for image interpolation systems using motion estimation and compensation
EP1297710B1 (en) Device and method for motion-compensated recursive filtering of video images prior to coding and corresponding coding system
EP1223554A1 (en) Noise reduction method
EP1702473B1 (en) Method for coding an image sequence
WO2018002474A1 (en) Method for intra-coding of a digital image and corresponding decoding method
EP3594895A1 (en) Space-time video content noise reducer based on confidence indices
FR2943201A1 (en) Image spot modeling method, involves regrouping intensity classes according to estimated frequency components, and calculating set of values of modeling parameters of spot based on frequency components corresponding to each class
FR2821998A1 (en) Method for coding digital images in macroblocks with exclusion based on reconstruction capacity estimated on the basis of concealment of errors
Leszczuk et al. Freely available large-scale video quality assessment database in full-hd resolution with h. 264 coding
FR2940492A1 (en) MULTI-RESOLUTION MOTION ESTIMATING METHOD
FR3020736A1 (en) METHOD FOR QUALITY EVALUATION OF A SEQUENCE OF DIGITAL DECODE DIGITAL IMAGES, ENCODING METHOD, DEVICES AND COMPUTER PROGRAMS
FR2934453A1 (en) ERROR MASKING METHOD AND DEVICE
WO2008049628A1 (en) Method and device for optimizing the compression of a video stream
FR2957744A1 (en) METHOD FOR PROCESSING A VIDEO SEQUENCE AND ASSOCIATED DEVICE
FR2916931A1 (en) METHOD OF SELECTING ENCODING DATA AND ENCODING DEVICE IMPLEMENTING SAID METHOD
Chetouani et al. Image quality assessment based on distortion identification

Legal Events

Date Code Title Description
PLFP Fee payment

Year of fee payment: 7

PLFP Fee payment

Year of fee payment: 8

PLFP Fee payment

Year of fee payment: 9

PLFP Fee payment

Year of fee payment: 10

PLFP Fee payment

Year of fee payment: 11

PLFP Fee payment

Year of fee payment: 12

PLFP Fee payment

Year of fee payment: 13

PLFP Fee payment

Year of fee payment: 14

PLFP Fee payment

Year of fee payment: 15

PLFP Fee payment

Year of fee payment: 16