FR2851109A1 - Model parameters determination method for estimating image sequence distortion, involves assigning current image sequence of model parameters with reference image sequence selected based on representation information - Google Patents

Model parameters determination method for estimating image sequence distortion, involves assigning current image sequence of model parameters with reference image sequence selected based on representation information Download PDF

Info

Publication number
FR2851109A1
FR2851109A1 FR0301400A FR0301400A FR2851109A1 FR 2851109 A1 FR2851109 A1 FR 2851109A1 FR 0301400 A FR0301400 A FR 0301400A FR 0301400 A FR0301400 A FR 0301400A FR 2851109 A1 FR2851109 A1 FR 2851109A1
Authority
FR
France
Prior art keywords
sequence
image sequence
sequences
distortion
images
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
FR0301400A
Other languages
French (fr)
Other versions
FR2851109B1 (en
Inventor
Xavier Henocq
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.)
Canon Inc
Original Assignee
Canon Inc
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 Canon Inc filed Critical Canon Inc
Priority to FR0301400A priority Critical patent/FR2851109B1/en
Publication of FR2851109A1 publication Critical patent/FR2851109A1/en
Application granted granted Critical
Publication of FR2851109B1 publication Critical patent/FR2851109B1/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • 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/103Selection of coding mode or of prediction mode
    • 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/124Quantisation
    • 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/146Data rate or code amount at the encoder output
    • H04N19/147Data rate or code amount at the encoder output according to rate distortion criteria
    • 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/60Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
    • H04N19/61Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding in combination with predictive coding

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)

Abstract

The method involves comparing information representative of current image sequences with information representative of some of the sequences of images for reference. The image sequence for reference is selected if the representative information is closest to those of the current image sequences. The current image sequences of the values of the model parameters are assigned with the selected reference sequence. Independent claims are also included for the following: (a) a device for determining the parameters of a model of estimate of the distortion adapted to a current image sequences code (b) an apparatus for communication with a device for parameter determination (c) a computer storage with instructions of a computer program for execution for the stages of the process of determination of parameters (d) a computer program loaded in a programmable apparatus.

Description

<Desc/Clms Page number 1> <Desc / Clms Page number 1>

La présente invention concerne un procédé et un dispositif de détermination de paramètres d'un modèle d'estimation de la distorsion qui sont adaptés à une séquence d'images courante à coder.  The present invention relates to a method and a device for determining parameters of a distortion estimation model that are adapted to a sequence of current images to be encoded.

On notera que l'invention s'applique de manière générale à une séquence d'images pouvant contenir une ou plusieurs images.  It should be noted that the invention generally applies to a sequence of images that may contain one or more images.

Il est connu que les séquences d'images numériques nécessitent une capacité mémoire relativement élevée lors de leur stockage.  It is known that digital image sequences require a relatively high memory capacity during storage.

Pour cette raison, de nombreuses études ont été menées depuis plusieurs années dans le but de compresser de façon optimale de telles données numériques.  For this reason, many studies have been conducted for several years in order to optimally compress such digital data.

D'une manière générale, les méthodes de compression de données visent à établir un compromis entre la préservation d'une qualité visuelle acceptable et la réduction de la taille des données stockées.  In general, data compression methods aim to establish a trade-off between preserving acceptable visual quality and reducing the size of stored data.

Pour ce faire, on a par exemple cherché à optimiser la distorsion générée par le codage des images sous une contrainte de débit de codage.  To do this, it has for example sought to optimize the distortion generated by the coding of the images under a coding rate constraint.

Cette approche se base généralement sur une modélisation débit/distorsion de la source de données (codeur vidéo ou codeur d'images fixes).  This approach is usually based on bit rate / distortion modeling of the data source (video encoder or still image encoder).

Il est par exemple connu d'utiliser une telle approche dans l'algorithme de régulation de débit TMN8 décrit dans l'article "Rate control for low-delay video communications", J. Ribas-Corbera, S. Lei, Rapport Technique ITUTelecommunications Standardization sector, Video coding expert group, Document Q15-A-20, juin 1997 du standard de codage vidéo H263 version 2 (Draft text of recommendation H. 263 version 2 (H. 263+) for décision, Garry Sullivan, rapport technique ITU-T, DRAFT 21, février 1998).  It is for example known to use such an approach in the flow control algorithm TMN8 described in the article "Rate control for low-delay video communications", J. Ribas-Corbera, S. Lei, Technical Report ITUTelecommunications Standardization video coding expert group, Document Q15-A-20, June 1997 of the H263 video coding standard version 2 (Draft text of recommendation H. 263 version 2 (H. 263+) for decision, Garry Sullivan, technical report ITU- T, DRAFT 21, February 1998).

De tels modèles débit/distorsion permettent d'obtenir pour chaque option de codage possible une estimation du débit et de la distorsion engendrée sans avoir à effectuer un précodage des images qui s'avère coûteux en terme de calcul.  Such bit rate / distortion models make it possible to obtain for each possible coding option an estimation of the bit rate and the distortion generated without having to perform precoding of the images which proves to be expensive in terms of calculation.

<Desc/Clms Page number 2> <Desc / Clms Page number 2>

L'optimisation de la distorsion générée par le codage des images sous une contrainte de débit est alors obtenue en déterminant les options de codage compatibles avec la contrainte de débit et qui minimisent la distorsion.  Optimization of the distortion generated by image encoding under a rate constraint is then achieved by determining encoding options that are compatible with the rate constraint and that minimize distortion.

L'utilisation de tels modèles permet donc de réduire de manière très significative la complexité des algorithmes de régulation de débit.  The use of such models therefore makes it possible to significantly reduce the complexity of flow control algorithms.

Les modèles débit/distorsion sont très importants dans les algorithmes de régulation de débit dans la mesure où ils permettent d'envisager de réguler le débit de codage d'une séquence vidéo en temps réel en évitant d'avoir à effectuer de coûteux précodages de la séquence afin de déterminer les valeurs de distorsion et de débit pour chaque option de codage possible.  The flow / distortion models are very important in flow control algorithms since they make it possible to consider regulating the coding bit rate of a video sequence in real time without having to perform expensive pre-encodings of the video signal. sequence to determine the distortion and throughput values for each possible coding option.

Il est donc intéressant d'utiliser la régulation de débit basée sur des modèles de débit et de distorsion pour des applications telles que la visioconférence où, pour des questions d'interactivité entre les utilisateurs, ces applications ne supportent aucun temps de latence dans le codage.  It is therefore interesting to use rate regulation based on bit rate and distortion models for applications such as videoconferencing where, for interactivity issues between users, these applications do not support any latency in the coding. .

Les algorithmes de régulation de débit utilisent très fréquemment des modèles donnant le débit d'une image ou d'un macro-bloc de l'image en fonction de la distorsion ou, inversement, ce qui permet d'effectuer un codage avec un niveau de distorsion ou de débit fixé.  Flow control algorithms very often use models that give the rate of an image or macro-block of the image as a function of the distortion or, conversely, which makes it possible to perform a coding with a level of distortion or fixed rate.

On connaît un modèle d'estimation du débit d'un macro-bloc d'une image d'après le document US 6 256 423 au nom de Sarnoff Corporation et qui s'écrit :

Figure img00020001

où Rq correspond au débit d'un macro-bloc de l'image en fonction de la distorsion D, Xq est une constante du modèle pour un paramètre de quantification Q donné et Qd est un coefficient de ce modèle. A model for estimating the bit rate of a macroblock of an image is known from US 6 256 423 in the name of Sarnoff Corporation and which is written:
Figure img00020001

where Rq corresponds to the bit rate of a macroblock of the image as a function of the distortion D, Xq is a constant of the model for a given quantization parameter Q and Qd is a coefficient of this model.

Ce modèle est utilisé dans une boucle de régulation de débit qui est mise en #uvre dans un codeur vidéo s'appuyant sur le standard H. 263 version 2 défini dans le document intitulé "Draft text of recommendation H. 263 version 2 (H. 263+) for decision" de Gary Sullivan, rapport technique ITU-T, DRAFT 21, février 1998.  This model is used in a rate control loop that is implemented in a video coder based on the H. 263 version 2 standard defined in the document entitled "Draft text of recommendation H. 263 version 2 (H. 263+) for decision "by Gary Sullivan, ITU-T Technical Report, DRAFT 21, February 1998.

<Desc/Clms Page number 3> <Desc / Clms Page number 3>

Dans la version de base de ce standard on suppose que seule la première image de la séquence d'images est codée en mode de codage Intra (I) et que celle-ci ne subira pas de contrôle de débit.  In the basic version of this standard it is assumed that only the first image of the image sequence is encoded in Intra (I) encoding mode and that it will not undergo flow control.

Dans ces conditions, si une contrainte de débit est imposée au codeur, celui-ci devra laisser passer, sans effectuer de codage, un certain nombre d'images après la première image codée en mode Intra afin de compenser un éventuel dépassement de la contrainte de débit.  Under these conditions, if a rate constraint is imposed on the encoder, it will have to pass, without coding, a certain number of images after the first coded image in Intra mode in order to compensate for a possible exceeding of the constraint of debit.

Après ce saut d'images, les images suivantes sont codées en mode de codage P et subissent une régulation de débit basée sur le modèle d'estimation de débit fourni ci-dessus.  After this image jump, the following images are coded in P encoding mode and undergo rate regulation based on the rate estimation model provided above.

Les auteurs du document précité sur le standard H. 263+ proposent d'utiliser le temps d'inactivité du codeur pendant le saut d'images pour initialiser les deux paramètres Xqet Qd . Pour cela on pré-encode, en mode de codage P, une des images qui ont été écartées lors du saut d'images, de manière itérative avec chaque paramètre de quantification possible. Compte tenu du nombre de paramètres de quantification envisagés par le standard, ce processus engendre trente et une phases de pré-codage.  The authors of the aforementioned H. 263+ standard propose to use the idle time of the encoder during the image jump to initialize the two Xqet Qd parameters. For this purpose, one of the images that have been discarded during the image jump, in iterative manner with each possible quantization parameter, is pre-encoded in encoding mode P. Given the number of quantization parameters considered by the standard, this process generates thirty-one pre-coding phases.

Cette procédure apparaît comme étant coûteuse en termes de calculs et ne peut être adaptée à un codeur dans lequel aucun saut d'image n'est possible.  This procedure appears to be expensive in terms of calculations and can not be adapted to an encoder in which no image jump is possible.

D'autre part, cette approche sous-entend que tous les macro-blocs constitutifs des images P sont codés en mode de codage Inter. Or, cette hypothèse est contradictoire avec le standard qui offre trois modes possibles pour les macro-blocs des images P (Intra, Inter et non-codé). Si l'on devait tenir compte de ces trois modes, le nombre de phases de pré-codage nécessaire devrait alors être au moins multiplié par deux.  On the other hand, this approach implies that all the constituent macro-blocks of the P-images are coded in Inter coding mode. However, this hypothesis is contradictory with the standard which offers three possible modes for the macro-blocks of the images P (Intra, Inter and non-coded). If these three modes were to be taken into account, the number of pre-coding steps needed should then be at least doubled.

On connaît pas ailleurs une autre méthode de régulation de débit adaptée au standard H.263 version 2 et qui est proposée dans le document US 6 119 991 au nom de Sharp Laboratories of America.  Another method of flow control adapted to the H.263 version 2 standard and which is proposed in the document US Pat. No. 6,119,991 in the name of Sharp Laboratories of America is not known elsewhere.

Ce document fournit un modèle permettant d'estimer le débit d'un macro-bloc d'une image en fonction de sa variance et du paramètre de quantification qui lui est affecté et ce modèle s'écrit :  This document provides a model for estimating the bit rate of a macroblock of an image according to its variance and quantization parameter assigned to it and this model is written:

<Desc/Clms Page number 4> <Desc / Clms Page number 4>

Figure img00040001

où Q est le paramètre de quantification pour le macro-bloc considéré, S est la variance du macro-bloc, A est une constante égale au nombre de pixels dans un macro-bloc (16*16) et K et C sont deux paramètres du modèle.
Figure img00040001

where Q is the quantization parameter for the macro-block considered, S is the variance of the macro-block, A is a constant equal to the number of pixels in a macro-block (16 * 16) and K and C are two parameters of the model.

Ce modèle est adaptatif dans le sens où K et C sont remis à jour au niveau de chaque macro-bloc pendant le codage.  This model is adaptive in the sense that K and C are updated at each macroblock during coding.

Ces deux paramètres sont initialisés au niveau de la première image P à deux valeurs données qui ne prennent pas en compte la séquence d'images à coder.  These two parameters are initialized at the level of the first image P with two given values which do not take into account the sequence of images to be encoded.

Par la suite, au début de chaque image les paramètres K et C sont initialisés à la dernière valeur prise par ces deux paramètres dans l'image précédente. Il convient de noter qu'en début de séquence d'images les paramètres sont inadaptés, ce qui réduit l'efficacité de l'estimation.  Subsequently, at the beginning of each image the parameters K and C are initialized to the last value taken by these two parameters in the previous image. It should be noted that at the beginning of the image sequence the parameters are unsuitable, which reduces the efficiency of the estimation.

De plus, en initialisant en début d'image les paramètres aux dernières valeurs prises dans l'image précédente, on formule l'hypothèse que les images successives possèdent des caractéristiques homogènes.  In addition, by initializing at the beginning of the image the parameters with the last values taken in the preceding image, it is hypothesized that the successive images have homogeneous characteristics.

Par conséquent, un changement très marqué entre deux images d'une séquence vidéo, comme, par exemple, un changement de décor, devrait conduire à de mauvaises estimations de débit.  Therefore, a very marked change between two images in a video sequence, such as a change in scenery, should lead to poor flow estimates.

L'initialisation des valeurs des paramètres des modèles représente donc un réel inconvénient.  The initialization of the model parameter values represents a real disadvantage.

Par ailleurs, dans ce modèle, aucune distinction n'est établie entre les macro-blocs codés en mode Intra et ceux codés en mode Inter. Il apparaît alors difficile de prédire le débit de ces deux modes avec un seul modèle tant les débits engendrés par chacun des deux modes de codage sont différents.  Moreover, in this model, no distinction is made between the macroblocks coded in Intra mode and those coded in Inter mode. It then seems difficult to predict the flow of these two modes with a single model as the rates generated by each of the two coding modes are different.

En outre, dans certains cas, il n'est pas possible de réévaluer les paramètres du modèle au niveau d'un macro-bloc au cours du codage.  In addition, in some cases, it is not possible to re-evaluate the model parameters at the macro-block level during coding.

Certaines méthodes d'optimisation du paramètre de quantification des macro-blocs doivent d'ailleurs évaluer le débit et la distorsion des macroblocs avant le codage de l'image.  Certain methods of optimizing the quantization parameter of the macroblocks must moreover evaluate the bit rate and the distortion of the macroblocks before the coding of the image.

<Desc/Clms Page number 5> <Desc / Clms Page number 5>

Le modèle proposé ci-dessus perdrait beaucoup de son efficacité s'il ne pouvait être remis à jour au niveau d'un macro-bloc. The model proposed above would lose much of its efficiency if it could not be updated at a macro-block level.

Cependant, la remise à jour du modèle au niveau d'un macro-bloc est contraignante.  However, the updating of the model at the level of a macro-block is binding.

Par ailleurs, la Demanderesse s'est aperçue que lorsqu'on adapte un modèle d'estimation de la distorsion à une séquence d'images à coder, il est nécessaire de disposer d'un nombre suffisant d'échantillons de données réelles de la séquence.  Moreover, the Applicant has found that when adapting a distortion estimation model to a sequence of images to be encoded, it is necessary to have a sufficient number of real data samples of the sequence. .

En effet, la modélisation du comportement d'un faible nombre d'échantillons et/ou d'échantillons peu représentatifs risque d'être de mauvaise qualité.  Indeed, modeling the behavior of a small number of samples and / or unrepresentative samples may be of poor quality.

En pratique, par exemple, le nombre d'échantillons de données réelles disponibles peut se révéler insuffisant, ce qui est par exemple le cas en début de séquence d'images, lorsqu'un faible nombre d'images ont été codées : le modèle de distorsion sera alors peu fiable en raison de la présence d'échantillons peu ou pas du tout représentatifs.  In practice, for example, the number of available real data samples may be insufficient, which is for example the case at the beginning of the image sequence, when a small number of images have been coded: Distortion will then be unreliable due to the presence of little or no representative samples.

Ainsi, la Demanderesse a constaté qu'il serait intéressant d'obtenir une adaptation satisfaisante des paramètres d'un modèle d'estimation de la distorsion à une séquence d'images à coder lorsque le nombre d'échantillons de données réelles disponibles pour l'adaptation est peu représentatif et/ou insuffisant.  Thus, the Applicant has found that it would be advantageous to obtain a satisfactory adaptation of the parameters of a distortion estimation model to an image sequence to be encoded when the number of actual data samples available for the adaptation is unrepresentative and / or insufficient.

La présente invention vise à remédier à au moins un des inconvénients précités en proposant un procédé de détermination de paramètres d'un modèle d'estimation de la distorsion adaptés à une séquence d'images courante à coder, caractérisé en ce que, à chaque séquence d'images d'un ensemble de séquences d'images de référence sont associées des informations représentatives de la séquence d'images et des valeurs de paramètres du modèle de distorsion adaptées à cette séquence d'images le procédé comportant les étapes suivantes : - obtention d'informations représentatives de la séquence d'images courante, - comparaison d'informations représentatives de la séquence d'images courante avec des informations représentatives d'au moins certaines des séquences d'images de référence de l'ensemble,  The present invention aims to remedy at least one of the aforementioned drawbacks by proposing a method for determining parameters of a distortion estimation model adapted to a sequence of current images to be encoded, characterized in that, at each sequence images of a set of reference image sequences are associated information representative of the image sequence and the parameter values of the distortion model adapted to this sequence of images, the method comprising the following steps: information representative of the current image sequence, - comparing information representative of the current image sequence with information representative of at least some of the reference image sequences of the set,

<Desc/Clms Page number 6><Desc / Clms Page number 6>

- en fonction du résultat de la comparaison, sélection de la séquence d'images de référence dont les informations représentatives sont les plus proches de celles de la séquence d'images courante, - affectation à la séquence d'images courante des valeurs de paramètres du modèle de distorsion associées à la séquence d'images de référence sélectionnée.  depending on the result of the comparison, selecting the reference image sequence whose representative information is closest to that of the current image sequence, assigning to the current image sequence the parameter values of the distortion model associated with the selected reference image sequence.

Corrélativement, l'invention vise un dispositif de détermination de paramètres d'un modèle d'estimation de la distorsion adaptés à une séquence d'images courante à coder, caractérisé en ce que, à chaque séquence d'images d'un ensemble de séquences d'images de référence étant associées des informations représentatives de la séquence d'images considérée et des valeurs de paramètres du modèle de distorsion adaptées à cette séquence d'images, le dispositif comporte : des moyens d'obtention d'informations représentatives de la séquence d'images courante, - des moyens de comparaison d'informations représentatives de la séquence d'images courante avec des informations représentatives d'au moins certaines des séquences d'images de référence de l'ensemble, - des moyens de sélection de la séquence d'images de référence dont les informations représentatives sont les plus proches de celles de la séquence d'images courante en fonction du résultat de la comparaison.  Correlatively, the invention provides a device for determining parameters of a distortion estimation model adapted to a sequence of current images to be encoded, characterized in that, at each sequence of images of a set of sequences reference images being associated with information representative of the image sequence considered and the parameter values of the distortion model adapted to this sequence of images, the device comprises: means for obtaining information representative of the sequence of current images, means for comparing information representative of the current image sequence with information representative of at least some of the reference image sequences of the set, means for selecting the sequence reference images whose representative information is closest to that of the current image sequence according to the result of the comparison reason.

- des moyens d'affectation à la séquence d'images courante des valeurs de paramètres du modèle de distorsion associées à la séquence d'images de référence sélectionnée.  means for assigning to the current image sequence the parameter values of the distortion model associated with the selected reference image sequence.

Ainsi, lorsque le nombre d'observations nécessaires à l'adaptation des paramètres du modèle à une séquence d'images courante est insuffisant, l'invention est particulièrement utile puisqu'elle permet d'obtenir un modèle de distorsion valide et efficace pour la séquence courante.  Thus, when the number of observations needed to adapt the model parameters to a current sequence of images is insufficient, the invention is particularly useful since it makes it possible to obtain a valid and efficient distortion model for the sequence common.

En effet, on recherche parmi un ensemble donné de séquences d'images de référence celle qui ressemble le plus à la séquence d'images courante à coder et l'on affecte ensuite à cette dernière les valeurs de  Indeed, one of a given set of reference image sequences searches for the one that most closely resembles the current image sequence to be encoded, and then the values of

<Desc/Clms Page number 7><Desc / Clms Page number 7>

paramètres du modèle qui ont été préalablement déterminées pour la séquence de référence la plus ressemblante.  model parameters that were previously determined for the most similar reference sequence.

Il n'y a donc nul besoin de disposer d'un grand nombre d'échantillons de la séquence courante à coder.  There is therefore no need to have a large number of samples of the current sequence to code.

Pour rechercher la séquence de référence la plus proche de la séquence courante, on compare, par exemple, entre elles des informations représentatives d'une séquence de référence avec celles représentatives de la séquence courante.  In order to find the nearest reference sequence of the current sequence, for example, information representative of a reference sequence is compared with that representative of the current sequence.

Ces informations représentatives d'une séquence d'images ont pour fonction de décrire le contenu de la séquence.  This information representative of a sequence of images has the function of describing the content of the sequence.

Il s'agit, par exemple, d'informations représentatives de l'activité spatiale et/ou de l'activité temporelle d'une séquence d'images.  This is, for example, information representative of the spatial activity and / or the temporal activity of a sequence of images.

Les séquences d'images de référence sont des séquences d'images d'entraînement, c'est-à-dire des séquences d'images de test qui forment un ensemble suffisamment hétérogène pour représenter sensiblement tous les types de séquences d'images rencontrés en pratique.  Reference image sequences are sequences of drive images, i.e., test image sequences that form a sufficiently heterogeneous array to represent substantially all types of image sequences encountered in convenient.

Ainsi, dans un tel ensemble de séquences de référence, on peut trouver une séquence qui ressemble, voire correspond dans certains cas, à pratiquement n'importe quelle séquence courante à coder.  Thus, in such a set of reference sequences, one can find a sequence that resembles or even corresponds in some cases to virtually any current sequence to be encoded.

Par ailleurs, l'invention proposée est peu complexe et indépendante du modèle de distorsion utilisé.  Moreover, the proposed invention is not very complex and independent of the distortion model used.

En outre, l'invention permet d'éviter d'avoir à remettre à jour le modèle de distorsion au niveau d'un macro-bloc.  In addition, the invention avoids having to update the distortion model at a macro-block.

De plus, l'invention permet de tenir compte de différents modes de codage appliqués à des macro-blocs d'une image.  In addition, the invention makes it possible to take into account different coding modes applied to macroblocks of an image.

Selon une caractéristique, l'étape de comparaison prévoit de mesurer une distance entre la séquence d'images courante et au moins certaines des séquences d'images de référence de l'ensemble dans un espace de dimension n, où chaque séquence d'images est représentée dans cet espace par n coordonnées correspondant chacune à des informations de type différent qui sont représentatives de la séquence considérée.  According to one characteristic, the comparison step provides for measuring a distance between the current image sequence and at least some of the reference image sequences of the set in a n-dimensional space, where each image sequence is represented in this space by n coordinates each corresponding to information of different types which are representative of the sequence in question.

<Desc/Clms Page number 8> <Desc / Clms Page number 8>

La mesure d'une telle distance présente l'avantage d'être simple et rapide à réaliser.  Measuring such a distance has the advantage of being simple and quick to perform.

Selon une autre caractéristique, la séquence d'images de référence dont le contenu est le plus proche de celui de la séquence d'images courante est celle qui minimise la distance mesurée entre la séquence d'images courante et les séquences d'images de référence considérées.  According to another characteristic, the sequence of reference images whose content is closest to that of the current image sequence is that which minimizes the distance measured between the current image sequence and the reference image sequences. considered.

Selon une caractéristique, les informations représentatives de l'activité spatiale sont la variance de la séquence d'images.  According to one characteristic, the information representative of the spatial activity is the variance of the image sequence.

De telles informations représentent de manière fiable l'activité spatiale de la séquence.  Such information reliably represents the spatial activity of the sequence.

Selon une caractéristique, les informations représentatives de l'activité temporelle sont une valeur moyenne E des différentes valeurs d'erreur quadratique moyenne calculées entre plusieurs couples d'images successives de la séquence d'images.  According to one characteristic, the information representative of the temporal activity is an average value E of the different mean squared error values calculated between several successive image pairs of the image sequence.

De telles informations représentent de manière fiable l'activité temporelle de la séquence.  Such information reliably represents the temporal activity of the sequence.

Par exemple, la distance Dn mesurée entre, d'une part, la séquence d'images courante représentée par une variance Vcurr et une erreur quadratique moyenne Ecurr et, d'autre part, une séquence d'images de référence représentée par une variance Vn et une erreur quadratique moyenne En s'exprime par la formule :

Figure img00080001
For example, the distance Dn measured between, on the one hand, the current image sequence represented by a variance Vcurr and a squared mean error Ecurr and, on the other hand, a reference image sequence represented by a variance Vn and a quadratic mean error In expressed by the formula:
Figure img00080001

Cette distance présente l'avantage d'être particulièrement simple et rapide à calculer. This distance has the advantage of being particularly simple and quick to calculate.

En outre, la distance Dn peut être approximée de manière relativement fiable par l'expression #Vn - Vcurr# + !En - Ecurrl, ce qui a pour avantage d'accélérer le traitement.  In addition, the distance Dn can be approximated relatively reliably by the expression #Vn - Vcurr # +! En - Ecurrl, which has the advantage of accelerating the processing.

Selon une caractéristique, le modèle d'estimation de la distorsion comporte au moins un opérateur logarithmique pondéré par au moins un opérateur exponentiel.  According to one characteristic, the distortion estimation model comprises at least one logarithmic operator weighted by at least one exponential operator.

Un tel modèle est particulièrement avantageux dans la mesure où, en pondérant l'opérateur logarithmique par un opérateur exponentiel, on réduit  Such a model is particularly advantageous insofar as, by weighting the logarithmic operator with an exponential operator, it reduces

<Desc/Clms Page number 9><Desc / Clms Page number 9>

la complexité du modèle, sans toutefois perdre la précision dans l'estimation des valeurs de distorsion fournies par ce modèle.  the complexity of the model, without losing the precision in estimating the distortion values provided by this model.

Par ailleurs, la réduction de la complexité du modèle facilite l'adaptation de ce modèle à une séquence d'images et/ou à une méthode de codage ou de transcodage modifiant la résolution spatiale et/ou temporelle de la séquence.  Moreover, reducing the complexity of the model facilitates the adaptation of this model to a sequence of images and / or a coding or transcoding method modifying the spatial and / or temporal resolution of the sequence.

Avec un tel modèle, la modélisation d'une séquence d'images est plus efficace que dans l'art antérieur.  With such a model, the modeling of a sequence of images is more efficient than in the prior art.

On notera que lorsque l'on parle de codage d'une séquence d'images au sens de la présente invention, le terme "codage" englobe également la notion de transcodage.  It will be noted that when speaking of coding of an image sequence within the meaning of the present invention, the term "coding" also encompasses the notion of transcoding.

L'invention concerne également un appareil de communication comportant un dispositif tel que brièvement exposé ci-dessus.  The invention also relates to a communication apparatus comprising a device as briefly described above.

Selon un autre aspect, l'invention vise aussi : - un moyen de stockage d'informations lisible par un ordinateur ou un microprocesseur comportant des instructions de code d'un programme d'ordinateur pour l'exécution des étapes du procédé selon l'invention tel que celui exposé brièvement ci-dessus, et - un moyen de stockage d'informations amovible, partiellement ou totalement, lisible par un ordinateur ou un microprocesseur comportant des instructions de code d'un programme d'ordinateur pour l'exécution des étapes du procédé selon l'invention tel que celui brièvement exposé ci-dessus.  According to another aspect, the invention also aims at: a computer-readable information storage means or a microprocessor comprising code instructions of a computer program for executing the steps of the method according to the invention as briefly set forth above, and - a partially or fully removable computer-readable information storage medium or microprocessor having code instructions of a computer program for executing the steps of process according to the invention such as that briefly described above.

Selon encore un autre aspect, l'invention vise un programme d'ordinateur chargeable dans un appareil programmable, comportant des séquences d'instructions ou portions de code logiciel pour mettre en oeuvre des étapes du procédé selon l'invention tel que brièvement exposé ci-dessus, lorsque ledit programme d'ordinateur est chargé et exécuté sur l'appareil programmable.  According to yet another aspect, the invention relates to a computer program loadable in a programmable apparatus, comprising sequences of instructions or portions of software code to implement steps of the method according to the invention as briefly discussed below. above, when said computer program is loaded and executed on the programmable apparatus.

Les caractéristiques et avantages relatifs au dispositif, à l'appareil de communication comportant un tel dispositif, aux moyens de stockage d'informations et au programme d'ordinateur étant les mêmes que ceux  The features and advantages relating to the device, to the communication device comprising such a device, to the information storage means and to the computer program being the same as those

<Desc/Clms Page number 10><Desc / Clms Page number 10>

exposés ci-dessus concernant le procédé selon l'invention, ils ne seront pas rappelés ici.  exposed above concerning the process according to the invention, they will not be recalled here.

D'autres caractéristiques et avantages de la présente invention apparaîtront plus clairement à la lecture de la description qui va suivre, faite en référence aux dessins annexés, sur lesquels : - la figure 1 représente de manière schématique un appareil de communication de type serveur dans lequel l'invention peut être mise en #uvre ; - la figure 2a représente un algorithme de codage de données vidéo ; - la figure 2b représente un algorithme de décodage de données vidéo ; - la figure 3 représente un algorithme de traitement de données selon l'invention ; - la figure 4 est un algorithme détaillant les opérations effectuées à l'étape E302 de la figure 3 ; - la figure 5 est un algorithme détaillant les opérations (détermination de distance) effectuées à l'étape E409 de la figure 4 ; - la figure 6 illustre de façon schématique la sélection de la séquence de référence la plus proche de la séquence courante ; - la figure 7 représente un algorithme de détermination des paramètres d'un modèle de distorsion qui sont adaptés à une séquence courante ; - la figure 8 est un algorithme détaillant les opérations de l'étape E708 (figure 7) de recherche de la séquence de référence la plus proche de la séquence courante ; - la figure 9 est un mode de réalisation d'un appareil programmable mettant en #uvre l'invention.  Other characteristics and advantages of the present invention will emerge more clearly on reading the description which follows, made with reference to the appended drawings, in which: FIG. 1 schematically represents a server type communication apparatus in which the invention can be implemented; FIG. 2a represents a coding algorithm for video data; FIG. 2b represents a video data decoding algorithm; FIG. 3 represents a data processing algorithm according to the invention; FIG. 4 is an algorithm detailing the operations performed in step E302 of FIG. 3; FIG. 5 is an algorithm detailing the operations (distance determination) performed in step E409 of FIG. 4; FIG. 6 schematically illustrates the selection of the reference sequence closest to the current sequence; FIG. 7 represents an algorithm for determining the parameters of a distortion model that are adapted to a current sequence; FIG. 8 is an algorithm detailing the operations of the search step E708 (FIG. 7) of the reference sequence closest to the current sequence; Fig. 9 is an embodiment of a programmable apparatus embodying the invention.

L'invention va être présentée ci-après dans le cadre d'un algorithme de régulation de débit qui est décrit dans l'article "Real Time Implementation of Rate-distorsion Optimized Coding Mode Selection for H.263 Video Coders", de K. H. Yang, A. Jacquin, Proceeding of ICIP 98,1998.  The invention will be presented hereinafter in the context of a flow control algorithm which is described in the article "Real Time Implementation of Rate-distortion Optimized Coding Mode Selection for H.263 Video Coders" by KH Yang. , A. Jacquin, Proceeding of ICIP 98,1998.

<Desc/Clms Page number 11> <Desc / Clms Page number 11>

Dans cet algorithme adapté au standard de codage vidéo H.263 version 2 les auteurs de l'article sélectionnent les modes de codage et les paramètres de quantification pour un ensemble de n macro-blocs. Pour ce faire, ils s'appuient sur une optimisation de la distorsion sous contrainte d'un débit et qui s'écrit sous une forme lagrangienne :

Figure img00110001

où QP1 et M, sont respectivement le paramètre de quantification pris dans l'ensemble Q=[1,31] et le mode de codage pris dans l'ensemble M={INTER,INTRA, NON CODEE} pour le macro-bloc donné d'indice i, D,(.) et Rl (. ) représentent respectivement la distorsion et le débit du macro-bloc i, et # et # sont respectivement l'ensemble des modes de codage et l'ensemble des paramètres de quantification choisis pour les n macro-blocs. In this algorithm adapted to the H.263 version 2 video coding standard, the authors of the article select the coding modes and the quantization parameters for a set of n macroblocks. To do this, they rely on an optimization of the distortion under constraint of a flow and which is written in a Lagrangian form:
Figure img00110001

where QP1 and M, are respectively the quantization parameter taken from the set Q = [1.31] and the coding mode taken from the set M = {INTER, INTRA, NOT CODED} for the given macro-block 'index i, D, (.) and Rl (.) respectively represent the distortion and the rate of the macro-block i, and # and # are respectively the set of coding modes and the set of quantization parameters chosen for the n macro-blocks.

Les informations de débit et de distorsion sont obtenues en utilisant pour partie le modèle de débit et de distorsion proposé dans l'article "Normalized Rate-distortion Model for H.263-compatible Codées and Its Application to Quantizer selection", de K. H. Yang, A . Jacquin, N. S. Jayant, proc. ICIP 97. Ce modèle d'estimation de la distorsion s'écrit :

Figure img00110002

où D représente la distorsion normalisée des macro-blocs de l'image codés en mode de codage Inter en fonction de leur variance normalisée S, la normalisation étant effectuée par rapport au paramètre de quantification QP du macro-bloc considéré. The rate and distortion information is obtained using, in part, the bit rate and distortion model proposed in KH Yang's "Normalized Rate-distortion Model for H.263-compatible Coded and Its Application to Quantizer Selection". AT . Jacquin, NS Jayant, proc. ICIP 97. This distortion estimation model is written:
Figure img00110002

where D represents the normalized distortion of the macroblocks of the image encoded in Inter coding mode according to their normalized variance S, the normalization being carried out with respect to the quantization parameter QP of the macroblock considered.

On notera également que la variance normalisée S des macro-blocs est déduite de la variance S de ceux-ci à l'aide de la formule suivante :

Figure img00110003
It should also be noted that the normalized variance S of the macroblocks is deduced from the variance S of these using the following formula:
Figure img00110003

La distorsion des macro-blocs pour un paramètre de quantification QP donné en fonction de la distorsion normalisée est fournie par l'équation The distortion of macroblocks for a given quantization parameter QP as a function of the normalized distortion is provided by the equation

<Desc/Clms Page number 12><Desc / Clms Page number 12>

suivante :

Figure img00120001
next :
Figure img00120001

A partir de ce modèle connu, l'invention propose de pondérer l'opérateur logarithmique de ce modèle par au moins un opérateur exponentiel comme indiqué dans la formule ci-dessous :

Figure img00120002

où a, ss, y sont les paramètres du modèle, S représentant la variance d'un bloc de données de l'image qui est, dans l'exemple considéré, un macro-bloc de données. From this known model, the invention proposes to weight the logarithmic operator of this model by at least one exponential operator as indicated in the formula below:
Figure img00120002

where a, ss, y are the parameters of the model, S representing the variance of a data block of the image which is, in the example considered, a macro-block of data.

En pondérant ainsi par un opérateur exponentiel le modèle d'estimation de la distorsion connu faisant intervenir un opérateur logarithmique, on réduit la complexité de ce modèle puisque seuls trois paramètres sont nécessaires à la définition du modèle au lieu de sept pour le modèle connu.  By thus weighting by an exponential operator the known distortion estimation model involving a logarithmic operator, we reduce the complexity of this model since only three parameters are necessary to define the model instead of seven for the known model.

Ce modèle est valide pour les macro-blocs codés en mode de codage Intra et en mode de codage Inter.  This model is valid for coded macroblocks in Intra coding mode and Inter coding mode.

Cependant, comme on le verra par la suite, le processus de codage de ces deux modes est très différent et un seul n-uplet de paramètres (en l'espèce il s'agit d'un triplet) ne peut donc suffire.  However, as will be seen later, the coding process of these two modes is very different and a single n-tuple of parameters (in this case it is a triplet) can not suffice.

Ainsi, pour une séquence d'images donnée et une méthode de codage donnée, deux triplets de paramètres dans l'exemple considéré seront nécessaires : l'un des triplets sera spécifique au mode de codage Intra ([alpha]IN TR A'ssIN TR A'[gamma]IN TR A), l'autre triplet étant spécifique du mode de codage Inter ([alpha]INTER, ssINTER' [gamma]INTER).  Thus, for a given sequence of images and a given coding method, two triplets of parameters in the example considered will be necessary: one of the triplets will be specific to the Intra coding mode ([alpha] IN TR A'ssIN TR A '[gamma] IN TR A), the other triplet being specific to the Inter coding mode ([alpha] INTER, ssINTER' [gamma] INTER).

On verra dans la suite de la description la manière dont le modèle précité faisant intervenir les paramètres a, ss, y sera adapté à une séquence vidéo donnée et à une méthode de codage donnée.  It will be seen later in the description how the above model involving the parameters a, ss, y will be adapted to a given video sequence and a given coding method.

L'un des avantages du modèle de distorsion proposé ci-dessus est son adaptativité : Il pourra en effet être adapté à une séquence d'images donnée, ce qui permettra d'accroître l'efficacité de l'estimation de la distorsion.  One of the advantages of the distortion model proposed above is its adaptability: it can indeed be adapted to a given sequence of images, which will increase the efficiency of the estimation of the distortion.

<Desc/Clms Page number 13> <Desc / Clms Page number 13>

Pour obtenir un modèle valide, il est nécessaire d'avoir codé un nombre suffisant d'images, de manière à obtenir un nombre suffisant d'observations des données à modéliser.  To obtain a valid model, it is necessary to have encoded a sufficient number of images, so as to obtain a sufficient number of observations of the data to be modeled.

Or, comme on l'a vu plus haut, il n'est pas toujours possible, en pratique, d'obtenir suffisamment de données à observer.  However, as we have seen above, it is not always possible, in practice, to obtain sufficient data to observe.

L'invention permet justement de déterminer un modèle de distorsion adapté à une séquence d'images courante sans toutefois nécessiter l'obtention d'un nombre minimal d'observations sur les données à modéliser.  The invention makes it possible precisely to determine a distortion model adapted to a current sequence of images without, however, requiring obtaining a minimum number of observations on the data to be modeled.

La description du procédé selon un exemple de réalisation de l'invention se décompose, de façon générale, de la façon suivante : # Constitution d'un ensemble de séquences d'images de référence : - recherche des valeurs des paramètres du modèle de distorsion adaptées à chaque séquence de référence de l'ensemble, - obtention d'au moins un descripteur de chaque séquence de référence de l'ensemble (informations représentatives du contenu des séquences).  The description of the method according to an exemplary embodiment of the invention breaks down, in a general manner, as follows: # Constitution of a set of reference image sequences: - search for values of the parameters of the adapted distortion model to each reference sequence of the set, - obtaining at least one descriptor of each reference sequence of the set (information representative of the content of the sequences).

Analyse de la séquence d'images courante à coder : - obtention d'au moins un descripteur de la séquence courante, - comparaison de la séquence courante à au moins certaines des séquences de référence de l'ensemble par l'intermédiaire des descripteurs, - sélection d'une séquence de référence semblable à la séquence courante en ce sens que son contenu est le plus proche de cette dernière que celui des autres séquences de référence, - affectation à la séquence courante des valeurs des paramètres de la séquence de référence sélectionnée. Analysis of the current image sequence to be coded: obtaining at least one descriptor of the current sequence; comparing the current sequence with at least some of the reference sequences of the set via the descriptors; selecting a reference sequence similar to the current sequence in that its content is the closest to that of the other reference sequences; - assigning to the current sequence the values of the parameters of the selected reference sequence.

On notera que la constitution de l'ensemble de séquences d'images de référence s'effectue avant l'analyse de la séquence d'images courante, et non en temps réel, lorsqu'il s'agit de traiter cette séquence courante à coder, c'est-à-dire de lui adapter le modèle de distorsion.  Note that the constitution of the set of reference image sequences is performed before the analysis of the current image sequence, and not in real time, when it comes to processing this current sequence to code , that is, to adapt the distortion model to it.

Le procédé selon l'invention est, par exemple, mis en #uvre sur l'appareil de la figure 1.  The method according to the invention is, for example, implemented on the apparatus of FIG.

<Desc/Clms Page number 14> <Desc / Clms Page number 14>

Sur cette figure est représenté un premier appareil de communication 1 qui est, par exemple, un serveur relié, de façon non représentée, à un ou plusieurs autres appareils de communication (machines clients), par l'intermédiaire d'un réseau de communication et de connexions considérées comme étant établies.  In this figure is shown a first communication device 1 which is, for example, a server connected, not shown, to one or more other communication devices (client machines), via a communication network and connections considered established.

Ce réseau est par exemple un réseau de communication local sans fil à l'intérieur d'une habitation.  This network is for example a wireless local communication network inside a home.

On notera que les données d'images stockées dans le serveur peuvent avoir été reçues de l'environnement extérieur à l'habitation, par exemple, par un autre réseau de communication tel que l'Internet.  Note that the image data stored in the server may have been received from the environment outside the home, for example, by another communication network such as the Internet.

Dans l'exemple de réalisation considéré, on considérera uniquement des données vidéo.  In the exemplary embodiment considered, only video data will be considered.

Le dispositif selon l'invention permet d'adapter un modèle d'estimation de la distorsion à une séquence d'images courante à coder.  The device according to the invention makes it possible to adapt a model for estimating distortion to a sequence of current images to be encoded.

Le dispositif 2 selon l'invention est par exemple intégré au serveur 1 de la figure 1 et peut comporter des éléments électroniques et/ou des éléments logiciels.  The device 2 according to the invention is for example integrated with the server 1 of FIG. 1 and may comprise electronic elements and / or software elements.

Toutefois, le dispositif selon l'invention pourrait, par exemple, être confondu avec le serveur 1.  However, the device according to the invention could, for example, be confused with the server 1.

Le serveur comprend une unité 3 de stockage de données numériques telles que des séquences vidéo.  The server comprises a digital data storage unit 3 such as video sequences.

On notera que les vidéos sont créées, par exemple, par un caméscope numérique ou tout autre moyen d'acquisition de données ou bien sont transmises par un réseau de communication extérieur et sont stockées dans l'unité 3 qui peut être incluse ou non dans le dispositif 2 selon l'invention.  It should be noted that the videos are created, for example, by a digital video camera or any other means of data acquisition or are transmitted by an external communication network and are stored in the unit 3 which may or may not be included in the device. device 2 according to the invention.

Cette unité peut être, par exemple, une base de données locale ou distribuée.  This unit can be, for example, a local or distributed database.

Le dispositif comporte des unités 4 et 5 qui permettent respectivement de coder et décoder une séquence vidéo.  The device comprises units 4 and 5 which respectively make it possible to encode and decode a video sequence.

Les algorithmes des procédés de codage et décodage seront décrits ultérieurement respectivement en référence aux figures 2a et 2b.  The algorithms of the coding and decoding methods will be described later respectively with reference to FIGS. 2a and 2b.

<Desc/Clms Page number 15> <Desc / Clms Page number 15>

Le dispositif comprend également une unité de stockage 6 destinée à mémoriser de façon temporaire des données numériques et des vidéos codées, et une unité 7 de récupération des descripteurs visés ci-dessus à partir de l'unité 3 de stockage.  The device also comprises a storage unit 6 for temporarily storing digital data and coded video, and a descriptor recovery unit 7 referred to above from the storage unit 3.

Le dispositif 2 comprend, en outre, une unité 8 de détermination des variances et des distorsions, une unité 9 de recherche des paramètres du modèle de distorsion, une unité 10 de stockage des différentes données et variables (variances, distorsions réelles des macro-blocs, paramètres optimaux, distances minimales ...) obtenues au cours de l'exécution de différents algorithmes décrits ci-après.  The device 2 further comprises a unit 8 for determining the variances and distortions, a unit 9 for searching the parameters of the distortion model, a unit 10 for storing the various data and variables (variances, real distortions of the macroblocks , optimal parameters, minimum distances ...) obtained during the execution of various algorithms described below.

Le dispositif 2 selon l'invention comporte également une unité de commande 11des différentes opérations exécutées.  The device 2 according to the invention also comprises a control unit 11 of the different operations performed.

On notera que les différentes unités qui composent le dispositif selon l'invention et, plus généralement le serveur, résident sur la même machine.  It will be noted that the different units that make up the device according to the invention and, more generally, the server, reside on the same machine.

Cependant, il pourra être envisagé de distribuer ces unités sur plusieurs machines serveur et d'établir des communications entre ces différentes unités à travers le réseau de communication.  However, it may be envisaged to distribute these units on several server machines and to establish communications between these different units through the communication network.

Cette distribution des unités ne modifiant en rien la mise en #uvre de l'invention, on considérera par la suite, pour des raisons de simplicité, que toutes les unités sont localisées sur la même machine que nous appelons serveur.  This distribution of units does not change the implementation of the invention, we will consider later, for reasons of simplicity, all units are located on the same machine that we call server.

On revient maintenant sur la description du procédé selon l'invention.  Returning now to the description of the process according to the invention.

Pour constituer un ensemble de séquences d'images de référence, on peut utiliser les séquences dites d'entraînement qui sont disponibles sur les

Figure img00150001

sites http:llkbs.cs.tu-berlin.dehstewelvceglsequences.htm et http://standards.pictel.com/ftp/video-site/sequences/ ou d'autres séquences connues de l'homme du métier. Ces séquences possèdent des caractéristiques suffisamment hétérogènes pour constituer un ensemble représentatif des différentes séquences existantes que l'on rencontre en pratique. To constitute a set of reference image sequences, it is possible to use the so-called training sequences which are available on the
Figure img00150001

sites http: llkbs.cs.tu-berlin.dehstewelvceglsequences.htm and http://standards.pictel.com/ftp/video-site/sequences/ or other sequences known to those skilled in the art. These sequences have sufficiently heterogeneous characteristics to constitute a representative set of the various existing sequences that are encountered in practice.

A chaque séquence de l'ensemble des séquences sélectionnées seront associés, d'une part, deux triplets de paramètres du modèle de  At each sequence of the set of selected sequences will be associated, on the one hand, two triplets of parameters of the model of

<Desc/Clms Page number 16><Desc / Clms Page number 16>

distorsion et, d'autre part, un ou plusieurs descripteurs de la séquence, comme on le verra dans la suite de l'exposé.  distortion and, on the other hand, one or more descriptors of the sequence, as will be seen later in the presentation.

On va maintenant décrire le processus de recherche des triplets de paramètres (a, ss, y) du modèle de distorsion pour chacune des séquences d'entraînement de l'ensemble des séquences sélectionnées et pour chaque mode de codage envisagé.  The search process of the parameter triplets (a, ss, y) of the distortion model for each of the training sequences of the set of selected sequences and for each coding mode envisaged will now be described.

Ceci va permettre d'expliquer la manière dont le modèle de distorsion choisi est adapté à chaque séquence vidéo d'entraînement et à une méthode de codage donnée.  This will help explain how the distortion model chosen is adapted to each training video sequence and to a given coding method.

Cette recherche débute par le codage effectif de la séquence d'entraînement considérée que l'on souhaite modéliser et les paramètres du modèle d'estimation de la distorsion qui vont ensuite être déterminés seront adaptés à cette séquence et à la méthode de codage envisagée.  This search begins with the actual coding of the desired training sequence that is to be modeled and the parameters of the distortion estimation model which will then be determined will be adapted to this sequence and to the coding method envisaged.

Le codage d'une séquence vidéo, de même que son décodage, vont être décrits en référence aux figures 1a et 1 b.  The coding of a video sequence, as well as its decoding, will be described with reference to FIGS. 1a and 1b.

L'objectif du codage est d'obtenir un nombre représentatif d'observations de la distorsion en fonction de la variance. Chacune des observations correspondant à un macro-bloc, on va coder trente images de la séquence d'entraînement considérée. Si les images sont, par exemple, au format CIF, on obtiendra alors 30*396 observations.  The objective of coding is to obtain a representative number of observations of the distortion as a function of the variance. Each of the observations corresponding to a macro-block, we will code thirty images of the training sequence considered. If the images are, for example, in CIF format, then 30 * 396 observations will be obtained.

Les figures 2a et 2b illustrent respectivement le codage et le décodage d'une séquence vidéo en couleurs au format YUV.  Figures 2a and 2b respectively illustrate the coding and decoding of a color video sequence in YUV format.

Cette séquence est une séquence d'entraînement de l'ensemble des séquences d'entraînement sélectionnées.  This sequence is a training sequence of all the selected training sequences.

Selon un mode préféré de réalisation de l'invention, le décodeur vidéo utilisé pour la mise en oeuvre de cette invention est conforme à la partie visuelle du standard MPEG-4 (Information technology- Generic coding of audiovisual objects = part2: visual, ISO/IEC JTC1/SC 29/WG11 N 3056, December 2000).  According to a preferred embodiment of the invention, the video decoder used for the implementation of this invention is in accordance with the visual part of the MPEG-4 standard (Information technology- Generic coding of audiovisual objects = part2: visual, ISO / IEC JTC1 / SC 29 / WG11 No. 3056, December 2000).

Dans l'exemple traité ici, la vidéo sera considérée comme un seul objet de forme rectangulaire.  In the example discussed here, the video will be considered as a single rectangular object.

<Desc/Clms Page number 17> <Desc / Clms Page number 17>

Par conséquent, seul un jeu restreint d'outils de compression qui permettent le décodage de la texture et la compensation de mouvement seront pris en compte. Les outils nécessaires au décodage de la forme arbitraire d'un objet ne sont donc pas utilisés ici.  Therefore, only a limited set of compression tools that allow texture decoding and motion compensation will be taken into account. The tools needed to decode the arbitrary form of an object are therefore not used here.

On notera que la texture d'une image est donnée par les valeurs des pixels de l'image qui sont exprimées sur trois composantes.  It should be noted that the texture of an image is given by the values of the pixels of the image which are expressed on three components.

L'ensemble des séquences vidéo d'entraînement sont stockées sur le serveur 1 sous forme non compressée.  The set of training video sequences are stored on the server 1 in uncompressed form.

On utilise par exemple le format YUV de type 4 :2:0, qui signifie que les composantes de chrominance (U, V) ont quatre fois moins d'échantillons (pixels) que les composantes de luminance (Y).  For example, the 4: 2: 0 YUV format is used, which means that the chrominance components (U, V) have four times fewer samples (pixels) than the luminance components (Y).

La figure 2a illustre le procédé de codage mis en #uvre par l'unité de codage 4 de la figure 1 sur chaque image de la séquence vidéo considérée.  FIG. 2a illustrates the coding method implemented by the coding unit 4 of FIG. 1 on each image of the video sequence in question.

On notera que chaque image de la séquence vidéo est découpée en blocs de données de 8x8 pixels.  It will be noted that each image of the video sequence is divided into data blocks of 8x8 pixels.

Chaque groupe de quatre blocs forme un macro-bloc de 16x16 pixels.  Each group of four blocks forms a macro-block of 16x16 pixels.

Le codage d'une image est effectué sur chacun des macro-blocs selon deux modes de codage distincts : l'un noté 1 pour le mode de codage Intra et l'autre noté P pour le mode de codage prédictif ou Inter.  The coding of an image is performed on each of the macroblocks according to two distinct coding modes: one denoted 1 for the Intra coding mode and the other coded P for the predictive coding mode or Inter.

Une séquence d'images de 1 seconde sera codée de la façon suivante : IPPIPPIPPIPPIPPIPPIPPIPPIPPIPP ...  A sequence of 1 second images will be coded as follows: IPPIPPIPPIPPIPPIPPIPPIPPIPPIPP ...

Ceci signifie que la première image est codée selon le mode Intra, les deux suivantes selon le mode Inter, la suivante selon le mode Intra, les deux suivantes selon le mode Inter, etc....  This means that the first image is coded according to the Intra mode, the next two according to the Inter mode, the next according to the Intra mode, the following two according to the Inter mode, etc.

Ainsi, pour une séquence de 30 images par seconde, 10 images seront codées en mode Intra et 20 images en mode Inter.  Thus, for a sequence of 30 frames per second, 10 images will be encoded in Intra mode and 20 images in Inter mode.

En mode Intra, le codage s'effectue bloc par bloc selon les étapes E110 à E113 de la figure 2a.  In Intra mode, the coding is carried out block by block according to the steps E110 to E113 of FIG. 2a.

Dans ce mode de codage, chaque bloc constitue une unité élémentaire de données qui est codée indépendamment des autres blocs.  In this encoding mode, each block constitutes an elementary unit of data which is encoded independently of the other blocks.

<Desc/Clms Page number 18> <Desc / Clms Page number 18>

On rappelle que les valeurs des pixels de chaque image de la séquence d'images sont, par exemple, stockées temporairement dans l'unité 6 de stockage temporaire de la figure 1 et constituent une vidéo qui est appelée vidéo originale.  It will be recalled that the values of the pixels of each image of the image sequence are, for example, stored temporarily in the temporary storage unit 6 of FIG. 1 and constitute a video which is called the original video.

Ces valeurs peuvent aussi être stockées dans l'unité de stockage 3.  These values can also be stored in the storage unit 3.

Le procédé de codage d'un bloc en mode Intra débute par une étape E110 au cours de laquelle on calcule la transformée en cosinus discret selon la méthode connue décrite dans l'article intitulé "Fast Algorithms for the Discrete Cosine Transform", E. Feig and S. Winograd, IEEE Trans. On Signal Proc., vol.  The method for coding an Intra mode block starts with a step E110 during which the discrete cosine transform is calculated according to the known method described in the article entitled "Fast Algorithms for the Discrete Cosine Transform", E. Feig and S. Winograd, IEEE Trans. On Signal Proc., Vol.

40, No. 9, September 1992. 40, No. 9, September 1992.

L'étape E110 est suivie d'une étape Et 11qui prévoit de quantifier les coefficients transformés obtenus lors de l'étape E110 .  Step E110 is followed by a step Et11 which provides for quantifying the transformed coefficients obtained during step E110.

L'étape E111 est suivie d'une étape E112 au cours de laquelle on ordonne les coefficients quantifiés de manière à ce que la méthode de codage à longueur variable utilisée lors de l'étape ultérieure E113 soit la plus efficace possible.  Step E111 is followed by a step E112 in which the quantized coefficients are ordered so that the variable length coding method used in the subsequent step E113 is as efficient as possible.

Pour ce faire, on utilise la méthode de balayage décrite dans le standard Information technology- Generic coding of audio-visual objects = part2: visual, ISOIIEC JTC 1/SC 29/WG11 N3056, December 2000.  This is done by using the scanning method described in the standard Information technology-Generic coding of audio-visual objects = part2: visual, ISOIIEC JTC 1 / SC 29 / WG11 N3056, December 2000.

L'étape E112 est suivie d'une étape E113 selon laquelle on effectue le codage statistique des coefficients ordonnés selon la méthode de codage à longueur variable décrite dans le standard Information technology- Generic coding of audio-visual objects = part2: visual, ISOIIEC JTC 1/SC 29/WG11 N3056, December 2000.  Step E112 is followed by a step E113 in which the statistical coding of the ordered coefficients is carried out according to the variable length coding method described in the standard Information technology- Generic coding of audio-visual objects = part2: visual, ISOIIEC JTC 1 / SC 29 / WG11 N3056, December 2000.

A l'issue de l'étape E113, les coefficients codés statistiquement sont stockés dans l'unité de stockage temporaire 6 et sont concaténés aux autres informations de codage de l'image courante.  At the end of step E113, the statistically coded coefficients are stored in the temporary storage unit 6 and are concatenated with the other coding information of the current image.

En mode prédictif ou Inter, le codage s'effectue macro-bloc par macro-bloc où chaque macro-bloc constitue une unité élémentaire de données qui est codée indépendamment des autres.  In predictive or Inter mode, the coding is macro-block by macroblock where each macroblock constitutes an elementary unit of data which is coded independently of the others.

Chacun des macro-blocs peut être codé soit en mode Intra soit en mode Inter.  Each of the macroblocks can be coded either in Intra mode or Inter mode.

<Desc/Clms Page number 19> <Desc / Clms Page number 19>

Si le macro-bloc est codé en mode Intra, alors le codage s'effectue selon les étapes E110 à E113 décrites précédemment.  If the macroblock is coded in Intra mode, then the coding is performed according to the steps E110 to E113 described above.

Si le macro-bloc est codé en mode Inter, le codage s'effectue selon les étapes E115 à E117 qui vont être explicitées ci-après.  If the macroblock is coded in Inter mode, the coding is performed according to the steps E115 to E117 which will be explained below.

Au cours de l'étape E115 on applique une méthode classique d'estimation de mouvement par comparaison de macro- blocs.  In step E115 a conventional motion estimation method is applied by comparison of macroblocks.

Les algorithmes mis en #uvre s'appuient sur l'hypothèse simplificatrice selon laquelle les pixels d'un même macro-bloc sont animés du même mouvement.  The algorithms used are based on the simplifying assumption that the pixels of the same macroblock are animated by the same movement.

Le vecteur de mouvement d'un macro-bloc d'une image courante est alors déterminé en trouvant le macro-bloc le plus ressemblant dans l'image précédente dans une fenêtre de recherche présélectionnée.  The motion vector of a macroblock of a current image is then determined by finding the most resembling macroblock in the previous image in a preselected search window.

Si les dimensions de la fenêtre de recherche exercent une influence sur le temps de calcul de l'estimation de mouvement, le problème majeur lié à l'estimation de mouvement qui est effectuée par comparaison de macro-blocs reste la détermination de la distance entre les macro-blocs.  If the dimensions of the search window have an influence on the calculation time of the motion estimation, the major problem related to the motion estimation which is carried out by comparison of macroblocks remains the determination of the distance between the macroblocks.

On utilisera de préférence une méthode d'estimation de mouvement décrite dans l'article "Estimation de mouvement en ligne", L. Difdier, R.  A motion estimation method described in the article "Online motion estimation", L. Difdier, R., will preferably be used.

Kamdem, LIM Université de Provence, Dec. 96. Kamdem, LIM University of Provence, Dec. 96.

Cette méthode permet d'obtenir un vecteur de mouvement à deux composantes de mouvement translationnel.  This method makes it possible to obtain a motion vector with two components of translational movement.

Pour obtenir un train binaire conforme au standard MPEG-4, ce vecteur de mouvement est codé différentiellement par rapport à une prédiction effectuée à partir des vecteurs de mouvement des macro-blocs déjà codés du voisinage immédiat du macro-bloc courant.  To obtain a binary train conforming to the MPEG-4 standard, this motion vector is coded differentially with respect to a prediction made from the motion vectors of the already coded macroblocks of the immediate neighborhood of the current macroblock.

L'étape E115 est suivie d'une étape E116 au cours de laquelle on code statistiquement le vecteur de mouvement différentiel précédemment déterminé.  Step E115 is followed by a step E116 during which the previously determined differential motion vector is statistically coded.

Les coefficients ainsi obtenus sont stockés dans l'unité de stockage temporaire 6 et sont concaténés aux autres informations de codage de l'image courante.  The coefficients thus obtained are stored in the temporary storage unit 6 and are concatenated with the other coding information of the current image.

<Desc/Clms Page number 20> <Desc / Clms Page number 20>

Une fois que le mouvement pour un macro-bloc a été estimé lors de l'exécution de l'étape E115, alors, conformément à l'étape E117, un macro-bloc dit prédit est construit à partir du macro-bloc de l'image précédente auquel est appliqué le vecteur de mouvement associé à ce macro-bloc.  Once the movement for a macro-block has been estimated during the execution of the step E115, then, according to the step E117, a predicted macro-block is constructed from the macro-block of the previous image to which the motion vector associated with this macroblock is applied.

Ensuite, un macro-bloc dit de différence, est calculé entre le macrobloc de l'image courante et le macro-bloc prédit.  Then, a so-called difference macro-block is calculated between the macroblock of the current image and the predicted macroblock.

On mesure alors la variance de ce macro-bloc de différence.  The variance of this macro-difference block is then measured.

Si la variance est supérieure à un seuil prédéterminé, alors le macrobloc de l'image courante est codé en mode Intra.  If the variance is greater than a predetermined threshold, then the macroblock of the current image is encoded in Intra mode.

Ce macro-bloc sera codé en mode Inter dans le cas contraire.  This macro-block will be coded in Inter mode otherwise.

L'étape E117 est suivie d'une étape E118 au cours de laquelle, soit on code le macro-bloc de différence selon le mode Intra décrit plus haut, soit on code le macro-bloc courant selon le mode Intra.  Step E117 is followed by a step E118 during which either the difference macro-block is coded according to the Intra mode described above, or the current macro-block is coded according to the Intra mode.

Les coefficients résultant du mode de codage Intra sont stockés dans l'unité de stockage temporaire 6 et sont concaténés aux autres informations de codage du macro-bloc de l'image courante.  The coefficients resulting from the Intra coding mode are stored in the temporary storage unit 6 and are concatenated with the other coding information of the macroblock of the current image.

Les paramètres utilisés lors des étapes de quantification et de codage à longueur variable, sont définis pour chaque macro-bloc, que ce soit dans le mode Intra ou Inter.  The parameters used during the quantization and variable length coding steps are defined for each macroblock, whether in the Intra or Inter mode.

A cet effet, on utilise une méthode de contrôle de débit classique lors d'une étape E114.  For this purpose, a conventional flow control method is used during a step E114.

Cette méthode permet de contrôler l'allocation de débit pour chaque macro-bloc de manière à ne pas dépasser le débit total alloué à la transmission de la vidéo compressée.  This method is used to control the rate allocation for each macroblock so as not to exceed the total bit rate allocated to the transmission of the compressed video.

Dans l'exemple décrit, la valeur de débit maximale est fixée par la valeur BP.  In the example described, the maximum flow rate value is set by the BP value.

Les paramètres de quantification seront fixés en début de codage à une valeur comprise entre les valeurs inférieure et supérieure des paramètres de quantification fixés par le standard MPEG-4.  The quantization parameters will be set at the start of coding to a value between the lower and upper values of the quantization parameters set by the MPEG-4 standard.

On prendra par exemple un paramètre QP égal à 20.  For example, a parameter QP equal to 20 will be used.

<Desc/Clms Page number 21> <Desc / Clms Page number 21>

Cependant, en raison de la propriété de normalisation du modèle de distorsion, les paramètres du modèle resteront valables quelle que soit la valeur de QP.  However, due to the distortion model normalization property, the model parameters will remain valid regardless of the QP value.

Les données codées et stockées de façon temporaire dans l'unité 6 sont mises au format MPEG-4, comme indiqué dans le standard Information technology- Generic coding of audio-visual objects = part2: visual, ISO/IEC JTC 1/SC 29/WG11 N3056, December 2000.  The data coded and temporarily stored in the unit 6 are put in the MPEG-4 format, as indicated in the standard Information technology- Generic coding of audio-visual objects = part2: visual, ISO / IEC JTC 1 / SC 29 / WG11 N3056, December 2000.

Durant le codage, l'unité de commande 11 de la figure 1 fait appel à l'unité de calcul 8 qui calcule pour chaque macro-bloc de l'image sa variance avant l'opération de quantification.  During coding, the control unit 11 of FIG. 1 uses the calculation unit 8 which calculates, for each macroblock of the image, its variance before the quantization operation.

Pour les macro-blocs codés en mode Intra, le calcul de la variance est effectué directement à partir des macro-blocs de la séquence originale avant l'étape E111.  For macro-blocks coded in Intra mode, the variance calculation is performed directly from the macroblocks of the original sequence before step E111.

Pour les macro-blocs codés en mode Inter, la variance est calculée sur les macro-blocs de différence à l'étape E117.  For macroblocks encoded in Inter mode, the variance is calculated on the difference macroblocks in step E117.

Les informations de variance ainsi que le mode de codage utilisé pour chaque macro-bloc sont stockés dans l'unité de stockage 10 de la figure 1.  The variance information as well as the coding mode used for each macroblock are stored in the storage unit 10 of FIG.

La figure 2b illustre le procédé de décodage mis en #uvre par l'unité de décodage 5 du dispositif 2 de la figure 1.  FIG. 2b illustrates the decoding method implemented by the decoding unit 5 of the device 2 of FIG. 1.

La figure 2b illustre le décodage d'un macro-bloc codé soit en mode Intra, tel qu'indiqué par les étapes 122 à 126, soit en mode Inter ou prédictif comme indiqué par les étapes 127 à 132.  FIG. 2b illustrates the decoding of a coded macroblock either in Intra mode, as indicated by steps 122 to 126, or in Inter or predictive mode as indicated by steps 127 to 132.

L'algorithme de décodage débute par une étape E119 au cours de laquelle on récupère le mode de codage du macro-bloc courant.  The decoding algorithm starts with a step E119 during which the coding mode of the current macro-block is recovered.

Au cours de l'étape E120, on procède à un test pour savoir si le macro-bloc a été codé en mode Intra.  During step E120, a test is made to know if the macroblock has been coded in Intra mode.

Dans l'affirmative, l'étape E120 est suivie d'une étape E121 qui prévoit de récupérer, à partir de l'unité de stockage 6, les coefficients statistiques (codes à longueur variable) liés à ce macro-bloc.  If so, the step E120 is followed by a step E121 which provides for recovering, from the storage unit 6, the statistical coefficients (variable length codes) related to this macroblock.

L'étape E121 est suivie d'une étape E122 qui effectue le décodage de ces coefficients selon la table de coefficients décrite dans le standard  Step E121 is followed by a step E122 which decodes these coefficients according to the coefficient table described in the standard.

<Desc/Clms Page number 22><Desc / Clms Page number 22>

Information technology- Generic coding of audio-visual objects = part2: visual, ISO/IEC JTC 1/SC 29/WG11 N3056, December 2000.  Information technology- Generic coding of audio-visual objects = part2: visual, ISO / IEC JTC 1 / SC 29 / WG11 N3056, December 2000.

Les coefficients ainsi obtenus forment un ensemble de données bidimensionnelles noté QF[u][v].  The coefficients thus obtained form a set of two-dimensional data denoted QF [u] [v].

Au cours de l'étape suivante E123, on effectue une opération de quantification inverse sur les valeurs de l'ensemble de données QF [u][v] obtenir le tableau bidimensionnel F" [u][v] selon les tables de quantification décrites dans le standard Information technology- Generic coding of audiovisual objects = part2: visual, ISO/IEC JTC 1/SC 29/WG11 N3056, December 2000.  During the next step E123, an inverse quantization operation is performed on the values of the data set QF [u] [v] to obtain the two-dimensional array F "[u] [v] according to the quantization tables described. in the standard Information technology- Generic coding of audiovisual objects = part2: visual, ISO / IEC JTC 1 / SC 29 / WG11 N3056, December 2000.

Au cours de l'étape suivante E124, on applique une méthode de saturation aux valeurs des coefficients du tableau bidimensionnel F" [u][v] selon le standard Information technology- Generic coding of audio-visual objects = part2: visual, ISO/IEC JTC 1/SC 29/WG11 N3056, December 2000, de manière à obtenir le tableau bidimensionnel F' [u][v] dont les valeurs appartiennent à l'intervalle [-2 bits par pixel + 3, 2 bits par pixel +3 - 1].  In the next step E124, a saturation method is applied to the values of the coefficients of the two-dimensional array F "[u] [v] according to the standard Information technology- Generic coding of audio-visual objects = part2: visual, ISO / IEC JTC 1 / SC 29 / WG11 N3056, December 2000, so as to obtain the two-dimensional array F '[u] [v] whose values belong to the interval [-2 bits per pixel + 3, 2 bits per pixel + 3 - 1].

Le nombre de bits par pixels est de préférence égal à 8.  The number of bits per pixel is preferably 8.

Au cours de l'étape suivante E125, on effectue une opération de contrôle des coefficients saturés de manière à obtenir les coefficients DCT
F [u][v].
During the next step E125, a control operation of the saturated coefficients is performed so as to obtain the DCT coefficients
F [u] [v].

Au cours de l'étape suivante E126, on reconstruit les valeurs des pixels du macro-bloc courant en fonction des coefficients DCT F[u][v] en utilisant la méthode de décodage décrite dans l'article "Fast Algorithms for the Discrete Cosine Transform", E. Feig and S. Winograd, IEEE Trans. On Signal Proc., vol. 40, No. 9, September 1992.  During the next step E126, the values of the pixels of the current macro-block are reconstructed as a function of the DCT coefficients F [u] [v] using the decoding method described in the article "Fast Algorithms for the Discrete Cosine" Transform, E. Feig and S. Winograd, IEEE Trans. On Signal Proc., Vol. 40, No. 9, September 1992.

Ces valeurs reconstruites sont stockées dans l'unité de stockage 6.  These reconstructed values are stored in the storage unit 6.

L'algorithme de décodage d'un macro-bloc est donné ci-dessous.  The decoding algorithm of a macro-block is given below.

Les valeurs des coefficients dc~scaler, quantiser scale et de la matrice W[l][u][v] utilisés dans cet algorithme sont des valeurs définies par le standard Information technology- Generic coding of audio-visual objects = part2: visual, ISO/IEC JTC 1/SC 29/WG11 N3056, December 2000. for (v=0; v<8;v++) {  The values of the coefficients dc ~ scaler, quantizer scale and matrix W [l] [u] [v] used in this algorithm are values defined by the standard Information technology- Generic coding of audio-visual objects = part2: visual, ISO / IEC JTC 1 / SC 29 / WG11 N3056, December 2000. for (v = 0; v <8; v ++) {

<Desc/Clms Page number 23> <Desc / Clms Page number 23>

Figure img00230001

for (u=0; u<8;u++) { if (QF[u][v] == 0) F"[u][v] 0; else if ( (u==0) && (v==0) && (macroblockjntra) ) { F'1u][v] dç scaler * QF[u][v]; } else if ( macroblockjntra ) { F'1u][v] = ( QF[u][v] * W[0][u][v] * quantiser~scale )/32; } else F'1u][v] = ( ( ( QF[u][v] * 2 ) + Sign(QF[u][v]) ) * W{1][u][v] * quantiser~scale ) / 32; } } } } sum = 0; for (v=0; v<8;v++) { for (u=0; u<8;u++) { if ( F'1u][v] > 2 bits~per~pixel + 3 - 1 ) { F1u][v] 2 bits~per~pixel + 3 ~ .
Figure img00230001

for (u = 0; u <8; u ++) {if (QF [u] [v] == 0) F "[u] [v] 0; else if ((u == 0) && (v == 0) && (macroblockjntra)) {F'1u] [v] dc scaler * QF [u] [v];} else if (macroblockjntra) {F'1u] [v] = (QF [u] [v] * W [0] [u] [v] * quantize ~ scale) / 32;} else F'1u] [v] = (((QF [u] [v] * 2) + Sign (QF [u] [v ])) * W {1] [u] [v] * quantize ~ scale) / 32;}}}} sum = 0; for (v = 0; v <8; v ++) {for (u = 0; u <8; u ++) {if (F'1u] [v]> 2 bits ~ per ~ pixel + 3 - 1) {F1u] [v] 2 bits ~ per ~ pixel + 3 ~.

} else { if(F"[u]M<-2bits-per-pixel + 3 ) F1u][v] = -2 bits~per~pixel + 3 . } else {if (F "[u] M <-2bits-per-pixel + 3) F1u] [v] = -2 bits ~ per ~ pixel + 3.

} else { F1u][v] F'1u][v]; } } sum sum + F1u][v]; F[u][v] F1u][v]; } } } else {F1u] [v] F'1u] [v]; }} sum sum + F1u] [v]; F [u] [v] F1u] [v]; }}

<Desc/Clms Page number 24> <Desc / Clms Page number 24>

Figure img00240001
Figure img00240001

La méthode de transformation en cosinus discret d'un pixel f (x,y) d'un bloc de taille N x N est donnée par l'équation suivante :

Figure img00240002

avec u, v = 0, 1, 2, N-1, où x, y sont les coordonnées spatiales, u, v sont les coordonnées dans le domaine transformé, et
Figure img00240003
The method of discrete cosine transformation of a pixel f (x, y) of a block of size N x N is given by the following equation:
Figure img00240002

with u, v = 0, 1, 2, N-1, where x, y are the spatial coordinates, u, v are the coordinates in the transformed domain, and
Figure img00240003

Chaque pixel est représenté par n bits (pour représenter une des composantes Y, U ou V) et les coefficients transformés sont représentés par (n+4) bits. L'amplitude des coefficients DCT est comprise dans l'intervalle [- 2n+3 :+2n+3-1]. Each pixel is represented by n bits (to represent one of the components Y, U or V) and the transformed coefficients are represented by (n + 4) bits. The amplitude of the DCT coefficients is in the range [- 2n + 3: + 2n + 3-1].

On utilise de préférence une méthode rapide de codage/décodage DCT.  Preferably, a fast method of DCT coding / decoding is used.

Cette méthode, décrite dans l'article "Fast Algorithms for the Discrète Cosine Transform", E. Feig and S. Winograd, IEEE Trans. On Signal Proc., vol.  This method, described in the article "Fast Algorithms for the Discrete Cosine Transform", E. Feig and S. Winograd, IEEE Trans. On Signal Proc., Vol.

40, No. 9, September 1992, permet de coder/décoder des macro-blocs de taille 2m (ici m=3) selon l'équation suivante :

Figure img00240004

où Y est le vecteur des coefficients DCT de dimension 8 etC8la matrice 8*8 de coefficients DCT. 40, No. 9, September 1992, allows to code / decode macroblocks of size 2m (here m = 3) according to the following equation:
Figure img00240004

where Y is the vector of the DCT coefficients of dimension 8 and C8 the matrix 8 * 8 of DCT coefficients.

<Desc/Clms Page number 25> <Desc / Clms Page number 25>

Cette matrice peut être factorisée et, après quelques manipulations algébriques, cette matrice est égale à C8 =P8 *K8 *B8, où P8 est une matrice de permutation des signes de dimension 8*8, K8 et B8 sont des matrices de coefficients de dimension 8*8 qui ont été définies de manière à obtenir un codeur/décodeur rapide.  This matrix can be factorized and, after some algebraic manipulations, this matrix is equal to C8 = P8 * K8 * B8, where P8 is a matrix of permutation of the signs of dimension 8 * 8, K8 and B8 are matrices of dimension coefficients 8 * 8 which have been defined to obtain a fast encoder / decoder.

Consécutivement à l'étape E126, l'étape E133 prévoit un stockage et une visualisation des macro-blocs décodés. L'image courante est reconstruite une fois que tous les macro-blocs de cette image sont décodés et visualisés.  Following step E126, step E133 provides for storing and viewing the decoded macroblocks. The current image is reconstructed once all the macroblocks of that image are decoded and viewed.

De retour à l'étape E120, si le résultat du test est négatif, cela signifie que le macro-bloc a été codé en mode Inter ou prédictif.  Returning to step E120, if the result of the test is negative, it means that the macroblock has been coded in Inter or predictive mode.

Au cours de l'étape suivante E127, on récupère alors des informations dans l'unité de stockage 6 de la figure 1.  In the next step E127, information is then retrieved from the storage unit 6 of FIG.

Ces informations sont propres au codage du macro-bloc en mode Inter et sont, par exemple, les coefficients statistiques (codes à longueur variable) liés à ce macro-bloc.  This information is specific to the coding of the macroblock in Inter mode and is, for example, the statistical coefficients (variable length codes) related to this macroblock.

L'étape E127 est suivie d'une étape E128 qui prévoit de décoder ces coefficients statistiques de manière à obtenir le vecteur de mouvement différentiel.  Step E127 is followed by a step E128 which provides for decoding these statistical coefficients so as to obtain the differential motion vector.

Au cours de l'étape suivante E129, on reconstruit le vecteur de mouvement à partir du vecteur de mouvement différentiel et du vecteur de mouvement (Px,Py) du macro-bloc de l'image précédente disposé à la même position spatiale.  During the next step E129, the motion vector is reconstructed from the differential motion vector and the motion vector (Px, Py) of the macroblock of the preceding image disposed at the same spatial position.

L'algorithme utilisé est le suivant : r size = vop~fcode - 1 f = 1 r size high = (32 * f) - 1 ; low = ((-32) * f); range = ( 64 * f); if ( (f == 1) Il (horizontal~mv~data == 0) )
MVDx = horizontal~mv~data;
The algorithm used is the following: r size = vop ~ fcode - 1 f = 1 r high = (32 * f) - 1; low = ((-32) * f); range = (64 * f); if ((f == 1) Il (horizontal ~ mv ~ data == 0))
MVDx = horizontal ~ mv ~ data;

<Desc/Clms Page number 26> <Desc / Clms Page number 26>

Figure img00260001

else MVDx = ( ( >4>s(horizontal~mv~data) - 1 ) * f ) + horizontaLmv~residual + 1; if (horizontal mv~data < 0) MVDx = - MVDx; if ( (f ==1 ) p (vertical mv data == 0) ) MVDy = vertical mv~data; else MVDy = ( ( /4bs(verticaL'T'v~data) 1 ) * f ) + vertical mv~residual + 1; if (vertical mv data < 0) MVDy = - MVDy; MVx = Px + MVDx; if ( MVx < low ) MVx = MVx + range; if (MVx > high) MVx = MVx - range; MVy = Py + MVDy; if ( MVy < low ) MVy = MVy + range; if (MVy > high) MVy = MVy - range;
Les paramètres du train binaire sont tels que les composantes MVDx et MVDy du vecteur de mouvement différentiel, appartiennent à l'intervalle [low; high].
Figure img00260001

else MVDx = ((>4> s (horizontal ~ mv ~ data) - 1) * f) + horizontaLmv ~ residual + 1; if (horizontal mv ~ data <0) MVDx = - MVDx; if ((f == 1) p (vertical mv data == 0)) MVDy = vertical mv ~ data; else MVDy = ((/ 4bs (verticaL'T'v ~ data) 1) * f) + vertical mv ~ residual + 1; if (vertical mv data <0) MVDy = - MVDy; MVx = Px + MVDx; if (MVx <low) MVx = MVx + range; if (MVx> high) MVx = MVx - range; MVy = Py + MVDy; if (MVy <low) MVy = MVy + range; if (MVy> high) MVy = MVy - range;
The parameters of the bitstream are such that the MVDx and MVDy components of the differential motion vector belong to the interval [low; High].

Les valeurs extrêmes de cet intervalle sont choisies lors de l'implémentation du décodeur.  The extreme values of this interval are chosen during the implementation of the decoder.

Par ailleurs, les composantes du vecteur de mouvement reconstruit, MVx et MVy, appartiennent également à cet intervalle. Les valeurs qui  Moreover, the components of the reconstructed motion vector, MVx and MVy, also belong to this interval. Values that

<Desc/Clms Page number 27><Desc / Clms Page number 27>

définissent cet intervalle pour les vecteurs de mouvement sont définis par le standard Information technology- Generic coding of audio-visual objects = part2: visual, ISO/IEC JTC 1/SC 29/WG11 N3056, December 2000.  define this interval for motion vectors are defined by the standard Information technology- Generic coding of audio-visual objects = part2: visual, ISO / IEC JTC 1 / SC 29 / WG11 N3056, December 2000.

On notera que r~size, f, MVDx, MVDy, high , low et range sont des variables, tandis que les données horizontal~mv-data, vertical~mv~data, horizontal~mv~residual et vertical~mv~residual sont extraites du train binaire.  Note that r ~ size, f, MVDx, MVDy, high, low and range are variables, while the horizontal data ~ mv-data, vertical ~ mv ~ data, horizontal ~ mv ~ residual and vertical ~ mv ~ residual are extracted from the binary train.

La variable vop~fcode fait référence au mode de prédiction utilisé qui est extrait du train binaire.  The variable vop ~ fcode refers to the prediction mode used which is extracted from the bit stream.

Au cours de cette même étape E129, le macro-bloc de l'image précédente est compensé en mouvement, c'est à dire que le macro-bloc est déplacé du vecteur de mouvement qui vient d'être reconstruit.  During this same step E129, the macroblock of the previous image is compensated in motion, that is to say that the macroblock is displaced from the motion vector that has just been reconstructed.

Au cours de l'étape suivante E130, on récupère les informations propres au codage du macro-bloc en mode Intra et, notamment, les coefficients statistiques qui représentent le macro-bloc de différence.  During the next step E130, the information specific to the coding of the macro-block in Intra mode and, in particular, the statistical coefficients which represent the macro-block of difference are recovered.

Au cours de l'étape suivante E131, on reconstruit le macro-bloc de différence à partir de ces coefficients statistiques selon le procédé de décodage Intra décrit précédemment, lors de l'exécution des étapes E122 à E126.  During the next step E131, the difference macro-block is reconstructed from these statistical coefficients according to the Intra decoding method described above, during the execution of the steps E122 to E126.

L'étape E131 est suivie d'une étape E132 qui calcule la somme du macro-bloc compensé de l'étape E129 et du macro-bloc de différence obtenu à l'étape E131.  Step E131 is followed by a step E132 which calculates the sum of the compensated macroblock of step E129 and the difference macroblock obtained in step E131.

L'étape E132 est suivie d'une étape E133 qui organise le stockage des macro-blocs décodés dans l'unité 6.  The step E132 is followed by a step E133 which organizes the storage of the decoded macroblocks in the unit 6.

Dès qu'une image est décodée, l'unité de commande 11 de la figure 1 fait appel à l'unité 8 qui calcule pour chaque macro-bloc de l'image sa distorsion réelle. Celle-ci est obtenue en calculant l'erreur quadratique moyenne EQM entre les macro-blocs de chaque image de la séquence vidéo originale et les macro-blocs de l'image correspondante de la séquence codée/décodée.  Once an image is decoded, the control unit 11 of Figure 1 uses the unit 8 which calculates for each macro-block of the image its real distortion. This is obtained by calculating the mean squared error EQM between the macroblocks of each image of the original video sequence and the macroblocks of the corresponding image of the coded / decoded sequence.

Les informations de distorsion de chaque macro-bloc sont ensuite stockées dans l'unité de stockage 10.  The distortion information of each macroblock is then stored in the storage unit 10.

Dès qu'un nombre suffisant d'images de la séquence d'entraînement considérée ont été codées / décodées suivant les algorithmes précités, l'unité  As soon as a sufficient number of images of the training sequence in question have been coded / decoded according to the abovementioned algorithms, the unit

<Desc/Clms Page number 28><Desc / Clms Page number 28>

de commande 11 de la figure 1 exécute l'algorithme de recherche des paramètres du modèle d'estimation de la distorsion.  11 of FIG. 1 executes the algorithm for searching the parameters of the model for estimating the distortion.

Dans l'exemple de réalisation qui va suivre, on considère trente images d'une séquence vidéo qui ont été codées/décodées et on va chercher deux triplets de paramètres (a, ss, y) du modèle, l'un spécifique aux macro-blocs codés en mode Inter et l'autre spécifique aux macro-blocs codés en mode Intra.  In the embodiment which follows, we consider thirty images of a video sequence that have been coded / decoded and we will look for two triplets of parameters (a, ss, y) of the model, the one specific to the macro- blocks coded in Inter mode and the other specific to macro-blocks coded in Intra mode.

Excepté le mode de codage des macro-blocs qui sera spécifique selon les macro-blocs envisagés, le processus de recherche des paramètres sera le même. On considérera dans la suite l'exemple des macro-blocs codés en mode Inter, le principe s'en déduit aisément pour les macro-blocs codés en mode Intra.  Except for the coding mode of the macro-blocks, which will be specific according to the macro-blocks envisaged, the process of searching for the parameters will be the same. In the following, we will consider the example of macroblocks coded in Inter mode, the principle is easily deduced for macroblocks coded in Intra mode.

Les valeurs de la variance et de la distorsion de chaque macro-bloc qui ont respectivement été obtenues lors des opérations de codage et de décodage précitées sont stockées dans un tableau TAB formant un ensemble de points qui sera par la suite appelé nuage de points.  The values of the variance and the distortion of each macro-block which have respectively been obtained during the above-mentioned coding and decoding operations are stored in a table TAB forming a set of points which will subsequently be called a point cloud.

Le nuage de points représentant la distorsion réelle mesurée d'un ensemble de données de l'image (blocs de données qui sont ici des macro- blocs) en fonction d'une mesure de leur énergie (par exemple leur variance).  The scatter plot represents the actual measured distortion of a set of image data (blocks of data that are here macroblocks) as a function of a measure of their energy (eg their variance).

L'adaptation du modèle à la séquence de données originale considérée et à la méthode de codage envisagée consiste à déterminer le triplet de paramètres qui permettra de représenter au mieux la relation entre la distorsion et la variance.  The adaptation of the model to the original data sequence under consideration and to the coding method envisaged consists in determining the triplet of parameters that will best represent the relationship between the distortion and the variance.

Dans l'exemple considéré, le triplet de paramètres que l'on recherche est celui qui permettra de minimiser la distance entre, d'une part, le nuage de points représentant la distorsion réelle mesurée d'un ensemble de blocs de données (macro-blocs) de l'image en fonction de leur variance et, d'autre part, l'ensemble des points distorsion/variance obtenus en appliquant le modèle d'estimation de la distorsion .  In the example considered, the triplet of parameters that is sought is that which will make it possible to minimize the distance between, on the one hand, the scatterplot representing the measured real distortion of a set of data blocks (macro- blocks) of the image according to their variance and, on the other hand, the set of distortion / variance points obtained by applying the distortion estimation model.

La recherche de cette distance minimale peut s'écrire de la façon suivante :

Figure img00280001
The search for this minimum distance can be written as follows:
Figure img00280001

<Desc/Clms Page number 29><Desc / Clms Page number 29>

où D(S1,QP1) est la distorsion fournie par le modèle pour une variance Sl et un paramètre de quantification QPl, D,(S,,QP,) est la distorsion réelle pour un macro-bloc donné et Np est le nombre de macro-blocs considérés dans le processus de minimisation (nombre de points distorsion/variance).  where D (S1, QP1) is the distortion provided by the model for a variance Sl and a quantization parameter QP1, D, (S ,, QP,) is the actual distortion for a given macro-block and Np is the number of macro-blocks considered in the minimization process (number of points distortion / variance).

Dans la mesure où tous les macro-blocs sont quantifiés de la même manière, le paramètre de quantification QPi est commun à tous les macro-blocs et est égal à QP.  Since all the macroblocks are quantized in the same way, the quantization parameter QPi is common to all the macroblocks and is equal to QP.

Bien que cela ne soit nullement obligatoire, on peut malgré tout chercher à réduire la complexité du processus de minimisation de la distance précitée en limitant l'espace de recherche du triplet de paramètres.  Although this is not mandatory, it is possible to reduce the complexity of the process of minimizing the distance by limiting the search space of the parameter triplet.

On peut ainsi déterminer un espace de recherche délimité par des bornes pour chacun des trois paramètres a, ss, y qui seront alors recherchés dans les intervalles suivants :

Figure img00290001
It is thus possible to determine a search space delimited by terminals for each of the three parameters a, ss, y which will then be searched for in the following intervals:
Figure img00290001

La détermination de ces trois intervalles est effectuée à partir de l' ensemble de séquences d'images d'entraînement précité et qui sont représentatives de l'hétérogénéité des séquences à traiter. The determination of these three intervals is made from the set of training image sequences mentioned above and which are representative of the heterogeneity of the sequences to be processed.

L'ensemble des séquences d'entraînement comporte par exemple des séquences comportant peu de mouvement et d'autres caractérisées par un mouvement important, des séquences peu texturées et d'autres davantage texturées ...  The set of training sequences comprises, for example, sequences with little movement and others characterized by a large movement, slightly textured sequences and others more textured ...

Il convient de noter que cette étape de détermination préalable d'un espace de recherche limité ne sera effectuée qu'une seule fois en dehors du processus de recherche des paramètres pour une séquence vidéo donnée.  It should be noted that this step of previously determining a limited search space will be performed only once outside the process of searching for parameters for a given video sequence.

On va maintenir décrire en référence à la figure 3 le processus de limitation de l'espace de recherche.  The process of limiting the search space will be described with reference to FIG.

La figure 3 illustre un algorithme comportant différentes instructions ou portions de code logiciel correspondant à des étapes du procédé selon l'invention.  FIG. 3 illustrates an algorithm comprising different instructions or portions of software code corresponding to steps of the method according to the invention.

<Desc/Clms Page number 30> <Desc / Clms Page number 30>

Le programme informatique qui est basé sur cet algorithme est mémorisé dans l'appareil 1 de la figure 1 et dans l'appareil programmable de la figure 9 qui sera décrite ultérieurement.  The computer program that is based on this algorithm is stored in the apparatus 1 of Figure 1 and in the programmable apparatus of Figure 9 which will be described later.

L'exécution de ce programme informatique permet ainsi de mettre en #uvre le procédé selon l'invention.  The execution of this computer program thus makes it possible to implement the method according to the invention.

L'algorithme de la figure 3 comporte une première étape E300 au cours de laquelle on initialise chaque intervalle de recherche pour chacun des trois paramètres considérés à l'intervalle [0, 100].  The algorithm of FIG. 3 comprises a first step E300 during which each search interval is initialized for each of the three parameters considered in the interval [0, 100].

Au cours de l'étape suivante E301, on initialise une variable k à la valeur 0, cette variable servant au décompte des K séquences d'entraînement envisagées de l'ensemble précité.  During the next step E301, a variable k is initialized to the value 0, this variable serving to count the K training sequences envisaged for the aforementioned set.

Au cours de l'étape suivante E302, on procède à la recherche du triplet de paramètres (a, ss, y) pour la séquence d'entraînement d'ordre k.  In the next step E302, the parameter triplet (a, ss, y) is searched for the training sequence of order k.

Le processus de recherche de ces paramètres sera explicité ultérieurement en référence aux figures 4 et 5.  The process of searching for these parameters will be explained later with reference to FIGS. 4 and 5.

L'algorithme comporte ensuite une étape E303 de stockage des paramètres ainsi déterminés.  The algorithm then comprises a step E303 for storing the parameters thus determined.

L'étape suivante E304 prévoit d'effectuer un test sur la valeur de la variable k afin de vérifier si toutes les séquences d'entraînement ont bien été prises en considération.  The next step E304 is to test the value of the variable k to see if all the training sequences have been taken into consideration.

Dans la négative, l'étape E304 est suivie d'une étape E305 qui incrémente d'une unité la variable k des séquences d'entraînement et cette étape est alors suivie de l'étape E302 déjà évoquée ci-dessus.  If not, the step E304 is followed by a step E305 which increments the variable k of the training sequences by one unit and this step is then followed by the step E302 already mentioned above.

Au contraire, lorsque toutes les séquences d'entraînement ont été prises en considération dans cet algorithme, alors l'étape E304 est suivie d'une étape E306 au cours de laquelle on vérifie la validité des bornes des intervalles de recherche pour les paramètres considérés.  On the other hand, when all the training sequences have been taken into consideration in this algorithm, then the step E304 is followed by a step E306 in which the validity of the limits of the search intervals for the parameters considered is checked.

Les bornes sont considérées comme valides si aucun des paramètres qui ont été déterminés à l'étape E302 n'a atteint l'une de ces bornes.  The terminals are considered valid if none of the parameters that were determined in step E302 have reached one of these terminals.

Dans cette hypothèse, l'étape E306 est suivie d'une étape E307 au cours de laquelle on procède au stockage, dans l'unité de stockage 10 de la  In this case, the step E306 is followed by a step E307 during which storage is carried out in the storage unit 10 of the

<Desc/Clms Page number 31><Desc / Clms Page number 31>

figure 1, des bornes ainsi validées qui prennent les valeurs suivantes :

Figure img00310001

#mm = min #k' k #max = max ak, Nmm - min k, Nmax - mk X k. FIG. 1, thus validated terminals which take the following values:
Figure img00310001

#mm = min #k 'k #max = max ak, Nmm - min k, Nmax - mk X k.

Ymm = mm Yk, Ymax = max Ykk
Au contraire, lorsque les bornes sont considérées comme non valides, alors l'étape E306 est suivie d'une étape E308 au cours de laquelle de nouvelles bornes sont déterminées.
Ymm = mm Yk, Ymax = max Ykk
On the contrary, when the bounds are considered invalid, then step E306 is followed by a step E308 in which new bounds are determined.

* Lors de cette étape, chaque borne qui a été atteinte est augmentée de la valeur 1 si c'est une borne supérieure de l'intervalle ou diminuée d'une valeur 1 si c'est une borne inférieure. * In this step, each terminal that has been reached is incremented by 1 if it is an upper bound of the range or decreased by a value of 1 if it is a lower bound.

L'étape E308 est ensuite suivie de l'étape E301 déjà décrite cidessus.  Step E308 is then followed by step E301 already described above.

L'algorithme de la figure 4 comporte différentes instructions ou portions de code logiciel correspondant à des étapes du procédé selon l'invention. Plus particulièrement, cet algorithme concerne la détermination des trois paramètres a, ss y mentionnée à l'étape E302 de l'algorithme de la figure 3.  The algorithm of FIG. 4 comprises different instructions or portions of software code corresponding to steps of the method according to the invention. More particularly, this algorithm relates to the determination of the three parameters a, ss mentioned in step E302 of the algorithm of FIG.

Le programme informatique qui est basé sur cet algorithme est stocké dans l'appareil 1 de la figure 1 et dans l'appareil programmable de la figure 9.  The computer program which is based on this algorithm is stored in the apparatus 1 of FIG. 1 and in the programmable apparatus of FIG. 9.

L'exécution de ce programme permet de mettre en #uvre le procédé selon l'invention.  The execution of this program makes it possible to implement the method according to the invention.

L'algorithme comporte une première étape E400 d'initialisation du paramètre a à la borne inférieure de son intervalle de recherche à savoir, dans l'exemple considéré, la valeur amax/100.  The algorithm comprises a first step E400 of initialization of the parameter a to the lower limit of its search interval, namely, in the example considered, the value amax / 100.

Au cours de l'étape suivante E401, il est prévu d'effectuer un test afin de déterminer si le paramètre a est inférieur ou égal à la borne supérieure, [alpha]max, de son intervalle de recherche.  In the next step E401, a test is made to determine if the parameter a is less than or equal to the upper limit, [alpha] max, of its search interval.

Dans la négative, l'étape E401 est suivie d'une étape E402 qui met  If not, step E401 is followed by step E402 which sets

<Desc/Clms Page number 32><Desc / Clms Page number 32>

fin à l'algorithme.  end to the algorithm.

Au contraire, lorsque a est inférieur ou égal à la borne supérieure de son intervalle de recherche, alors l'étape suivante E403 prévoit d'initialiser le paramètre p à la valeur de la borne inférieure de son intervalle de recherche à savoir, dans l'exemple considéré, la valeur pmax/100.  On the contrary, when a is less than or equal to the upper bound of its search interval, then the next step E403 provides for initializing the parameter p to the value of the lower bound of its search interval, namely, in the example considered, the value pmax / 100.

Au cours de l'étape suivante E404, on procède à un test afin de déterminer si le paramètre p est inférieur ou égal à la borne supérieure de son intervalle de recherche, pmax.  In the next step E404, a test is made to determine if the parameter p is less than or equal to the upper bound of its search interval, pmax.

Dans la négative, on passe à l'étape suivante E405 qui prévoit d'incrémenter la valeur du paramètre a.  If not, go to the next step E405, which plans to increment the value of parameter a.

Dans l'exemple considéré, le pas d'incrémentation de ce paramètre est fixé à la valeur [alpha]max/100.  In the example considered, the step of incrementing this parameter is fixed at the value [alpha] max / 100.

L'étape E405 est ensuite suivie de l'étape E401 déjà décrite cidessus.  Step E405 is then followed by step E401 already described above.

Au contraire, lorsque le paramètre est inférieur ou égal à la borne supérieure de son intervalle de recherche, alors l'étape E404 est suivie d'une étape E406. Au cours de cette étape, il est prévu d'initialiser le paramètre y à la valeur de la borne inférieure de son intervalle de recherche, à savoir, dans l'exemple considéré, la valeur [gamma]max/100.  On the contrary, when the parameter is less than or equal to the upper bound of its search interval, then step E404 is followed by a step E406. During this step, it is expected to initialize the parameter y to the value of the lower limit of its search interval, namely, in the example considered, the value [gamma] max / 100.

Au cours de l'étape suivante E407, il est prévu d'effectuer un test afin de déterminer si le paramètre y est inférieur ou égal à la borne supérieure de son intervalle de recherche, ymax.  In the next step E407, it is intended to perform a test to determine whether the parameter y is less than or equal to the upper bound of its search interval, ymax.

Dans la négative, l'étape E407 est suivie d'une étape E408 au cours de laquelle on incrémente le paramètre ss suivant un pas d'incrémentation qui, dans l'exemple considéré est fixé à la valeur pmax/100.  If not, step E407 is followed by a step E408 in which the parameter ss is incremented according to an incrementing step which, in the example in question, is set to the value pmax / 100.

Cette étape est ensuite suivie de l'étape E404 déjà décrite ci-dessus.  This step is then followed by step E404 already described above.

Au contraire, si le paramètre y est inférieur ou égal à la borne supérieure de son intervalle de recherche, alors l'étape E407 est suivie d'une étape E409. Au cours de cette étape, on détermine la distance entre les points du nuage de points mentionné plus haut et l'ensemble des points obtenus en appliquant le modèle d'estimation de la distorsion selon l'invention.  On the other hand, if the parameter y is less than or equal to the upper bound of its search interval, then step E407 is followed by a step E409. During this step, the distance between the points of the cloud of points mentioned above and the set of points obtained is determined by applying the model for estimating the distortion according to the invention.

<Desc/Clms Page number 33> <Desc / Clms Page number 33>

Cette étape va être détaillée ci-après en référence à la figure 5.
Consécutivement à l'étape E409, l'étape E410 prévoit d'incrémenter le paramètre y suivant un pas d'incrémentation qui, dans l'exemple considéré, est fixé à la valeur ymax/100.
This step will be detailed below with reference to FIG.
Subsequent to step E409, step E410 provides for incrementing the parameter y according to an incrementing step which, in the example under consideration, is set to the value ymax / 100.

Cette étape est ensuite suivie de l'étape E407 déjà décrite ci-dessus.
On va maintenant décrire en référence à la figure 5 les opérations effectuées à l'étape E409 de l'algorithme de la figure 4. Cet algorithme illustre le processus mis en #uvre pour la détermination de la distance entre les points représentants des sous-nuages et les points distorsion moyenne/variance moyenne obtenus par le modèle d'estimation de la distorsion selon l'invention, pour un triplet de paramètres donnés.
This step is then followed by step E407 already described above.
The operations performed in step E409 of the algorithm of FIG. 4 will now be described with reference to FIG. 5. This algorithm illustrates the process implemented for determining the distance between the points representing sub-clouds. and the average distortion / average variance points obtained by the distortion estimation model according to the invention, for a given parameter triplet.

L'algorithme de la figure 5 comporte différentes instructions ou portions de code logiciel correspondant à des étapes du procédé selon l'invention.  The algorithm of FIG. 5 comprises different instructions or portions of software code corresponding to steps of the method according to the invention.

Le programme informatique basé sur cet algorithme est stocké dans l'appareil 1 de la figure 1 et dans l'appareil programmable de la figure 9.  The computer program based on this algorithm is stored in the apparatus 1 of FIG. 1 and in the programmable apparatus of FIG. 9.

L'exécution de ce programme permet ainsi de mettre en #uvre le procédé selon l'invention.  The execution of this program thus makes it possible to implement the method according to the invention.

L'algorithme débute par une étape E500 d'initialisation des variables n et Icumul à la valeur 0.  The algorithm starts with an initialization step E500 of the variables n and Icumul at the value 0.

La variable n servira au décompte des N, points qui seront traités dans cet algorithme et la variable tourna correspondra à la somme des distances entre les points.  The variable n will be used to count the N, points that will be processed in this algorithm and the variable turns will correspond to the sum of the distances between the points.

On notera toutefois qu'au lieu de calculer la distance entre chaque point du nuage de points à chaque point obtenu par le modèle de distorsion selon l'invention, il est possible de simplifier les opérations en divisant le nuage de points distorsion réelle / variance réelle en plusieurs sous-nuages comme le prévoit l'étape E501 de l'algorithme.  Note however that instead of calculating the distance between each point of the point cloud at each point obtained by the distortion model according to the invention, it is possible to simplify the operations by dividing the point cloud real distortion / actual variance in several sub-clouds as provided in step E501 of the algorithm.

Cette étape supplémentaire représente une amélioration par rapport au processus de calcul de distance minimale qui ne comporterait pas cette étape.  This additional step is an improvement over the minimum distance calculation process that would not include this step.

Pour ce faire, le nombre de sous-nuages Ni est fixé suivant un critère  To do this, the number of sub-clouds Ni is set according to a criterion

<Desc/Clms Page number 34><Desc / Clms Page number 34>

de réduction de la complexité calculatoire considérée.  reduction of computational complexity.

Dans l'exemple considéré, ce nombre est par exemple égal à 20.  In the example considered, this number is for example equal to 20.

On notera que chaque sous-nuage contient le même nombre de points Np/N,,, où le nombre Np représente le nombre de points distorsion/variance du nuage de points considéré.  Note that each sub-cloud contains the same number of points Np / N ,,, where the number Np represents the number of points distortion / variance of the point cloud considered.

On obtient les sous-nuages en parcourant l'ensemble des Np points représentés par des coordonnées de distorsion, variance dans le sens des variances croissantes.  The sub-clouds are obtained by traversing all the Np points represented by distortion coordinates, variance in the direction of the increasing variances.

Lorsqu'un nombre Np/N, de points ont été trouvés, alors un sousnuage est constitué et l'on recommence à dénombrer les points du nuage de points restants à partir de la variance courante en vue de constituer le sousnuage suivant.  When a number Np / N, of points have been found, then an undernum is constituted and one starts counting again the points of the cloud of points remaining from the current variance in order to constitute the following undernature.

Chaque sous-nuage de points est ensuite représenté par la variance moyenne et la distorsion moyenne calculées sur les points de ce sous-nuage et ces valeurs moyennes correspondent alors, pour chaque sous-nuage, à un point appelé point représentant de ce sous-nuage.  Each sub-cloud of points is then represented by the average variance and the average distortion calculated on the points of this sub-cloud and these mean values then correspond, for each sub-cloud, to a point called representative point of this sub-cloud. .

Ainsi, on déterminera ensuite, comme on le verra à l'étape ultérieure E504, la distance entre, d'une part, les points représentants des N, sous-nuages obtenus et, d'autre part, l'ensemble des points distorsion/variance obtenus par le modèle et correspondant aux moyennes des énergies de chaque sousnuage.  Thus, it will be determined later, as will be seen in the subsequent step E504, the distance between, on the one hand, the points representing the N, obtained sub-clouds and, on the other hand, the set of points distortion / variance obtained by the model and corresponding to the averages of the energies of each subnuage.

Ainsi, l'algorithme de recherche des paramètres est moins complexe à mettre en #uvre que si un calcul exhaustif de la distance de chaque point du nuage distorsion/variance à chaque point obtenu par le modèle devait être effectué.  Thus, the algorithm for searching the parameters is less complex to implement than if an exhaustive calculation of the distance of each point of the cloud distortion / variance at each point obtained by the model had to be performed.

Au cours de l'étape suivante E502, un test est pratiqué afin de déterminer si la variable n est inférieure à la valeur Ni .  In the next step E502, a test is performed to determine if the variable n is less than the value Ni.

Dans la négative, cette étape est suivie d'une étape E503 qui met fin à l'exécution de l'algorithme de la figure 5 et permet le changement d'un ou de plusieurs paramètres, comme le prévoient l'étape E410 et les étapes suivantes de la figure 4.  If not, this step is followed by a step E503 which ends the execution of the algorithm of FIG. 5 and allows the change of one or more parameters, as provided for in step E410 and the steps following of Figure 4.

Lorsque le résultat du test pratiqué à l'étape E502 est positif, alors  When the result of the test performed in step E502 is positive, then

<Desc/Clms Page number 35><Desc / Clms Page number 35>

cette étape est suivie d'une étape E504 au cours de laquelle on applique le modèle de distorsion normalisée selon l'invention à la variance Sn du sousnuage de points considéré.  this step is followed by a step E504 during which the standard distortion model according to the invention is applied to the variance Sn of the point underling considered.

On détermine ensuite la distance In donnée par la formule suivante : ln = #D (QP,Sn)-Dn(QP,Sn)#, où D(QP,Sn) et Dn(QP,Sn) sont respectivement la distorsion modélisée et la distorsion du représentant du sous-nuage de points pour la variance moyenne Sn de ce sous nuage de points.  We then determine the distance In given by the following formula: ln = #D (QP, Sn) -Dn (QP, Sn) #, where D (QP, Sn) and Dn (QP, Sn) are respectively the modeled distortion and the distortion of the representative of the sub-point cloud for the average variance Sn of this sub-point cloud.

Au cours de l'étape suivante E505, on effectue la somme de la distance Icumul et de la distance In qui a été déterminée à l'étape précédente.  In the next step E505, the sum of the distance Icumul and the distance In which has been determined in the previous step is made.

Au cours de l'étape suivante E506, on effectue une comparaison de la distance cumulée courante Icumul obtenue à l'étape E505 avec la valeur minimale de la distance cumulée qui a été déterminée avec un triplet de paramètres précédent.  In the next step E506, a comparison is made of the current cumulative distance Icumul obtained in step E505 with the minimum value of the cumulative distance that has been determined with a previous parameter triple.

Dans le cas où la distance cumulée courante est supérieure à la distance cumulée minimale Imin, et où [alpha] # /100 ou ssmax/100 ou [gamma] # [gamma]max/100, alors l'étape E506 est suivie d'une étape E507 qui met fin à la détermination de la distance et permet de prendre en considération de triplet de paramètres suivant.  In the case where the current cumulative distance is greater than the minimum cumulative distance Imin, and where [alpha] # / 100 or ssmax / 100 or [gamma] # [gamma] max / 100, then step E506 is followed by a step E507 that ends the determination of the distance and makes it possible to take into consideration the following triplet of parameters.

Au contraire, si Icumul est inférieur à Imin ou si

Figure img00350001

a = amax/100etp = Pmax/100ety = ymax/100 (première itération de l'algorithme), alors l'étape E506 est suivie d'une étape E508. On the contrary, if Icumul is inferior to Imin or if
Figure img00350001

a = amax / 100etp = Pmax / 100ety = ymax / 100 (first iteration of the algorithm), then the step E506 is followed by a step E508.

Au cours de cette étape, on effectue un test afin de vérifier si la distance cumulée a bien été déterminée sur les Ni points représentants des sous-nuages.  During this step, a test is performed to check whether the cumulative distance has been determined on the Ni points representing the sub-clouds.

Dans la négative, l'étape E508 est suivie d'une étape E509 qui prévoit d'incrémenter d'une unité la variable n afin de prendre en considération le point représentant du sous-nuage suivant.  If not, step E508 is followed by step E509 which increments variable n by one to account for the next sub-cloud representative point.

Cette étape est ensuite est suivie de l'étape E502 déjà décrite cidessus.  This step is then followed by step E502 already described above.

<Desc/Clms Page number 36> <Desc / Clms Page number 36>

Si, au contraire, les Ni points représentants ont été pris en compte dans cet algorithme, alors on passe à l'étape E510 qui prévoit de stocker les valeurs des paramètres courants a, ss, y dans les variables aopt, ssopt et yopt.  If, on the other hand, the Ni representative points have been taken into account in this algorithm, then we go to step E510 which plans to store the values of the current parameters a, ss, y in the variables aopt, ssopt and yopt.

Au cours de cette étape, la valeur minimale Inim de la distance cumulée Icumul obtenue avec le triplet de paramètres précédent prend la valeur de la distance cumulée courante qui vient d'être déterminée.  During this step, the minimum value Inim of the cumulative distance Icumul obtained with the preceding parameter triple takes the value of the current cumulative distance which has just been determined.

Ceci met fin à l'algorithme de la figure 5.  This ends the algorithm of Figure 5.

Il convient de noter que ce processus est ensuite exécuté de nouveau pour les macro-blocs codés suivant le mode de codage Intra. Ainsi, au terme de la recherche des paramètres permettant de minimiser la distance entre le nuage de points réels et le nuage de points modélisés, on disposera de deux triplets de paramètres, l'un spécifique au mode de codage Intra et l'autre spécifique au mode de codage Inter.  It should be noted that this process is then performed again for the coded macroblocks according to the Intra coding mode. Thus, at the end of the search for the parameters making it possible to minimize the distance between the cloud of real points and the cloud of modeled points, two triplets of parameters will be available, one specific to the Intra coding mode and the other one specific to the Intra coding mode. Inter coding mode.

Comme décrit en référence aux figures 3 à 5, deux triplets de paramètres (a, ss, y) du modèle de distorsion ont été déterminés pour une séquence d'entraînement donnée de l'ensemble des K séquences d'entraînement.  As described with reference to FIGS. 3 to 5, two parameter triplets (a, ss, y) of the distortion model have been determined for a given drive sequence of all the K drive sequences.

Les algorithmes des figures 3 à 5 sont exécutés de manière itérative pour chacune des K séquences d'entraînement.  The algorithms of FIGS. 3 to 5 are performed iteratively for each of the K drive sequences.

Une fois les deux triplets de paramètres déterminés pour une séquence d'entraînement, on vise à obtenir à partir de cette séquence des informations représentatives de son contenu (descripteurs).  Once the two parameter triplets have been determined for a training sequence, it is intended to obtain from this sequence information representative of its content (descriptors).

Il est nécessaire de définir des descripteurs pertinents, capables de représenter les informations essentielles de la séquence. On propose, par exemple, d'utiliser deux descripteurs : le premier, la variance moyenne de la séquence, représentera l'activité spatiale de la séquence alors que le second, l'erreur quadratique moyenne entre deux images successives, notée EQM, représentera l'activité temporelle de cette séquence.  It is necessary to define relevant descriptors capable of representing the essential information of the sequence. It is proposed, for example, to use two descriptors: the first, the average variance of the sequence, will represent the spatial activity of the sequence while the second, the mean squared error between two successive images, denoted EQM, will represent the temporal activity of this sequence.

Notons que d'autres descripteurs peuvent être utilisés et que le nombre de descripteurs peut être augmenté sans pour autant modifier le principe de l'invention.  Note that other descriptors can be used and that the number of descriptors can be increased without changing the principle of the invention.

<Desc/Clms Page number 37> <Desc / Clms Page number 37>

Par ailleurs, un seul descripteur peut, dans certains cas, suffire pour être représentatif d'une séquence d'images.  Moreover, a single descriptor may, in certain cases, be sufficient to be representative of a sequence of images.

Pour obtenir l'information de variance moyenne, on utilise les informations de variance par macro-bloc qui sont stockées dans l'unité de stockage 10 de la figure 1. Une moyenne de la variance sera ensuite calculée sur tous les macro-blocs codés de la séquence. Cette information constitue le premier descripteur de la séquence d'entraînement considérée et est stockée dans l'unité de stockage 3 de la figure 1.  To obtain the average variance information, the macro-block variance information is used which is stored in the storage unit 10 of FIG. 1. An average of the variance will then be computed on all the coded macroblocks of FIG. the sequence. This information constitutes the first descriptor of the training sequence considered and is stored in the storage unit 3 of FIG.

L'information d'erreur quadratique moyenne (EQM) est calculée entre deux images successives de la séquence originale au cours du codage à condition que l'image courante ne soit pas la première. En fin de codage, les NI -1informations d'erreur quadratique moyenne obtenues sont moyennées.  The mean squared error (MSE) information is computed between two successive images of the original sequence during encoding provided that the current image is not the first one. At the end of the coding, the NI -1 average quadratic error information obtained is averaged.

Cette information constitue alors le second descripteur de la séquence d'entraînement considérée et est stockée dans l'unité de stockage 3 de la figure 1. This information then constitutes the second descriptor of the training sequence considered and is stored in the storage unit 3 of FIG.

On réitère ces opérations pour chaque séquence d'entraînement de l'ensemble des K séquences d'entraînement.  These operations are repeated for each training sequence of all the K training sequences.

Comme explicité ci-dessus, on vient ainsi de constituer l'ensemble des séquences d'entraînement (séquences de référence) en associant à chacune des séquences, d'une part, des valeurs de paramètres du modèle de distorsion adaptées à la séquence considérée (deux triplets de paramètres) et, d'autre part, deux descripteurs (variance moyenne et erreur quadratique moyenne) de cette séquence.  As explained above, all the training sequences (reference sequences) have thus been constituted by associating with each of the sequences, on the one hand, parameter values of the distortion model adapted to the sequence under consideration ( two triplets of parameters) and, secondly, two descriptors (mean variance and mean squared error) of this sequence.

On a ainsi pu classer les séquences d'entraînement de l'ensemble suivant leur contenu.  It was thus possible to classify the training sequences of the set according to their content.

Chaque séquence est représentée dans un espace à deux dimensions : la première dimension est donnée par la variance moyenne de la séquence et la seconde dimension est donnée par l'EQM moyenne entre deux images successives de la séquence.  Each sequence is represented in a two-dimensional space: the first dimension is given by the average variance of the sequence and the second dimension is given by the average MSE between two successive images of the sequence.

L'objectif de la description du procédé selon l'invention qui va suivre est de rechercher parmi les séquences d'entraînement de l'ensemble, celle qui se rapproche le plus de la séquence courante à coder. On considérera alors  The objective of the description of the method according to the invention which follows is to search among the training sequences of the set, that which is closest to the current sequence to be coded. We will then consider

<Desc/Clms Page number 38><Desc / Clms Page number 38>

qu'une bonne approximation des paramètres du modèle de la séquence courante peut être donnée par les paramètres de la séquence sélectionnée.  that a good approximation of the parameters of the model of the current sequence can be given by the parameters of the selected sequence.

Une représentation graphique de cette procédure de sélection est donnée par la figure 6. Dans cette figure la séquence 11 a été sélectionnée comme étant la plus proche de la séquence courante parmi un ensemble de onze séquences d'entraînement.  A graphic representation of this selection procedure is given in FIG. 6. In this figure, the sequence 11 has been selected as being closest to the current sequence among a set of eleven training sequences.

L'analyse de la séquence d'images courante selon l'invention et qui vise à déterminer les paramètres du modèle de distorsion adaptés à celle-ci est mise en #uvre au cours du codage de la séquence courante et est illustrée par l'algorithme de la figure 7. Par exemple, la séquence courante est codée sous une contrainte de débit Rc, exprimée en bits/s, et qui est transformée en une contrainte par image RI = Rc/Fr, où Fr est la fréquence temporelle de la séquence.  The analysis of the current image sequence according to the invention and which aims to determine the parameters of the distortion model adapted to it is implemented during the coding of the current sequence and is illustrated by the algorithm of FIG. 7. For example, the current sequence is coded under a rate constraint Rc, expressed in bits / s, and which is transformed into an image constraint RI = Rc / Fr, where Fr is the temporal frequency of the sequence .

On suppose que la séquence courante est stockée dans l'unité de stockage 6 de la figure 1 sous format YUV et que sa fréquence temporelle est de 30 Im/s. On suppose également que le processus de codage conservera la fréquence temporelle de la séquence à coder et la contrainte de débit RI sera celle utilisée dans l'algorithme de régulation de débit.  It is assumed that the current sequence is stored in the storage unit 6 of FIG. 1 in YUV format and that its temporal frequency is 30 Im / s. It is also assumed that the coding process will retain the time frequency of the sequence to be encoded and the rate constraint RI will be that used in the rate control algorithm.

L'algorithme de la figure 7 comporte différentes instructions ou portions de code logiciel correspondant à des étapes du procédé selon l'invention qui sont effectuées en temps réel, contrairement aux algorithmes des figures 3 à 5 (recherche des paramètres pour les séquences d'entraînement) et à l'obtention des descripteurs des séquences d'entraînement.  The algorithm of FIG. 7 comprises various instructions or portions of software code corresponding to steps of the method according to the invention which are carried out in real time, unlike the algorithms of FIGS. 3 to 5 (search parameters for the training sequences ) and obtaining the descriptors of the training sequences.

Le programme informatique noté "Prog" qui est basé sur cet algorithme est mémorisé dans l'unité de recherche 9 de la figure 1 et exécuté par l'unité 9 sous le contrôle de l'unité de commande 11, ce qui permet ainsi de mettre en #uvre le procédé selon l'invention.  The computer program noted "Prog" which is based on this algorithm is stored in the search unit 9 of Figure 1 and executed by the unit 9 under the control of the control unit 11, which allows to put implement the method according to the invention.

Ce programme est également stocké dans l'appareil de la figure 9.  This program is also stored in the apparatus of Figure 9.

L'algorithme comporte une première étape E700 d'initialisation de la variable nframe à 0. Cette variable sert au décompte des images codées.  The algorithm comprises a first step E700 for initializing the nframe variable to 0. This variable is used to count the coded images.

<Desc/Clms Page number 39> <Desc / Clms Page number 39>

L'étape E700 est suivie de l'étape E701 qui extrait la nframe @eme image de la séquence.  Step E700 is followed by step E701 which extracts the nframe @th image from the sequence.

L'étape E701 est suivie de l'étape E702 qui vérifie le nombre d'images codées. Si, par exemple, un nombre suffisant Nframe d'images ont été codées (ce nombre est déterminé empiriquement et est, par exemple, égal à 30), on considère que le nombre d'observations distorsion/variance obtenues est suffisant pour mettre en oeuvre la recherche des paramètres adaptés à la séquence courante.  Step E701 is followed by step E702 which verifies the number of coded pictures. If, for example, a sufficient number of images have been encoded (this number is determined empirically and is, for example, equal to 30), it is considered that the number of distortion / variance observations obtained is sufficient to implement search for parameters adapted to the current sequence.

Dans ce cas, l'étape E702 est alors suivie de l'étape E703 qui adapte le modèle à la séquence courante en appliquant les algorithmes des figures 4 et 5 décrits ci-dessus.  In this case, the step E702 is then followed by the step E703 which adapts the model to the current sequence by applying the algorithms of FIGS. 4 and 5 described above.

L'étape E703 est suivie de l'étape E704 qui code l'image courante.  Step E703 is followed by step E704 which encodes the current image.

L'algorithme de régulation de débit utilise les paramètres du modèle définis à l'étape E704. Notons que l'étape E704 est optionnelle et ne sera mise en #uvre que si l'appareil réalisant le codage dispose des ressources suffisantes pour effectuer la recherche des paramètres comme prévu aux algorithmes des figures 4 et 5. Dans le cas contraire, l'étape E702 sera toujours suivie de l'étape E705. The flow control algorithm uses the model parameters defined in step E704. Note that the step E704 is optional and will only be implemented if the apparatus performing the coding has sufficient resources to perform the search parameters as provided for the algorithms of Figures 4 and 5. In the opposite case, the step E702 will always be followed by step E705.

Si le nombre d'images codées est inférieur à Nframe' l'étape E702 est suivie de l'étape E705 qui vérifie le numéro de l'image courante.  If the number of coded pictures is smaller than Nframe, step E702 is followed by step E705 which checks the number of the current picture.

Si ce numéro est égal à 0, on passe directement au codage de l'image courante à l'étape E704 et, par exemple, il n'y aura pas de régulation de débit pour cette image. Celle-ci sera codée en mode I avec un paramètre de quantification égal à 13.  If this number is 0, we go directly to the coding of the current image in step E704 and, for example, there will be no flow control for this image. This will be coded in I mode with a quantization parameter equal to 13.

Si, au contraire, le numéro de l'image codée est différent de 0, alors l'étape E705 est suivie de l'étape E706 qui calcule la variance Vcurr de l'image courante.  If, on the contrary, the number of the coded picture is different from 0, then the step E705 is followed by the step E706 which calculates the variance Vcurr of the current picture.

L'étape E706 est suivie de l'étape E707 qui calcule l'erreur quadratique moyenne,Ecurr, entre l'image courante et l'image qui la précède.  Step E706 is followed by step E707 which calculates the mean squared error, Ecurr, between the current image and the image that precedes it.

Les étapes E706 et E707 visent à obtenir des informations représentatives de la séquence courante.  Steps E706 and E707 aim to obtain information representative of the current sequence.

<Desc/Clms Page number 40> <Desc / Clms Page number 40>

L'étape E707 est suivie de l'étape E708 qui recherche la séquence d'entraînement de l'ensemble constitué des K séquences d'entraînement qui est la plus proche de la séquence courante du point de vue du contenu.  Step E707 is followed by step E708 which searches for the training sequence of the set of K drive sequences that is closest to the current sequence from the point of view of the content.

Le détail de cette étape est fourni par la description qui suit, faite en référence à la figure 8 qui illustre un algorithme complétant celui de la figure 7.  The detail of this step is provided by the description which follows, made with reference to FIG. 8 which illustrates an algorithm completing that of FIG. 7.

L'algorithme de la figure 8 comporte une première étape E800 d'initialisation des variables Dmun' n et Idopt qui représentent respectivement la distance minimale entre une séquence d'entraînement de l'ensemble et la séquence courante, le numéro de la séquence d'entraînement à laquelle est comparée la séquence courante et l'identificateur de la séquence d'entraînement minimisant la distance à la séquence courante.  The algorithm of FIG. 8 comprises a first initialization step E800 of the variables Dmun 'n and Idopt which respectively represent the minimum distance between a training sequence of the set and the current sequence, the number of the sequence of which is compared with the current sequence and the identifier of the training sequence minimizing the distance to the current sequence.

Notons que dans l'exemple de réalisation de l'invention, la métrique de distance utilisée est la distance L2 calculée suivant la formule suivante :

Figure img00400001

où Vn et En sont respectivement la variance et l'erreur quadratique moyenne de la séquence d'entraînement (séquence testée) à laquelle la séquence courante est comparée et qui sont stockées dans l'unité de stockage 3 de la figure 1. Note that in the exemplary embodiment of the invention, the distance metric used is the distance L2 calculated according to the following formula:
Figure img00400001

where Vn and En are respectively the variance and the mean squared error of the training sequence (tested sequence) to which the current sequence is compared and which are stored in the storage unit 3 of Figure 1.

L'étape E800 est suivie de l'étape E801 qui calcule, selon la formule précitée, la distance Dn entre la séquence d'entraînement testée et la séquence courante.  Step E800 is followed by step E801 which calculates, according to the above formula, the distance Dn between the tested training sequence and the current sequence.

L'étape E801 est suivie de l'étape E802 qui vérifie si la distance Dn est inférieure à Dmun #
Dans l'affirmative, l'étape E802 est suivie de l'étape E803 au cours de laquelle la variable Idopt prend la valeur n et Dmun prend la valeur de Dn qui vient d'être déterminée.
Step E801 is followed by step E802 which checks if distance Dn is less than Dmun #
If so, step E802 is followed by step E803 in which the variable Idopt takes the value n and Dmun takes the value of Dn just determined.

L'étape E802 et l'étape E803 sont toutes deux suivies de l'étape E804 qui teste si les K séquences d'entraînement ont été testées.  Step E802 and step E803 are both followed by step E804 which tests whether the K drive sequences have been tested.

Dans la négative, l'étape E804 est suivie de l'étape E805 qui incrémente la variable n d'une unité pour passer à la séquence d'entraînement suivante.  If not, step E804 is followed by step E805 which increments variable n by one unit to proceed to the next training sequence.

<Desc/Clms Page number 41> <Desc / Clms Page number 41>

L'étape E805 est alors suivie de l'étape E801 déjà décrite.  Step E805 is then followed by step E801 already described.

Si toutes les séquences ont été testées, il est mis fin à l'algorithme de recherche de la figure 8 par une étape E806.  If all the sequences have been tested, the search algorithm of FIG. 8 is terminated by a step E806.

Au cours de cette étape, les paramètres du modèle de la séquence d'entraînement qui ont minimisé la distance Dmun (séquence identifiée par la variable Idopt ) sont affectés à la séquence courante.  During this step, the parameters of the model of the training sequence which minimized the distance Dmun (sequence identified by the variable Idopt) are assigned to the current sequence.

On détermine ainsi de façon adaptée à la séquence courante les paramètres du modèle d'estimation de la distorsion lorsque l'on dispose d'un nombre d'observations sur la séquence courante à coder insuffisant, voire nul.  The parameters of the distortion estimation model are thus determined in a manner adapted to the current sequence when there is a number of observations on the current sequence to be coded that is insufficient or even nil.

De retour à la figure 7, l'étape E708 est suivie de l'étape E704 déjà décrite ci-dessus qui procède au codage de l'image courante. Dans ce cas, l'algorithme de régulation de débit utilise le modèle de distorsion avec les paramètres définis à l'étape E708 (figure 8).  Returning to FIG. 7, step E708 is followed by step E704 already described above which proceeds to coding the current image. In this case, the rate control algorithm uses the distortion model with the parameters defined in step E708 (FIG. 8).

Dans tous les cas, l'étape E704 est suivie de l'étape E709 qui vérifie le nombre d'images codées.  In any case, step E704 is followed by step E709 which verifies the number of coded pictures.

Si toutes les images ont été codées, l'algorithme prend fin à l'étape E710.  If all the images have been encoded, the algorithm ends in step E710.

Dans le cas contraire, l'étape E709 est suivie de l'étape E711 qui incrémente la variable Nframe d'une unité pour passer à l'image suivante.  In the opposite case, step E709 is followed by step E711 which increments the Nframe variable by one unit to proceed to the next image.

L'étape E711est alors suivie de l'étape E701 déjà décrite ci-dessus.  Step E711 is then followed by step E701 already described above.

En référence à la figure 9, est décrit un exemple d'appareil programmable mettant en oeuvre l'invention. Cet appareil est adapté à traiter des séquences d'images.  With reference to FIG. 9, an example of a programmable apparatus embodying the invention is described. This device is suitable for processing image sequences.

Le serveur de la figure 1 prend, par exemple, la forme de l'appareil de la figure 9 qui inclut un dispositif selon l'invention, c'est-à-dire possédant tous les moyens nécessaires à la mise en #uvre d'exemples de réalisation de l'invention (moyens d'obtention d'informations représentatives d'une séquence courante, moyens de comparaison d'informations, moyens de sélection de la séquence d'entraînement la plus proche, moyens d'affectation des valeurs de paramètres), ou constitue lui-même un tel dispositif selon l'invention.  The server of FIG. 1 takes, for example, the shape of the apparatus of FIG. 9 which includes a device according to the invention, that is to say having all the means necessary for the implementation of Embodiments of the invention (means for obtaining information representative of a current sequence, means for comparing information, means for selecting the nearest training sequence, means for assigning parameter values ), or itself constitutes such a device according to the invention.

Selon le mode de réalisation choisi et représenté à la figure 9, un appareil mettant en oeuvre l'invention est par exemple un micro-ordinateur 500  According to the embodiment chosen and shown in FIG. 9, an apparatus embodying the invention is for example a microcomputer 500

<Desc/Clms Page number 42><Desc / Clms Page number 42>

ou une station de travail connecté à différents périphériques, par exemple une caméra numérique 501 (ou un scanner, ou tout moyen d'acquisition ou de stockage d'image) reliée à une carte graphique et fournissant à l'appareil des données vidéo à modéliser et à coder. L'appareil 500 comporte un bus de communication 502 auquel sont reliés : - une unité centrale de traitement 503 (microprocesseur), qui exerce la fonction de l'unité de commande 11 de la figure 1, - une mémoire morte 504, pouvant comporter le programme "Prog" qui est basé sur les algorithmes des figures 2a, 2b, 3 à 5,7 et 8, - une mémoire vive 506, comportant des registres 507 adaptés à enregistrer des variables créées et modifiées au cours de l'exécution du programme précité et notamment les variables a, ss, y, aopt, ssopt, [gamma]opt, tourna Imin, n, amine [alpha]max, ssmin, ssmax, [gamma]min, Ymax, Ni, TAB, D(QP,Sn), Dn(QP,Sn), QP, Sn , Dmin, Dn, Vn, En, Vcurr, Ecurr, nframe, Nframe, K, Idopt et Nmax mentionnées en référence aux figures précédentes, - un écran 508 permettant de visualiser les données à traiter et/ou de servir d'interface graphique avec l'utilisateur qui pourra interagir avec le programme selon l'invention, à l'aide d'un clavier 510 ou de tout autre moyen tel qu'un dispositif de pointage non représenté, comme par exemple une souris ou un crayon optique, - un disque dur 512 pouvant comporter le programme "Prog" précité, - un lecteur de disquette 514 adapté à recevoir une disquette 516 et à y lire ou à y écrire des données, - une interface de communication 518 reliée à un réseau de communication 520, par exemple le réseau Internet, l'interface étant apte à transmettre et à recevoir des données.  or a workstation connected to different peripherals, for example a digital camera 501 (or a scanner, or any means of acquiring or storing an image) connected to a graphics card and supplying the device with video data to be modeled and to code. The apparatus 500 comprises a communication bus 502 to which are connected: a central processing unit 503 (microprocessor), which performs the function of the control unit 11 of FIG. 1, a read-only memory 504, which can comprise the program "Prog" which is based on the algorithms of FIGS. 2a, 2b, 3 to 5.7 and 8, - a random access memory 506, comprising registers 507 adapted to record variables created and modified during the execution of the program above, and in particular the variables a, ss, y, aopt, ssopt, [gamma] opt, turn Imin, n, amine [alpha] max, ssmin, ssmax, [gamma] min, Ymax, Ni, TAB, D (QP, Sn), Dn (QP, Sn), QP, Sn, Dmin, Dn, Vn, En, Vcurr, Ecurr, nframe, Nframe, K, Idopt and Nmax mentioned with reference to the preceding figures, - a screen 508 making it possible to visualize the data to be processed and / or to act as a graphical interface with the user who can interact with the program according to the invention, using a keyboard 510 or any other means such as a pointing device, not shown, such as for example a mouse or an optical pen, a hard disk 512 which may comprise the aforementioned "Prog" program, a floppy disk drive 514 adapted to receive a floppy disk 516, and read or write data to it, - a communication interface 518 connected to a communication network 520, for example the Internet network, the interface being able to transmit and receive data.

Le bus de communication permet la communication et l'interopérabilité entre les différents éléments inclus dans le micro-ordinateur 500 ou reliés à lui. La représentation du bus n'est pas limitative et, notamment, l'unité centrale est susceptible de communiquer des instructions à tout élément  The communication bus allows communication and interoperability between the various elements included in the microcomputer 500 or connected to it. The representation of the bus is not limiting and, in particular, the central unit is able to communicate instructions to any element

<Desc/Clms Page number 43><Desc / Clms Page number 43>

du micro-ordinateur 500 directement ou par l'intermédiaire d'un autre élément du micro-ordinateur 500.  of the microcomputer 500 directly or via another element of the microcomputer 500.

Le code exécutable du programme noté "Prog" permettant à l'appareil programmable de mettre en #uvre les procédés de modélisation de la distorsion des séquences d'entraînement (figures 3 à 5), d'adaptation du modèle à une séquence d'images courante (figures 7 et 8), de codage/décodage (figures 2a et 2b) selon l'invention, peut être stocké par exemple dans le disque dur 512 ou en mémoire morte 504 comme représenté sur la figure 9.  The executable code of the program denoted "Prog" allowing the programmable apparatus to implement the methods for modeling the distortion of the training sequences (FIGS. 3 to 5), of adapting the model to a sequence of images current (FIGS. 7 and 8), coding / decoding (FIGS. 2a and 2b) according to the invention, can be stored for example in the hard disk 512 or in the read-only memory 504 as represented in FIG. 9.

Bien qu'un seul programme soit identifié, il est possible d'avoir plusieurs programmes ou sous programmes pour mettre en #uvre l'invention.  Although only one program is identified, it is possible to have several programs or sub programs to implement the invention.

Selon une variante, la disquette 516, peut contenir des données compressées et stockées ainsi que le code exécutable du ou des programmes selon l'invention qui, une fois lu par l'appareil 500, sera stocké dans le disque dur 512.  According to one variant, the diskette 516 may contain compressed and stored data as well as the executable code of the program or programs according to the invention which, once read by the apparatus 500, will be stored in the hard disk 512.

En seconde variante, le code exécutable du ou des programmes pourra être reçu par l'intermédiaire du réseau de communication 520, via l'interface 518, pour être stocké de façon identique à celle décrite précédemment.  In the second variant, the executable code of the program or programs may be received via the communication network 520, via the interface 518, to be stored identically to that described above.

Les disquettes peuvent être remplacées par tout support d'information tel que, par exemple, un disque compact (CD-ROM) ou une carte mémoire. De manière générale, un moyen de stockage d'information, lisible par un ordinateur ou par un microprocesseur, intégré ou non à l'appareil, éventuellement amovible, est adapté à mémoriser un programme dont l'exécution permet la mise en #uvre du procédé selon l'invention.  Floppies can be replaced by any information medium such as, for example, a compact disc (CD-ROM) or a memory card. In general, an information storage means, readable by a computer or by a microprocessor, integrated or not, possibly removable, is adapted to store a program whose execution allows the implementation of the method according to the invention.

De manière plus générale, le programme pourra être chargé dans un des moyens de stockage de l'appareil 500 avant d'être exécuté.  More generally, the program can be loaded into one of the storage means of the device 500 before being executed.

L'unité centrale 503 va commander et diriger l'exécution des instructions ou portions de code logiciel du ou des programmes selon l'invention, instructions qui sont stockées dans le disque dur 512 ou la mémoire morte 504 ou bien dans les autres éléments de stockage précités. Lors de la mise sous tension, le ou les programmes qui sont stockés dans une mémoire  The central unit 503 will control and direct the execution of the instructions or portions of software code of the program or programs according to the invention, which instructions are stored in the hard disk 512 or the read only memory 504 or else in the other storage elements. supra. When powering up, the program (s) stored in a memory

<Desc/Clms Page number 44><Desc / Clms Page number 44>

non volatile, par exemple le disque dur 512 ou la mémoire ROM 504, sont transférés dans la mémoire vive RAM 506 qui contiendra alors le code exécutable du ou des programmes selon l'invention, ainsi que des registres pour mémoriser les variables nécessaires à la mise en #uvre de l'invention.  nonvolatile, for example the hard disk 512 or the ROM 504, are transferred into the RAM RAM 506 which will then contain the executable code of the program or programs according to the invention, as well as registers for storing the variables necessary for the implementation in work of the invention.

Il convient de noter que l'appareil de traitement de données comportant un dispositif selon l'invention peut également être un appareil programmé.  It should be noted that the data processing apparatus comprising a device according to the invention may also be a programmed apparatus.

Cet appareil contient alors le code du ou des programmes informatiques par exemple figé dans un circuit intégré à application spécifique (ASIC).  This device then contains the code of the computer program or programs for example frozen in a specific application integrated circuit (ASIC).

On notera que l'appareil de la figure 9 qui contient le programme "Prog" précédemment mentionné peut être le dispositif 2 de la figure 1. It will be noted that the apparatus of FIG. 9 which contains the program "Prog" previously mentioned may be the device 2 of FIG.

Claims (26)

REVENDICATIONS 1. Procédé de détermination de paramètres d'un modèle d'estimation de la distorsion adaptés à une séquence d'images courante à coder, caractérisé en ce que, à chaque séquence d'images d'un ensemble de séquences d'images de référence sont associées des informations représentatives de la séquence d'images considérée et des valeurs de paramètres du modèle de distorsion adaptées à cette séquence d'images, le procédé comportant les étapes suivantes : - obtention d'informations représentatives de la séquence d'images courante, - comparaison d'informations représentatives de la séquence d'images courante avec des informations représentatives d'au moins certaines des séquences d'images de référence de l'ensemble, - en fonction du résultat de la comparaison, sélection de la séquence d'images de référence dont les informations représentatives sont les plus proches de celles de la séquence d'images courante, - affectation à la séquence d'images courante des valeurs de paramètres du modèle de distorsion associées à la séquence d'images de référence sélectionnée. A method of determining parameters of a distortion estimation model adapted to a current image sequence to be encoded, characterized in that, at each image sequence of a set of reference image sequences associated information representative of the image sequence considered and the distortion model parameter values adapted to this sequence of images, the method comprising the following steps: obtaining information representative of the current image sequence, comparing information representative of the current image sequence with information representative of at least some of the reference image sequences of the set, according to the result of the comparison, selecting the image sequence reference whose representative information is closest to that of the current image sequence, - assignment to the current image sequence Te distortion model parameter values associated with the selected reference image sequence. 2. Procédé selon la revendication 1, caractérisé en ce que les séquences d'images de référence sont des séquences d'images d'entraînement, c'est-à-dire des séquences d'images de test qui forment un ensemble suffisamment hétérogène pour représenter sensiblement tous les types de séquences d'images rencontrés en pratique.  2. Method according to claim 1, characterized in that the reference image sequences are sequences of training images, that is to say sequences of test images which form a sufficiently heterogeneous set for represent substantially all types of image sequences encountered in practice. 3. Procédé selon la revendication 1 ou 2, caractérisé en ce que l'étape de comparaison prévoit de mesurer une distance entre la séquence d'images courante et au moins certaines des séquences d'images de référence de l'ensemble dans un espace de dimension n, où chaque séquence d'images est représentée dans cet espace par n coordonnées correspondant chacune à des informations de type différent qui sont représentatives de la séquence considérée.  3. Method according to claim 1 or 2, characterized in that the comparison step provides for measuring a distance between the current image sequence and at least some of the reference image sequences of the set in a test space. dimension n, where each image sequence is represented in this space by n coordinates each corresponding to information of different type which are representative of the sequence in question. <Desc/Clms Page number 46> <Desc / Clms Page number 46> 4. Procédé selon la revendication 3, caractérisé en ce que la séquence d'images de référence dont les informations représentatives sont les plus proches de celles de la séquence d'images courante est celle qui minimise la distance mesurée entre la séquence d'images courante et les séquences d'images de référence considérées.  4. Method according to claim 3, characterized in that the reference image sequence whose representative information is closest to that of the current image sequence is that which minimizes the distance measured between the current image sequence and the reference image sequences considered. 5. Procédé selon l'une des revendications 1 à 4, caractérisé en ce que les informations représentatives d'une séquence d'images sont des informations représentatives de l'activité spatiale et/ou temporelle de la séquence.  5. Method according to one of claims 1 to 4, characterized in that the information representative of a sequence of images are information representative of the spatial and / or temporal activity of the sequence. 6. Procédé selon la revendication 5, caractérisé en ce que les informations représentatives de l'activité spatiale sont la variance de la séquence d'images.  6. Method according to claim 5, characterized in that the information representative of the spatial activity is the variance of the image sequence. 7. Procédé selon la revendication 5, caractérisé en ce que les informations représentatives de l'activité temporelle sont une valeur moyenne E des différentes valeurs d'erreur quadratique moyenne calculées entre plusieurs couples d'images successives de la séquence d'images.  7. Method according to claim 5, characterized in that the information representative of the temporal activity is an average value E of the different mean squared error values calculated between several pairs of successive images of the image sequence. 8. Procédé selon les revendications 3 et 5 à 7, caractérisé en ce que la distance Dn mesurée entre, d'une part, la séquence d'images courante représentée par une variance Vcurr et une erreur quadratique moyenne Ecurr et, d'autre part, une séquence d'images de référence représentée par une variance Vn et une erreur quadratique moyenne En s'exprime par la formule :  8. Method according to claims 3 and 5 to 7, characterized in that the distance Dn measured between, on the one hand, the current image sequence represented by a variance Vcurr and a squared mean error Ecurr and on the other hand , a reference image sequence represented by a variance Vn and a mean squared error En is expressed by the formula:
Figure img00460001
Figure img00460001
9. Procédé selon l'une des revendications 1 à 8, caractérisé en ce que le modèle d'estimation de la distorsion comporte au moins un opérateur logarithmique pondéré par au moins un opérateur exponentiel. 9. Method according to one of claims 1 to 8, characterized in that the distortion estimation model comprises at least one logarithmic operator weighted by at least one exponential operator. 10. Procédé selon la revendication 9, caractérisé en ce que le modèle pondéré d'estimation de la distorsion s'applique à des informations représentatives de la variance d'un bloc de données de l'image.  The method according to claim 9, characterized in that the weighted distortion estimation model applies to information representative of the variance of a data block of the image. 11. Procédé selon la revendication 10, caractérisé en ce que le modèle d'estimation de la distorsion pondéré s'écrit :  11. The method as claimed in claim 10, characterized in that the model for estimating the weighted distortion is written as follows:
Figure img00460002
Figure img00460002
où a, ss, y sont les paramètres du modèle et S est la variance d'un bloc de  where a, ss, y are the parameters of the model and S is the variance of a block of <Desc/Clms Page number 47> <Desc / Clms Page number 47> où QP représente un paramètre de quantification du bloc de données considéré.  where QP represents a quantization parameter of the data block under consideration.
Figure img00470001
Figure img00470001
5 10 15 20 25 30 données de l'image, S étant la variance normalisée et s'écrivant : 5 10 15 20 25 30 image data, S being the normalized variance and with:
12. Dispositif de détermination de paramètres d'un modèle d'estimation de la distorsion adaptés à une séquence d'images courante à coder, caractérisé en ce que, à chaque séquence d'images d'un ensemble de séquences d'images de référence étant associées des informations représentatives de la séquence d'images considérée et des valeurs de paramètres du modèle de distorsion adaptées à cette séquence d'images, le dispositif comporte : - des moyens d'obtention d'informations représentatives de la séquence d'images courante, - des moyens de comparaison d'informations représentatives de la séquence d'images courante avec des informations représentatives d'au moins certaines des séquences d'images de référence de l'ensemble, - des moyens de sélection de la séquence d'images de référence dont les informations représentatives sont les plus proches de celles de la séquence d'images courante en fonction du résultat de la comparaison.  12. Device for determining parameters of a distortion estimation model adapted to a current image sequence to be encoded, characterized in that, at each image sequence of a set of reference image sequences associating information representative of the image sequence considered and the parameter values of the distortion model adapted to this sequence of images, the device comprises: means for obtaining information representative of the current image sequence means for comparing information representative of the current image sequence with information representative of at least some of the reference image sequences of the set; means for selecting the sequence of image images; reference whose representative information is closest to that of the current image sequence based on the result of the comparison. - des moyens d'affectation à la séquence d'images courante des valeurs de paramètres du modèle de distorsion associées à la séquence d'images de référence sélectionnée.  means for assigning to the current image sequence the parameter values of the distortion model associated with the selected reference image sequence. 13. Dispositif selon la revendication 12, caractérisé en ce que les séquences d'images de référence sont des séquences d'images d'entraînement, c'est-à-dire des séquences d'images de test qui forment un ensemble suffisamment hétérogène pour représenter sensiblement tous les types de séquences d'images rencontrés en pratique.  13. Device according to claim 12, characterized in that the reference image sequences are sequences of training images, that is to say sequences of test images which form a sufficiently heterogeneous set for represent substantially all types of image sequences encountered in practice. 14. Dispositif selon la revendication 12 ou 13, caractérisé en ce que les moyens de comparaison prévoient de mesurer une distance entre la séquence d'images courante et au moins certaines des séquences d'images de référence de l'ensemble dans un espace de dimension n, où chaque séquence  Device according to Claim 12 or 13, characterized in that the comparison means provide for measuring a distance between the current image sequence and at least some of the reference image sequences of the set in a dimension space. n, where each sequence <Desc/Clms Page number 48><Desc / Clms Page number 48> d'images est représentée dans cet espace par n coordonnées correspondant chacune à des informations de type différent qui sont représentatives de la séquence considérée.  of images is represented in this space by n coordinates each corresponding to information of different type which are representative of the sequence in question. 15. Dispositif selon la revendication 14, caractérisé en ce que la séquence d'images de référence dont les informations représentatives sont les plus proches de celles de la séquence d'images courante est celle qui minimise la distance mesurée entre la séquence d'images courante et les séquences d'images de référence considérées.  Device according to claim 14, characterized in that the reference image sequence whose representative information is closest to that of the current image sequence is that which minimizes the distance measured between the current image sequence. and the reference image sequences considered. 16. Dispositif selon l'une des revendications 12 à 15, caractérisé en ce que les informations représentatives d'une séquence d'images sont des informations représentatives de l'activité spatiale et/ou temporelle de la séquence.  16. Device according to one of claims 12 to 15, characterized in that the information representative of a sequence of images are information representative of the spatial and / or temporal activity of the sequence. 17. Dispositif selon la revendication 16, caractérisé en ce que les informations représentatives de l'activité spatiale sont la variance de la séquence d'images.  17. Device according to claim 16, characterized in that the information representative of the spatial activity is the variance of the image sequence. 18. Dispositif selon la revendication 16, caractérisé en ce que les informations représentatives de l'activité temporelle sont une valeur moyenne E des différentes valeurs d'erreur quadratique moyenne calculées entre plusieurs couples d'images successives de la séquence d'images.  18. The device as claimed in claim 16, characterized in that the information representative of the temporal activity is an average value E of the various mean squared error values calculated between several successive image pairs of the image sequence. 19. Dispositif selon les revendications 14 et 16 à 18, caractérisé en ce que la distance Dn mesurée entre, d'une part, la séquence d'images courante représentée par une variance Vcurr et une erreur quadratique moyenne Ecurr et, d'autre part, une séquence d'images de référence représentée par une variance Vn et une erreur quadratique moyenne En s'exprime par la formule :  19. Device according to claims 14 and 16 to 18, characterized in that the distance Dn measured between, on the one hand, the current sequence of images represented by a Vcurr variance and an Ecurr average squared error and on the other hand , a reference image sequence represented by a variance Vn and a mean squared error En is expressed by the formula:
Figure img00480001
Figure img00480001
20. Dispositif selon l'une des revendications 12 à 19, caractérisé en ce que le modèle d'estimation de la distorsion comporte au moins un opérateur logarithmique pondéré par au moins un opérateur exponentiel. 20. Device according to one of claims 12 to 19, characterized in that the distortion estimation model comprises at least one logarithmic operator weighted by at least one exponential operator. 21. Dispositif selon la revendication 20, caractérisé en ce que le modèle pondéré d'estimation de la distorsion s'applique à des informations représentatives de la variance d'un bloc de données de l'image.  21. Device according to claim 20, characterized in that the weighted model for estimating the distortion applies to information representative of the variance of a data block of the image. <Desc/Clms Page number 49> <Desc / Clms Page number 49> 22. Dispositif selon la revendication 21, caractérisé en ce que le modèle d'estimation de la distorsion pondéré s'écrit :  22. Device according to claim 21, characterized in that the model for estimating the weighted distortion is written:
Figure img00490001
Figure img00490001
où a, ss, y sont les paramètres du modèle et S est la variance d'un bloc de données de l'image, S étant la variance normalisée et s'écrivant :  where a, ss, y are the parameters of the model and S is the variance of a block of data of the image, S being the standardized variance and with:
Figure img00490002
Figure img00490002
où QP représente un paramètre de quantification du bloc de données considéré.  where QP represents a quantization parameter of the data block under consideration.
23. Appareil de communication, caractérisé en ce qu'il comporte un dispositif de détermination de paramètres selon l'une des revendications 12 à 22.  23. Communication device, characterized in that it comprises a device for determining parameters according to one of claims 12 to 22. 24. Moyen de stockage d'informations lisible par un ordinateur ou un microprocesseur comportant des instructions de code d'un programme d'ordinateur pour l'exécution des étapes du procédé de détermination de paramètres selon l'une des revendications 1 à 11.  A computer-readable or microprocessor-readable information storage means having code instructions of a computer program for performing the steps of the method of determining parameters according to one of claims 1 to 11. 25. Moyen de stockage d'informations amovible, partiellement ou totalement lisible par un ordinateur ou un microprocesseur comportant des instructions de code d'un programme d'ordinateur pour l'exécution des étapes du procédé de détermination de paramètres selon l'une des revendications 1 à 11.  25. Removable, partially or completely readable information storage medium by a computer or a microprocessor comprising code instructions of a computer program for carrying out the steps of the method of determining parameters according to one of the claims. 1 to 11. 26. Programme d'ordinateur chargeable dans un appareil programmable, caractérisé en ce qu'il comporte des séquences d'instructions ou des portions de code logiciel pour mettre en #uvre les étapes du procédé de détermination de paramètres selon l'une des revendications 1 à 11, lorsque ce programme d'ordinateur est chargé et exécuté par l'appareil programmable. Computer program loadable in a programmable apparatus, characterized in that it comprises sequences of instructions or portions of software code to implement the steps of the method of determining parameters according to one of claims 1 at 11, when this computer program is loaded and executed by the programmable apparatus.
FR0301400A 2003-02-06 2003-02-06 METHOD AND DEVICE FOR DETERMINING PARAMETERS OF A MODEL FOR ESTIMATING THE DISTORTION OF AN IMAGE SEQUENCE Expired - Fee Related FR2851109B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
FR0301400A FR2851109B1 (en) 2003-02-06 2003-02-06 METHOD AND DEVICE FOR DETERMINING PARAMETERS OF A MODEL FOR ESTIMATING THE DISTORTION OF AN IMAGE SEQUENCE

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
FR0301400A FR2851109B1 (en) 2003-02-06 2003-02-06 METHOD AND DEVICE FOR DETERMINING PARAMETERS OF A MODEL FOR ESTIMATING THE DISTORTION OF AN IMAGE SEQUENCE

Publications (2)

Publication Number Publication Date
FR2851109A1 true FR2851109A1 (en) 2004-08-13
FR2851109B1 FR2851109B1 (en) 2005-06-24

Family

ID=32731836

Family Applications (1)

Application Number Title Priority Date Filing Date
FR0301400A Expired - Fee Related FR2851109B1 (en) 2003-02-06 2003-02-06 METHOD AND DEVICE FOR DETERMINING PARAMETERS OF A MODEL FOR ESTIMATING THE DISTORTION OF AN IMAGE SEQUENCE

Country Status (1)

Country Link
FR (1) FR2851109B1 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2536144A1 (en) * 2011-06-17 2012-12-19 Thomson Licensing Method and device of lossy compress-encoding an image

Non-Patent Citations (4)

* Cited by examiner, † Cited by third party
Title
CHUNG W C ET AL: "AN EFFICIENT MOTION ESTIMATION TECHNIQUE BASED ON A RATE-DISTORTION CRITERION", 1996 IEEE INTERNATIONAL CONFERENCE ON ACOUSTICS, SPEECH, AND SIGNAL PROCESSING - PROCEEDINGS. (ICASSP). ATLANTA, MAY 7- 10, 1996, IEEE INTERNATIONAL CONFERENCE ON ACOUSTICS, SPEECH, AND SIGNAL PROCESSING - PROCEEDINGS. (ICASSP), NEW YORK, IEEE, US, vol. 6 CONF. 21, 1996, pages 1926 - 1929, XP000914172, ISBN: 0-7803-3193-1 *
DING W ET AL: "RATE CONTROL OF MPEG VIDEO CODING AND RECORDING BY RATE-QUANTIZATION MODELING", IEEE TRANSACTIONS ON CIRCUITS AND SYSTEMS FOR VIDEO TECHNOLOGY, IEEE INC. NEW YORK, US, vol. 6, no. 1, 1 February 1996 (1996-02-01), pages 12 - 20, XP000625575, ISSN: 1051-8215 *
GIFFORD E A ET AL: "Image coding using adaptive recursive interpolative DPCM with entropy-constrained trellis coded quantization", ACOUSTICS, SPEECH, AND SIGNAL PROCESSING, 1994. ICASSP-94., 1994 IEEE INTERNATIONAL CONFERENCE ON ADELAIDE, SA, AUSTRALIA 19-22 APRIL 1994, NEW YORK, NY, USA,IEEE, 19 April 1994 (1994-04-19), pages V - 257-V-260, XP010133721, ISBN: 0-7803-1775-0 *
HU S Y ET AL: "A fast rate-distortion optimization algorithm for motion-compensated video coding", CIRCUITS AND SYSTEMS, 1997. ISCAS '97., PROCEEDINGS OF 1997 IEEE INTERNATIONAL SYMPOSIUM ON HONG KONG 9-12 JUNE 1997, NEW YORK, NY, USA,IEEE, US, 9 June 1997 (1997-06-09), pages 1349 - 1352, XP010236467, ISBN: 0-7803-3583-X *

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2536144A1 (en) * 2011-06-17 2012-12-19 Thomson Licensing Method and device of lossy compress-encoding an image

Also Published As

Publication number Publication date
FR2851109B1 (en) 2005-06-24

Similar Documents

Publication Publication Date Title
FR2837330A1 (en) Method and device for selecting a transcoding method from a set of transcoding methods used for multimedia digital data
EP2991351B1 (en) Procedure for decoding of images
FR2840495A1 (en) METHOD AND DEVICE FOR SELECTING A TRANSCODING METHOD AMONG A SET OF TRANSCODING METHODS
EP3209021B1 (en) Recording medium storing coded image data
FR2894421A1 (en) METHOD AND DEVICE FOR DECODING A VIDEO STREAM CODE FOLLOWING A HIERARCHICAL CODING
FR2904494A1 (en) Video image sequence compressing method for e.g. video coder, involves estimating movement vector between portion of image to be compressed and portion of reference image reconstructed at selected quality level, and coding image portion
FR2951345A1 (en) METHOD AND DEVICE FOR PROCESSING A VIDEO SEQUENCE
EP2716045B1 (en) Method, apparatus and computer programs for encoding and decoding of images
FR2955995A1 (en) METHOD AND DEVICE FOR PROCESSING A VIDEO SEQUENCE
FR2851109A1 (en) Model parameters determination method for estimating image sequence distortion, involves assigning current image sequence of model parameters with reference image sequence selected based on representation information
WO2017129880A1 (en) Method for encoding and decoding data, device for encoding and decoding data, and corresponding computer programs
WO2008049628A1 (en) Method and device for optimizing the compression of a video stream
EP3520416B1 (en) Method for encoding an image and associated decoding method, devices, terminal equipment and computer programs
FR2957744A1 (en) METHOD FOR PROCESSING A VIDEO SEQUENCE AND ASSOCIATED DEVICE
FR2832582A1 (en) Multimedia data coding process for domestic networks selects parameters using quality assessment
FR2846832A1 (en) Digital image coding distortion modeling procedure, involves applying estimation model of coding distortion weighted by exponential, to information representing energy measure of digital image
EP3542533A1 (en) Method and device for coding and decoding a multi-view sequence
FR2832581A1 (en) Multimedia data coding process for domestic networks selects parameters using quality assessment
FR3033114A1 (en) METHOD FOR ENCODING AND DECODING IMAGES, CORRESPONDING ENCODING AND DECODING DEVICE AND COMPUTER PROGRAMS
WO2020002795A1 (en) Methods and devices for coding and decoding a data stream representing at least one image
FR2956552A1 (en) Method for coding video sequence consisting digital images, involves determining reference block in reference image, modifying determined reference block, and coding block to be coded by using predictor block
FR2959093A1 (en) Method for predicting information of complexity texture of current image of image sequences to control allowed flow for hierarchical coding current image, involves obtaining prediction module of information of complexity texture
FR3018149A1 (en) METHOD AND DEVICE FOR SELECTING IMAGE DYNAMIC CONVERTING OPERATOR, COMPUTER PROGRAM AND CORRESPONDING STORAGE MEDIUM
FR2862168A1 (en) Digital image sequence flow regulation method for digital camera, involves suppressing digital data among digital data constitutive of image based on comparison of maximum flow of compressed image with target flow
FR2927494A1 (en) Image sequence e.g. compressed video sequence, decoding method for e.g. electronic device, involves determining reference macro block to be deleted based on defined probability criteria, and deleting reference macro block from memory

Legal Events

Date Code Title Description
ST Notification of lapse

Effective date: 20141031