FR2944937A1 - Video sequence image's lost pixel blocks restoration method for use during image transmission, involves obtaining restoration motion vector from determined confidence zones, and restoring identified blocks from restoration motion vector - Google Patents

Video sequence image's lost pixel blocks restoration method for use during image transmission, involves obtaining restoration motion vector from determined confidence zones, and restoring identified blocks from restoration motion vector Download PDF

Info

Publication number
FR2944937A1
FR2944937A1 FR0952715A FR0952715A FR2944937A1 FR 2944937 A1 FR2944937 A1 FR 2944937A1 FR 0952715 A FR0952715 A FR 0952715A FR 0952715 A FR0952715 A FR 0952715A FR 2944937 A1 FR2944937 A1 FR 2944937A1
Authority
FR
France
Prior art keywords
block
motion vector
blocks
pixels
zone
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
FR0952715A
Other languages
French (fr)
Other versions
FR2944937B1 (en
Inventor
Benoit Vandame
Nael Ouedraogo
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 FR0952715A priority Critical patent/FR2944937B1/en
Publication of FR2944937A1 publication Critical patent/FR2944937A1/en
Application granted granted Critical
Publication of FR2944937B1 publication Critical patent/FR2944937B1/en
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

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/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/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/189Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the adaptation method, adaptation tool or adaptation type used for the adaptive coding
    • H04N19/196Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the adaptation method, adaptation tool or adaptation type used for the adaptive coding being specially adapted for the computation of encoding parameters, e.g. by averaging previously computed encoding parameters
    • 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/189Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the adaptation method, adaptation tool or adaptation type used for the adaptive coding
    • H04N19/196Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the adaptation method, adaptation tool or adaptation type used for the adaptive coding being specially adapted for the computation of encoding parameters, e.g. by averaging previously computed encoding parameters
    • H04N19/198Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the adaptation method, adaptation tool or adaptation type used for the adaptive coding being specially adapted for the computation of encoding parameters, e.g. by averaging previously computed encoding parameters including smoothing of a sequence of encoding parameters, e.g. by averaging, by choice of the maximum, minimum or median value
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/85Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using pre-processing or post-processing specially adapted for video compression
    • H04N19/89Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using pre-processing or post-processing specially adapted for video compression involving methods or arrangements for detection of transmission errors at the decoder
    • H04N19/895Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using pre-processing or post-processing specially adapted for video compression involving methods or arrangements for detection of transmission errors at the decoder in combination with error concealment

Abstract

The method involves identifying blocks of pixels that are associated with a motion vector from a to- be-restored image of a video sequence. Confidence zones representing selection tolerance of the motion vector associated with the identified blocks are determined for each identified block. A restoration motion vector is obtained from the determined confidence zones. The identified blocks are restored from the restoration motion vector, where the confidence zones are defined by an ellipse. Independent claims are also included for the following: (1) a device for restoring a video sequence (2) an information storage medium for storing computer program instructions for implementing a method for restoring a video sequence (3) a computer program product comprising a set of instructions for implementing a method for restoring a video sequence.

Description

La présente invention se rapporte à un procédé et à un dispositif de restauration d'une séquence vidéo par masquage de zones perdues. La restauration de séquences vidéo codées par bloc est l'action de compléter des blocs perdus lors de la transmission d'une image courante. Une image de la séquence est découpée en blocs carrés de pixels dénommés macro-blocs ( macroblock ). Un macro-bloc sera désigné dans toute la suite par le sigle MB. On considère ici les séquences vidéo codées par blocs avec un codage prédictif tel que celui défini par le consortium Moving Picture Experts Group (MPEG), comme par exemple dans les normes MPEG4 - Partie 2 et H.264. En pratique, un MB est généralement un carré de 16 pixels de coté (avec des possibilités de sous-blocs notamment pour les formats MPEG4 et H.264). Dans de telles séquences les MBs d'une image courante sont calculés par translation relative à partir des MBs d'une ou de plusieurs images de référence précédemment décodées. Ce procédé est appelé procédé par compensation de mouvement. Dans l'image courante chaque MB est ainsi associé à un MB d'une image de référence par l'intermédiaire d'un vecteur de translation appelé vecteur de mouvement. L'approximation étant imparfaite en raison notamment de la complexité des mouvements réels, un résidu de codage vient s'ajouter à la compensation du mouvement pour prendre en compte l'erreur de prédiction entre les deux MBs. Ce résidu est obtenu par soustraction du MB de l'image courante du signal d'image décodé du MB associé dans l'image de référence et est quasiment nul si le mouvement entre l'image de référence et l'image courante est nul ou correctement approché par une translation. The present invention relates to a method and a device for restoring a video sequence by masking lost areas. The restoration of block-coded video sequences is the action of completing blocks lost during the transmission of a current image. An image of the sequence is divided into square blocks of pixels called macroblocks. A macro-block will be designated in the following by the acronym MB. Block-coded video sequences with a predictive coding such as that defined by the Moving Picture Experts Group (MPEG) consortium, as for example in the MPEG4 - Part 2 and H.264 standards, are considered here. In practice, an MB is usually a square of 16 pixels on the side (with sub-block possibilities, especially for MPEG4 and H.264 formats). In such sequences, the MBs of a current image are calculated by relative translation from the MBs of one or more previously decoded reference images. This process is called a motion compensation method. In the current image, each MB is thus associated with an MB of a reference image by means of a translation vector called motion vector. Since the approximation is imperfect due in particular to the complexity of the real movements, a coding residue is added to the motion compensation to take into account the prediction error between the two MBs. This residue is obtained by subtracting the MB from the current image of the decoded image signal of the associated MB in the reference image and is almost zero if the movement between the reference image and the current image is zero or correctly. approached by a translation.

L'ensemble des vecteurs de mouvement obtenu définit, pour une image, un champ de vecteurs de mouvement. Le calcul de chaque vecteur de mouvement se fait au niveau du codeur, ce codeur étant programmé selon un algorithme permettant la détermination de chacun de ces vecteurs de sorte qu'il minimise le résidu associé, ceci afin d'obtenir une compression optimale du signal. Il arrive cependant qu'au cours de la transmission du signal certaines informations soient perdues, en particulier au niveau des vecteurs de mouvement. De telles pertes entraînent l'impossibilité de reconstituer certains MBs, ces MBs étant alors des blocs qui sont perdus. Il existe déjà des procédés d'interpolation selon lesquels chaque MB perdu est reconstitué en recopiant un MB d'une image de référence, pointé par un vecteur de mouvement obtenu par interpolation à partir de vecteurs de mouvements d'autres MBs de l'image. Ces procédés sont connus sous le nom générique de masquage d'erreur temporel (en anglais, temporal error concealment ). Ces procédés sont relativement performants dans les zones de mouvement homogène, mais donnent des résultats inexacts dans des zones de l'image où des blocs voisins présentent des vecteurs de mouvement non homogènes. The set of motion vectors obtained defines, for an image, a motion vector field. The calculation of each motion vector is done at the level of the encoder, this encoder being programmed according to an algorithm allowing the determination of each of these vectors so that it minimizes the associated residue, in order to obtain an optimal compression of the signal. It happens however that during the transmission of the signal certain information is lost, in particular at the level of the motion vectors. Such losses lead to the impossibility of reconstituting some MBs, these MBs then being blocks that are lost. There are already interpolation methods according to which each lost MB is reconstituted by copying an MB of a reference image, pointed by a motion vector obtained by interpolation from motion vectors of other MBs of the image. These methods are known by the generic name of temporal error concealment. These methods are relatively efficient in areas of homogeneous motion, but give inaccurate results in areas of the image where neighboring blocks have non-homogeneous motion vectors.

L'invention vise à fournir un procédé de restauration de ces blocs perdus qui soit à la fois plus précis et plus fiable. Elle propose à cet effet un procédé de restauration d'une séquence vidéo comprenant une pluralité d'images dont au moins l'une d'elles, appelée image à restaurer, comporte au moins un bloc de pixels à restaurer ainsi que plusieurs autres blocs de pixels dont au moins certains sont associés à un vecteur de mouvement respectif, chaque vecteur de mouvement faisant correspondre le bloc de pixels auquel il est associé à un bloc de pixels d'une image de référence de la séquence vidéo, caractérisé en ce qu'il comporte les étapes suivantes : - identification, dans l'image à restaurer, de blocs de pixels qui sont associés à un vecteur de mouvement ; - détermination, pour chaque bloc identifié, d'une zone de confiance représentative de la tolérance de sélection du vecteur de mouvement associé au bloc identifié ; - obtention d'un vecteur de mouvement de restauration à partir d'au moins certaines de ces zones de confiance ainsi déterminées ; et - restauration dudit bloc à restaurer à partir dudit vecteur de mouvement de restauration. Les zones de confiance ainsi déterminées, donnent une information sur la latitude de sélection de chacun des vecteurs de mouvement de façon à obtenir un vecteur de mouvement de restauration qui soit le plus fiable possible et qui minimise le résidu pour optimiser les performances de la compression. En effet, la détermination de zones de confiance autour des vecteurs de mouvement des blocs identifiés permet d'isoler des zones préférentielles pour réaliser l'interpolation du vecteur de mouvement manquant. The aim of the invention is to provide a process for restoring these lost blocks which is both more precise and more reliable. To this end, it proposes a method of restoring a video sequence comprising a plurality of images, at least one of which, called the image to be restored, comprises at least one block of pixels to be restored, as well as several other blocks of pixels. pixels at least some of which are associated with a respective motion vector, each motion vector matching the block of pixels with which it is associated with a block of pixels of a reference image of the video sequence, characterized in that comprises the following steps: identifying, in the image to be restored, blocks of pixels that are associated with a motion vector; determination, for each identified block, of a confidence zone representative of the selection tolerance of the motion vector associated with the identified block; obtaining a restoration movement vector from at least some of these confidence zones thus determined; and restoring said block to be restored from said restoration movement vector. The confidence zones thus determined give information on the selection latitude of each of the motion vectors so as to obtain a restoration motion vector which is as reliable as possible and which minimizes the residue in order to optimize the performance of the compression. Indeed, the determination of zones of confidence around the motion vectors of the identified blocks makes it possible to isolate preferential zones in order to carry out the interpolation of the missing motion vector.

Ceci permet d'obtenir un vecteur de mouvement de restauration proche du mouvement vrai (c'est-à-dire le mouvement qui se produit réellement devant le capteur d'images). Ce procédé de restauration est également robuste et peu susceptible d'être perturbé par le bruit de la séquence vidéo qui impacte sur le calcul des 20 vecteurs de mouvement. De plus, la présence de zones de confiance permet de n'exploiter que l'information utile des vecteurs de mouvement qui, pris isolément, apparaissent parfois incohérents par rapport au mouvement vrai en raison du fait que la priorité est donnée à la minimisation des coûts de compression 25 (c'est-à-dire du résidu associé) et non à la fiabilité du vecteur par rapport au mouvement vrai. Selon une autre caractéristique, l'étape de détermination d'une zone de confiance pour chaque bloc identifié comporte une étape d'obtention d'un modèle représentatif de la similarité du bloc identifié avec d'autres blocs de 30 pixels, chaque modèle étant défini par au moins un coefficient. La reconstitution (au niveau du décodeur) d'un modèle représentatif de la similarité lors de la restauration des images permet ainsi d'obtenir des informations sur l'environnement spatial des blocs de pixel pour en déterminer les zones de confiances correspondantes. Selon d'autres caractéristiques : - le modèle représentatif de la similarité du bloc identifié avec d'autres blocs de pixels est basé sur le calcul de la somme de la valeur absolue des différences entre ledit bloc identifié et chaque dit autre bloc ; et/ou - lesdits autres blocs de pixels présentent au moins certains pixels en commun avec ledit bloc de pixel identifié correspondant ; Ainsi, ce modèle représentatif de la similarité du bloc identifié avec d'autres blocs de pixels caractérise l'image a restaurer localement autour du bloc identifié. Selon d'autres caractéristiques : - ledit au moins un coefficient de chaque modèle représentatif de la similarité du bloc identifié avec d'autres blocs de pixels est obtenu par la 15 méthode des moindres carrés ; et/ou - chaque modèle présente la forme d'un paraboloïde ; Avantageusement, le modèle est caractérisé par un nombre réduit de coefficients dont le calcul est rapide. Selon d'autres caractéristiques : 20 - chaque zone de confiance est représentative de la forme du modèle correspondant ; et/ou - chaque zone de confiance est délimitée par une ellipse. Selon une autre caractéristique, ladite étape d'obtention d'un vecteur de mouvement de restauration comporte les étapes de : 25 - détermination, dans un espace de paramètres où sont représentés les vecteurs de mouvement et les zones de confiance, d'au moins une zone d'interpolation issue d'au moins certaines de ces zones de confiance ; et - détermination d'un vecteur de mouvement de restauration à partir de ladite au moins une zone d'interpolation. 30 Ainsi, le vecteur de mouvement obtenu est cohérent avec l'ensemble des zones de confiance déterminées pour les blocs identifiés. This makes it possible to obtain a restoration motion vector close to the true movement (that is to say the movement that actually occurs in front of the image sensor). This restoration method is also robust and unlikely to be disturbed by the noise of the video sequence which impacts the motion vector calculation. Moreover, the presence of confidence zones makes it possible to exploit only the useful information of the motion vectors which, taken in isolation, sometimes appear incoherent with respect to the true movement because of the fact that the priority is given to the minimization of the costs. compression (i.e. the associated residue) and not the reliability of the vector over the true motion. According to another characteristic, the step of determining a zone of confidence for each identified block comprises a step of obtaining a model representative of the similarity of the identified block with other blocks of 30 pixels, each model being defined by at least one coefficient. The reconstitution (at the decoder level) of a model representative of the similarity during the image restoration thus makes it possible to obtain information on the spatial environment of the pixel blocks in order to determine the corresponding areas of trust. According to other characteristics: the model representative of the similarity of the identified block with other blocks of pixels is based on the calculation of the sum of the absolute value of the differences between said identified block and each said other block; and / or - said other blocks of pixels have at least some pixels in common with said corresponding identified pixel block; Thus, this model representative of the similarity of the identified block with other blocks of pixels characterizes the image to be restored locally around the identified block. According to other features: said at least one coefficient of each model representing the similarity of the identified block with other blocks of pixels is obtained by the least squares method; and / or - each model has the shape of a paraboloid; Advantageously, the model is characterized by a reduced number of coefficients whose calculation is fast. According to other characteristics: each zone of confidence is representative of the shape of the corresponding model; and / or - each zone of confidence is delimited by an ellipse. According to another feature, said step of obtaining a restoration motion vector comprises the steps of: determining, in a parameter space where the motion vectors and the confidence zones are represented, at least one interpolation zone from at least some of these confidence zones; and determining a restoration motion vector from said at least one interpolation zone. Thus, the motion vector obtained is consistent with the set of confidence zones determined for the identified blocks.

Selon une autre caractéristique, l'étape de détermination de ladite au moins une zone d'interpolation comporte l'étape d'incrémenter chaque pixel de l'espace de paramètres lorsqu'il est situé dans une zone de confiance et de ne retenir comme zone(s) d'interpolation que la ou les zones de cet espace dont la valeur des pixels dépasse une valeur de seuil prédéterminée. Ainsi, l'obtention de la ou des zones d'interpolation est simple et ne nécessite aucun calcul supplémentaire. Selon d'autres caractéristiques : - l'étape de détermination du vecteur de mouvement de restauration comporte, pour chaque zone d'interpolation, une étape de détermination d'un vecteur d'interpolation associé ; et/ou - les coordonnées de chaque vecteur d'interpolation sont obtenues par calcul du barycentre de ladite zone d'interpolation correspondante. Ainsi, chaque vecteur d'interpolation est obtenu de manière systématique et avec un coût calculatoire minimal. Selon une autre caractéristique, l'étape de détermination du vecteur de mouvement de restauration comporte, s'il existe plusieurs zones d'interpolation, une étape de combinaison desdits vecteurs d'interpolation correspondants. According to another characteristic, the step of determining said at least one interpolation zone comprises the step of incrementing each pixel of the parameter space when it is located in a zone of confidence and not retaining as zone (s) interpolation than the zone or zones of this space whose pixel value exceeds a predetermined threshold value. Thus, obtaining the interpolation zone (s) is simple and does not require any additional calculation. According to other features: the step of determining the restoration motion vector comprises, for each interpolation zone, a step of determining an associated interpolation vector; and / or the coordinates of each interpolation vector are obtained by calculating the barycentre of said corresponding interpolation zone. Thus, each interpolation vector is obtained systematically and with a minimum computational cost. According to another characteristic, the step of determining the restoration motion vector comprises, if there are several interpolation zones, a step of combining said corresponding interpolation vectors.

Ainsi, les mouvements complexes peuvent être pris en compte. Selon une autre caractéristique, parmi les blocs identifiés au cours de l'étape d'identification, au moins certains d'entre eux sont voisins du bloc de pixels à restaurer. Ainsi, les caractéristiques locales de l'image à restaurer sont prises 25 en compte. Selon d'autres caractéristiques : - l'étape d'identification est réalisée, pour au moins certains des blocs, dans une fenêtre de recherche de taille prédéterminée autour du bloc à restaurer ; et/ou 30 - l'étape d'identification de blocs comporte une étape de normalisation des vecteurs de mouvement associés. Thus, complex movements can be taken into account. According to another characteristic, among the blocks identified during the identification step, at least some of them are adjacent to the block of pixels to be restored. Thus, the local characteristics of the image to be restored are taken into account. According to other characteristics: the identification step is carried out, for at least some of the blocks, in a search window of predetermined size around the block to be restored; and / or the block identification step includes a step of normalizing the associated motion vectors.

Dans le même but que celui indiqué plus haut, la présente invention concerne également un dispositif de restauration d'une séquence vidéo comprenant une pluralité d'images dont au moins l'une d'elles, appelée image à restaurer, comporte au moins un bloc de pixels à restaurer ainsi que plusieurs autres blocs de pixels dont au moins certains sont associés à un vecteur de mouvement respectif, chaque vecteur de mouvement faisant correspondre le bloc de pixels auquel il est associé à un bloc de pixels d'une image de référence de la séquence vidéo, caractérisé en ce qu'il comporte : - des moyens pour identifier, dans l'image à restaurer, des blocs qui 10 sont associés à un vecteur de mouvement ; - des moyens pour déterminer, pour chaque bloc identifié, une zone de confiance représentative de la tolérance de sélection du vecteur de mouvement associé au bloc identifié ; - des moyens pour obtenir un vecteur de mouvement de 15 restauration à partir d'au moins certaines de ces zones de confiance ainsi déterminées ; et - des moyens pour restaurer ledit bloc à restaurer à partir dudit vecteur de mouvement de restauration. Toujours dans le même but, la présente invention vise aussi un 20 moyen de stockage d'informations, lisible par un ordinateur ou un microprocesseur conservant des instructions d'un programme informatique, caractérisé en ce qu'il permet la mise en oeuvre d'un procédé de restauration tel qu'exposé ci-dessus. Toujours dans le même but, la présente invention vise aussi un 25 produit programme d'ordinateur, pouvant être chargé dans un appareil programmable, caractérisé en ce qu'il comporte des séquences d'instructions pour mettre en oeuvre un procédé de restauration tel qu'exposé ci-dessus, lorsque ce programme est chargé et exécuté par l'appareil programmable. Les caractéristiques particulières et les avantages du dispositif de 30 restauration, du moyen de stockage d'informations et du produit programme d'ordinateur étant similaires à ceux du procédé de restauration, ils ne sont pas rappelés ici. For the same purpose as that indicated above, the present invention also relates to a device for restoring a video sequence comprising a plurality of images of which at least one of them, called the image to be restored, comprises at least one block. pixels to be restored as well as several other blocks of pixels at least some of which are associated with a respective motion vector, each motion vector matching the block of pixels with which it is associated with a block of pixels of a reference image of the video sequence, characterized in that it comprises: means for identifying, in the image to be restored, blocks which are associated with a motion vector; means for determining, for each block identified, a confidence zone representative of the selection tolerance of the motion vector associated with the identified block; means for obtaining a restoration motion vector from at least some of these confidence zones thus determined; and means for restoring said block to be restored from said restoration movement vector. Still for the same purpose, the present invention also aims at a means for storing information, readable by a computer or a microprocessor retaining instructions of a computer program, characterized in that it allows the implementation of a restoration process as explained above. Still for the same purpose, the present invention also aims at a computer program product, which can be loaded into a programmable device, characterized in that it comprises sequences of instructions for implementing a restoration method such as discussed above, when this program is loaded and executed by the programmable apparatus. Since the particular features and advantages of the recovery device, the information storage means and the computer program product are similar to those of the restoration method, they are not recalled here.

L'exposé de l'invention sera maintenant poursuivi par la description détaillée d'un exemple de réalisation, donnée ci-après à titre illustratif mais non limitatif, en référence aux dessins annexés, sur lesquels : - la figure 1 est un organigramme illustrant les principales étapes 5 d'un procédé de restauration d'une séquence vidéo conforme à la présente invention, dans un mode particulier de réalisation ; - la figure 2 représente de façon schématique l'identification de blocs autour du bloc de pixels à restaurer ; - la figure 3 illustre pour trois blocs de pixels d'une image les 10 valeurs de matrices de similarité à partir desquelles sont obtenues des zones de confiance pour chacun de ces blocs ; - la figure 4 présente une vue schématique illustrant un espace de paramètres dans lequel sont représentés les vecteurs de mouvement des blocs identifiés pour restaurer un bloc perdu ainsi que leurs zones de confiance 15 respectives ; et - la figure 5 représente de façon schématique un mode particulier de réalisation d'un dispositif susceptible de mettre en oeuvre la présente invention. Dans la présente description, les séquences vidéo sont codées par 20 blocs en mode P avec un codage prédictif tel que celui défini par le consortium Moving Picture Experts Group (MPEG), comme par exemple dans les normes MPEG4 - Partie 2 et H.264. Chaque MB est ici un carré de 16 pixels de côté (avec des possibilités de sous-blocs notamment pour les formats MPEG 4 et H.264). 25 Préalablement à la présentation du procédé de restauration selon l'invention, on va rappeler ici plus en détail le principe de fonctionnement du procédé d'obtention d'images par compensation de mouvement au niveau du codage de la séquence d'images. Comme on l'a vu précédemment, un tel procédé consiste à associer 30 un MB de l'image courante à un MB d'une image antérieure par l'intermédiaire d'un vecteur de mouvement et de son résidu. The description of the invention will now be continued by the detailed description of an exemplary embodiment, given below by way of illustration but without limitation, with reference to the appended drawings, in which: FIG. 1 is a flowchart illustrating the main steps of a method of restoring a video sequence according to the present invention, in a particular embodiment; - Figure 2 schematically shows the identification of blocks around the block of pixels to be restored; FIG. 3 illustrates for three blocks of pixels of an image the values of similarity matrices from which confidence zones are obtained for each of these blocks; FIG. 4 shows a schematic view illustrating a parameter space in which the motion vectors of the blocks identified to restore a lost block are represented as well as their respective confidence zones; and FIG. 5 is a schematic representation of a particular embodiment of a device capable of implementing the present invention. In the present description, the video sequences are coded in P-mode blocks with a predictive coding such as that defined by the Moving Picture Experts Group (MPEG) consortium, as for example in the MPEG4 - Part 2 and H.264 standards. Each MB is here a square of 16 pixels side (with possibilities of sub-blocks especially for MPEG 4 and H.264). Prior to the presentation of the restoration method according to the invention, reference will here be made in more detail to the operating principle of the image acquisition method by motion compensation at the coding of the image sequence. As previously discussed, such a method involves associating an MB of the current image with an MB of an earlier image via a motion vector and its residue.

Il est important de chercher à minimiser le résidu pour chaque bloc codé par compensation de mouvement, car cela conditionne la qualité de la compression qui sera réalisée au niveau du codeur. En effet, plus l'énergie du signal de résidu (l'énergie peut être calculée comme étant égale à sa variance par exemple) est faible, plus il pourra être compressé. Un exemple d'algorithme permettant de déterminer de façon optimale le vecteur de mouvement minimisant le résidu associé est basé sur l'étude de la similarité du bloc de l'image courante à coder avec des blocs des images de référence, chaque bloc d'images de référence étant associé à un vecteur de mouvement candidat. Le codeur cherche ainsi un vecteur de mouvement parmi plusieurs vecteurs de mouvement candidats tel que le bloc pointé de l'image de référence soit le plus proche possible du bloc à coder de l'image courante. Il est à noter que les vecteurs de mouvement peuvent être calculés avec une précision sub-pixel : la précision est de '/2 pixel pour la norme MPEG4 - Partie 2 et de 1/4 de pixel pour la norme H.264. Un vecteur de mouvement non entier correspond à un MB de référence interpolé d'une fraction de pixel, selon la norme utilisée, afin de rendre possibles les calculs de similarité avec le MB de l'image courante. L'intérêt de calculer les vecteurs de mouvement avec une précision sub-pixel est de diminuer l'amplitude des résidus. La méthode d'estimation de la similarité entre deux blocs la plus souvent utilisée est celle basée sur les sommes des valeurs absolues des différences entre le bloc considéré et les autres blocs (SAD : sum of absolute difference en anglais). It is important to try to minimize the residual for each block encoded by motion compensation, as this determines the quality of the compression that will be performed at the encoder. Indeed, the lower the energy of the residue signal (the energy can be calculated as equal to its variance for example), the more it can be compressed. An example of an algorithm for optimally determining the motion vector minimizing the associated residue is based on the study of the similarity of the block of the current image to be coded with blocks of the reference images, each block of images reference being associated with a candidate motion vector. The encoder thus seeks a motion vector among several candidate motion vectors such that the pointed block of the reference image is as close as possible to the block to be encoded of the current image. It should be noted that motion vectors can be calculated with sub-pixel precision: precision is / 2 pixel for MPEG4 - Part 2 and 1/4 pixel for H.264. A non-integer motion vector corresponds to an interpolated reference MB of a pixel fraction, according to the standard used, in order to make possible similarity calculations with the MB of the current image. The advantage of calculating motion vectors with sub-pixel precision is to reduce the amplitude of the residues. The most commonly used method of estimating the similarity between two blocks is that based on the sums of the absolute values of the differences between the block considered and the other blocks (SAD: sum of absolute difference).

La SAD est nulle si les deux blocs sont identiques et elle est importante si ces deux blocs diffèrent beaucoup. Le codeur recherche ainsi la SAD qui présente la valeur la plus faible et sélectionne le vecteur de mouvement correspondant pour que les blocs ainsi associés soient le plus similaires possible l'un de l'autre. Le codeur se charge donc de calculer la SAD des différents blocs candidats et de rechercher un minimum absolu. L'ensemble des valeurs de SAD associées aux blocs définissent une surface appelée carte de similarité ( similarity map en anglais) ou encore carte de SAD ( SAD map ). Autour d'un minimum cette carte peut être modélisée par un paraboloïde dont la forme dépend de la nature des pixels des blocs à comparer. The SAD is zero if the two blocks are identical and it is important if these two blocks differ a lot. The encoder thus searches for the SAD which has the lowest value and selects the corresponding motion vector so that the blocks thus associated are as similar as possible to one another. The encoder is therefore responsible for calculating the SAD of the different candidate blocks and searching for an absolute minimum. The set of SAD values associated with the blocks define a surface called the similarity map or the SAD map. Around a minimum, this map can be modeled by a paraboloid whose shape depends on the nature of the pixels of the blocks to be compared.

La forme locale de la carte de similarité ou "SAD error shape" autour du minimum détecté par le codeur donne ainsi une indication sur la nature des MBs. Par exemple, si les MBs comparés sont très texturés, alors la forme de la carte de similarité autour du minimum est très resserrée (les valeurs de la carte de similarité autour du minimum sont très supérieures à ce minimum). A l'opposé, pour des MBs aux pixels quasiment constants, la forme de la carte de similarité autour du minimum est très évasée (les valeurs de la carte de similarité autour du minimum sont très légèrement supérieures à ce minimum). The local shape of the similarity map or "SAD error shape" around the minimum detected by the encoder thus gives an indication of the nature of the MBs. For example, if the MBs being compared are very textured, then the shape of the similarity map around the minimum is very narrow (the similarity map values around the minimum are much higher than this minimum). On the other hand, for MBs with almost constant pixels, the shape of the similarity map around the minimum is very wide (the values of the similarity map around the minimum are very slightly higher than this minimum).

Pour des blocs chevauchant un contour de même direction, la forme de cette carte est étirée dans cette direction. La position du minimum de la carte de SAD indique ainsi le vecteur de mouvement optimal du bloc tandis que la forme de la carte de SAD donne une indication sur la nature des pixels du bloc à coder. For blocks overlapping a contour of the same direction, the shape of this map is stretched in that direction. The position of the minimum of the SAD map thus indicates the optimal motion vector of the block whereas the shape of the SAD map gives an indication of the nature of the pixels of the block to be encoded.

On va maintenant décrire le procédé de restauration selon l'invention à l'aide de l'algorithme de la figure 1 qui illustre les principales étapes 11 à 15 de ce procédé. Un tel algorithme peut être exécuté dans le dispositif de la figure 5. Préalablement au procédé de restauration proprement dit, le décodeur renseigne selon une étape préalable 10 de la perte des MBs. Chaque MB étant dans l'exemple illustré constitué d'un carré de 16x16 pixels, ces informations sont sauvegardées dans une matrice 16 fois plus petite que les images codées, chaque cellule de cette matrice indiquant si le MB correspondant est perdu ou valide. Dans l'exemple illustré à la figure 2, les trois blocs hachurés sont détectés comme étant perdus à l'étape 10. Pour chaque bloc perdu ainsi détecté, le procédé de restauration dont la mise en oeuvre débute à l'étape suivante 11 réalise l'identification dans l'image à restaurer, parmi les blocs qui sont associés à un vecteur de mouvement (c'est-à-dire parmi les blocs qui sont valides), de blocs de pixels voisins du bloc de pixels perdu considéré. A titre d'exemple, dans la figure 2, pour le MB perdu 200, les blocs reçus 202, 204 et 206 sont identifiés. The restoration method according to the invention will now be described using the algorithm of FIG. 1 which illustrates the main steps 11 to 15 of this method. Such an algorithm can be executed in the device of FIG. 5. Prior to the actual restoration process, the decoder informs in a prior step 10 of the loss of the MBs. Each MB being in the illustrated example consisting of a square of 16x16 pixels, this information is saved in a matrix 16 times smaller than the coded images, each cell of this matrix indicating whether the corresponding MB is lost or valid. In the example illustrated in FIG. 2, the three hatched blocks are detected as being lost in step 10. For each lost block thus detected, the restoration method, the implementation of which begins in the following step 11, identifying in the image to be restored, among the blocks which are associated with a motion vector (that is to say among the blocks that are valid), blocks of pixels neighboring the lost pixel block considered. By way of example, in FIG. 2, for the lost MB 200, the received blocks 202, 204 and 206 are identified.

Le but de cette étape d'identification est d'utiliser des vecteurs de mouvement de MBs dont au moins certains sont proches du MB perdu afin que l'interpolation du vecteur de mouvement pour le bloc perdu soit la plus fiable possible. Pour cela, on retient par exemple pour fenêtre de recherche l'ensemble des MB reçus qui sont distants d'un MB perdu d'au plus deux MBs. The purpose of this identification step is to use motion vectors of MBs at least some of which are close to the lost MB so that the interpolation of the motion vector for the lost block is the most reliable possible. For this purpose, for example, for the search window, all the received MBs which are distant from an MB lost by at most two MBs are retained.

Chaque vecteur de mouvement de chaque MB voisin identifié correspond à une image de référence qui peut varier d'un MB à un autre en fonction du format vidéo utilisé. On choisit donc ici également de normaliser dans cette étape les vecteurs de mouvement de telle sorte qu'ils ne pointent que sur une unique image précédant l'image courante. Pour cela, les coordonnées d'un vecteur de mouvement sont divisées par le nombre d'images qu'il y a entre l'image courante et l'image de référence de ce vecteur. Cette normalisation permet d'interpoler des vecteurs de mouvement n'ayant pas les mêmes images de référence. Dans l'étape suivante 12, on détermine pour chaque bloc identifié une zone de confiance associée au vecteur de mouvement correspondant. Cette zone de confiance est directement déduite comme on le verra ci-après d'un modèle de similarité (carte de similarité) du vecteur de mouvement correspondant et est un indicateur de la nature du bloc de pixel associé. Each motion vector of each identified neighbor MB corresponds to a reference image which may vary from one MB to another depending on the video format used. Here, therefore, it is also decided to standardize in this step the motion vectors so that they only point to a single image preceding the current image. For this, the coordinates of a motion vector are divided by the number of images that are between the current image and the reference image of this vector. This normalization makes it possible to interpolate motion vectors that do not have the same reference images. In the next step 12, for each identified block, a confidence zone associated with the corresponding motion vector is determined. This confidence zone is directly deduced as will be seen below from a similarity model (similarity map) of the corresponding motion vector and is an indicator of the nature of the associated pixel block.

Avant de donner davantage de détails sur cette zone de confiance on va tout d'abord décrire comment elle est obtenue à partir de la carte de similarité correspondante. Au niveau du décodeur où est mis en oeuvre le procédé de restauration la carte de similarité de chaque vecteur de mouvement n'est pas connue. Il faut donc tout d'abord la recalculer avant de pouvoir en déduire la zone de confiance correspondante. Before giving more details on this zone of confidence, we will first describe how it is obtained from the corresponding similarity map. At the level of the decoder where the restoration method is implemented, the similarity map of each motion vector is not known. It is therefore necessary first of all to recalculate it before being able to deduce the corresponding zone of confidence.

Cette carte de similarité peut se calculer de nombreuses manières, la méthode ici retenue est basée sur l'estimateur de SAD. This similarity map can be calculated in many ways, the method chosen here is based on the SAD estimator.

Afin d'accélérer les calculs, la carte de SAD est calculée sur le bloc identifié en fonction de lui-même et de son voisinage immédiat (on parle alors de carte d'auto-similarité, car les blocs candidats sélectionnés pour le calcul présentent un grand nombre de pixels en commun avec le bloc principal). In order to speed up the calculations, the SAD map is calculated on the identified block according to itself and its immediate neighborhood (this is called a self-similarity map because the candidate blocks selected for the calculation have a large number of pixels in common with the main block).

Dans l'exemple illustré, cette carte est ainsi obtenue par comparaison d'une partie du contenu de ce MB avec lui-même (centre de la matrice), ainsi qu'avec les MBs qui sont décalés respectivement de +/-1 pixel selon l'horizontale et/ou décalés de +/-1 pixel selon la verticale. Lorsqu'il s'agit d'un MB directement voisin (ou adjacent) d'un MB perdu, un sous-ensemble de pixels de ce MB est utilisé pour le calcul de l'auto-similarité, afin de tenir compte du fait que certains pixels sur un des bords du MB sont manquants. In the illustrated example, this map is thus obtained by comparing a part of the contents of this MB with itself (center of the matrix), as well as with the MBs which are shifted respectively by +/- 1 pixel according to horizontally and / or offset by +/- 1 pixel depending on the vertical. In the case of a directly adjacent (or adjacent) MB of a lost MB, a subset of pixels of this MB is used for the calculation of self-similarity, to take into account the fact that some pixels on one of the edges of the MB are missing.

Considérons le macro-bloc ou le sous macro-bloc M de taille nxm pixels. On définit ainsi la carte d'auto similarité de M par une matrice S(i,j) basée sur l'estimateur de SAD de la façon suivante : n-1 m-1 S(i,j)=LLM(x,y)-M(x+1+i,y+1+j) x=1 y=1 avec i et j = - 1, 0 ou 1 (la matrice S étant une matrice 3x3). Consider the macroblock or the sub-macroblock M of size nxm pixels. We thus define the map of self-similarity of M by a matrix S (i, j) based on the estimator of SAD in the following way: n-1 m-1 S (i, j) = LLM (x, y ) -M (x + 1 + i, y + 1 + j) x = 1 y = 1 with i and j = - 1, 0 or 1 (the matrix S being a 3x3 matrix).

Le centre S (0, 0) de la matrice est égal à 0 puisque pour i=0 et j=0 le 20 MB est comparé à lui-même. The center S (0, 0) of the matrix is equal to 0 since for i = 0 and j = 0 the MB is compared to itself.

Les huit autres valeurs sont supérieures ou égales à 0. The other eight values are greater than or equal to 0.

Ce calcul par auto-similarité permet de simplifier les calculs tout en garantissant que la carte de similarité ainsi obtenue peut être modélisée autour de son extremum, ce qui assure une grande fiabilité dans la détermination de la This self-similarity calculation makes it possible to simplify the calculations while ensuring that the similarity map thus obtained can be modeled around its extremum, which ensures a high reliability in the determination of the

25 zone de confiance correspondante. 25 corresponding confidence zone.

La figure 3 illustre différentes cartes d'autosimilarité en fonction des différentes zones d'une image. Figure 3 illustrates different self-similarity maps according to different areas of an image.

Pour chaque carte, les neuf valeurs de S(i,j) se modélisent par une paraboloïde : For each map, the nine values of S (i, j) are modelized by a paraboloid:

30 S(i,j)= A.i2 + B.j2 + C.i.j+ D.i + E.j+ F Les six paramètres A, B, C, D, E, F sont calculés par la méthode des moindres carrés en connaissant les neuf valeurs de la matrice S(i, j). De ces six paramètres, sont extraits les trois paramètres de la zone de confiance (8, a et b) selon le système d'équation suivant : 1 ( C 0 = ùArc tan 2 AùBi 1 a= (A.cosO +B.sin0 ùC.cos0.sin0)2 b= (A.sinO +B.cosO + C.cosO.sin 0 )2 Ces zones de confiance sont ainsi délimitées par l'ellipse (caractérisée par trois paramètres, à savoir : l'orientation 8, le demi grand axe a 10 et le demi petit axe b) définie ci-dessus et dont le centre est confondu avec l'extrémité du vecteur de mouvement associé. La forme de l'ellipse délimitant cette zone est donc directement corrélée à la forme de la carte de similarité correspondante, les trois paramètres de la zone de confiance traduisant la nature des pixels inclus dans 15 le bloc M (homogène, texturé et/ou allongé). Dans cette zone de confiance le vecteur de mouvement peut être remplacé par tout autre vecteur de mouvement avec une influence quasi-nulle sur la quantité d'information du résidu et donc sur le taux de compression du MB. 20 Ainsi, pour un MB inclus dans une zone texturée le paraboloïde est très pointu et les paramètres A et B sont grands, ce qui a pour conséquence que la zone de confiance a des demi-axes petits (la zone de confiance présente une surface faible). Ce vecteur est donc proche du mouvement vrai, c'est-à-dire du 25 mouvement qui se produit réellement devant le capteur d'images. Un tel vecteur de mouvement doit donc être considéré différemment d'un vecteur de mouvement associé à un MB d'une zone homogène. En effet, par opposition, pour un MB d'une zone homogène les paramètres A et B sont petits et la zone de confiance a des demi-axes 1 importants. Dans un tel cas la carte de SAD associée est plate et sa zone de confiance est très large. Un tel vecteur de mouvement n'a pas besoin d'être choisi très précisément et peut être échangé pour un autre vecteur de mouvement avec une influence quasi nulle sur la quantité d'information du résidu et donc sur le taux de compression du MB. Un cas intermédiaire concerne les MBs chevauchant un contour fort, la carte de SAD étant dans ce cas allongée dans la direction du contour. En d'autres termes, le vecteur de mouvement peut être remplacé par tout autre vecteur de mouvement tel que le MB pointé chevauche le contour de la même manière. Pour de tels MBs, les vecteurs de mouvement sont généralement très différents du mouvement vrai. Néanmoins, la composante du vecteur de mouvement dans la direction perpendiculaire à celle du contour est très précise et similaire au mouvement vrai. Pour de tels MBs, la zone de confiance est donc une ellipse étirée dans la direction du contour et très aplatie dans la direction perpendiculaire au contour. En d'autres termes, une zone de confiance est représentative de la tolérance de sélection du vecteur de mouvement associé au bloc considéré. Cette information est utilisée dans la présente invention pour obtenir une indication de la marge de manoeuvre dans la détermination de la composante du vecteur de mouvement à interpoler qui dépend de ce vecteur de mouvement particulier. En effet, si la zone de confiance pour ce vecteur est grande, la marge de manoeuvre dans la détermination de la composante du vecteur de mouvement à interpoler qui dépend de ce vecteur de mouvement sera importante alors qu'elle sera plus étroite si la zone de confiance est réduite. Dans l'étape suivante 13 sont ensuite accumulées les zones de confiance de chaque bloc identifié dans un espace de paramètres où est également représenté chacun des vecteurs de mouvement correspondants et ceci afin d'isoler une ou plusieurs zones préférentielles pour le choix du vecteur à interpoler. The six parameters A, B, C, D, E, F are computed by the least squares method knowing the nine elements. values of the matrix S (i, j). From these six parameters, are extracted the three parameters of the zone of confidence (8, a and b) according to the following system of equation: 1 (C 0 = ùArc tan 2 AùBi 1 a = (A.cosO + B.sin0 çC.cos0.sin0) 2 b = (A.sinO + B.cosO + C.cosO.sin 0) 2 These confidence zones are thus delimited by the ellipse (characterized by three parameters, namely: the orientation 8 , the half major axis has 10 and the half minor axis b) defined above and whose center is coincident with the end of the associated motion vector.The shape of the ellipse delimiting this zone is therefore directly correlated to the shape of the corresponding similarity map, the three parameters of the zone of confidence reflecting the nature of the pixels included in the block M (homogeneous, textured and / or elongated) .In this zone of confidence the motion vector can be replaced by any another vector of motion with a near-zero influence on the amount of information of the residue and therefore on the rate of comp Thus, for a MB included in a textured area the paraboloid is very sharp and the parameters A and B are large, which has the consequence that the zone of confidence has small half-axes (the zone of confidence). has a weak surface). This vector is therefore close to the true motion, that is to say the movement that actually occurs in front of the image sensor. Such a motion vector must therefore be considered differently from a motion vector associated with an MB of a homogeneous zone. In fact, by contrast, for an MB of a homogeneous zone the parameters A and B are small and the zone of confidence has important half-axes 1. In such a case, the associated SAD card is flat and its zone of confidence is very wide. Such a motion vector does not need to be chosen very precisely and can be exchanged for another motion vector with almost no influence on the amount of information of the residue and thus on the compression ratio of the MB. An intermediate case concerns the MBs overlapping a strong contour, the SAD card being in this case elongated in the direction of the contour. In other words, the motion vector can be replaced by any other motion vector such that the pointed MB overlaps the contour in the same way. For such MBs, the motion vectors are generally very different from the true motion. Nevertheless, the component of the motion vector in the direction perpendicular to that of the contour is very precise and similar to the true motion. For such MBs, the zone of confidence is therefore an ellipse stretched in the direction of the contour and very flattened in the direction perpendicular to the contour. In other words, a zone of confidence is representative of the selection tolerance of the motion vector associated with the block considered. This information is used in the present invention to provide an indication of the room for maneuver in determining the component of the motion vector to be interpolated that depends on that particular motion vector. Indeed, if the zone of confidence for this vector is large, the margin of maneuver in the determination of the component of the motion vector to be interpolated which depends on this motion vector will be important whereas it will be narrower if the zone of confidence is reduced. In the next step 13, the confidence zones of each identified block are then accumulated in a parameter space in which each of the corresponding motion vectors is also represented, in order to isolate one or more preferential zones for the choice of the vector to be interpolated. .

L'espace de paramètres est une image dont tous les pixels sont initialement mis à zéro et dans laquelle sont représentés les vecteurs de mouvement. La taille de l'espace de paramètres se définit par l'amplitude et la résolution souhaitées. Soit M la taille de l'espace de paramètres et s le facteur de résolution, un vecteur de mouvement est converti en coordonnées (M/2+x.s, M/2+y.$) dans l'espace de paramètres. Le facteur de résolution s permet de définir le pas d'échantillonnage des vecteurs de mouvement. The parameter space is an image in which all the pixels are initially set to zero and in which the motion vectors are represented. The size of the parameter space is defined by the desired amplitude and resolution. Let M be the size of the parameter space and s the resolution factor, a motion vector is converted into coordinates (M / 2 + x.s, M / 2 + y. $) In the parameter space. The resolution factor s makes it possible to define the sampling step of the motion vectors.

La même mise à l'échelle est réalisée pour les coefficients a et b de chaque ellipse selon un facteur de résolution spécifique s'. Les zones de confiance sont ainsi accumulées dans l'espace de paramètres. Sur la figure 4 ont été représentés trois vecteurs de mouvement 21 à 23, chacun associé à un bloc voisin d'un même bloc à restaurer. A chaque vecteur de mouvement correspond une ellipse 24 à 26 délimitant la zone de confiance associée. Chaque vecteur de mouvement pointe sur le centre de l'ellipse à laquelle il est associé. Chaque pixel de cet espace est incrémenté de la valeur 1 dès qu'il est situé dans une zone de confiance, c'est-à-dire à l'intérieur d'une ellipse définie comme précédemment et projetée dans cet espace de paramètres. Dès lors que toutes les zones de confiance sont ainsi représentées dans l'espace de paramètres, l'accumulation des zones de confiance fait apparaître une ou plusieurs zones en recouvrement. Ces zones de recouvrement correspondent à des zones où les pixels atteignent des valeurs maximales (on parle également de pics d'accumulation) et dont la position indique les coordonnées potentielles d'un vecteur de mouvement interpolé. En effet ce sont dans ces zones de recouvrement que les chances sont optimales d'obtenir des vecteurs de mouvement interpolés, dont chacun correspond de façon fiable à au moins une partie du mouvement vrai. Dans l'exemple illustré sont représentées trois zones de confiances mais on notera qu'il est possible, dans d'autres cas, d'avoir moins de trois zones de confiance dans l'espace de paramètres, voire plus de trois zones de confiance, le principe de l'invention restant quant à lui identique. The same scaling is performed for the coefficients a and b of each ellipse according to a specific resolution factor s'. The confidence zones are thus accumulated in the parameter space. FIG. 4 shows three motion vectors 21 to 23, each associated with a neighboring block of the same block to be restored. Each motion vector corresponds to an ellipse 24 to 26 delimiting the associated confidence zone. Each motion vector points to the center of the ellipse with which it is associated. Each pixel of this space is incremented by the value 1 as soon as it is located in a zone of confidence, that is to say within an ellipse defined as before and projected in this parameter space. Since all the confidence zones are thus represented in the parameter space, the accumulation of the confidence zones reveals one or more areas in recovery. These overlapping areas correspond to areas where the pixels reach maximum values (also referred to as accumulation peaks) and whose position indicates the potential coordinates of an interpolated motion vector. Indeed, it is in these areas of overlap that the chances are optimal to obtain interpolated motion vectors, each of which corresponds reliably to at least a part of the true motion. In the illustrated example, three zones of confidences are represented, but it will be noted that it is possible in other cases to have less than three confidence zones in the parameter space, or even more than three confidence zones. the principle of the invention remaining identical.

L'étape suivante 14 (calcul d'un vecteur de restauration pour chaque bloc perdu) consiste à isoler ou extraire ces zones de recouvrement pour en déterminer des vecteurs interpolés à partir de ces zones. Pour cette raison ces zones seront appelées par la suite des zones d'interpolation. The next step 14 (calculating a recovery vector for each lost block) consists in isolating or extracting these overlapping zones in order to determine interpolated vectors from these zones. For this reason these areas will be called later interpolation zones.

Dans l'exemple illustré la méthode utilisée pour isoler les zones de recouvrement de l'espace de paramètres est la suivante : In the example shown, the method used to isolate the overlapping areas from the parameter space is as follows:

- détection du pixel de valeur maximale max dans l'espace de paramètres ; - detection of the maximum value pixel in the parameter space;

- seuillage de l'espace de paramètres par rapport au seuil égal à max . Les pixels de valeur inférieure sont mis à 0 (dans l'exemple illustré en figure 4, ce seuillage permet d'isoler comme zone d'interpolation la zone qui est hachurée, située à l'intersection des trois ellipses) ; - isolation des zones d'interpolation, ces zones se définissant par un ensemble de pixels connexes supérieurs au seuil déterminé ci-dessus. Si plusieurs zones sont observables cela signifie que le mouvement vrai est fait de plusieurs combinaisons de mouvements ; thresholding of the parameter space with respect to the threshold equal to max. The pixels of lower value are set to 0 (in the example illustrated in FIG. 4, this thresholding makes it possible to isolate as an interpolation zone the zone which is hatched, situated at the intersection of the three ellipses); - Insulation interpolation areas, these areas being defined by a set of related pixels greater than the threshold determined above. If several zones are observable it means that the true movement is made of several combinations of movements;

- pour chaque zone d'interpolation, un barycentre est calculé pour 20 déterminer les coordonnées du vecteur interpolé correspondant. for each interpolation zone, a barycentre is calculated to determine the coordinates of the corresponding interpolated vector.

Le barycentre est calculé pour chaque zone Z; (i variant de 1 à n où n correspond au nombre total de zones d'interpolation obtenues) par le moment d'ordre : L x.P(x, y) L y.P(x, y) - (x,Y)EZi - (x,yEZt x` L P(x, y) ' y~ - L P(x, y) (x, yE Z, (x, yE Z, 25 avec P(x,y) la valeur du pixel de l'espace de paramètres à la position (x,y). Pour chaque zone Z;, les coordonnées (V(i)X, V(i)y) du vecteur de The center of gravity is calculated for each zone Z; (i varying from 1 to n where n corresponds to the total number of interpolation zones obtained) by the order moment: L xP (x, y) L yP (x, y) - (x, Y) EZi - ( x, yEZt x` LP (x, y) 'y ~ - LP (x, y) (x, yE Z, (x, yE Z, with P (x, y) the value of the pixel of the space of parameters at the position (x, y) For each zone Z ;, the coordinates (V (i) X, V (i) y) of the vector of

mouvement interpolé correspondant s'expriment en fonction de la taille et du facteur de résolution de l'espace de paramètres : (x~ ûM) (Yi û M) V(i)x = 2 ; V (i) y = 2 Le nombre de vecteurs de mouvement ainsi calculés est fonction du mouvement se produisant dans la séquence vidéo. Ainsi, si le mouvement est une translation homogène alors une unique zone d'interpolation apparaît, cette zone correspondant à un unique vecteur de mouvement interpolé. Par contre, si le mouvement est multiple (par exemple en présence de plusieurs sources ayant des mouvements différents dans l'image), alors plusieurs zones d'interpolation sont observées correspondant à autant de vecteurs de mouvement interpolés. corresponding interpolated motion is expressed as a function of the size and the resolution factor of the parameter space: (x ~ ûM) (Yi-M) V (i) x = 2; V (i) y = 2 The number of motion vectors thus calculated is a function of the motion occurring in the video sequence. Thus, if the movement is a homogeneous translation then a single interpolation zone appears, this zone corresponding to a single interpolated motion vector. On the other hand, if the movement is multiple (for example in the presence of several sources having different movements in the image), then several interpolation zones are observed corresponding to as many interpolated motion vectors.

Dans le cas où une seule zone d'interpolation apparaît, le vecteur de mouvement final, encore appelé vecteur de mouvement de restauration, correspond à l'unique vecteur de mouvement interpolé. In the case where only one interpolation zone appears, the final motion vector, also called restoration motion vector, corresponds to the single interpolated motion vector.

Dans le cas où plusieurs zones d'interpolation apparaissent, il convient de prévoir ici une étape supplémentaire qui consiste à déterminer le vecteur de mouvement de restauration à partir de l'ensemble des vecteurs de mouvement interpolés au niveau de chacune des zones d'interpolation. In the case where several interpolation zones appear, it is necessary to provide here an additional step which consists in determining the restoration motion vector from the set of interpolated motion vectors at each of the interpolation zones.

Ce vecteur est déterminé en combinant les vecteurs interpolés de la façon suivante : This vector is determined by combining the interpolated vectors as follows:

- on sélectionne parmi les MBs identifiés ceux qui sont les plus 20 proches du MB à restaurer ; from the identified MBs, those which are the closest to the MB to be restored are selected;

- on recherche pour chaque MB identifié ainsi sélectionné, le vecteur interpolé qui se rapproche le plus de son vecteur de mouvement ; et for each identified MB thus selected, the interpolated vector that is closest to its motion vector is searched for; and

- on détermine ensuite le vecteur de mouvement de restauration en réalisant une moyenne des vecteurs de mouvement interpolés ainsi the restoring motion vector is then determined by averaging the interpolated motion vectors as well as

25 sélectionnés. 25 selected.

Enfin, dans une dernière étape 15 visant à remplacer le bloc perdu, une simple compensation du mouvement est appliquée à partir du vecteur de mouvement de restauration. Il s'agit ici simplement de copier l'ensemble des pixels du bloc de l'image de référence qui est pointé par le vecteur de Finally, in a last step 15 to replace the lost block, a simple motion compensation is applied from the restoration motion vector. It is simply a matter of copying all the pixels of the block of the reference image which is pointed by the vector of

30 mouvement de restauration sur le bloc perdu de l'image courante, le MB perdu étant ainsi restauré. 30 restoration movement on the lost block of the current image, the lost MB being thus restored.

On notera que l'image de référence n'est pas nécessairement une image antérieure de la séquence vidéo. Dans le cas où l'image restaurée comporte plusieurs blocs perdus le procédé selon l'invention peut s'appliquer sur tous les blocs perdus simultanément ou bien encore en plusieurs fois sur des sous-ensembles des blocs perdus tels que tous ces sous-ensembles couvrent tous les blocs perdus une fois. La figure 5 montre un mode particulier de réalisation d'un dispositif de traitement d'information apte à fonctionner comme dispositif de restauration 10 d'une séquence vidéo conforme à la présente invention. Le dispositif illustré sur la figure 5 peut comporter tout ou partie des moyens de mise en oeuvre d'un procédé de restauration conforme à la présente invention, et qui correspondent notamment à des moyens permettant de mettre en oeuvre chaque étape de la figure 1, à savoir : 15 - des moyens pour détecter dans l'image le ou les blocs perdus ; - des moyens pour identifier dans cette image, pour chaque bloc perdu, des blocs reçus qui sont associés à un vecteur de mouvement ; - des moyens pour déterminer pour chaque bloc identifié sa zone de confiance ; 20 - des moyens pour obtenir un vecteur de mouvement de restauration à partir d'au moins certaines de ces zones de confiance ainsi déterminées ; et - des moyens pour restaurer chaque bloc perdu à partir du vecteur de mouvement de restauration correspondant. 25 Selon le mode de réalisation choisi, ce dispositif peut être par exemple un micro-ordinateur ou une station de travail 100 connecté à différents périphériques, par exemple, une caméra numérique 101 (ou un scanner, ou tout autre moyen d'acquisition ou de stockage d'images) reliée à une carte graphique (non représentée) et fournissant ainsi des informations à traiter selon 30 l'invention. Le micro-ordinateur 100 comporte de préférence une interface de communication 102 reliée à un réseau 103 apte à transmettre des informations numériques. Le micro-ordinateur 100 comporte également un moyen de stockage permanent 104, tel qu'un disque dur, ainsi qu'un lecteur de moyens de stockage d'informations temporaire tel qu'un lecteur de disquettes 105 pour coopérer avec une disquette 106. It should be noted that the reference image is not necessarily an earlier image of the video sequence. In the case where the restored image comprises several lost blocks, the method according to the invention can be applied to all the blocks lost simultaneously or even in several times on subsets of the lost blocks such that all these subsets cover all blocks lost once. FIG. 5 shows a particular embodiment of an information processing device able to function as a device for restoring a video sequence according to the present invention. The device illustrated in FIG. 5 may comprise all or part of the means for implementing a restoration method according to the present invention, and which correspond in particular to means making it possible to implement each step of FIG. namely: means for detecting in the image the lost block or blocks; means for identifying in this image, for each lost block, received blocks which are associated with a motion vector; means for determining for each identified block its zone of confidence; Means for obtaining a restoration motion vector from at least some of these confidence zones thus determined; and means for restoring each lost block from the corresponding restoration motion vector. According to the embodiment chosen, this device can for example be a microcomputer or a work station 100 connected to different peripherals, for example a digital camera 101 (or a scanner, or any other means of acquisition or image storage) connected to a graphics card (not shown) and thereby providing information to be processed according to the invention. The microcomputer 100 preferably comprises a communication interface 102 connected to a network 103 capable of transmitting digital information. The microcomputer 100 also includes a permanent storage means 104, such as a hard disk, as well as a reader of temporary information storage means such as a floppy disk drive 105 for cooperating with a floppy disk 106.

La disquette 106 et le disque dur 104 peuvent contenir des données d'implantation logicielle de l'invention ainsi que le code du ou des programme(s) d'ordinateur dont l'exécution par le micro-ordinateur 100 met en oeuvre la présente invention, ce code étant par exemple mémorisé sur le disque dur 104 une fois qu'il a été lu par le micro-ordinateur 100. The diskette 106 and the hard disk 104 may contain software layout data of the invention as well as the code of the computer program (s) whose execution by the microcomputer 100 implements the present invention. , this code being for example stored on the hard disk 104 once it has been read by the microcomputer 100.

En variante, le ou les programme(s) (basé sur l'algorithme de la figure 1) permettant au dispositif 100 de mettre en oeuvre l'invention sont stockés dans une mémoire morte (par exemple du type ROM) 107. Selon une autre variante, ce ou ces programme(s) sont reçus totalement ou partiellement à travers le réseau de communication 103 pour être stockés comme indiqué. Le micro-ordinateur 100 comprend également un écran 109 pour visualiser les informations à traiter (par exemple l'espace de paramètres représenté à la figure 4) et/ou servir d'interface avec l'utilisateur, afin que l'utilisateur puisse par exemple paramétrer certains modes de traitement à l'aide du clavier 110 ou de tout autre moyen approprié de pointage et/ou de saisie tel qu'une souris, un crayon optique, etc. Une unité de calcul ou unité centrale de traitement (CPU) 111 exécute les instructions relatives à la mise en oeuvre de l'invention, ces instructions étant stockées dans la mémoire morte ROM 107 ou dans les autres éléments de stockage décrits. En particulier, l'unité centrale de traitement 111 est adaptée à mettre en oeuvre l'algorithme illustré sur la figure 1. Lors de la mise sous tension du dispositif 100, les programmes et méthodes de traitement stockés dans une des mémoires non-volatiles, par exemple la ROM 107, sont transférés dans une mémoire vive (par exemple du type RAM) 112, qui contient alors le code exécutable de l'invention ainsi que les variables nécessaires à la mise en oeuvre de l'invention. In a variant, the program (s) (based on the algorithm of FIG. 1) enabling the device 100 to implement the invention are stored in a read-only memory (for example of the ROM type) 107. According to another alternatively, this or these program (s) are received totally or partially through the communication network 103 to be stored as indicated. The microcomputer 100 also comprises a screen 109 for displaying the information to be processed (for example the parameter space shown in FIG. 4) and / or serving as an interface with the user, so that the user can, for example, to set certain processing modes using the keyboard 110 or any other appropriate means of pointing and / or input such as a mouse, an optical pen, etc. A calculation unit or central processing unit (CPU) 111 executes the instructions relating to the implementation of the invention, these instructions being stored in the ROM 107 or in the other storage elements described. In particular, the central processing unit 111 is adapted to implement the algorithm illustrated in FIG. 1. When the device 100 is powered up, the programs and processing methods stored in one of the non-volatile memories, for example the ROM 107, are transferred into a random access memory (for example of the RAM type) 112, which then contains the executable code of the invention as well as the variables necessary for the implementation of the invention.

En variante, la méthode de restauration du signal numérique peut être stockée dans différents emplacements de stockage. De façon générale, un moyen de stockage d'information lisible par un ordinateur ou par un microprocesseur, intégré ou non au dispositif, éventuellement amovible, peut mémoriser un ou plusieurs programme(s) dont l'exécution met en oeuvre le procédé de restauration d'une séquence vidéo décrit précédemment. On peut faire évoluer le mode particulier de réalisation choisi pour l'invention, par exemple en ajoutant des méthodes de traitement actualisées ou améliorées ; dans un tel cas, ces nouvelles méthodes peuvent être transmises au dispositif 100 par le réseau de communication 103, ou chargées dans le dispositif 100 par l'intermédiaire d'une ou de plusieurs disquettes 106. Bien entendu, les disquettes 106 peuvent être remplacées par tout support d'information jugé approprié (CD-ROM, carte mémoire, etc.). Un bus de communication 113 permet la communication entre les différents éléments du micro-ordinateur 100 et les éléments reliés à celui-ci. On notera que la représentation du bus 113 n'est pas limitative. En effet, l'unité centrale CPU 111 est, par exemple, susceptible de communiquer des instructions à tout élément du micro-ordinateur 100, directement ou par l'intermédiaire d'un autre élément du micro-ordinateur 100. Alternatively, the method of restoring the digital signal can be stored in different storage locations. In general, a means for storing information that can be read by a computer or by a microprocessor, whether or not integrated into the device, possibly removable, can store one or more programs whose execution implements the method of restoring the data. a video sequence described above. The particular embodiment chosen for the invention can be modified, for example by adding updated or improved processing methods; in such a case, these new methods can be transmitted to the device 100 by the communication network 103, or loaded into the device 100 via one or more floppies 106. Of course, the floppies 106 can be replaced by any information medium deemed appropriate (CD-ROM, memory card, etc.). A communication bus 113 allows communication between the different elements of the microcomputer 100 and the elements connected thereto. Note that the representation of the bus 113 is not limiting. Indeed, the CPU 111 is, for example, capable of communicating instructions to any element of the microcomputer 100, directly or through another element of the microcomputer 100.

Selon une première variante, chaque carte de SAD n'est pas déterminée sur les MBs reçus de l'image à restaurer mais sur les MBs correspondants indiqués par les vecteurs de mouvement associés de l'image ou des images de référence correspondantes. Selon une deuxième variante, chaque carte de similarité est obtenue 25 par d'autres méthodes que par des calculs de SAD. Selon une troisième variante, les blocs identifiés pour réaliser la restauration du bloc perdu ne sont pas nécessairement voisins du bloc perdu, dans le but par exemple de disposer de davantage de vecteurs de mouvement et donc de davantage de zones de confiance afin de mieux faire ressortir les 30 pics d'accumulation. Selon une quatrième variante, les zones de confiance sont obtenues à partir des modélisations des cartes de similarité, non pas sous la forme de surfaces en ellipse mais sous tout autre type de formes de surface ou bien encore sous la forme de segments (les segments indiquant dans ce cas uniquement une direction préférentielle pour l'interpolation du vecteur de mouvement de restauration). According to a first variant, each SAD card is not determined on the MBs received from the image to be restored but on the corresponding MBs indicated by the associated motion vectors of the image or corresponding reference images. According to a second variant, each similarity map is obtained by other methods than by SAD calculations. According to a third variant, the blocks identified to carry out the restoration of the lost block are not necessarily close to the lost block, for the purpose for example of having more motion vectors and therefore more confidence zones in order to better highlight the 30 accumulation peaks. According to a fourth variant, the zones of confidence are obtained from the modelings of the similarity maps, not in the form of elliptical surfaces but under any other type of surface shape or even in the form of segments (segments indicating in this case only a preferential direction for the interpolation of the restoration motion vector).

De nombreuses autres variantes sont possibles en fonction des circonstances, et l'on rappelle à cet égard que l'invention ne se limite pas aux exemples décrits et représentés. Many other variants are possible depending on the circumstances, and it is recalled in this regard that the invention is not limited to the examples described and shown.

Claims (21)

REVENDICATIONS1. Procédé de restauration d'une séquence vidéo comprenant une pluralité d'images dont au moins l'une d'elles, appelée image à restaurer, comporte au moins un bloc de pixels à restaurer ainsi que plusieurs autres blocs de pixels dont au moins certains sont associés à un vecteur de mouvement respectif, chaque vecteur de mouvement faisant correspondre le bloc de pixels auquel il est associé à un bloc de pixels d'une image de référence de la séquence vidéo, caractérisé en ce qu'il comporte les étapes suivantes : - identification (11), dans l'image à restaurer, de blocs de pixels qui sont associés à un vecteur de mouvement ; - détermination (12), pour chaque bloc identifié, d'une zone de confiance représentative de la tolérance de sélection du vecteur de mouvement associé au bloc identifié ; - obtention (13, 14) d'un vecteur de mouvement de restauration à partir d'au moins certaines de ces zones de confiance ainsi déterminées ; et - restauration (15) dudit bloc à restaurer à partir dudit vecteur de mouvement de restauration. REVENDICATIONS1. A method of restoring a video sequence comprising a plurality of images, at least one of which, called the image to be restored, comprises at least one block of pixels to be restored, as well as several other blocks of pixels, at least some of which are associated with a respective motion vector, each motion vector matching the block of pixels with which it is associated with a block of pixels of a reference image of the video sequence, characterized in that it comprises the following steps: identifying (11), in the image to be restored, blocks of pixels that are associated with a motion vector; determination (12), for each identified block, of a confidence zone representative of the selection tolerance of the motion vector associated with the identified block; obtaining (13, 14) a restoration movement vector from at least some of these confidence zones thus determined; and restoring (15) said block to be restored from said restoration movement vector. 2. Procédé selon la revendication 1, caractérisé en ce que l'étape de détermination d'une zone de confiance pour chaque bloc identifié comporte une étape d'obtention d'un modèle représentatif de la similarité du bloc identifié avec d'autres blocs de pixels, chaque modèle étant défini par au moins un coefficient. 2. Method according to claim 1, characterized in that the step of determining a zone of confidence for each identified block comprises a step of obtaining a model representative of the similarity of the identified block with other blocks of pixels, each model being defined by at least one coefficient. 3. Procédé selon la revendication 2, caractérisé en ce que le modèle représentatif de la similarité du bloc identifié avec d'autres blocs de pixels est basé sur le calcul de la somme de la valeur absolue des différences entre ledit bloc identifié et chaque dit autre bloc. 3. Method according to claim 2, characterized in that the model representative of the similarity of the identified block with other blocks of pixels is based on the calculation of the sum of the absolute value of the differences between said identified block and each said other block. 4. Procédé selon l'une quelconque des revendications 2 ou 3, caractérisé en ce que lesdits autres blocs de pixels présentent au moins certains pixels en commun avec ledit bloc de pixel identifié correspondant. 4. Method according to any one of claims 2 or 3, characterized in that said other blocks of pixels have at least some pixels in common with said corresponding identified pixel block. 5. Procédé selon l'une quelconque des revendications 2 à 4, caractérisé en ce que ledit au moins un coefficient de chaque modèle représentatif de la similarité du bloc identifié avec d'autres blocs de pixels est obtenu par la méthode des moindres carrés. 5. Method according to any one of claims 2 to 4, characterized in that said at least one coefficient of each model representative of the similarity of the identified block with other blocks of pixels is obtained by the least squares method. 6. Procédé selon l'une quelconque des revendications 2 à 5 caractérisé en ce que chaque modèle présente la forme d'un paraboloïde. 6. Method according to any one of claims 2 to 5 characterized in that each model has the shape of a paraboloid. 7. Procédé selon l'une quelconque des revendications 2 à 6, caractérisé en ce que chaque zone de confiance est représentative de la forme du modèle correspondant. 7. Method according to any one of claims 2 to 6, characterized in that each confidence zone is representative of the shape of the corresponding model. 8. Procédé selon l'une quelconque des revendications 1 à 7, caractérisé en ce que chaque zone de confiance est délimitée par une ellipse. 8. Method according to any one of claims 1 to 7, characterized in that each zone of confidence is delimited by an ellipse. 9. Procédé selon l'une quelconque des revendications 1 à 8, caractérisé en ce que ladite étape d'obtention (13, 14) d'un vecteur de mouvement de restauration comporte les étapes de : - détermination (13), dans un espace de paramètres où sont représentés les vecteurs de mouvement et les zones de confiance, d'au moins une zone d'interpolation issue d'au moins certaines de ces zones de confiance ; et - détermination (14) d'un vecteur de mouvement de restauration à partir de ladite au moins une zone d'interpolation. 9. Method according to any one of claims 1 to 8, characterized in that said step of obtaining (13, 14) a restoration motion vector comprises the steps of: - determination (13), in a space parameters representing the motion vectors and the confidence zones of at least one interpolation zone originating from at least some of these confidence zones; and determining (14) a restoration motion vector from said at least one interpolation zone. 10. Procédé selon la revendication 9, caractérisé en ce que l'étape de détermination (13) de ladite au moins une zone d'interpolation comporte l'étape d'incrémenter chaque pixel de l'espace de paramètres lorsqu'il est situé dans une zone de confiance et de ne retenir comme zone(s) d'interpolation que la ou les zones de cet espace dont la valeur des pixels dépasse une valeur de seuil prédéterminée. Method according to claim 9, characterized in that the step of determining (13) said at least one interpolation zone comprises the step of incrementing each pixel of the parameter space when it is located in a zone of confidence and to retain as zone (s) of interpolation only the zone or zones of this space whose pixel value exceeds a predetermined threshold value. 11. Procédé selon l'une quelconque des revendications 9 ou 10, caractérisé en ce que l'étape de détermination (14) du vecteur de mouvement de restauration comporte, pour chaque zone d'interpolation, une étape de détermination d'un vecteur d'interpolation associé. 11. Method according to any one of claims 9 or 10, characterized in that the step of determining (14) the restoration motion vector comprises, for each interpolation zone, a step of determining a vector d associated interpolation. 12. Procédé selon la revendication 11, caractérisé en ce que les coordonnées de chaque vecteur d'interpolation sont obtenues par calcul du barycentre de ladite zone d'interpolation correspondante. 12. Method according to claim 11, characterized in that the coordinates of each interpolation vector are obtained by calculating the barycentre of said corresponding interpolation zone. 13. Procédé selon l'une quelconque des revendications 11 ou 12, caractérisé en ce que l'étape de détermination (14) du vecteur de mouvement de restauration comporte, s'il existe plusieurs zones d'interpolation, une étape de combinaison desdits vecteurs d'interpolation correspondants. 13. Method according to any one of claims 11 or 12, characterized in that the step of determining (14) the restoration motion vector comprises, if there are several interpolation zones, a step of combining said vectors. corresponding interpolation. 14. Procédé selon l'une quelconque des revendications 1 à 13, caractérisé en ce que, parmi les blocs identifiés au cours de l'étape d'identification, au moins certains d'entre eux sont voisins du bloc de pixels à restaurer. 14. Method according to any one of claims 1 to 13, characterized in that, among the blocks identified during the identification step, at least some of them are adjacent to the block of pixels to be restored. 15. Procédé selon la revendication 14, caractérisé en ce que l'étape d'identification est réalisée, pour au moins certains des blocs, dans une fenêtre de recherche de taille prédéterminée autour du bloc à restaurer. 15. The method as claimed in claim 14, characterized in that the identification step is performed, for at least some of the blocks, in a search window of predetermined size around the block to be restored. 16. Procédé selon l'une quelconque des revendications 1 à 15, caractérisé en ce que l'étape d'identification de blocs comporte une étape de normalisation des vecteurs de mouvement associés. 16. Method according to any one of claims 1 to 15, characterized in that the step of identifying blocks comprises a step of normalizing the associated motion vectors. 17. Dispositif de restauration d'une séquence vidéo comprenant une pluralité d'images dont au moins l'une d'elles, appelée image à restaurer, comporte au moins un bloc de pixels à restaurer ainsi que plusieurs autres blocs de pixels dont au moins certains sont associés à un vecteur de mouvement respectif, chaque vecteur de mouvement faisant correspondre le bloc de pixels auquel il est associé à un bloc de pixels d'une image de référence de la séquence vidéo, caractérisé en ce qu'il comporte : - des moyens pour identifier, dans l'image à restaurer, des blocs qui sont associés à un vecteur de mouvement ; - des moyens pour déterminer, pour chaque bloc identifié, une zone de confiance représentative de la tolérance de sélection du vecteur de mouvement associé au bloc identifié ; - des moyens pour obtenir un vecteur de mouvement de restauration à partir d'au moins certaines de ces zones de confiance ainsi déterminées ; et - des moyens pour restaurer ledit bloc à restaurer à partir dudit vecteur de mouvement de restauration. 17. Device for restoring a video sequence comprising a plurality of images of which at least one of them, called the image to be restored, comprises at least one block of pixels to be restored as well as several other blocks of pixels, at least some are associated with a respective motion vector, each motion vector matching the block of pixels with which it is associated with a block of pixels of a reference image of the video sequence, characterized in that it comprises: means for identifying, in the image to be restored, blocks that are associated with a motion vector; means for determining, for each block identified, a confidence zone representative of the selection tolerance of the motion vector associated with the identified block; means for obtaining a restoration movement vector from at least some of these confidence zones thus determined; and means for restoring said block to be restored from said restoration movement vector. 18. Dispositif selon la revendication 17, caractérisé en ce que lesdits moyens de détermination pour chaque bloc identifié d'une zone de confiance sont adaptés à obtenir un modèle représentatif de la similarité du bloc identifié avec d'autres blocs de pixels. 18. Device according to claim 17, characterized in that said determination means for each identified block of a confidence zone are adapted to obtain a model representative of the similarity of the identified block with other blocks of pixels. 19. Dispositif selon l'une quelconque des revendications 17 ou 18, caractérisé en ce que lesdits moyens de détermination pour chaque bloc identifié d'une zone de confiance sont adaptés à obtenir ledit modèle représentatif de la similarité du bloc identifié avec d'autres blocs de pixels par un calcul de la somme de la valeur absolue des différences entre ledit bloc identifié et chaque dit autre bloc. 19. Device according to any one of claims 17 or 18, characterized in that said determination means for each identified block of a confidence zone are adapted to obtain said model representative of the similarity of the identified block with other blocks pixels by calculating the sum of the absolute value of the differences between said identified block and each said other block. 20. Moyen de stockage d'informations lisible par un ordinateur ou un microprocesseur conservant des instructions d'un programme informatique, caractérisé en ce qu'il permet la mise en oeuvre d'un procédé de restauration selon l'une quelconque des revendications 1 à 16. 20. A computer-readable information storage medium or a microprocessor holding instructions of a computer program, characterized in that it allows the implementation of a restoration method according to any one of claims 1 to 16. 21. Produit programme d'ordinateur pouvant être chargé dans un appareil programmable, caractérisé en ce qu'il comporte des séquences d'instructions pour mettre en oeuvre un procédé de restauration selon l'une quelconque des revendications 1 à 16, lorsque ce programme est chargé et exécuté par l'appareil programmable. 21. Computer program product that can be loaded into a programmable device, characterized in that it comprises sequences of instructions for implementing a restoration method according to any one of claims 1 to 16, when this program is loaded and executed by the programmable device.
FR0952715A 2009-04-24 2009-04-24 METHOD AND DEVICE FOR RESTORING A VIDEO SEQUENCE Expired - Fee Related FR2944937B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
FR0952715A FR2944937B1 (en) 2009-04-24 2009-04-24 METHOD AND DEVICE FOR RESTORING A VIDEO SEQUENCE

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
FR0952715A FR2944937B1 (en) 2009-04-24 2009-04-24 METHOD AND DEVICE FOR RESTORING A VIDEO SEQUENCE

Publications (2)

Publication Number Publication Date
FR2944937A1 true FR2944937A1 (en) 2010-10-29
FR2944937B1 FR2944937B1 (en) 2011-10-21

Family

ID=41559442

Family Applications (1)

Application Number Title Priority Date Filing Date
FR0952715A Expired - Fee Related FR2944937B1 (en) 2009-04-24 2009-04-24 METHOD AND DEVICE FOR RESTORING A VIDEO SEQUENCE

Country Status (1)

Country Link
FR (1) FR2944937B1 (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20130322537A1 (en) * 2012-05-14 2013-12-05 Luca Rossato Estimation, encoding and decoding of motion information in multidimensional signals through motion zones, and auxiliary information through auxiliary zones
CN115018734A (en) * 2022-07-15 2022-09-06 北京百度网讯科技有限公司 Video restoration method and training method and device of video restoration model

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2311184A (en) * 1996-03-13 1997-09-17 Innovision Plc Motion vector field error estimation
EP1301044A1 (en) * 2001-10-05 2003-04-09 Mitsubishi Electric Information Technology Centre Europe B.V. Method and apparatus for compensating for motion vector errors in image data

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2311184A (en) * 1996-03-13 1997-09-17 Innovision Plc Motion vector field error estimation
EP1301044A1 (en) * 2001-10-05 2003-04-09 Mitsubishi Electric Information Technology Centre Europe B.V. Method and apparatus for compensating for motion vector errors in image data

Non-Patent Citations (5)

* Cited by examiner, † Cited by third party
Title
CHUNBO YANG ET AL: "An adaptive frame interpolation algorithm using statistic analysis of motions and residual energy", 2008 IEEE 10TH WORKSHOP ON MULTIMEDIA SIGNAL PROCESSING, CAIRNS, QLD, AUSTRALIA, 8-10 OCT. 2008, IEEE, PISCATAWAY, NJ, USA, 8 October 2008 (2008-10-08), pages 235 - 240, XP031356633, ISBN: 978-1-4244-2294-4 *
DANE G ET AL: "Smooth motion vector resampling for standard compatible video post-processing", CONFERENCE RECORD OF THE THIRTY- EIGHTH ASILOMAR CONFERENCE ON SIGNALS, SYSTEMS AND COMPUTERS, 2004, PACIFIC GROVE, CA, USA NOV. 7-10, 2004, PISCATAWAY, NJ, USA,IEEE, vol. 2, 7 November 2004 (2004-11-07), pages 1731 - 1735, XP010781187, ISBN: 978-0-7803-8622-8 *
JIANDONG SHEN ET AL: "Benefits of adaptive motion accuracy in H.26L video coding", PROCEEDINGS OF THE 2000 INTERNATIONAL CONFERENCE ON IMAGE PROCESSING, VANCOUVER, BC, CANADA, SEPTEMBER 10-13, 2000, IEEE, PISCATAWAY, NJ, USA, vol. 1, 10 September 2000 (2000-09-10), pages 1012 - 1015, XP010530789, ISBN: 978-0-7803-6297-0 *
LAM W M ET AL: "Recovery of lost or erroneously received motion vectors", PROCEEDINGS OF THE INTERNATIONAL CONFERENCE ON 1993 IEEE INTERNATIONAL CONFERENCE ON ACOUSTICS, SPEECH, AND SIGNAL PROCESSING, 1993 (ICASSP-93), MINNEAPOLIS, MN, USA, 27-30 APRIL 1993, PISCATAWAY, NJ, USA, vol. 5, 27 April 1993 (1993-04-27), pages 417 - 420, XP010110891, ISBN: 978-0-7803-0946-3 *
YUEN-WEN LEE ET AL: "Prediction and search techniques for RD-optimized motion estimation in a very low bit rate video coding framework", 1997 IEEE INTERNATIONAL CONFERENCE ON ACOUSTICS, SPEECH, AND SIGNAL PROCESSING (ICASSP-97), MUNICH, GERMANY, 21-24 APRIL 1997, LOS ALAMITOS, CA, USA,IEEE COMPUT. SOC, US, vol. 4, 21 April 1997 (1997-04-21), pages 2861 - 2864, XP010225753, ISBN: 978-0-8186-7919-3 *

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20130322537A1 (en) * 2012-05-14 2013-12-05 Luca Rossato Estimation, encoding and decoding of motion information in multidimensional signals through motion zones, and auxiliary information through auxiliary zones
US9706206B2 (en) 2012-05-14 2017-07-11 V-Nova International Limited Estimation, encoding and decoding of motion information in multidimensional signals through motion zones, and auxiliary information through auxiliary zones
US10750178B2 (en) 2012-05-14 2020-08-18 V-Nova International Limited Processing of motion information in multidimensional signals through motion zones and auxiliary information through auxiliary zones
US11595653B2 (en) 2012-05-14 2023-02-28 V-Nova International Limited Processing of motion information in multidimensional signals through motion zones and auxiliary information through auxiliary zones
CN115018734A (en) * 2022-07-15 2022-09-06 北京百度网讯科技有限公司 Video restoration method and training method and device of video restoration model
CN115018734B (en) * 2022-07-15 2023-10-13 北京百度网讯科技有限公司 Video restoration method and training method and device of video restoration model

Also Published As

Publication number Publication date
FR2944937B1 (en) 2011-10-21

Similar Documents

Publication Publication Date Title
EP2491532B1 (en) Method, computer program and device for real-time hybrid tracking of object representations in an image sequence
FR3011368A1 (en) METHOD AND DEVICE FOR REINFORCING THE SHAPE OF THE EDGES FOR VISUAL IMPROVEMENT OF THE RENDER BASED ON DEPTH IMAGES OF A THREE-DIMENSIONAL VIDEO STREAM
EP2347590B1 (en) Image prediction with forward motion compensation
EP2281396A1 (en) Image coding method with texture synthesis
EP1603341B1 (en) Method and device for image interpolation systems using motion estimation and compensation
FR2920632A1 (en) METHOD AND DEVICE FOR DECODING VIDEO SEQUENCES WITH ERROR MASKING
EP1591962B1 (en) Method and device for generating candidate vectors for image interpolation systems using motion estimation and compensation
EP1746486A1 (en) Process for detecting movement of an entity fitted with an image sensor and a device for implementing it
FR2944937A1 (en) Video sequence image's lost pixel blocks restoration method for use during image transmission, involves obtaining restoration motion vector from determined confidence zones, and restoring identified blocks from restoration motion vector
FR2933520A1 (en) METHOD AND DEVICE FOR RESTORING A VIDEO SEQUENCE
FR2879391A1 (en) Movement estimation method for e.g. computer system, involves electing movement vector among generated candidate movement vectors and storing information associating elected movement vector to current image in sequence
WO2021214395A1 (en) Methods and devices for coding and decoding a multi-view video sequence
EP3918576A1 (en) Dynamic three-dimensional imaging method
WO2020188172A1 (en) Methods and devices for coding and decoding a multi-view video sequence
FR3054347B1 (en) METHOD AND DEVICE FOR AIDING NAVIGATION OF A VEHICLE
EP3903282B1 (en) Method for segmenting an image
FR2945698A1 (en) METHOD AND DEVICE FOR ENCODING A VIDEO SEQUENCE
FR2939264A1 (en) DEVICE FOR ENCODING A STREAM OF DIGITAL IMAGES AND CORRESPONDING DECODING DEVICE
FR3009471A1 (en) METHOD FOR PROCESSING AN IMAGE SEQUENCE, CORRESPONDING COMPUTER PROGRAM AND PROCESSING DEVICE
FR2948522A1 (en) Movement vector estimating method for use during coding of video sequence of images, involves determining movement vector associated to current block based on function applied to vectors associated to neighbor blocks
EP4085613A1 (en) Iterative synthesis of views from data of a multi-view video
WO2023247208A1 (en) Method for segmenting a plurality of data, and corresponding coding method, decoding method, devices, systems and computer program
FR3036016A1 (en) PREDICTIVE CODING / DECODING OF IMAGES HAVING ARTIFACT USING EXTRAPOLATION
WO2021123617A1 (en) Method for encoding a digital image in order to compress same
EP2737452A1 (en) Method for encoding an image after resizing by deleting pixels

Legal Events

Date Code Title Description
ST Notification of lapse

Effective date: 20131231