FR2717648A1 - Method and device for estimating motion between television images of a sequence of images. - Google Patents
Method and device for estimating motion between television images of a sequence of images. Download PDFInfo
- Publication number
- FR2717648A1 FR2717648A1 FR9403080A FR9403080A FR2717648A1 FR 2717648 A1 FR2717648 A1 FR 2717648A1 FR 9403080 A FR9403080 A FR 9403080A FR 9403080 A FR9403080 A FR 9403080A FR 2717648 A1 FR2717648 A1 FR 2717648A1
- Authority
- FR
- France
- Prior art keywords
- image
- estimation
- macroblock
- current
- motion
- 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
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N5/00—Details of television systems
- H04N5/14—Picture signal circuitry for video frequency region
- H04N5/144—Movement detection
- H04N5/145—Movement estimation
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/50—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
- H04N19/503—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
- H04N19/51—Motion estimation or motion compensation
- H04N19/523—Motion estimation or motion compensation with sub-pixel accuracy
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/50—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
- H04N19/503—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
- H04N19/51—Motion estimation or motion compensation
- H04N19/53—Multi-resolution motion estimation; Hierarchical motion estimation
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
- Image Analysis (AREA)
Abstract
Description
PROCEDE ET DISPOSITIF D'ESTIMATION DE MOUVEMENT
ENTRE IMAGES DE TELEVISION D'UNE SEOUENCE D'IMAGES
L'invention concerne un procédé et un dispositif d'estimation de mouvement entre images de télévision d'une séquence d'images.MOVEMENT ESTIMATION METHOD AND DEVICE
BETWEEN TELEVISION IMAGES OF A SEQUENCE OF IMAGES
The invention relates to a method and a device for estimating movement between television images of a sequence of images.
La transmission et le stockage d'images animes sous forme numérique necessite la mise en oeuvre d'algorithmes de traitement de plus en plus complexes. Parmi ces algorithmes de traitement, la compensation de mouvement constitue l'une des possibilités utilisées, pour la compression ou le traitement des images animes de type images de télévision. The transmission and storage of animated images in digital form requires the implementation of increasingly complex processing algorithms. Among these processing algorithms, motion compensation is one of the possibilities used for compressing or processing animated images of the television image type.
La technique de la compensation de mouvement comprend deux opérations fonctionnellement distinctes
- l'estimation de mouvement, laquelle consiste à calculer des vecteurs de déplacement entre des images issues d'une même sequence d'images
- la compensation de mouvement proprement dite, laquelle consiste à utiliser les vecteurs de déplacement calculés lors de l'estimation, afin d'effectuer des traitements divers.The motion compensation technique includes two functionally distinct operations
- motion estimation, which consists of calculating displacement vectors between images from the same sequence of images
- the actual motion compensation, which consists in using the displacement vectors calculated during the estimation, in order to carry out various treatments.
La compensation de mouvement proprement dite est spécifique de l'application dans laquelle celle-ci est utilisée. En conversion de norme ou de standard de transmission, la compensation de mouvement est utilisée pour effectuer une interpolation des images. En compression de données, la compensation de mouvement est utilisée pour estimer (ou prédire) une ou plusieurs images successives, afin de réduire la redondance des séquences d'images. The actual motion compensation is specific to the application in which it is used. In standard or transmission standard conversion, motion compensation is used to interpolate the images. In data compression, motion compensation is used to estimate (or predict) one or more successive images, in order to reduce the redundancy of image sequences.
L'estimation de mouvement, quant à elle, peut être commune à un grand nombre d'applications. D'une manière générale, l'opération d'estimation de mouvement est la plus coûteuse en nombre d'opérations et la qualité de la compensation de mouvement dépend plus particulièrement de cette opération d'estimation. Motion estimation, on the other hand, can be common to a large number of applications. In general, the motion estimation operation is the most costly in terms of number of operations and the quality of the motion compensation depends more particularly on this estimation operation.
Le caractère dissymétrique de l'estimation et de compensation de mouvement apparaît encore renforcé pour les applications de compression, lors de la transmission ou du stockage d'images sous forme numérique, dans la mesure où l'opération d'estimation intervient uniquement dans l'opération de compression alors que la compensation intervient à la fois dans les opérations de compression et de décompression. Ainsi, lors de la transmission d'images, l'émetteur ou compresseur inclut les deux fonctions d'estimation et de compression alors que le récepteur inclut uniquement la fonction de compensation, les vecteurs de déplacement devant alors être transmis. The asymmetrical nature of motion estimation and compensation appears to be further reinforced for compression applications, when transmitting or storing images in digital form, insofar as the estimation operation occurs only in the compression operation while compensation is used in both compression and decompression operations. Thus, during the transmission of images, the transmitter or compressor includes the two estimation and compression functions while the receiver only includes the compensation function, the displacement vectors then having to be transmitted.
Parmi les méthodes actuellement mises en oeuvre pour effectuer l'estimation de mouvement, on distingue deux grandes familles de techniques. Among the methods currently used to perform motion estimation, there are two main families of techniques.
Une première famille consiste à utiliser l'information de gradient ou variation d'amplitude des images. Une telle méthode a fait l'objet d'une première publication par
LIMB, PEASE et WALSH intitulée "Combining interframe and frame to frame coding for television". BSTJ Vol.53, n"6,
July-August 1974, pp. 1137-1173, et d'une deuxième publication par NETRAVALI, ROBBIUS, intitulée "Motion Compensated
Television Coding" : Part I - BSTJ Vol.58, n"3, March 1979, pp. 631-670.A first family consists in using the gradient information or amplitude variation of the images. Such a method was the subject of a first publication by
LIMB, PEASE and WALSH entitled "Combining interframe and frame to frame coding for television". BSTJ Vol.53, n "6,
July-August 1974, pp. 1137-1173, and a second publication by NETRAVALI, ROBBIUS, entitled "Motion Compensated
Television Coding ": Part I - BSTJ Vol.58, n" 3, March 1979, pp. 631-670.
Une deuxième famille, plus récente, consiste à utiliser un processus de corrélation de phase ou d'amplitude entre les images. Un tel processus a fait l'objet d'une publication par JAIN, JAIN intitulée "Displacement measurement and its applications in interframe coding", IEEE Trans. on Comm. Vol.COM-29, ne12, December 1981, pp. 1799-1808. A second, more recent family consists in using a phase or amplitude correlation process between the images. Such a process was the subject of a publication by JAIN, JAIN entitled "Displacement measurement and its applications in interframe coding", IEEE Trans. on Comm. Vol.COM-29, ne12, December 1981, pp. 1799-1808.
Ces deux familles de methodes sont les plus communément désignées par estimation de mouvement par point et par estimation de mouvement par bloc (Pel recursive respectivement Block matching, en langage anglo-saxon). These two families of methods are the most commonly designated by motion estimation by point and by motion estimation by block (Pel recursive respectively Block matching, in English language).
Les méthodes d'estimation de mouvement par point permettent de fournir, en sortie d'estimation, un vecteur déplacement par point et donc un champ de vecteurs précis et très représentatif du mouvement reel des objets dans l'image. Ces methodes sont donc plutôt réservées à des applications dans lesquelles la quantité d'information représentative du champ de vecteurs n'est pas gênante, soit en l'absence de stockage ou de transmission de cette information, applications telles que la conversion de standard. De type récursif, elles nécessitent plusieurs opérations sequentielles sur chaque point, et ne peuvent donc pas être valablement appliquées en temps réel sur des signaux vidéo d'images de télévision. The point-based motion estimation methods make it possible to provide, at the output of the estimation, a point-displacement vector and therefore a precise vector field which is very representative of the real movement of the objects in the image. These methods are therefore rather reserved for applications in which the quantity of information representative of the vector field is not troublesome, either in the absence of storage or transmission of this information, applications such as standard conversion. Recursive type, they require several sequential operations on each point, and therefore cannot be validly applied in real time on video signals from television images.
Les méthodes d'estimation par bloc fournissent un seul vecteur par bloc d'image. Elles sont moins précises que les méthodes de la première famille mais la quantité d'information nécessaire pour représenter le champ des vecteurs déplacement est plus faible. Elles sont donc plutôt reservées à des applications de compression ou de stockage d'images et sont préconisées dans les normes de compression
ETSI ETS 300 174, H261 du CCITT et ISO 11172. Très régulières du point de vue processus de calcul, elles ont permis le développement de circuits intégres dédiés tels que le LSI
Logic L64720 Motion Estimation Processor ou SGS-THOMSON
MICROELECTRONICS STI 3220, lesquels réalisent la fonction estimation de mouvement malgré un nombre important d'opérations de calcul.Block estimation methods provide a single vector per image block. They are less precise than the methods of the first family but the quantity of information necessary to represent the field of the displacement vectors is lower. They are therefore rather reserved for compression or image storage applications and are recommended in compression standards
ETSI ETS 300 174, H261 of CCITT and ISO 11172. Very regular from the point of view of calculation process, they allowed the development of dedicated integrated circuits such as LSI
Logic L64720 Motion Estimation Processor or SGS-THOMSON
MICROELECTRONICS STI 3220, which perform the motion estimation function despite a large number of calculation operations.
Les deux familles de méthodes précitées demandent toutefois un nombre d'opérations très important, la quantité d'opérations augmentant proportionnellement aux dimensions d'une fenêtre de recherche de points respectivement de blocs.The two families of methods mentioned above however require a very large number of operations, the quantity of operations increasing in proportion to the dimensions of a window for searching for points of blocks respectively.
Plusieurs propositions ont été effectuées pour remédier à cet inconvénient. Several proposals have been made to remedy this drawback.
Une première proposition, faite par JAIN, JAIN déjà cité, consiste à rechercher, dans une technique d'estimation de mouvement par blocs, le vecteur déplacement ou mouvement en plusieurs étapes. Des positions de déplacement écartées les unes des autres sont testées, la recherche étant affinée en plusieurs étapes similaires autour de la position sélectionnée à l'étape précédente. Cette méthode est sous-optimale car elle peut converger vers un vecteur différent du vecteur optimal, en raison de la convergence du critère de sélection du vecteur vers un minimum local.A first proposition, made by JAIN, JAIN already cited, consists in seeking, in a block motion estimation technique, the displacement or movement vector in several stages. Displacement positions spaced from each other are tested, the search being refined in several similar steps around the position selected in the previous step. This method is sub-optimal because it can converge towards a vector different from the optimal vector, due to the convergence of the criterion of selection of the vector towards a local minimum.
Une autre proposition a été effectuée par KOGA, IINUMA,
HIRANO, IJIGIMA, ISHIGURO, dans la publication intitulee "Motion compensated interframe coding for videoconferencing", Proceedings NTC81, New-Orleans, LA, Nov-Dec.1981, pp.Another proposal was made by KOGA, IINUMA,
HIRANO, IJIGIMA, ISHIGURO, in the publication entitled "Motion compensated interframe coding for videoconferencing", Proceedings NTC81, New-Orleans, LA, Nov-Dec.1981, pp.
G5.3.1-5.3.5. Le vecteur deplacement est, dans cette proposition, calculé en plusieurs étapes. Il est calculé sur des images de faible résolution, obtenues à partir des images de départ par sous-échantillonnage, un premier vecteur étant calculé à un niveau de résolution le plus faible puis affiné dans chacun des niveaux suivants, lesquels presentent une résolution croissante dans un rapport 2 à chaque niveau.G5.3.1-5.3.5. In this proposition, the displacement vector is calculated in several stages. It is calculated on low resolution images, obtained from the initial images by subsampling, a first vector being calculated at a lowest resolution level and then refined in each of the following levels, which have increasing resolution in a report 2 at each level.
Bien que permettant de restreindre le nombre d'opérations pour un résultat comparable a celui d'une recherche systematique sur l'image de départ, cette méthode nécessite le calcul et la mémorisation des images sur l'ensemble des niveaux de resolution et apporte un retard important au calcul des vecteurs déplacement, ceux-ci etant calculés récursivement d'un niveau de résolution au suivant.Although it makes it possible to restrict the number of operations for a result comparable to that of a systematic search on the starting image, this method requires the calculation and the memorization of the images on all the levels of resolution and brings a delay important to the calculation of displacement vectors, these being computed recursively from one level of resolution to the next.
Enfin, une autre méthode a été proposée plus récemment par BIERLING et THOMA dans la publication intitu lée "Motion compensating fields interpolating using a hierarchically structured displacement estimator", publiée dans la revue Signal Processing, Vol.ll, n"4, December 1986, pp. 387-404. Finally, another method has been proposed more recently by BIERLING and THOMA in the publication entitled "Motion compensating fields interpolating using a hierarchically structured displacement estimator", published in the journal Signal Processing, Vol.ll, n "4, December 1986, pp. 387-404.
Cette méthode, appelée également hiérarchique, permet en deux étapes d'estimer des mouvements importants avec une bonne precision. Dans un premier temps, une estimation de mouvement grossière est effectuée sur une image souséchantillonnée, puis sur l'image originale.This method, also called hierarchical, allows in two stages to estimate important movements with good precision. First, a rough motion estimate is performed on an undersampled image, then on the original image.
Toutefois, l'estimateur de mouvement utilisé est un estimateur par point sur les deux étapes d'estimation, ce qui engendre, en conséquence, un volume de calculs important. However, the motion estimator used is a point estimator over the two estimation stages, which consequently generates a large volume of calculations.
La présente invention a pour objet de remédier aux inconvénients précités des méthodes antérieures, tout en maintenant une bonne précision de l'estimation pour un volume de calculs, et donc un temps de calcul, réduit de manière significative. The object of the present invention is to remedy the aforementioned drawbacks of the previous methods, while maintaining good precision of the estimate for a volume of calculations, and therefore a significantly reduced calculation time.
Un autre objet de la présente invention est la mise en oeuvre d'un procédé et d'un dispositif d'estimation de mouvement entre images de télévision d'une séquence d'images permettant tout type de traitement d'images animées, notamment en télévision numérique. Another object of the present invention is the implementation of a method and a device for estimating movement between television images of a sequence of images allowing any type of processing of animated images, in particular in television. digital.
Un autre objet de la présente invention est également la mise en oeuvre d'un procédé et d'un dispositif d'estimation de mouvement entre images de télévision d'une séquence d'images compatible avec les normes de compression numérique de données ou de signaux d'images telles que les normes
- CCITT H261 pour le visiophone, pour des débits de transmission de données compris entre 64 kbits/s et 2 Mbits/s,
- ISO 11172 (MPEG1) pour le stockage d'images animées sur disque optique (CD-ROM) à 1,15 Mbits/s,
- ETSI ETS 300 174 pour les liaisons de transmission de données professionnelles à un débit de 34 Mbits/s,
- ISO MPEG à débits de transmission inférieurs à 10 Mbits/s pour des applications de type télévision.Another object of the present invention is also the implementation of a method and a device for estimating movement between television images of a sequence of images compatible with the digital compression standards for data or signals images such as standards
- CCITT H261 for the videophone, for data transmission rates between 64 kbits / s and 2 Mbits / s,
- ISO 11172 (MPEG1) for the storage of moving images on optical disc (CD-ROM) at 1.15 Mbits / s,
- ETSI ETS 300 174 for professional data transmission links at a speed of 34 Mbits / s,
- ISO MPEG with transmission rates lower than 10 Mbits / s for television type applications.
Le procédé d'estimation de mouvement entre images de télévision d'une séquence d'images, objet de la présente invention, est mis en oeuvre sur au moins une séquence d'images, chaque image étant formée d'une succession de lignes de pixels regroupées en une trame paire et en une trame impaire. Chaque séquence d'images comporte au moins par rapport à une image courante, pour laquelle l'estimation de mouvement est établie, au moins une image antérieure et une image postérieure susceptible de constituer chacune une image de comparaison d'estimation. Chaque image courante et de comparaison d'estimation est subdivisée en blocs de N pixels sur N lignes d'image et en macroblocs formés par p blocs adjacents, chacun des macroblocs étant formé par deux demi-macroblocs constitués chacun par des lignes de la trame paire respectivement impaire. Il est remarquable en ce qu'il consiste à former, à partir de l'image courante et de l'image de comparaison d'estimation, des images grossières correspondantes, image grossière courante respectivement de comparaison d'estimation, et à déterminer pour chaque macrobloc et demi-macrobloc de ce macrobloc de l'image grossière courante un vecteur mouvement auxiliaire par rapport à l'image grossière de comparaison d'estimation, chaque vecteur mouvement auxiliaire étant obtenu par estimation par blocs, de façon à obtenir pour chaque macrobloc et demi-macrobloc de ce macrobloc de l'image grossière courante un vecteur auxiliaire associé. Pour chaque macrobloc de l'image courante, un ensemble d'au moins trois vecteurs mouvement finaux est alors déterminé, par estimation par blocs, à partir du vecteur auxiliaire et des blocs et macroblocs des images courante et de comparaison d'estimation. The method for estimating movement between television images of a sequence of images, object of the present invention, is implemented on at least one sequence of images, each image being formed of a succession of lines of pixels. grouped in an even frame and in an odd frame. Each sequence of images comprises at least with respect to a current image, for which the motion estimate is established, at least one anterior image and one posterior image capable of constituting each an estimation comparison image. Each current and estimation comparison image is subdivided into blocks of N pixels on N image lines and into macroblocks formed by p adjacent blocks, each of the macroblocks being formed by two half-macroblocks each consisting of lines of the even frame. respectively odd. It is remarkable in that it consists in forming, from the current image and the estimation comparison image, corresponding coarse images, respectively coarse estimation comparison image, and to determine for each macroblock and half-macroblock of this macroblock of the current coarse image an auxiliary motion vector with respect to the rough estimation comparison image, each auxiliary motion vector being obtained by block estimation, so as to obtain for each macroblock and half-macroblock of this macroblock of the current coarse image an associated auxiliary vector. For each macroblock of the current image, a set of at least three final motion vectors is then determined, by block estimation, from the auxiliary vector and from the blocks and macroblocks of the current image and of estimation comparison.
Le dispositif d'estimation de mouvement entre images de télévision d'une séquence d'images, objet de la présente invention, opère sur au moins une séquence d'images, chaque image et chaque séquence d'images étant conforme aux spécifications mentionnées précédemment. The device for estimating movement between television images of a sequence of images, object of the present invention, operates on at least one sequence of images, each image and each sequence of images conforming to the specifications mentioned above.
Il est remarquable en ce qu'il comporte au moins un module opérateur d'estimation de mouvement de l'image courante par rapport à l'image de comparaison d'estimation. Le module opérateur d'estimation de mouvement comporte au moins, alimentés en parallèle par des signaux vidéo-numériques représentatifs de l'image courante et de l'image de comparaison d'estimation d'origine, un circuit d'estimation grossière de mouvement permettant de déterminer, pour chaque macrobloc de l'image courante, des vecteurs mouvement auxiliaires par rapport à l'image de comparaison d'estimation, chaque vecteur mouvement auxiliaire étant obtenu par estimation de mouvement grossière de l'image courante de façon à obtenir, pour chaque macrobloc et demi-macrobloc de ce macrobloc, un vecteur auxiliaire associé. Un circuit d'estimation finale de mouvement est connecté en cascade au circuit d'estimation grossière de mouvement et reçoit les vecteurs mouvement auxiliaires délivrés par ce dernier. Ce circuit d'estimation finale délivre à partir des vecteurs mouvement auxiliaires et de l'image de comparaison d'estimation un ensemble d'au moins trois vecteurs mouvement finaux associés à chaque macro-bloc et demi-macrobloc de ce macrobloc de l'image courante.It is remarkable in that it comprises at least one operator module for estimating the movement of the current image with respect to the estimation comparison image. The motion estimation operator module comprises at least, supplied in parallel by video-digital signals representative of the current image and of the original estimation comparison image, a rough motion estimation circuit allowing determining, for each macroblock of the current image, auxiliary motion vectors with respect to the estimation comparison image, each auxiliary motion vector being obtained by rough motion estimation of the current image so as to obtain, for each macroblock and half-macroblock of this macroblock, an associated auxiliary vector. A final motion estimation circuit is connected in cascade to the rough motion estimation circuit and receives the auxiliary motion vectors delivered by the latter. This final estimation circuit delivers from the auxiliary motion vectors and the estimation comparison image a set of at least three final motion vectors associated with each macro-block and half-macroblock of this macroblock of the image. current.
Le procédé et le dispositif objets de la présente invention trouvent application aux techniques utilisées pour la transmission et le traitement des données d'image de télévision numérique telles que la compression numérique, les conversions de normes, les pré- et post-traitements en studio, le calcul des disparités ou différences entre plusieurs vues d'une même scène, en télévision stéréoscopique par exemple. The method and the device which are the subject of the present invention find application to the techniques used for the transmission and processing of digital television image data such as digital compression, standard conversions, pre- and post-processing in the studio, the calculation of disparities or differences between several views of the same scene, in stereoscopic television for example.
Ils seront mieux compris à la lecture de la description et à l'observation des dessins ci-après dans lesquels, outre les figures la et lb illustratives de techniques d'estimation de mouvement dans le cadre de la norme MPEG précitée,
- la figure 2a représente, de manière illustrative, les différentes étapes permettant la mise en oeuvre du procédé objet de l'invention,
- la figure 2b représente une variante de mise en oeuvre du procédé objet de l'invention,
- la figure 3 représente, de manière synoptique, un dispositif permettant la mise en oeuvre du procédé objet de la présente invention,
- la figure 4a représente, de manière non limitative, un détail de réalisation du dispositif représenté en figure 3, relatif à un circuit d'estimation grossière de mouvement,
- la figure 4b représente le schéma d'un circuit d'estimation de mouvement proprement dit, utilisé pour la mise en oeuvre du circuit d'estimation grossière de mouvement représenté en figure 4a,
- la figure 4c représente, de manière illustrative, le mode opératoire du circuit d'estimation de mouvement proprement dit représenté en figure 4b, sur une fenêtre de recherche spécifique de l'image grossière de comparaison d'estimation,
- la figure 5 représente, de manière synoptique, un détail de réalisation du dispositif représenté en figure 3, relatif à un circuit d'estimation finale de mouvement,
- les figures 6a et 6b représentent un détail de réalisation d'un circuit estimateur de mouvement élémentaire en mode de fonctionnement dit au pas entier respectivement un chronogramme de fonctionnement de ce circuit estimateur de mouvement élémentaire,
- les figures 7a et 7b représentent un mode d'obtention de pixels ou points image au demi-pas, ainsi que spécifié par la norme MPEG, respectivement un détail de réalisation d'un circuit estimateur de mouvement élémentaire en mode de fonctionnement au demi-pas.They will be better understood on reading the description and on observing the drawings below in which, in addition to FIGS. 1a and 1b illustrative of motion estimation techniques within the framework of the aforementioned MPEG standard,
FIG. 2a represents, in an illustrative manner, the different steps allowing the implementation of the method which is the subject of the invention,
FIG. 2b represents a variant implementation of the method which is the subject of the invention,
FIG. 3 represents, in a block diagram, a device allowing the implementation of the method which is the subject of the present invention,
FIG. 4a represents, in a nonlimiting manner, a detail of embodiment of the device represented in FIG. 3, relating to a rough motion estimation circuit,
FIG. 4b represents the diagram of a motion estimation circuit proper, used for the implementation of the rough motion estimation circuit represented in FIG. 4a,
FIG. 4c represents, by way of illustration, the operating mode of the motion estimation circuit proper represented in FIG. 4b, on a window for specific search of the rough image of comparison of estimation,
FIG. 5 is a block diagram of a detail of the device shown in FIG. 3, relating to a final motion estimation circuit,
FIGS. 6a and 6b show a detail of an elementary motion estimator circuit in operating mode said in full step respectively an operating timing diagram of this elementary motion estimator circuit,
- Figures 7a and 7b show a mode of obtaining pixels or image points at half a step, as specified by the MPEG standard, respectively a detail of an elementary motion estimator circuit in operating mode at half not.
Le procédé d'estimation de mouvement entre images de télévision d'une séquence d'images sera décrit, de manière non limitative, en référence aux spécifications de la norme
MPEG précédemment citée dans la description, ce à des fins purement illustratives.The method for estimating movement between television images of a sequence of images will be described, without limitation, with reference to the specifications of the standard.
MPEG previously cited in the description, this for purely illustrative purposes.
On rappellera en premier lieu quelques éléments de base du principe de codage des images conformément aux spécifications de la norme précitée. We will first recall some basic elements of the principle of coding images in accordance with the specifications of the aforementioned standard.
D'une manière générale, on indique que le terme image correspond, en langage anglo-saxon, au terme "frame" et que le terme trame correspond également au terme "field" dans ce même langage. Generally, it is indicated that the term image corresponds, in Anglo-Saxon language, to the term "frame" and that the term frame also corresponds to the term "field" in this same language.
De manière classique, chaque image est formée d'une succession de lignes de pixels, ces lignes étant regroupées en une trame paire et en une trame impaire. La notion d'image numérisée correspond à celle définie par la recommandation 601 du Comité Consultatif International de
Radiodiffusion CCIR. On rappelle que, selon la définition précitée, une image comprend 625 lignes de pixels, chaque image comportant 575 lignes visibles, la transmission de ces données d'images, avant compression, étant effectuée avec un débit de 165 Mb/s. On rappelle également que, dans une ligne d'image, chaque point d'image ou pixel comporte une composante de luminance Y alors qu'un point image sur deux comprend en outre une composante de différence de couleurs, notée DR respectivement DB.Conventionally, each image is formed of a succession of lines of pixels, these lines being grouped together in an even frame and in an odd frame. The notion of digitized image corresponds to that defined by recommendation 601 of the International Consultative Committee of
CCIR broadcasting. It is recalled that, according to the above definition, an image comprises 625 lines of pixels, each image comprising 575 visible lines, the transmission of this image data, before compression, being carried out with a bit rate of 165 Mb / s. that, in an image line, each image point or pixel comprises a luminance component Y whereas one image point out of two further comprises a color difference component, denoted DR respectively DB.
On rappelle que le processus d'estimation de mouvement a pour objectif de ramener le débit de transmission des informations véhiculées par les données d'images, de la valeur du débit précédemment mentionné à une valeur comprise entre 5 à 10 Mb/s après compression. It will be recalled that the objective of the motion estimation process is to reduce the rate of transmission of the information conveyed by the image data, from the value of the previously mentioned rate to a value between 5 to 10 Mb / s after compression.
Sur la figure la, on a représenté de manière schématique un procesus de codage satisfaisant à la spécification MPEG sur une séquence donnée d'images successives. In FIG. 1a, there is shown schematically a coding process satisfying the MPEG specification on a given sequence of successive images.
Dans la séquence représentée en figure la, on indique que trois types d'images sont spécifiés
- les images codées selon une procédure dite intra, notée I, ces images étant codées en codage absolu sans référence aux autres images, telle que l'image 1,
- les images prédites, notées P, codées avec une prédiction par estimation de mouvement monodirectionnelle par rapport à une image précédente. Dans la séquence représentée en figure la, l'image prédite P est l'image 4, laquelle est prédite par rapport à l'image 1,
- les images codées avec une prédiction dite bidirectionnelle par estimation de mouvement, ces images étant notées B, ce codage à prédiction bidirectionnelle étant effectué par rapport à une image précédente et une image suivante. Sur la figure la, les images de type B sont les images 2, 3, 5, 6, lesquelles sont codées avec une prédic tion bidirectionnelle par rapport aux images 1,4, images 1,4, images 4,7, images 4,7.In the sequence represented in figure la, it is indicated that three types of images are specified
the images coded according to a so-called intra procedure, denoted I, these images being coded in absolute coding without reference to the other images, such as image 1,
- the predicted images, denoted P, coded with a prediction by estimation of unidirectional movement with respect to a previous image. In the sequence represented in FIG. 1a, the predicted image P is image 4, which is predicted with respect to image 1,
the images coded with a so-called bidirectional prediction by motion estimation, these images being denoted B, this coding with bidirectional prediction being carried out with respect to a previous image and a following image. In FIG. 1 a, the type B images are images 2, 3, 5, 6, which are coded with a bidirectional prediction with respect to images 1.4, images 1.4, images 4.7, images 4, 7.
Dans chaque image, l'unité de codage est le bloc de pixels, chaque bloc étant constitué par exemple par huit lignes successives comportant huit points successifs chacune, ainsi que réprésenté en figure lb. On comprend ainsi que chaque bloc B comporte des lignes appartenant à la trame paire, lignes 2j, 2j+2 et suivantes, et des lignes entrelacées appartenant à la trame impaire 2j+l, 2j+3 et suivantes. In each image, the coding unit is the block of pixels, each block being constituted for example by eight successive lines comprising eight successive points each, as shown in FIG. It is thus understood that each block B comprises lines belonging to the even frame, lines 2j, 2j + 2 and following, and interleaved lines belonging to the odd frame 2j + 1, 2j + 3 and following.
Quatre blocs d'information de luminance adjacents, les informations de luminance attachées aux pixels correspondants étant notées yo à Y3 pour des blocs adjacents BO à
B3 et deux blocs d'information de chrominance pour les pixels correspondants, informations DR et DB, forment un macrobloc. Une image de télévision comportant 576 lignes de 720 pixels est donc formée par 1620 macroblocs, chaque macrobloc comprenant huit lignes de la trame paire et huit lignes de la trame impaire formant cette image.Four adjacent luminance information blocks, the luminance information attached to the corresponding pixels being denoted yo to Y3 for adjacent blocks BO to
B3 and two blocks of chrominance information for the corresponding pixels, information DR and DB, form a macroblock. A television image comprising 576 lines of 720 pixels is therefore formed by 1620 macroblocks, each macroblock comprising eight lines of the even frame and eight lines of the odd frame forming this image.
Le macrobloc est l'unité de prédiction, c'est-à-dire la portion d'image sur laquelle les vecteurs de mouvement sont calculés. The macroblock is the prediction unit, that is to say the portion of the image on which the motion vectors are calculated.
Sur la figure la, on a représenté un processus classique de prédiction de mouvement entre l'image 1 et l'image 2 par exemple, ou entre deux images de la séquence représentée sur la même figure conformément au codage MPEG. FIG. 1a shows a conventional process for predicting movement between image 1 and image 2 for example, or between two images of the sequence represented in the same figure in accordance with the MPEG coding.
On rappelle que le processus de prédiction consiste, pour un macrobloc MB de l'image 2, à rechercher la position d'un macrobloc de l'image 1 le plus semblable au macrobloc d'origine MB de l'image 2 dans la fenêtre F, le vecteur mouvement V étant alors défini comme le vecteur translation du macrobloc prédit, c'est-à-dire présentant le caractère de plus grande similarité, de l'image 2 repérée dans la fenêtre
F de l'image 1. La fenêtre F est généralement centrée sur la même position (ou mêmes coordonnées) que le macrobloc MB.It is recalled that the prediction process consists, for a macroblock MB of image 2, in seeking the position of a macroblock of image 1 most similar to the original macroblock MB of image 2 in the window F , the motion vector V then being defined as the translation vector of the predicted macroblock, that is to say having the character of greatest similarity, of the image 2 located in the window
F of image 1. The window F is generally centered on the same position (or the same coordinates) as the macroblock MB.
L'image 2 peut alors être transmise à partir des valeurs différence de luminance et/ou de chrominance de chaque macrobloc prédit par rapport à chaque macrobloc d'origine MB et du vecteur de déplacement correspondant V, ce qui permet bien entendu de réduire le volume d'informations à transmettre et donc le débit en conséquence.Image 2 can then be transmitted from the luminance and / or chrominance difference values of each predicted macroblock with respect to each original macroblock MB and of the corresponding displacement vector V, which of course makes it possible to reduce the volume information to be transmitted and therefore the bit rate accordingly.
Le procédé d'estimation de mouvement entre images de télévision d'une séquence d'images, objet de la présente invention, sera maintenant décrit de manière plus spécifique en liaison avec la figure 2a. La figure 2a est, afin d'en faciliter la lecture, représentée sur deux planches successives, les planches 2/8 figure 2a (DEBUT) et 3/8 figure 2a (FIN). The method for estimating movement between television images of a sequence of images, object of the present invention, will now be described more specifically in connection with FIG. 2a. FIG. 2a is, in order to facilitate reading, represented on two successive plates, the plates 2/8 FIG. 2a (BEGINNING) and 3/8 FIG. 2a (FIN).
D'une manière générale, on indique que, conformément aux indications précédentes, le procédé objet de la presente invention est mis en oeuvre sur une séquence d'images comportant au moins, par rapport à une image courante, l'image B sur la figure 2a, pour laquelle l'estimation de mouvement est établie, au moins une image anterieure et une image postérieure susceptibles de constituer chacune une image de comparaison d'estimation. Les images de comparaison d'estimation sont notées A sur la figure 2a précitée. In general, it is indicated that, in accordance with the preceding indications, the method which is the subject of the present invention is implemented on a sequence of images comprising at least, with respect to a current image, the image B in the figure. 2a, for which the motion estimate is established, at least one anterior image and one posterior image capable of each constituting an estimation comparison image. The estimation comparison images are denoted A in FIG. 2a above.
De préférence, et dans le cadre non limitatif des spécifications du codage MPEG précédemment mentionné, on indique que le procédé objet de la presente invention peut de préférence être mis en oeuvre sur une séquence comportant au moins quatre images successives, les images 1, 2, 3, 4 représentées en figure 2a. Preferably, and within the non-limiting framework of the specifications of the MPEG coding previously mentioned, it is indicated that the method which is the subject of the present invention can preferably be implemented on a sequence comprising at least four successive images, images 1, 2, 3, 4 shown in Figure 2a.
Ainsi, et conformément à la désignation précédente, l'image courante B est l'image 2, et les images de comparaison d'estimation peuvent être l'image 1 ou l'image 4 ou les deux images précitées, ainsi qu'il sera décrit ultérieurement dans la description. Thus, and in accordance with the preceding designation, the current image B is image 2, and the estimation comparison images can be image 1 or image 4 or the two aforementioned images, as will be described later in the description.
On rappelle enfin que chaque image courante et de comparaison d'estimation est subdivisée en blocs de N pixels sur N lignes d'images et en macroblocs MB formés par p = 4 blocs adjacents, chacun des macroblocs étant formé par deux demi-macroblocs constitués chacun par les lignes de la trame paire respectivement impaire, ainsi que déjà mentionné en liaison avec la figure lb. Finally, it should be recalled that each current and estimation comparison image is subdivided into blocks of N pixels on N image lines and into macroblocks MB formed by p = 4 adjacent blocks, each of the macroblocks being formed by two half-macroblocks each constituted by the lines of the respectively odd even frame, as already mentioned in connection with Figure lb.
Selon une caractéristique particulièrement avantageuse du procédé objet de la présente invention, celui-ci consiste à former, à partir de l'image courante B et de l'image de comparaison d'estimation A, des images grossières correspondantes, notées GB respectivement GA. According to a particularly advantageous characteristic of the method which is the subject of the present invention, it consists in forming, from the current image B and the estimation comparison image A, corresponding coarse images, denoted GB and GA respectively.
Les images grossières courantes et de comparaison d'estimation ayant été obtenues, le procédé objet de la présente invention consiste ensuite à déterminer pour chaque macrobloc MB et demi-macrobloc de ce macrobloc de l'image grossière courante GB un vecteur mouvement auxiliaire par rapport à l'image grossière de comparaison d'estimation GA. The current coarse and estimation comparison images having been obtained, the method which is the subject of the present invention then consists in determining for each macroblock MB and half-macroblock of this macroblock of the current coarse image GB an auxiliary motion vector with respect to the rough GA comparison comparison image.
Chaque vecteur mouvement auxiliaire est obtenu par estimation par blocs de façon à obtenir, pour chaque macrobloc de l'image grossière courante, au moins un vecteur auxiliaire associé.Each auxiliary motion vector is obtained by block estimation so as to obtain, for each macroblock of the current coarse image, at least one associated auxiliary vector.
Dans un mode de mise en oeuvre simplifié du procédé objet de la présente invention, un seul vecteur mouvement auxiliaire est obtenu pour chaque macrobloc MB, alors que dans un mode de réalisation plus élabore, un ensemble de trois vecteurs mouvement auxiliaires est obtenu pour chaque macrobloc MB, un vecteur mouvement auxiliaire associé à chaque macrobloc et demi-macrobloc de ce macrobloc, ainsi qu'il sera décrit ci-après. In a simplified embodiment of the method which is the subject of the present invention, a single auxiliary movement vector is obtained for each macroblock MB, while in a more elaborate embodiment, a set of three auxiliary movement vectors is obtained for each macroblock MB, an auxiliary motion vector associated with each macroblock and half-macroblock of this macroblock, as will be described below.
Dans le cas du mode de mise en oeuvre plus élaboré, ainsi que représenté en figure 2a, pour chaque macrobloc MB on obtient un vecteur auxiliaire, noté VAMB, associé à ce macrobloc, un vecteur auxiliaire de trame paire, noté VAMB2;, associé à la trame paire de ce macrobloc et donc au demimacrobloc ainsi formé, et un vecteur auxiliaire, noté VAMB2J.1, associé à l'autre demi-macrobloc formé par la trame impaire constitutive de ce dernier demi-macrobloc. In the case of the more elaborate mode of implementation, as represented in FIG. 2a, for each macroblock MB there is obtained an auxiliary vector, denoted VAMB, associated with this macroblock, an auxiliary vector of even frame, denoted VAMB2 ;, associated with the even frame of this macroblock and therefore the half-macroblock thus formed, and an auxiliary vector, denoted VAMB2J.1, associated with the other half-macroblock formed by the odd frame constituting this latter half-macroblock.
L'estimation de mouvement est bien entendu réalisée entre l'image grossière courante et l'image grossière de comparaison d'estimation par un processus classique d'estimation par blocs. On comprend en particulier que cette estimation proprement dite est réalisée sur critère de comparaison, noté CC, sur la figure 2a, entre les valeurs de luminance des macroblocs de l'image grossière courante GB et de l'image grossière de comparaison d'estimation GA. Les valeurs de luminance correspondantes de l'image grossière courante GB les plus proches des valeurs du macrobloc d'origine de valeurs de luminance GYO à GY3 de l'image grossière de comparaison d'estimation GA sont elles-memes notées GY'O à GY'3 pour le macrobloc prédit, c'est-à-dire pour une satisfaction du critère de comparaison CC amenant une difference minimale entre ces valeurs de luminance GYO à GY3 respectivement GY'O à GY'3, ainsi qu'il sera décrit ulterieurement dans la description. The motion estimation is of course carried out between the current coarse image and the coarse estimation comparison image by a conventional block estimation process. It is understood in particular that this actual estimation is carried out on a comparison criterion, denoted CC, in FIG. 2a, between the luminance values of the macroblocks of the current coarse image GB and of the coarse image of comparison estimation GA . The corresponding luminance values of the current coarse image GB closest to the values of the original macroblock of luminance values GYO to GY3 of the coarse estimation comparison image GA are themselves denoted GY'O to GY '3 for the predicted macroblock, that is to say for a satisfaction of the comparison criterion CC bringing a minimum difference between these luminance values GYO to GY3 respectively GY'O to GY'3, as will be described later in the description.
On comprend bien sûr qu'en ce qui concerne les demimacroblocs de la trame paire respectivement de la trame impaire, les valeurs de luminance correspondantes sont notées GYO2j à GY32j pour l'image grossière de comparaison d'estimation respectivement GY'02j à GY'323. pour les valeurs de luminance de la trame paire de l'image grossière courante
GB, alors que les valeurs de luminance pour le demi-macrobloc correspondant à la trame impaire du macrobloc d'origine, respectivement du macrobloc prédit, sont notées GYO2j+ à GY32j.1 respectivement GY 2.1 à GY'32j.1
L'ensemble des trois vecteurs mouvement auxiliaires précédemment décrits, associés à chaque macrobloc MB d'origine et demi-macrobloc de ce macrobloc ayant été obtenu, cette opération étant bien entendu renouvelée pour chaque macrobloc de l'image courante B, le procédé consiste alors, ainsi que représenté également en figure 2a, à déterminer pour chaque macrobloc de l'image courante précitée, un ensemble d'au moins trois vecteurs mouvement finaux, par un processus d'estimation par blocs, à partir du vecteur auxiliaire associé à chaque macrobloc et demi-macrobloc constituant ce macrobloc, ainsi que des blocs et macroblocs des images courante et de comparaison d'estimation. On comprend en particulier que les vecteurs mouvement auxiliaires associes à chaque macrobloc et demi-macrobloc ayant été obtenus au cours de l'estimation grossière de mouvement, il est alors possible d'effectuer à partir des valeurs des vecteurs mouvement auxiliaires précitées, un processus d'estimation de mouvement sur les macroblocs et demimacroblocs de l'image courante B, les composantes de luminance des macroblocs et demi-macroblocs de l'image courante et de l'image de comparaison d'estimation, notees sur la figure 2a Y'O à Y'3 respectivement yo à Y3, étant bien entendu soumises au critère de comparaison CC précité et le choix du vecteur mouvement final, noté VMB, étant effectué à partir d'un choix centré sur le vecteur mouvement auxiliaire correspondant VAMB obtenu à l'étape précédente.It is understood of course that with regard to the half-blocks of the even frame respectively of the odd frame, the corresponding luminance values are noted GYO2j to GY32j for the rough image of comparison of estimation respectively GY'02j to GY'323 . for the luminance values of the even frame of the current coarse image
GB, while the luminance values for the half-macroblock corresponding to the odd frame of the original macroblock, respectively of the predicted macroblock, are noted GYO2j + to GY32j.1 respectively GY 2.1 to GY'32j.1
The set of the three auxiliary motion vectors previously described, associated with each original macroblock MB and half-macroblock of this macroblock having been obtained, this operation being of course repeated for each macroblock of the current image B, the method then consists , as also shown in FIG. 2a, to be determined for each macroblock of the aforementioned current image, a set of at least three final motion vectors, by a block estimation process, from the auxiliary vector associated with each macroblock and half-macroblock constituting this macroblock, as well as blocks and macroblocks of the current and estimate comparison images. It is understood in particular that the auxiliary motion vectors associated with each macroblock and half-macroblock having been obtained during the rough motion estimation, it is then possible to carry out from the values of the aforementioned auxiliary motion vectors, a process of motion estimation on the macroblocks and half-macroblocks of the current image B, the luminance components of the macroblocks and half-macroblocks of the current image and of the estimation comparison image, noted in FIG. 2a Y'O at Y'3 respectively yo at Y3, being of course subject to the abovementioned comparison criterion CC and the choice of the final motion vector, denoted VMB, being made from a choice centered on the corresponding auxiliary motion vector VAMB obtained at previous step.
On comprend également que, pour les demi-macroblocs constitués par la trame paire respectivement par la trame impaire, pour chaque vecteur mouvement auxiliaire, noté VAMB2f respectivement VAMB, est également obtenu sur critère de comparaison CC entre les valeurs de luminance des trames paires des demi-macroblocs de l'image courante, valeurs de luminance notées Y' 2j à Y'323, et les valeurs de luminance correspondantes de l'image de comparaison d'estimation, valeurs de luminance notees YO2j à Y32;, un vecteur final de mouvement relatif à la trame paire, noté VMB2i, est ainsi obtenu de manière analogue au vecteur relatif au macrobloc entier. Il en est de même pour le demi-macrobloc constitue par la trame impaire, pour lequel les valeurs de luminance de l'image courante sont notées Yt 2J.1 à Y' 32j.1, et de l'image de comparaison d'estimation pour laquelle les valeurs de luminance sont notées YO2jvl à Y32j.1, un vecteur final de mouvement pour la trame impaire, noté VMB2j.l etant obtenu sur critère de choix à partir du vecteur auxiliaire correspondant VAMB2j.1. It is also understood that, for the half-macroblocks constituted by the even frame respectively by the odd frame, for each auxiliary motion vector, denoted VAMB2f respectively VAMB, is also obtained on comparison criterion CC between the luminance values of the even frames of the half -macroblocks of the current image, luminance values noted Y '2j to Y'323, and the corresponding luminance values of the estimation comparison image, luminance values noted YO2j to Y32 ;, a final motion vector relative to the even frame, denoted VMB2i, is thus obtained in a manner analogous to the vector relating to the whole macroblock. It is the same for the half-macroblock constituted by the odd frame, for which the luminance values of the current image are noted Yt 2J.1 to Y '32j.1, and of the estimation comparison image for which the luminance values are denoted YO2jvl to Y32j.1, a final motion vector for the odd frame, denoted VMB2j.l being obtained on criterion of choice from the corresponding auxiliary vector VAMB2j.1.
D'une manière générale, on indique que le procédé objet de la présente invention permet, lors de la mise en oeuvre de l'estimation grossière de mouvement, de determiner des vecteurs auxiliaires de grande amplitude en raison du fait que l'estimation grossière est effectuée par comparaison de l'image grossière courante et de l'image grossière de comparaison d'estimation, lesquelles sont obtenues à partir des images d'origine par sous-echantillonnage ainsi qu'il sera decrit ultérieurement dans la description. In general, it is indicated that the method which is the subject of the present invention makes it possible, when implementing the rough estimation of motion, to determine auxiliary vectors of large amplitude due to the fact that the rough estimation is performed by comparison of the current coarse image and the coarse estimation comparison image, which are obtained from the original images by subsampling as will be described later in the description.
Le procede objet de la présente invention permet ensuite de calculer les vecteurs mouvement finaux de grande précision en raison du centrage de la recherche de ces derniers à partir de la valeur initiale correspondant à la valeur des vecteurs auxiliaires, ce qui permet bien entendu de réduire le volume de calculs ou, pour un temps de calcul donné, d'obtenir une recherche de grande précision. The method which is the subject of the present invention then makes it possible to calculate the final motion vectors of high precision due to the centering of the search for the latter from the initial value corresponding to the value of the auxiliary vectors, which of course makes it possible to reduce the volume of calculations or, for a given calculation time, to obtain a search of high precision.
Dans le mode de mise en oeuvre simplifié du procédé objet de la présente invention, on indique que l'étape b) représentée en figure 2a consistant à établir pour chaque macrobloc MB un seul vecteur auxiliaire VAMB consiste alors à effectuer la seule opération représentée au-dessus du trait mixte, sur les valeurs de luminance GYO à GY3 et GY'O à GY'3 des images grossières courantes GB et de comparaison d'estimation GA. On comprend ainsi que pour l'établissement des vecteurs mouvements finaux, ainsi que représenté en figure 2a (FIN), les vecteurs mouvement auxiliaires établis pour les demi-macroblocs trame paire, VAMB22,</RTI de comparaison d'estimation A, de façon à obtenir un ensemble de blocs de pixels et de macroblocs sous-échantil lonnés,
En ce qui concerne le critère de choix CC précédemment mentionné dans la description, on indique que celui-ci peut consister à déterminer les vecteurs mouvement auxiliaires ou finaux par estimation par blocs par corrélation sur critère de ressemblance entre les différents macroblocs et demi-macroblocs précités.In the simplified mode of implementation of the method which is the subject of the present invention, it is indicated that step b) represented in FIG. 2a consisting in establishing for each macroblock MB a single auxiliary vector VAMB then consists in carrying out the only operation represented above. above the mixed line, on the luminance values GYO to GY3 and GY'O to GY'3 of the current coarse images GB and of estimation comparison GA. It is thus understood that for the establishment of the final motion vectors, as represented in FIG. 2a (FIN), the auxiliary motion vectors established for the even frame half-macroblocks, VAMB22, </ RTI for comparing estimation A, so to obtain a set of pixel blocks and sub-sampled macroblocks,
With regard to the selection criterion CC previously mentioned in the description, it is indicated that this may consist in determining the auxiliary or final motion vectors by block estimation by correlation on criterion of resemblance between the various aforementioned macroblocks and half-macroblocks .
Bien entendu, ce critère de ressemblance peut consister à minimiser la différence des valeurs absolues ou des carrés des valeurs absolues des valeurs de luminance correspondantes telles que précédemment décrites en liaison avec la figure 2a. Le critère de choix peut être réalisé par une fonction de tri de la valeur minimum, l'adresse du macrobloc prédit satisfaisant à ce critère de tri étant alors retenue et comparée à l'adresse du macrobloc d'origine, le vecteur mouvement tel que le vecteur auxiliaire de macrobloc ou de demi-macrobloc ou, en définitive, chaque vecteur mouvement final, peut alors être obtenu par difference des adresses respectives. Of course, this resemblance criterion can consist in minimizing the difference of the absolute values or of the squares of the absolute values of the corresponding luminance values as previously described in connection with FIG. 2a. The selection criterion can be achieved by a function for sorting the minimum value, the address of the predicted macroblock satisfying this sorting criterion then being retained and compared to the address of the original macroblock, the motion vector such as the auxiliary macroblock or half-macroblock vector or, ultimately, each final motion vector, can then be obtained by difference of the respective addresses.
Une variante de réalisation du procédé d'estimation de mouvement objet de la présente invention, plus particulièrement orientée vers le codage MPEG, sera maintenant decrite en liaison avec la figure 2b. An alternative embodiment of the motion estimation method which is the subject of the present invention, more particularly oriented towards MPEG coding, will now be described in connection with FIG. 2b.
Dans le cas de la figure précitée, on indique que la séquence d'images comporte quatre images successives ou un multiple de quatre images successives. L'image courante est l'image de rang 2, l'image antérieure l'image de rang 1, l'image postérieure l'image de rang 4, l'image de rang 1 et l'image de rang 4 constituant l'image de comparaison d'estimation A ainsi que précédemment mentionné dans la description. In the case of the aforementioned figure, it is indicated that the sequence of images comprises four successive images or a multiple of four successive images. The current image is the image of rank 2, the previous image the image of rank 1, the posterior image the image of rank 4, the image of rank 1 and the image of rank 4 constituting the estimation comparison image A as previously mentioned in the description.
Selon un aspect particulièrement avantageux du procédé objet de l'invention, celui-ci consiste à mettre en oeuvre une étape d'estimation de mouvement dite estimation de mouvement avant entre l'image 2, image courante, et image de comparaison d'estimation 1 antérieure, et à effectruer conjointement une étape d'estimation de mouvement, désignée par estimation de mouvement arrière, entre l'image courante 2 et l'image postérieure, image 4. According to a particularly advantageous aspect of the method which is the subject of the invention, it consists in implementing a step of motion estimation known as forward motion estimation between image 2, current image, and estimation comparison image 1 anterior, and to carry out jointly a step of estimation of movement, designated by estimation of rear movement, between the current image 2 and the posterior image, image 4.
On comprend bien sur que le procédé objet de la présente invention consiste à effectuer successivement les étapes d'estimation grossière de mouvement puis d'estimation finale de mouvement appliquée au couple d'images, image courante 2, image antérieure 1 respectivement image courante 2, image postérieure 4 de la séquence d'images. It is clearly understood that the method which is the subject of the present invention consists in successively carrying out the steps of rough motion estimation then of final motion estimation applied to the pair of images, current image 2, previous image 1 respectively current image 2, posterior image 4 of the image sequence.
Ainsi qu'on l'a indiqué sur la figure 2b, ce mode opératoire permet, pour chaque macrobloc MB d'origine, ou chaque macrobloc de l'image courante, d'obtenir un ensemble d'au moins six vecteurs mouvement finaux, ces vecteurs étant notés VMB21, VMB2j 21, VMB2j+1 21 et VMB24, VMB2 24' VMB2j+1 24, à partir des vecteurs mouvement auxiliaires correspondants, lesquels sont notés VAMB21, VAMB2j21, VAMB2j.121, respectivement
VAMB24, VAMB2j 24 VAMB2j 124
En ce qui concerne l'étape consistant à déterminer l'ensemble d'au moins trois vecteurs mouvement finaux par estimation par blocs, on comprend qu'un ensemble de trois vecteurs par macrobloc d'origine est obtenu dans le cas le plus simple où, à chaque macrobloc d'origine est comparé un macrobloc de l'image courante pour obtenir un macrobloc prédit, un vecteur mouvement final étant associe à chacun des macroblocs précités et où à chaque demi-macrobloc constitué par la trame paire respectivement impaire est également associé un vecteur mouvement final obtenu par comparaison deux à deux des demi-macroblocs constitués par les trames paires respectivement par les trames impaires, un vecteur mouvement final étant ainsi associé à chaque macrobloc pour former un ensemble de trois vecteurs mouvement finaux.As indicated in FIG. 2b, this operating mode makes it possible, for each original MB macroblock, or each macroblock of the current image, to obtain a set of at least six final motion vectors, these vectors being denoted VMB21, VMB2j 21, VMB2j + 1 21 and VMB24, VMB2 24 'VMB2j + 1 24, from the corresponding auxiliary motion vectors, which are denoted VAMB21, VAMB2j21, VAMB2j.121, respectively
VAMB24, VAMB2j 24 VAMB2j 124
As regards the step consisting in determining the set of at least three final motion vectors by block estimation, it is understood that a set of three vectors per original macroblock is obtained in the simplest case where, a macroblock of the current image is compared to each original macroblock to obtain a predicted macroblock, a final motion vector being associated with each of the aforementioned macroblocks and in which each half-macroblock constituted by the respectively odd even frame is also associated with a final motion vector obtained by comparing two to two of the half-macroblocks constituted by the even frames respectively by the odd frames, a final motion vector thus being associated with each macroblock to form a set of three final motion vectors.
Une variante de mise en oeuvre du procédé objet de la présente invention consiste en outre, pour chaque demi macrobloc, à comparer deux à deux non seulement les trames paires des demi-macroblocs de l'image courante et de l'image de comparaison d'estimation de mouvement constituées par les trames paires, mais également d'effectuer une estimation de mouvement entre trames paires respectivement impaires constitutives des demi-macroblocs de l'image courante et de l'image de comparaison d'estimation de mouvement. Dans un tel cas, on obtient en fait, outre les vecteurs mouvement finaux VMB2 et VMB2j,l résultant de la comparaison des demimacroblocs, relatifs aux trames paire respectivement impaire, deux vecteurs supplémentaires résultant d'une estimation de mouvement par blocs effectuée sur les demimacroblocs constitués par la trame paire de l'image courante et par la trame impaire de l'image de comparaison d'estimation de mouvement, respectivement la trame impaire de l'image courante et la trame paire de l'image de comparaison d'estimation de mouvement. Sur la figure 2a, cette variante est illustrée par l'indication des vecteurs 00et VMB2j 0+ réputés constituer un sous-ensemble du vecteur mouvement final VMB2j, et par les vecteurs VMB2j.1 1l et VMB2j.1 io, lesquels sont réputés constituer un sous-ensemble du vecteur mouvement final VMB2j.1 On indique que les indices supplémentaires 00, 01, 11, 10 correspondent aux indices 0 de la trame paire respectivement 1 de la trame impaire et désignent ainsi la comparaison entre demi-macroblocs correspondants. A variant implementation of the method which is the subject of the present invention also consists, for each half macroblock, in comparing two by two not only the even frames of the half macroblocks of the current image and of the comparison image of motion estimation constituted by the even frames, but also to perform a motion estimation between respectively odd even frames constituting the half-macroblocks of the current image and of the motion estimation comparison image. In such a case, one obtains in fact, in addition to the final motion vectors VMB2 and VMB2j, l resulting from the comparison of the demimacroblocks, relating to the evenly odd even frames, two additional vectors resulting from an estimation of motion by blocks carried out on the demimacroblocks constituted by the even frame of the current image and by the odd frame of the motion estimation comparison image, respectively the odd frame of the current image and the even frame of the estimation estimation comparison image movement. In FIG. 2a, this variant is illustrated by the indication of the vectors 00 and VMB2j 0+ deemed to constitute a subset of the final motion vector VMB2j, and by the vectors VMB2j.1 11 and VMB2j.1 io, which are deemed to constitute a subset of the final motion vector VMB2j.1 It is indicated that the additional indices 00, 01, 11, 10 correspond to the indices 0 of the even frame respectively 1 of the odd frame and thus designate the comparison between corresponding semi-macroblocks.
On indique en outre que la variante précitée de mise en oeuvre du procédé objet de l'invention peut également être réalisée dans le cas de la mise en oeuvre simplifiée de ce procédé. Cette option est représentée en figure 2b par la mise entre parenthèses en traits mixtes des vecteurs auxiliaires correspondants. It is further indicated that the aforementioned variant implementation of the process which is the subject of the invention can also be carried out in the case of the simplified implementation of this process. This option is represented in FIG. 2b by putting in brackets in dashed lines the corresponding auxiliary vectors.
Une description plus détaillée d'un dispositif d'estimation de mouvement permettant la mise en oeuvre du procédé objet de la présente invention précédemment décrit, sera maintenant donnée en liaison avec les figures 3 et suivantes. A more detailed description of a motion estimation device allowing the implementation of the method which is the subject of the present invention previously described, will now be given in conjunction with FIGS. 3 and following.
Bien entendu, on comprend que le dispositif d'estimation de mouvement objet de la présente invention, fonctionne dans les conditions précédemment décrites relativement à la mise en oeuvre du procédé correspondant. Of course, it is understood that the motion estimation device which is the subject of the present invention operates under the conditions previously described relative to the implementation of the corresponding method.
De manière générale, on indique que le dispositif selon l'invention comporte au moins un module opérateur d'estimation de mouvement de l'image courante par rapport à l'image de comparaison d'estimation, ce module opérateur étant noté MO sur la figure 3. Il comporte au moins, alimenté en parallèle par des signaux vidéo-numériques représentatifs de l'image courante B et de l'image de comparaison d'estimation A, un circuit d'estimation grossière de mouvement, noté 1, permettant de déterminer pour chaque macrobloc MB de l'image courante des vecteurs mouvement auxiliaires par rapport à l'image de comparaison d'estimation. Bien entendu, chaque vecteur mouvement auxiliaire est obtenu par estimation de mouvement grossière de l'image courante ainsi que décrit précédemment en liaison avec le procédé objet de la présente invention, de façon à obtenir pour chaque macrobloc MB et demi-macrobloc de ce macrobloc, ainsi que représenté en figure 2a, un vecteur auxiliaire associé. In general, it is indicated that the device according to the invention comprises at least one operator module for estimating movement of the current image with respect to the estimation comparison image, this operator module being denoted MO in the figure. 3. It comprises at least, fed in parallel by video-digital signals representative of the current image B and of the estimation comparison image A, a rough motion estimation circuit, denoted 1, making it possible to determine for each macroblock MB of the current image of the auxiliary motion vectors with respect to the estimation comparison image. Of course, each auxiliary motion vector is obtained by rough motion estimation of the current image as described previously in connection with the method which is the subject of the present invention, so as to obtain for each macroblock MB and half-macroblock of this macroblock, as shown in FIG. 2a, an associated auxiliary vector.
De manière générale, on indique que le module opérateur estimation de mouvement MO reçoit les signaux vidéo précités représentatifs de l'image courante B et de l'image de comparaison d'estimation A, les valeurs de pixels correspondantes étant codées sur 8 bits et délivrées à une fréquence de 13,5 MHz sur chacune des liaisons par BUS correspondantes. In general, it is indicated that the motion estimation operator module MO receives the aforementioned video signals representative of the current image B and of the estimation comparison image A, the corresponding pixel values being coded on 8 bits and delivered. at a frequency of 13.5 MHz on each of the corresponding BUS links.
Ainsi qu'on l'a représenté en outre en figure 3, le module opérateur MO comporte également, alimenté en parallèle par les signaux vidéo-numériques précités, outre le circuit d'estimation grossière, noté 1, un circuit d'estimation finale de mouvement, noté 2, les deux circuits étant montés en cascade ainsi que représenté en figure 3. As shown in addition in FIG. 3, the operator module MO also comprises, supplied in parallel by the aforementioned video-digital signals, in addition to the rough estimation circuit, denoted 1, a final estimation circuit of movement, noted 2, the two circuits being cascaded as shown in FIG. 3.
Le circuit d'estimation grossière I permet de déterminer, pour chaque macrobloc de l'image courante B, des vecteurs mouvement auxiliaires, les trois vecteurs précédemment mentionnés dans la description par VAMB, VAMB2 > et VAMB2j1 relatifs respectivement à chaque macrobloc, et au demi-macrobloc constitué par la trame paire respectivement la trame impaire de ce macrobloc. On rappelle qu'en ce qui concerne les vecteurs auxiliaires, un vecteur étant associé à chaque macrobloc et à chacun des demi-macroblocs constitutifs de ce macrobloc, on obtient un ensemble de trois vecteurs mouvement auxiliaires pour chacun des macroblocs MB. The coarse estimation circuit I makes it possible to determine, for each macroblock of the current image B, auxiliary motion vectors, the three vectors previously mentioned in the description by VAMB, VAMB2> and VAMB2j1 relating respectively to each macroblock, and to the half -macroblock constituted by the even frame respectively the odd frame of this macroblock. It will be recalled that with regard to the auxiliary vectors, a vector being associated with each macroblock and with each of the half-macroblocks constituting this macroblock, a set of three auxiliary motion vectors is obtained for each of the macroblocks MB.
On rappelle également que dans le cas de la mise en oeuvre simplifiée du procédé objet de l'invention le circuit d'estimation grossière 1 peut simplement délivrer le vecteur auxiliaire VAMB associé à chaque macrobloc. Ce mode opératoire est représenté par la mise entre parenthèses en pointillé des vecteurs mouvement auxiliaires associés aux demi-macroblocs de ce macrobloc. It is also recalled that in the case of the simplified implementation of the method which is the subject of the invention, the rough estimation circuit 1 can simply deliver the auxiliary vector VAMB associated with each macroblock. This operating mode is represented by the dotted parentheses of the auxiliary motion vectors associated with the half-macroblocks of this macroblock.
Le circuit d'estimation finale de mouvement 2 reçoit les vecteurs mouvement auxiliaires précités et délivre, à partir de ces derniers et des signaux vidéo représentatifs de l'image courante B et de l'image courante de comparaison d'estimation A, un ensemble d'au moins trois vecteurs mouvement finaux associés à chaque macrobloc et demi-macrobloc de ce macrobloc de l'image courante B. The final motion estimation circuit 2 receives the aforementioned auxiliary motion vectors and delivers, from these and video signals representative of the current image B and of the current estimation comparison image A, a set of '' at least three final motion vectors associated with each macroblock and half-macroblock of this macroblock of the current image B.
Le module opérateur estimation de mouvement MO délivre donc l'ensemble d'au moins trois vecteurs estimation de mouvement précédemment décrit dans la description, les vecteurs VMB, VMB2j et VMB2j,l relatifs chacun à un macrobloc et au demi-macrobloc constitué par la trame paire respectivement la trame impaire de ce macrobloc. Chacun de ces vecteurs peut être représenté sur 12 bits et les valeurs des vecteurs estimation de mouvement précités sont délivrés par le module opérateur MO à la fréquence macrobloc soit tous les 128 pixels. Les vecteurs précités sont bien entendu les vecteurs délivrés par le module opérateur MO. On rappelle que, dans un premier mode de réalisation, les vecteurs mouvement finaux obtenus pour chaque macrobloc MB sont au nombre de trois, les vecteurs précédemment mentionnés, alors que dans un mode de réalisation plus élaboré, chaque vecteur mouvement final peut en fait consister en deux vecteurs mouvement finaux obtenus par estimation par blocs, effectuée sur les demi-macroblocs, l'estimation pouvant être réalisée entre demi-macroblocs constitués par la même trame ou respectivement par les trames de rang pair, impair, ou réciproquement. On obtient ainsi dans ce dernier cas, un ensemble de cinq vecteurs mouvement finaux associés à chacun des macroblocs MB. The motion estimation operator module MO therefore delivers the set of at least three motion estimation vectors previously described in the description, the vectors VMB, VMB2j and VMB2j, l each relating to a macroblock and to the half-macroblock constituted by the frame. pair the odd frame of this macroblock, respectively. Each of these vectors can be represented on 12 bits and the values of the aforementioned motion estimation vectors are delivered by the operator module MO at the macroblock frequency, ie every 128 pixels. The aforementioned vectors are of course the vectors delivered by the operator module MO. It will be recalled that, in a first embodiment, the final motion vectors obtained for each macroblock MB are three in number, the vectors previously mentioned, while in a more elaborate embodiment, each final motion vector can in fact consist of two final motion vectors obtained by block estimation, carried out on the half-macroblocks, the estimation being able to be carried out between half-macroblocks constituted by the same frame or respectively by the frames of even, odd rank, or vice versa. In the latter case, we thus obtain a set of five final motion vectors associated with each of the macroblocks MB.
On comprend bien sûr qu'un premier module opérateur
MO peut être utilisé pour effectuer un processus d'estimation avant, tel que représenté en figure 2a, et qu'un deuxième module opérateur MO peut être utilisé sensiblement simultanément pour effectuer une estimation arrière, ainsi que représenté également en figure 2a, afin de permettre la mise en oeuvre du procédé objet de la présente invention sensiblement en temps réel.We understand of course that a first operator module
MO can be used to perform a forward estimation process, as shown in FIG. 2a, and that a second operator module MO can be used substantially simultaneously to perform a back estimation, as also represented in FIG. 2a, in order to allow implementing the process which is the subject of the present invention substantially in real time.
Bien entendu, la notion de temps réel est définie comme un processus de traitement intervenant sur quatre images successives, les images 1, 2, 3 et 4 représentées en figure 2a, la séquence des quatre images étant mémorisée afin de permettre la conduite sensiblement simultanée des processus d'estimation avant et arrière et le temps de traitement, c'est-à-dire de l'estimation de mouvement par la mise en oeuvre de chaque module opérateur MO, étant bien entendu très faible par rapport à la séquence temporelle d'origine de transmission des quatre images précitées. Of course, the concept of real time is defined as a processing process occurring on four successive images, images 1, 2, 3 and 4 represented in FIG. 2a, the sequence of the four images being memorized in order to allow the substantially simultaneous driving of the forward and backward estimation process and the processing time, that is to say the motion estimation by the implementation of each operator module MO, being of course very low compared to the time sequence of origin of transmission of the above four images.
Ainsi, il est ensuite possible de reconstituer à partir des valeurs estimées ou prédites de mouvement, les données à transmettre en lieu et place des images d'origine 2 et 4, ce qui permet bien entendu de reconstituer la séquence des quatre images précitées avec un volume de données à trans mettre sensiblement réduit et donc une compression numérique correspondante.Thus, it is then possible to reconstruct from the estimated or predicted values of movement, the data to be transmitted in place of the original images 2 and 4, which of course makes it possible to reconstruct the sequence of the four aforementioned images with a volume of data to be transmitted significantly reduced and therefore corresponding digital compression.
Ainsi qu'on l'a en outre représenté en figure 4a, le circuit d'estimation grossière de mouvement 1 comprend luimême des circuits de sous-échantillonnage, notés pila, llb, de l'image courante B et de l'image de comparaison d'estimation A, ces circuits îîa et lîb permettant d'obtenir des images grossières correspondantes, soit l'image grossière courante et l'image de comparaison d'estimation grossière formées chacune d'un ensemble de blocs de pixels et de macroblocs sous-échantillonnés. On note que, en amont des circuits de sous-échantillonnage îla et îlb, sont également prévus des circuits de pré-filtrage lOa et lOb, lesquels reçoivent respectivement le signal vidéo relatif à l'image de comparaison d'estimation A et à l'image courante B. Un signal d'horloge Ck permet de cadencer les circuits de préfiltrage îOa et lOb ainsi que les circuits de sous-échantillonnage lîa et îlb par l'intermédiaire d'un diviseur par 16 portant la référence 12. As has also been shown in FIG. 4a, the coarse motion estimation circuit 1 itself comprises sub-sampling circuits, denoted pila, llb, of the current image B and of the comparison image estimation A, these circuits îîa and lîb making it possible to obtain corresponding coarse images, namely the current coarse image and the coarse estimation comparison image each formed from a set of pixel blocks and sub-macroblocks sampled. It is noted that, upstream of the sub-sampling circuits la 1a and î 1b, there are also provided pre-filtering circuits 10a and 10b, which receive respectively the video signal relating to the comparison comparison image A and to current image B. A clock signal Ck makes it possible to clock the prefiltering circuits îOa and lOb as well as the sub-sampling circuits lîa and îlb by means of a divider by 16 bearing the reference 12.
Les opérations sont réalisées en parallèle sur les deux images A et B et elles consistent
- en l'opération de filtrage numérique des points image, réalisée par les circuits îOa et lOb. A chaque point avant filtrage de l'image A ou B correspond une valeur filtrée en sortie, délivrée par le circuit îOa ou lOb. Cette valeur filtrée est obtenue par multiplication des éléments de l'image d'origine par des coefficients prédéfinis. Les circuits de pré-filtrage îOa et lOb sont des circuits dédiés disponibles dans le commerce, lesquels permettent de pondérer finalement la valeur de luminance de chaque pixel pour assurer le filtrage proprement dit et éviter le phénomène de repliement des spectres,
- en l'opération de sous-échantillonnage réalisé par les circuits lla et llb, laquelle a pour effet de ne réutiliser qu'une valeur sur n valeurs en sortie du filtre d'échantillonnage correspondant îla ou llb. Selon un mode de réalisation avantageux du sous-échantillonnage précité, on utilise une valeur de luminance sur quatre en horizontale et une valeur de luminance sur quatre en verticale, soit finalement un point sur seize, n = 16. Cette fonction est réalisée par le diviseur par 16 portant la référence 12.The operations are carried out in parallel on the two images A and B and they consist
- in the digital filtering operation of the image points, carried out by circuits îOa and lOb. Each point before filtering of the image A or B corresponds to a filtered output value, delivered by the circuit îOa or lOb. This filtered value is obtained by multiplying the elements of the original image by predefined coefficients. The pre-filtering circuits îOa and lOb are dedicated circuits available on the market, which make it possible to finally weight the luminance value of each pixel to ensure the filtering proper and to avoid the phenomenon of aliasing of the spectra,
- In the sub-sampling operation carried out by circuits lla and llb, which has the effect of reusing only one value out of n values at the output of the corresponding sampling filter îla or llb. According to an advantageous embodiment of the aforementioned subsampling, one uses a luminance value out of four in horizontal and a luminance value out of four in vertical, that is finally one point out of sixteen, n = 16. This function is performed by the divider by 16 bearing the reference 12.
Chacun des circuits de sous-échantillonnage îla et llb délivre enfin les images grossières courantes et images grossières de comparaison d'estimation à un circuit 13 de calcul d'estimation de mouvement par blocs, lequel effectue le calcul proprement dit d'estimation de mouvement par corrélation, sur critère de ressemblance entre les différents macroblocs sous-échantillonnés précédemment obtenus et délivrés par les circuits de sous-échantillonnage. Le circuit 13 délivre bien entendu les vecteurs auxiliaires VAMf, VAMB2j, VAMB2,,1. Each of the subsampling circuits 11a and 11b finally delivers the current coarse images and coarse estimation comparison images to a circuit 13 for calculating motion estimation by blocks, which performs the actual calculation of motion estimation by correlation, on criteria of resemblance between the different sub-sampled macroblocks previously obtained and delivered by the sub-sampling circuits. The circuit 13 of course delivers the auxiliary vectors VAMf, VAMB2j, VAMB2,, 1.
Dans le cas de la mise en oeuvre simplifiée, le circuit 13 délivre uniquement les vecteurs mouvement auxiliaires VAMB associés à chaque macrobloc MB, ce mode opératoire étant représenté en figure 4a par la mise entre parenthèses en pointillé, les vecteurs mouvement auxiliaires associés aux demi-macrobloc de ce macrobloc. In the case of the simplified implementation, the circuit 13 delivers only the auxiliary motion vectors VAMB associated with each macroblock MB, this operating mode being represented in FIG. 4a by putting in brackets in dotted lines, the auxiliary motion vectors associated with the half macroblock of this macroblock.
Le circuit 13 de calcul d'estimation de mouvement par blocs est réalisé à partir de circuits estimateurs de mouvement élémentaires, lesquels sont constitués par des circuits dédiés, disponibles dans le commerce, ainsi qu'il sera décrit ci-après dans la description. The circuit 13 for calculating motion estimation by blocks is produced from elementary motion estimator circuits, which are constituted by dedicated circuits, commercially available, as will be described below in the description.
Chaque circuit d'estimation de mouvement élémentaire permet d'effectuer le calcul d'un vecteur mouvement pour un bloc élémentaire de pixels constitué par huit points (ou pixels) par huit lignes, le calcul du vecteur mouvement élémentaire étant effectué sur une fenêtre de recherche (8, +7) horizontalement et verticalement. Each elementary motion estimation circuit makes it possible to calculate a motion vector for an elementary block of pixels consisting of eight points (or pixels) by eight lines, the calculation of the elementary motion vector being performed on a search window. (8, +7) horizontally and vertically.
L'image B, pour laquelle les vecteurs mouvement sont calculés, en particulier l'image grossière de comparaison d'estimation GB délivrée par le circuit de sous-échantillonnage llb, est analysée en blocs de huit points par huit lignes, chaque colonne du bloc étant lue de manière consécu- tive. Image B, for which the motion vectors are calculated, in particular the coarse image of comparison of estimate GB delivered by the sub-sampling circuit llb, is analyzed in blocks of eight points by eight lines, each column of the block being read consecutively.
De la même façon, l'image A, en particulier l'image de comparaison d'estimation grossière GA délivrée par le circuit de sous-échantillonnage îla dans laquelle on recherche le bloc correspondant pour effectuer l'analyse par blocs, est analysée de façon analogue mais en lisant trois lignes de blocs, au lieu d'une seule pour l'image courante, ainsi que mentionné précédemment, ces trois lignes de blocs étant notées H, M, B, servant comme fenêtre de recherche. In the same way, the image A, in particular the rough estimation comparison image GA delivered by the sub-sampling circuit îla in which the corresponding block is searched for performing the block analysis, is analyzed in a way analogous but by reading three block lines, instead of only one for the current image, as mentioned previously, these three block lines being denoted H, M, B, serving as a search window.
Sur la figure 4c, on a ainsi représenté d'une part, une première fenêtre de recherche F1 définie sur l'image A précitée ou sur l'image grossière de comparaison d'estimation correspondante, cette fenêtre F1 étant ainsi définie par trois lignes de blocs H, M, B précédemment mentionnées, la fenêtre de recherche F1 ayant ainsi les coordonnées précédemment mentionnées (-8, +7) en horizontal et vertical.In FIG. 4c, there is thus represented on the one hand, a first search window F1 defined on the above-mentioned image A or on the rough image of comparison of corresponding estimate, this window F1 thus being defined by three lines of blocks H, M, B previously mentioned, the search window F1 thus having the coordinates previously mentioned (-8, +7) in horizontal and vertical.
On rappelle que ces coordonnées sont définies en valeurs de pas de pixels. Sur la figure 4c, on a également représenté un bloc correspondant de l'image courante B ou de l'image grossière courante, centré par exemple par rapport à la fenêtre de recherche F1.It is recalled that these coordinates are defined in pixel step values. In FIG. 4c, a corresponding block of the current image B or of the current coarse image has also been shown, centered for example with respect to the search window F1.
Pour augmenter la fenêtre de recherche finale et donc le domaine de recherche par augmentation des dimensions de la fenêtre de recherche finale, il est possible d'utiliser ainsi plusieurs circuits d'estimation de mouvement élémentaires, ainsi que représenté en figure 4b, ces circuits étant connectés en parallèle et recevant chacun les pixels de l'image de comparaison d'estimation A, telle que l'image de comparaison d'estimation grossière GA, pour les zones H, M et B de la figure 4c. La lecture des pixels pour les zones H, M et B est effectuée par un circuit d'adressage 130, lequel bien entendu permet de mémoriser l'ensemble des pixels de l'image GA telle que représentée en figure 4c, et d'adresser en lecture les pixels correspondants vers les circuits de calcul d'estimation de mouvement élémentaires 131, 132, 133 et 134 tels que représentés en figure 4b. To increase the final search window and therefore the search area by increasing the dimensions of the final search window, it is thus possible to use several elementary motion estimation circuits, as shown in FIG. 4b, these circuits being connected in parallel and each receiving the pixels of the estimation estimation comparison image A, such as the rough estimation comparison image GA, for the areas H, M and B of FIG. 4c. The reading of the pixels for the areas H, M and B is carried out by an addressing circuit 130, which of course makes it possible to store all the pixels of the image GA as shown in FIG. 4c, and to address in read the corresponding pixels to the elementary motion estimation calculation circuits 131, 132, 133 and 134 as shown in FIG. 4b.
Ainsi, la mise en parallèle des quatre circuits de calcul d'estimation de mouvement élémentaires 131, 132, 133 et 134 permet finalement de constituer une fenêtre de recherche F résultante, constituée par quatre fenêtres F1,
F2, F3 et F4 telles que représentées en figure 4c, dont les coordonnées en horizontal sont respectivement (-32, -17), (16, -1), (0, 15), (16, 31) respectivement (-8, +7) en vertical.Thus, the paralleling of the four elementary motion estimation calculation circuits 131, 132, 133 and 134 finally makes it possible to constitute a resulting search window F, constituted by four windows F1,
F2, F3 and F4 as shown in Figure 4c, whose horizontal coordinates are respectively (-32, -17), (16, -1), (0, 15), (16, 31) respectively (-8, +7) vertically.
On rappelle que cette fenêtre de recherche sur l'image de comparaison d'estimation grossière GA correspond en fait, en raison du sous-échantillonnage par quatre, à une fenêtre de recherche (-128, +124) et (-32, +28) dans l'image d'origine A. It is recalled that this search window on the rough estimation comparison image GA in fact corresponds, due to the sub-sampling by four, to a search window (-128, +124) and (-32, +28 ) in the original image A.
Chaque circuit de calcul d'estimation de mouvement élémentaire 131 à 134 peut être réalisé par exemple par un circuit portant la référence STI 3220, commercialisé par la
Société SGS-THOMSON MICROELECTRONICS.Each elementary motion estimation calculation circuit 131 to 134 can be produced for example by a circuit bearing the reference STI 3220, marketed by the
SGS-THOMSON MICROELECTRONICS company.
Ainsi que représenté en figure 4b, chaque circuit de calcul d'estimation de mouvement élémentaire calcule alors le vecteur mouvement élémentaire, et bien entendu le critère de distorsion associé à ce vecteur, pour la fenêtre de recherche qui lui est associée, les fenêtres F1 à F4 précédemment mentionnées. Les résultats, notés Vl,dl à V4,d4 sont alors délivrés à un circuit de calcul d'estimation de mouvement par blocs proprement dit, noté 135, lequel délivre les vecteurs auxiliaires d'estimation de mouvement précédemment cités dans la description. On comprend bien sûr que les valeurs de vecteurs mouvement élémentaires V1 à V4 et de distorsion délivrées par les circuits de calcul d'estimation de mouvement élémentaires 131 à 134 sont comparées par le circuit 135 précité pour obtenir le vecteur, noté V et sa valeur de distorsion notée d, permettant de minimiser le critère de distorsion de comparaison des blocs sur l'ensemble de la fenêtre F constituée par les quatre fenêtres élémentaires F1 à F4. As shown in FIG. 4b, each elementary motion estimation calculation circuit then calculates the elementary motion vector, and of course the distortion criterion associated with this vector, for the search window which is associated with it, the windows F1 to F4 previously mentioned. The results, denoted Vl, dl to V4, d4 are then delivered to a motion estimation calculation circuit by blocks proper, denoted 135, which delivers the auxiliary motion estimation vectors previously mentioned in the description. It is of course understood that the values of elementary motion vectors V1 to V4 and of distortion delivered by the elementary motion estimation calculation circuits 131 to 134 are compared by the aforementioned circuit 135 to obtain the vector, denoted V and its value of distortion denoted d, making it possible to minimize the distortion criterion for comparing the blocks over the whole of the window F constituted by the four elementary windows F1 to F4.
On comprend ainsi que le circuit 135 constitue un circuit de comparaison, lequel à partir des vecteurs mouvement élémentaires V1 à V4 et des variables de distorsion dl à d4 constituant en fait des variables de valeurs de ressemblance, délivre sur critère de tri le vecteur mouvement auxiliaire V associé au bloc sous-échantillonné de l'image B, image grossière courante sous-échantillonnée. It is thus understood that the circuit 135 constitutes a comparison circuit, which from the elementary motion vectors V1 to V4 and the distortion variables dl to d4 constituting in fact variables of resemblance values, delivers on sorting criterion the auxiliary motion vector V associated with the sub-sampled block of image B, current coarse sub-sampled image.
Avant passage au processus d'estimation fine, l'amplitude du vecteur mouvement auxiliaire V obtenu est ensuite multipliée par la valeur quatre correspondant aux valeurs de souséchantillonnage retenues pour l'estimation grossière. Ainsi, la fenêtre de recherche totale sur l'image de comparaison d'estimation A d'origine, a pour valeurs (-128, +124) horizontalement et (-32, +28) verticalement.Before passing to the fine estimation process, the amplitude of the auxiliary motion vector V obtained is then multiplied by the value four corresponding to the subsampling values used for the rough estimate. Thus, the total search window on the original estimation comparison image A has the values (-128, +124) horizontally and (-32, +28) vertically.
Une description plus détaillée du circuit 2 d'estimation finale de mouvement représenté en figure 3 sera maintenant donnée en liaison avec les figures 5 et suivantes. A more detailed description of the final motion estimation circuit 2 shown in FIG. 3 will now be given in conjunction with FIGS. 5 et seq.
D'une manière générale, on indique que l'estimation finale de mouvement est effectuée sur chaque macrobloc MB de l'image courante B, un ensemble de trois vecteurs ou plus étant ainsi déterminé. Les vecteurs mouvement finaux VMB, VMB2j et VMB2J+1 par exemple, sont calculés à partir du vecteur auxiliaire du même bloc obtenu après estimation grossière. Ainsi, les calculs des vecteurs d'estimation de mouvement finaux peuvent être effectués en parallèle par des opérateurs où des circuits de même type, lesquels seront décrits ci-après. In general, it is indicated that the final motion estimation is carried out on each macroblock MB of the current image B, a set of three or more vectors being thus determined. The final motion vectors VMB, VMB2j and VMB2J + 1 for example, are calculated from the auxiliary vector of the same block obtained after rough estimation. Thus, the calculations of the final motion estimation vectors can be carried out in parallel by operators or circuits of the same type, which will be described below.
Sur la figure 5, on a donc représenté le circuit 2 d'estimation finale de mouvement, lequel comporte un circuit 20 d'estimation de mouvement d'image, un circuit 21 d'estimation de mouvement d'image affecté à la trame paire et un circuit 22 d'estimation de mouvement d'image affecté à la trame impaire, par exemple. Les circuits 20, 21 et 22 reçoivent en parallèle les vecteurs mouvement auxiliaires précédemment mentionnés et délivrés par le circuit d'estima tion grossière de mouvement 1 représenté en figure 4a, ainsi que les signaux vidéo-numériques représentatifs de l'image courante B et de l'image de comparaison d'estimation A d'origine. Les circuits 20, 21 et 22 délivrent respectivement le vecteur mouvement final VMB, le vecteur mouvement trame paire VMB2j) et le vecteur mouvement trame impaire VMB2j+1 pour chaque macrobloc et demi-macrobloc correspondant de ce macrobloc, ces vecteurs constituant bien entendu les trois vecteurs mouvement finaux précédemment mentionnés dans la description, dans le cas de la mise en oeuvre élaborée. In FIG. 5, the final motion estimation circuit 2 is therefore shown, which comprises an image motion estimation circuit 20, an image motion estimation circuit 21 assigned to the even frame and an image motion estimation circuit 22 assigned to the odd frame, for example. The circuits 20, 21 and 22 receive in parallel the auxiliary motion vectors previously mentioned and delivered by the coarse motion estimation circuit 1 represented in FIG. 4a, as well as the video-digital signals representative of the current image B and of the original estimate comparison image A. The circuits 20, 21 and 22 respectively deliver the final motion vector VMB, the even frame motion vector VMB2j) and the odd frame motion vector VMB2j + 1 for each macroblock and corresponding half-macroblock of this macroblock, these vectors of course constituting the three final motion vectors previously mentioned in the description, in the case of the elaborate implementation.
Un premier mode de réalisation de l'un des circuits d'estimation de mouvement 20, 21 ou 22 sera maintenant décrit dans un mode de fonctionnement dit au pas entier pour lequel l'estimation de mouvement par blocs est effectuée pour les valeurs de luminance de chaque pixel. A first embodiment of one of the motion estimation circuits 20, 21 or 22 will now be described in a mode of operation known as full step for which the motion estimation by blocks is performed for the luminance values of every pixel.
Ainsi que représenté en figure 6a, on indique que les trois circuits d'estimation de mouvement 20, 21 et 22 sont mis en oeuvre à partir d'un même circuit de calcul d'estimation de mouvement élémentaire tel que le circuit
STI 3220 précédemment mentionné dans la description. Ce circuit calcule, pour un bloc de pixels de 16 x 16, un vecteur mouvement élémentaire d'amplitude (-8, +7) dans une fenêtre de recherche de dimensions 32 x 48 (horizontalement x verticalement). Cette fenêtre correspondant dans le sens vertical à trois dimensions de blocs est chargée par trois BUS en parallèle et son temps de chargement est double de celui du temps de chargement du bloc 16 x 16 précité. La fenêtre de recherche pour un bloc considéré est commune pour moitié avec la fenêtre de recherche du bloc suivant et le circuit de calcul d'estimation de mouvement élémentaire calcule bien un vecteur pour chaque bloc 16 x 16 dans la durée de chargement de ce bloc.As shown in FIG. 6a, it is indicated that the three motion estimation circuits 20, 21 and 22 are implemented from the same elementary motion estimation calculation circuit such as the circuit
STI 3220 previously mentioned in the description. This circuit calculates, for a block of pixels of 16 x 16, an elementary motion vector of amplitude (-8, +7) in a search window of dimensions 32 x 48 (horizontally x vertically). This window corresponding in the vertical direction to three dimensions of blocks is loaded by three BUSes in parallel and its loading time is double that of the loading time of the aforementioned 16 x 16 block. The search window for a block considered is shared for half with the search window for the next block and the elementary motion estimation calculation circuit correctly calculates a vector for each 16 × 16 block in the loading time of this block.
Toutefois, et en raison du fait que la fenêtre de recherche est centrée sur le vecteur d'estimation grossière de mouvement correspondant, il n'est donc plus possible de profiter de la régularité précédemment mentionnée. La solution consiste à charger une nouvelle fenêtre complète pour chaque bloc 16 x 16. La durée de ce chargement étant double de celle du bloc, il est donc indispensable, ainsi que représenté en figure 6a, de disposer de deux circuits de calcul d'estimation de mouvement élémentaires, lequels sont notés 203 et 204, fonctionnant en parallèle alternativement pour calculer un vecteur d'estimation de mouvement par bloc 16 x 16. However, and due to the fact that the search window is centered on the corresponding rough motion estimation vector, it is therefore no longer possible to take advantage of the previously mentioned regularity. The solution consists in loading a new complete window for each 16 x 16 block. The duration of this loading being double that of the block, it is therefore essential, as shown in FIG. 6a, to have two estimation calculation circuits of elementary motion, which are denoted 203 and 204, operating in parallel alternately to calculate a motion estimation vector per 16 × 16 block.
Ainsi, chaque circuit, 20, 21 ou 22 comprend, ainsi que représenté en figure 6a, un circuit 201 recevant l'image courante B d'origine permettant par exemple la mise en blocs selon des blocs 16 x 16 précités et un circuit 202 réalisant la même fonction pour ce qui concerne l'image de comparaison d'estimation A, la fenêtre de recherche précédemment mentionnée étant centrée sur le vecteur auxiliaire d'estimation de mouvement VAMB ou VAMB2j ou VAMB2j.l). D'une manière classique, on indique que les circuits 201 ou 202 peuvent par exemple consister en des circuits de mémorisation et d'adressage en lecture des pixels correspondants, ainsi que décrit précédemment dans la description. Le circuit 202 délivre par exemple les pixels de la fenêtre de recherche selon les trois zones H, M, B précédemment mentionnées. Thus, each circuit, 20, 21 or 22 comprises, as shown in FIG. 6a, a circuit 201 receiving the original current image B allowing for example the placing in blocks according to the aforementioned 16 x 16 blocks and a circuit 202 carrying out the same function for the estimation comparison image A, the aforementioned search window being centered on the auxiliary motion estimation vector VAMB or VAMB2j or VAMB2j.l). In a conventional manner, it is indicated that the circuits 201 or 202 can for example consist of circuits for memorizing and addressing in reading the corresponding pixels, as described previously in the description. The circuit 202 delivers, for example, the pixels of the search window according to the three areas H, M, B previously mentioned.
Les circuits de calcul d'estimation de mouvement élémentaires 203 et 204 reçoivent chacun le signal de bloc 16 x 16 délivré par le circuit 201, lequel correspond à l'image courante B précédemment mentionnée, ainsi que les fenêtres de recherche correspondantes, symbolisées par les trois zones H, M, B précitées. Le circuit 203 opère par exemple pour les blocs pairs alors que le circuit 204 opère par exemple pour les blocs impairs. Les circuits de calcul de mouvement élémentaires 203 et 204 délivrent ainsi, pour chaque bloc 16 x 16, alternativement, un vecteur estimation de mouvement élémentaire, lequel, par l'intermédiaire d'un circuit multiplexeur temporel 205, délivre successivement le vecteur estimation de mouvement final, c'est-à-dire soit le vecteur image Vt , soit le vecteur trame paire VMB2jt ou le vecteur trame impaire VMB2
Sur la figure 6b, on a représenté les chronogrammes simplifiés de synchronisation à la fréquence blocs-fenêtres pour les blocs pairs et impairs respectivement ainsi que la fréquence vecteur finale d'estimation de mouvement délivrée par le multiplexeur temporel 205.The basic motion estimation calculation circuits 203 and 204 each receive the 16 x 16 block signal delivered by the circuit 201, which corresponds to the current image B previously mentioned, as well as the corresponding search windows, symbolized by the three zones H, M, B mentioned above. The circuit 203 operates for example for even blocks while the circuit 204 operates for example for odd blocks. The elementary motion calculation circuits 203 and 204 thus deliver, for each 16 × 16 block, alternatively, an elementary motion estimation vector, which, via a time multiplexer circuit 205, successively delivers the motion estimation vector final, i.e. either the image vector Vt, or the even frame vector VMB2jt or the odd frame vector VMB2
FIG. 6b shows the simplified timing diagrams for synchronization at the window-block frequency for the even and odd blocks respectively, as well as the final vector frequency of motion estimation delivered by the time multiplexer 205.
Une deuxième variante de réalisation des circuits d'estimation des vecteurs mouvement image, trame paire ou trame impaire 20, 21, 22 sera maintenant décrite en liaison avec les figures 7a et 7b dans un mode de fonctionnement dit au demi-pas, ce mode de fonctionnement correspondant à une recommandation de la norme MPEG précédemment mentionnée dans la description. A second alternative embodiment of the circuits for estimating image movement vectors, even frame or odd frame 20, 21, 22 will now be described in connection with FIGS. 7a and 7b in a mode of operation known as half-step, this mode of operation corresponding to a recommendation of the MPEG standard previously mentioned in the description.
Sur la figure 7a, on comprend que les cercles représentent quatre pixels adjacents deux à deux de la fenêtre de recherche de l'image de comparaison d'estimation
A par exemple. Selon la recommandation précitée, on indique que des valeurs intermédiaires peuvent être définies dans la direction horizontale et/ou verticale, ce qui permet de définir cinq points représentés par des croix sur la figure 7a, à chaque point étant associée une valeur d'amplitude de luminance donnée respectivement par (E+F)/2, (E+C)/2 et pour la valeur centrale des quatre pixels précités (E+F+C+D)/4, les valeurs de luminance pour les points intermédiaires aux pixels FD respectivement CD étant obtenues par permutation correspondante des symboles EF x CD.In FIG. 7a, it is understood that the circles represent four adjacent pixels two by two of the search window for the estimation comparison image.
Has for example. According to the abovementioned recommendation, it is indicated that intermediate values can be defined in the horizontal and / or vertical direction, which makes it possible to define five points represented by crosses in FIG. 7a, with each point being associated with an amplitude value of luminance given respectively by (E + F) / 2, (E + C) / 2 and for the central value of the four aforementioned pixels (E + F + C + D) / 4, the luminance values for the intermediate points at the pixels FD respectively CD being obtained by corresponding permutation of the symbols EF x CD.
Dans le cas du fonctionnement au demi-pas, le principe du fonctionnement est similaire à celui du fonctionnement au pas entier, un circuit de calcul d'estimation de mouvement élémentaire en mode de fonctionnement au demipas travaillant sur les blocs impairs et un autre sur les blocs pairs de façon analogue à celle représentée en figure 6a. Dans ce cas, chaque circuit de calcul d'estimation de mouvement élémentaire tel que 203 ou 204, voit sa fenêtre de recherche centrée également sur le vecteur auxiliaire d'estimation de mouvement correspondant de la même façon que dans le cas de la figure 6a. In the case of half-step operation, the principle of operation is similar to that of full-step operation, a circuit for calculating estimation of elementary movement in half-step operating mode working on the odd blocks and another on the even blocks in a similar way to that shown in Figure 6a. In this case, each elementary motion estimation calculation circuit such as 203 or 204 has its search window also centered on the corresponding motion estimation auxiliary vector in the same way as in the case of FIG. 6a.
Toutefois, le demi-pas doit être calculé, les composants uniques constitutifs des circuits de calcul d'estimation de mouvement élémentaire 203 et 204, composants
STI 3220 déjà cités, étant remplacés par quatre composants de ce type montés en parallèle ainsi qu'il sera décrit plus en détail en relation avec la figure 7b.However, the half-step must be calculated, the single components constituting the elementary motion estimation calculation circuits 203 and 204, components
STI 3220 already cited, being replaced by four components of this type mounted in parallel as will be described in more detail with reference to FIG. 7b.
Ainsi, à partir des pixels de la fenêtre de recherche dans l'image de comparaison d'estimation, ces pixels correspondant aux trois zones H, M, B précédemment mentionnées dans la description, un premier circuit de calcul élémentaire 2033 permet d'effectuer le calcul du vecteur estimation de mouvement au pas entier et sa valeur de distorsion, ces deux valeurs étant notées V1, dl, un deuxième circuit de calcul élémentaire 2034 complété en amont par un filtre au demi-pas horizontal 2030 permet d'effectuer le calcul d'un vecteur estimation de mouvement élémentaire V2 et de sa distorsion d2 au demi-pas horizontal. De la même manière, un troisième circuit de calcul élémentaire 2035 permet d'effectuer, à partir d'un filtre demi-pas vertical 2031, le calcul d'un vecteur élémentaire
V3 et de sa distorsion d3 au demi-pas vertical, alors qu'un quatrième circuit de calcul élémentaire 2036 permet, au moyen d'un filtre au demi-pas horizontal et vertical 2032, de calculer un quatrième vecteur élémentaire V4 et sa valeur de distorsion d4 au demi-pas horizontal et vertical, ainsi qu'illustré en relation avec la figure 7a. Les vecteurs élémentaires V1, V2, V3, V4 et leurs valeurs de distorsion dl, d2, d3, d4 sont délivrés à un circuit appliquant un critère de tri sur les valeurs des vecteurs précités pour délivrer le vecteur au demi-pas V, ce vecteur estimation de mouvement constituant bien entendu soit le vecteur image VM, soit le vecteur trame paire VMB2" soit le vecteur trame impaire VMB2j+1. On comprend bien sûr que, de manière analogue à la figure 6a, le dispositif 20, 21 ou 22 comporte en fait deux circuits tels que représentés en figure 7b, lesquels fonctionnent alternativement de manière analogue, au mode opératoire des circuits 203 et 204 de la figure 6a.Thus, from the pixels of the search window in the estimation comparison image, these pixels corresponding to the three areas H, M, B previously mentioned in the description, a first elementary calculation circuit 2033 makes it possible to perform the calculation of the motion estimation vector at full step and its distortion value, these two values being denoted V1, dl, a second elementary calculation circuit 2034 supplemented upstream by a horizontal half-step filter 2030 makes it possible to perform the calculation d 'a vector estimation of elementary movement V2 and of its distortion d2 at the horizontal half-step. In the same way, a third elementary calculation circuit 2035 makes it possible to perform, from a vertical half-step filter 2031, the calculation of an elementary vector
V3 and its distortion d3 at the vertical half-step, while a fourth elementary calculation circuit 2036 makes it possible, by means of a horizontal and vertical half-step filter 2032, to calculate a fourth elementary vector V4 and its value of distortion d4 in the horizontal and vertical half-step, as illustrated in relation to FIG. 7a. The elementary vectors V1, V2, V3, V4 and their distortion values dl, d2, d3, d4 are delivered to a circuit applying a sorting criterion on the values of the aforementioned vectors to deliver the vector at half-step V, this vector motion estimation of course constituting either the image vector VM, or the even frame vector VMB2 "or the odd frame vector VMB2j + 1. It is of course understood that, in a manner analogous to FIG. 6a, the device 20, 21 or 22 comprises in fact two circuits as shown in Figure 7b, which operate alternately in a similar manner, in the operating mode of circuits 203 and 204 of Figure 6a.
On a ainsi décrit un procédé et un dispositif d'estimation de mouvement entre images de télévision d'une séquence d'images particulièrement performants dans la mesure où la subdivision de l'estimation proprement dite de mouvement entre deux étapes successives consistant en une estimation grossière puis en une estimation finale, permet de réduire sensiblement le volume de calculs nécessaire à la mise en oeuvre du processus d'estimation proprement dit. On comprendra bien sûr que cette réduction est due, notamment au fait que l'estimation finale est effectuée à partir de l'estimation grossière et en particulier des vecteurs auxiliaires d'estimation de mouvement, lesquels permettent de centrer la recherche effectuée au cours de l'estimation finale sur des fenêtres de recherche centrées sur les valeurs d'estimation de mouvement représentées par les vecteurs auxiliaires, vecteur mouvement auxiliaire seul associé à chaque macrobloc MB, ou vecteurs mouvement auxiliaires associés à chaque macrobloc MB et demi-macrobloc de ce macrobloc, ce qui permet de réduire en conséquence les volumes de calcul. We have thus described a method and a device for estimating motion between television images of a particularly efficient sequence of images insofar as the subdivision of the actual motion estimation between two successive steps consisting of a rough estimation then in a final estimate, allows to significantly reduce the volume of calculations necessary for the implementation of the actual estimation process. It will of course be understood that this reduction is due, in particular to the fact that the final estimate is carried out on the basis of the rough estimate and in particular of the auxiliary motion estimation vectors, which make it possible to center the research carried out during the final estimation on search windows centered on the motion estimation values represented by the auxiliary vectors, only auxiliary motion vector associated with each macroblock MB, or auxiliary motion vectors associated with each macroblock MB and half-macroblock of this macroblock, which allows the calculation volumes to be reduced accordingly.
On comprend également que, dans les modes de réalisation décrits, le fonctionnement de l'estimation de mouvement finale permet d'atteindre une résolution inférieure à la dimension du pixel en raison du mode opératoire proposé. It is also understood that, in the embodiments described, the operation of the final motion estimation makes it possible to achieve a resolution lower than the pixel size due to the proposed operating mode.
Claims (9)
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
FR9403080A FR2717648B1 (en) | 1994-03-16 | 1994-03-16 | Method and device for estimating motion between television images of a sequence of images. |
PCT/FR1995/000306 WO1995025404A1 (en) | 1994-03-16 | 1995-03-14 | Method and device for estimating motion between television frames in a frame sequence |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
FR9403080A FR2717648B1 (en) | 1994-03-16 | 1994-03-16 | Method and device for estimating motion between television images of a sequence of images. |
Publications (2)
Publication Number | Publication Date |
---|---|
FR2717648A1 true FR2717648A1 (en) | 1995-09-22 |
FR2717648B1 FR2717648B1 (en) | 1996-05-15 |
Family
ID=9461110
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
FR9403080A Expired - Fee Related FR2717648B1 (en) | 1994-03-16 | 1994-03-16 | Method and device for estimating motion between television images of a sequence of images. |
Country Status (2)
Country | Link |
---|---|
FR (1) | FR2717648B1 (en) |
WO (1) | WO1995025404A1 (en) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP3159713B2 (en) * | 1997-03-14 | 2001-04-23 | クセルト―セントロ・ステユデイ・エ・ラボラトリ・テレコミニカチオーニ・エツセ・ピー・アー | Motion estimation circuit in digitized video sequence encoder |
US6122017A (en) * | 1998-01-22 | 2000-09-19 | Hewlett-Packard Company | Method for providing motion-compensated multi-field enhancement of still images from video |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO1991000668A1 (en) * | 1989-06-27 | 1991-01-10 | Thomson-Csf | Iterative method for estimating movement, between a reference image and a current, and device for implementing same |
EP0446001A2 (en) * | 1990-03-06 | 1991-09-11 | Victor Company Of Japan, Ltd. | Motion vector detection circuit used in hierarchical processing of moving picture signal |
EP0484140A2 (en) * | 1990-10-31 | 1992-05-06 | Victor Company Of Japan, Ltd. | Compression method of interlace moving image signals |
WO1993003578A1 (en) * | 1991-07-30 | 1993-02-18 | Sony Corporation | Apparatus for coding and decoding picture signal with high efficiency |
EP0557948A2 (en) * | 1992-02-25 | 1993-09-01 | Nec Corporation | Motion compensating inter-frame predictive picture coding apparatus |
-
1994
- 1994-03-16 FR FR9403080A patent/FR2717648B1/en not_active Expired - Fee Related
-
1995
- 1995-03-14 WO PCT/FR1995/000306 patent/WO1995025404A1/en active Application Filing
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO1991000668A1 (en) * | 1989-06-27 | 1991-01-10 | Thomson-Csf | Iterative method for estimating movement, between a reference image and a current, and device for implementing same |
EP0446001A2 (en) * | 1990-03-06 | 1991-09-11 | Victor Company Of Japan, Ltd. | Motion vector detection circuit used in hierarchical processing of moving picture signal |
EP0484140A2 (en) * | 1990-10-31 | 1992-05-06 | Victor Company Of Japan, Ltd. | Compression method of interlace moving image signals |
WO1993003578A1 (en) * | 1991-07-30 | 1993-02-18 | Sony Corporation | Apparatus for coding and decoding picture signal with high efficiency |
EP0598904A1 (en) * | 1991-07-30 | 1994-06-01 | Sony Corporation | Apparatus for coding and decoding picture signal with high efficiency |
EP0557948A2 (en) * | 1992-02-25 | 1993-09-01 | Nec Corporation | Motion compensating inter-frame predictive picture coding apparatus |
Also Published As
Publication number | Publication date |
---|---|
FR2717648B1 (en) | 1996-05-15 |
WO1995025404A1 (en) | 1995-09-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP0675652B1 (en) | Method and circuit for estimating motion between images of two interlaced fields, and digital signal coding devices comprising such a circuit | |
EP0330279B1 (en) | Device for the space-time sub-sampling of digital video signals representative of a sequence of interlaced or sequential pictures, system for the transmission of high definition television pictures including such a device, and broadcasting and receiving stages for such a system | |
EP0022713B1 (en) | Device for coding and decoding a digital videophone signal | |
EP0547696B1 (en) | System for the transmission and/or storage of signals corresponding to textured images | |
EP1269400B1 (en) | High resolution, high speed digital camera | |
WO1991003797A1 (en) | Method and device for estimation and hierarchical coding of the motion of image sequences | |
EP0347984A1 (en) | System for processing television pictures with a motion estimator and reduced data rate | |
EP0418952B1 (en) | Coding device for bidimensional informations, and decoding device therefor | |
EP0717372B1 (en) | Motion vector selection process and image processing device carrying out said process | |
EP0337565B1 (en) | Device for coding signals representative of a sequence of pictures and system for transmission of high definition television pictures including such a device | |
FR2631768A1 (en) | HIGH DEFINITION TELEVISION TRANSMISSION AND RECEPTION SYSTEM WITH REDUCED DATA RATE | |
FR2844131A1 (en) | Mobile telephone/digital personal assistant video display having first/second images and estimator preselecting vectors/selecting movement vector minimising costs. | |
EP0347325A1 (en) | Method and installation for broadcasting compatible high-definition programmes | |
EP0603947B1 (en) | Coding apparatus for digital television image signals | |
EP0365090B1 (en) | Device for doubling the sequential rate of television signals, and television picture decoder comprising such a device | |
FR2717648A1 (en) | Method and device for estimating motion between television images of a sequence of images. | |
FR2634086A1 (en) | TEMPORAL SUB-SAMPLING DEVICE AND MOTION-COMPENSATED TIME INTERPOLATION IN INTERLACED IMAGE SEQUENCE, USE OF SUCH A DEVICE IN CODING AND DECODING DEVICES OF HIGH-DEFINITION TELEVISION IMAGE TRANSMISSION SYSTEM , AND DEVICES FOR ENCODING AND DECODING FOR SUCH A SYSTEM | |
FR2769784A1 (en) | FASHION CODING METHOD IN BINARY SHAPE CODING | |
EP1596607B1 (en) | Method and device for generating candidate vectors for image interpolation systems using motion estimation and compensation | |
EP0321357B1 (en) | Method of sub-sampling a sequence of electronic pictures in the axis of movement | |
EP0428216B1 (en) | Device for improved decoding of HD-MAC television signals | |
FR2660142A1 (en) | METHOD AND DEVICE FOR ENCODING-DECODING HIGH-DEFINITION DIGITAL HIGH-DEFINITION TELEVISION SIGNAL IN NARROW BAND. | |
FR2700037A1 (en) | Hierarchical estimation device of the sequence of images. | |
FR2782878A1 (en) | SYSTEM FOR COMPRESSION AND DECOMPRESSION OF DIGITAL VIDEO SIGNALS | |
FR2773038A1 (en) | MPEG-coded image data interpolation method, especially for standards conversion |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
ST | Notification of lapse |
Effective date: 20081125 |