FR2670923A1 - CORRELATION DEVICE. - Google Patents
CORRELATION DEVICE. Download PDFInfo
- Publication number
- FR2670923A1 FR2670923A1 FR9016104A FR9016104A FR2670923A1 FR 2670923 A1 FR2670923 A1 FR 2670923A1 FR 9016104 A FR9016104 A FR 9016104A FR 9016104 A FR9016104 A FR 9016104A FR 2670923 A1 FR2670923 A1 FR 2670923A1
- Authority
- FR
- France
- Prior art keywords
- pixels
- current block
- symbols
- correlation
- blocks
- 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.)
- Pending
Links
Classifications
-
- 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/20—Analysis of motion
- G06T7/223—Analysis of motion using block-matching
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/10—Image acquisition modality
- G06T2207/10016—Video; Image sequence
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Signal Processing (AREA)
- Image Analysis (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
- Image Processing (AREA)
Abstract
Dispositif de corrélation calculant une corrélation entre un bloc courant d'une première image et des blocs de symboles pris dans une seconde image pour déterminer des vecteurs de déplacement. Des moyens de sélection (26) (27) sélectionnent, en nombre limité, des symboles contenus dans lesdits blocs sur lesquels portent le calcul de corrélation. Cette sélection peut être opérée soit par tirage aléatoire soit en fonction du contenu informationnel des blocs. Ledit bloc courant peut être subdivisé en zones sur lesquelles opèrent lesdits moyens de sélection. Un corrélateur (25) effectue les calculs de corrélation bloc à bloc sur l'ensemble du bloc courant et une unité de décision (28) détermine le vecteur de déplacement. Il est possible de choisir pour le corrélateur (25) une architecture qui privilégie soit sa vitesse de calcul soit une réduction de sa complexité matérielle. L'invention trouve son application dans la réduction du débit de données à transmettre notamment dans le traitement d'image (télévision, visiophone) ou de sons. Application: Télévision, visiophonie, traitement du son.Correlation device calculating a correlation between a current block of a first image and blocks of symbols taken from a second image to determine displacement vectors. Selection means (26) (27) select, in a limited number, symbols contained in said blocks on which the correlation calculation relates. This selection can be made either by random selection or as a function of the informational content of the blocks. Said current block can be subdivided into zones on which said selection means operate. A correlator (25) performs the block-to-block correlation calculations over the entire current block and a decision unit (28) determines the displacement vector. It is possible to choose for the correlator (25) an architecture which favors either its computation speed or a reduction in its hardware complexity. The invention finds its application in reducing the data rate to be transmitted, in particular in image processing (television, videophone) or sound processing. Application: Television, videophone, sound processing.
Description
DESCRIPTIONDESCRIPTION
"DISPOSITIF DE CORRELATION"."CORRELATION DEVICE".
L'invention concerne un dispositif de corrélation The invention relates to a correlation device
opérant sur des signaux d'entrée représentant des symboles or- operating on input signals representing symbols
ganisés en blocs selon une configuration régulière, compre- in blocks in a regular configuration, including
nant: un corrélateur qui détermine une corrélation entre des symboles d'un bloc courant et des symboles ayant des positions identiques dans une suite de blocs à traiter issus de ladite configuration, et des moyens de sélection qui sélectionnent parmi les symboles dudit bloc courant un nombre limité de symboles de nant: a correlator which determines a correlation between symbols of a current block and symbols having identical positions in a sequence of blocks to be processed from said configuration, and selection means which select among the symbols of said current block a number limited symbols of
référence sur lesquels porte la corrélation. reference to which the correlation relates.
La configuration régulière de signaux d'entrée Regular configuration of input signals
peut être unidimensionnelle ou bidimensionnelle Il peut s'a- can be one-dimensional or two-dimensional It can be
gir par exemple d'une configuration unidimensionnelle o des for example a one-dimensional configuration o
corrélations peuvent s'opérer sur des blocs de signaux d'en- correlations can occur on blocks of
trée d'origine acoustique pour le traitement du son Un symbo- sound source for sound processing A symbol
le de la configuration est alors une valeur codée sous forme binaire Préférentiellement il peut s'agir de configurations the configuration is then a value coded in binary form Preferentially it can be configurations
bidimensionnelles o les corrélations s'opèrent sur des ima- two-dimensional solutions where correlations take place on
ges, par exemple animées, sur lesquelles on détermine des vec- eg, animated, on which we determine
teurs de déplacement de la séquence animée entre des images successives Un symbole de la configuration est alors un pixel Ces applications sont souvent entreprises en vue d'une réduction du débit des données On les rencontre par exemple movers of the animated sequence between successive images A symbol of the configuration is then a pixel These applications are often undertaken with a view to a reduction of the data rate.
dans le domaine de la télévision (débit élevé) ou dans le do- in the field of television (high speed) or in the field of
maine du visiophone et de la vidéo-conférence (débit faible). videophone and video conference (low speed).
L'application relative à l'estimation de mouve- The application relating to the estimation of movement
ment d'images animées en télévision présente la particularité de révéler des contraintes très sévères en particulier par la television has the particularity of revealing very severe constraints, particularly
nécessité d'opérer une grande quantité de calculs avec un dé- need to operate a large amount of calculations with a
bit élevé Cette application sera donc prise ici à titre high bit This application will be taken here as a
d'exemple sans que cela puisse limiter l'invention. example without this limiting the invention.
Pour l'estimation de mouvement d'images animées, la technique qui semble la plus intéressante est cette dite de la "correspondance bloc à bloc' appelée "block matching" en langue anglaise Elle consiste à découper l'image en blocs de pixels Pour un bloc donné de l'image on détermine dans une image antérieure le bloc qui s'en rapproche le plus afin de déterminer le mouvement de la séquence animée représentée dans For motion estimation motion, the technique that seems the most interesting is the so-called "block matching" called "block matching" in English It consists of cutting the image into blocks of pixels For a given block of the image is determined in an earlier image the block that comes closest to determine the movement of the animated sequence shown in
l'image C'est cette information de mouvement qui est transmi- image It is this movement information that is transmitted
se, pour chaque bloc, à l'organe de réception placé à l'extré- for each block, to the receiving member placed at the end
mité du canal de transmission.mity of the transmission channel.
Le principe du traitement consiste à suivre l'é- The principle of treatment consists of following the
volution du contenu d'images sur des images successives Cette technique met à profit le fait que le contenu informationnel evolution of the content of images on successive images This technique takes advantage of the fact that the information content
varie peu d'une image à l'autre Le déplacement de l'informa- varies little from one image to another The movement of information
tion contenue dans un bloc se limite généralement à quelques blocs voisins Ce suivi s'opère en repérant certaines parties qui peuvent être les plus significatives ou qui sont choisies volontairement Cela peut concerner la totalité des blocs de This monitoring is done by identifying certain parts that may be the most significant or that are chosen voluntarily. This may concern all the blocks of
l'image.the image.
Un bloc courant de référence (expression simpli- A current reference block (simplified expression
fiée par la suite en "bloc courant") pourra se retrouver situé subsequently "current block") may be located
différemment dans des images soit antérieure soit postérieu- differently in either anterior or posterior images
re C'est ce déplacement qu'il s'agit de déterminer Mais ce déplacement reste limité et pour cela on définit une fenêtre à l'intérieur de laquelle ledit bloc courant est susceptible de It is this displacement that needs to be determined. But this displacement remains limited and for this we define a window within which the current block is likely to
se trouver.be located.
Le mouvement estimé est la translation entre la The estimated movement is the translation between the
position dans l'image du bloc courant et la position dans l'i- position in the image of the current block and the position in the i-
mage antérieure/postérieure du bloc antérieur/postérieur qui présente la plus forte corrélation Ceci permet de déterminer anterior / posterior block of the anterior / posterior block with the strongest correlation
un vecteur de déplacement relatif au bloc courant La corréla- a vector of displacement relative to the current block The correlation
tion va donc être déterminée pixel à pixel de même position tion will be determined pixel by pixel of the same position
pour toutes les positions possibles du bloc courant à l'inté- for all possible positions of the current block in the
rieur de la fenêtre correspondante Les mêmes opérations sont in the corresponding window The same operations are
répétées pour les autres blocs courants choisis La corréla- repeated for the other selected current blocks The correlation
tion est généralement évaluée en sommant pour tout le bloc, les valeurs absolues des différences de caractéristiques de tion is summed for the whole block, the absolute values of the differences in
pixel à pixel bloc à bloc La caractéristique du pixel est gé- pixel to pixel block to block The characteristic of the pixel is large
néralement sa luminance.usually its luminance.
Deux obligations principales apparaissent pour une réalisation matérielle d'un estimateur de mouvement: son Two main obligations appear for a material realization of a motion estimator: its
aptitude à opérer en temps réel, sa complexité matérielle. ability to operate in real time, its material complexity.
Différentes stratégies ont été développées, mais certains al- Different strategies have been developed, but some
gorithmes qui sont moins demandeurs en nombre d'opérations s'avèrent moins réguliers et donc plus complexes à mettre en oeuvre La régularité des phases de calcul est une condition qu'il faut prendre en compte notamment pour la réalisation de Gorithms that are less demanding in number of operations are less regular and therefore more complex to implement The regularity of the calculation phases is a condition that must be taken into account in particular for the realization of
circuits intégrés dédiés Ceci explique que la stratégie habi- Dedicated integrated circuits This explains that the usual strategy
tuellement mise en oeuvre consiste en une recherche exhaustive implementation is a comprehensive search
portant sur tous les pixels de tous les blocs de la fenêtre. covering all the pixels of all the blocks of the window.
Des techniques de balayage pour opérer successivement l'analy- Scanning techniques for successively operating the analy-
se de chaque pixel du bloc courant dans la fenêtre peuvent each pixel of the current block in the window can
permettre de réduire la complexité matérielle des implémenta- to reduce the material complexity of the implementa-
tions. On a donc cherché à développer des méthodes pour réduire la complexité du traitement d'estimation de mouvement sans nuire à son aptitude à opérer en temps réel Ainsi on tions. We therefore sought to develop methods to reduce the complexity of motion estimation processing without impairing its ability to operate in real time.
connaît l'article intitulé "Motion-compensated interframe co- knows the article entitled "Motion-compensated interframe co-
ding for video conferencing" par T KOGA et al National Telecommunications Conference 29 Novembre-3 Décembre 1981 ding for video conferencing "by T KOGA and National Telecommunications Conference 29 November-3 December 1981
NEW ORLEANS LOUISIANE Ce document détermine un vecteur d'es- NEW ORLEANS LOUISIANE This document defines a vector of
timation de mouvement en faisant intervenir différentes mani- movement by involving different types of
pulations notamment un sous-échantillonnage qui permet de ne especially a subsampling that allows
prendre en compte qu'un nombre limité de pixels par bloc cou- take into account that a limited number of pixels per
rant c'est-à-dire un pixel sur deux dans une ligne pour un premier cas et qui s'étend même à une ligne sur deux dans un second cas La complexité hardware s'en trouve diminuée mais au détriment de la précision de l'estimation de mouvement Le rant that is to say a pixel on two in a line for a first case and which extends even to a line on two in a second case The hardware complexity is diminished but at the expense of the accuracy of the motion estimation
codage différentiel inter-image, qui est une application pri- inter-image differential coding, which is a primary application
vilégiée de l'estimation de mouvement, consiste à transmettre une erreur-de prédiction, cette dernière étant dans le cas the motion estimation, consists in transmitting a prediction error, the latter being in the case
présent le bloc de l'image antérieure choisi dans la fenêtre. present the block of the previous image chosen in the window.
Lorsque l'estimation de mouvement est faite correctement l'erreur de prédiction est faible et donc la longueur du code transmis par un canal de transmission est réduite On conçoit donc que la dégradation de la précision de l'estimation de mouvement a un impact sur l'efficacité du codage Ainsi dans l'art antérieur cité pour un taux de transmission de 1,5 Mbits/s le taux d'erreurs de prédiction peut s'accroître de 50 % Ceci nécessite une augmentation de débit pour When the motion estimation is done correctly the prediction error is small and therefore the length of the code transmitted by a transmission channel is reduced. It is therefore conceivable that the degradation of the accuracy of the motion estimation has an impact on the encoding efficiency Thus in the cited prior art for a transmission rate of 1.5 Mbits / s the rate of prediction errors can increase by 50% This requires an increase in bit rate for
atteindre une qualité d'image acceptable. achieve acceptable image quality.
Le problème posé est donc de concevoir un dispo- The problem is, therefore, to devise a
sitif de corrélation qui permette une réalisation matérielle simplifiée (par rapport à une réalisation habituelle) et qui correlation which allows a simplified material realization (compared to a usual realization) and which
puisse opérer en temps réel avec un taux d'erreurs de prédic- can operate in real time with a predictive error rate
tion réduit même pour des applications de traitement d'image reduced even for image processing applications
de télévision.of TV.
Ce but est atteint avec un dispositif de corréla- This goal is achieved with a correlation device
tion dont les moyens de sélection sélectionnent, dans ledit bloc courant, un(des) symbole(s) de référence en choisissant sa(leur) position: soit en fonction du contenu informationnel dudit bloc courant, soit selon une sélection aléatoire, soit pour une première partie prioritairement en fonction du contenu informationnel et pour une seconde partie selon une whose selection means select, in said current block, a reference symbol (s) by choosing its (their) position: either according to the informational content of said current block, or according to a random selection, or for a first part primarily according to the informational content and for a second part according to a
sélection aléatoire.random selection.
Il est ainsi possible d'adopter deux stratégies It is thus possible to adopt two strategies
complémentaires qui peuvent être combinées. complementary that can be combined.
Dans le cas d'une image par exemple, avantageuse- In the case of an image for example, advantageously
ment selon la première stratégie seuls les pixels porteurs d'une information de "distorsion" dans le bloc courant peuvent According to the first strategy only the pixels carrying "distortion" information in the current block can
être choisis pour le calcul de corrélation. be chosen for the correlation calculation.
Selon la seconde stratégie, on ignore le contenu According to the second strategy, we ignore the content
informationnel du bloc courant, et les pixels de référence sé- information of the current block, and the reference pixels se-
lectionnés sont répartis aléatoirement dans le bloc courant. selected are randomly distributed in the current block.
Ces deux stratégies permettent de rompre la régu- These two strategies make it possible to break the
larité de la sélection qui est opérée lorsqu'on élimine un pi- of the selection that is made when eliminating a pi-
xel sur deux voire même une ligne sur deux La régularité de cette sélection présente en effet le désavantage de supprimer xel out of two or even a line on two The regularity of this selection has the disadvantage of eliminating
la partie haute fréquence du spectre d'information et de pro- the high frequency part of the information and
voquer un taux d'erreurs inacceptable à débit élevé (voir le document déjà cité) Par contre selon l'invention la partie haute fréquence du spectre d'information n'est pas supprimée et son importance peut même être contrôlée en intervenant sur le nombre limité de symboles sélectionnés par bloc courant En combinant la stratégie par le contenu informationnel et la stratégie par sélection aléatoire on conserve cette absence de régularité de la position des symboles dans le bloc courant et on réduit encore le taux d'erreurs en suivant au plus près le contenu de l'information Dans ce dernier cas les symboles de référence sont sélectionnés prioritairement selon le contenu informationnel et leur nombre est complété par une sélection However, according to the invention, the high frequency portion of the information spectrum is not suppressed and its importance can even be controlled by intervening on the limited number. of symbols selected by current block By combining the strategy by the informational content and the strategy by random selection, this absence of regularity of the position of the symbols in the current block is preserved and the error rate is further reduced by following closely the content of the information In the latter case the reference symbols are selected primarily according to the informational content and their number is completed by a selection
aléatoire, jusqu'à concurrence du nombre limité prédéterminé. random, up to the predetermined limited number.
Lorsqu'un bloc est constitué par des pixels (res- When a block consists of pixels (
pectivement des valeurs codées en binaire) la sélection consiste à prendre en référence des pixels (respectivement des valeurs codées en binaire) ayant une certaine position dans le binary coded values) the selection consists in taking reference of pixels (respectively values coded in binary) having a certain position in the
bloc courant.current block.
A ces pixels qui ont une position déterminée dans le bloc courant correspondent d'autres pixels qui ont la même To these pixels that have a determined position in the current block correspond other pixels that have the same
position dans des blocs de la fenêtre à analyser La corréla- position in blocks of the window to be analyzed The correlation
tion qui est calculée entre deux blocs s'opère en fait entre which is calculated between two blocks is actually between
les pixels des deux blocs qui ont la même position L'opéra- the pixels of the two blocks that have the same position.
tion est poursuivie pour toutes les positions possibles du continued for all possible positions of the
bloc courant dans la fenêtre Le traitement est ensuite pour- current block in the window The treatment is then
suivi avec un autre bloc courant associé à une autre fenêtre de recherche Il est possible que la même sélection aléatoire soit utilisée pour plusieurs blocs courants pour sélectionner la position du(des) symbole(s) de référence sélectionné(s) aléatoirement. Dans le cas o la sélection s'opère en tenant compte du contenu informationnel du bloc courant, la position des symboles de référence dans le bloc courant est déterminée à partir d'une fonction de distorsion calculée pour chaque symbole du bloc courant vis-à-vis des symboles l'environnant, le(les) symbole(s) de référence sélectionné(s) étant choisi(s) followed by another current block associated with another search window It is possible for the same random selection to be used for several current blocks to select the position of the selected reference symbol (s) randomly. In the case where the selection is made taking into account the information content of the current block, the position of the reference symbols in the current block is determined from a distortion function calculated for each symbol of the current block vis-à- vis the surrounding symbols, the selected reference symbol (s) being chosen
parmi les symboles dont les valeurs de la fonction de distor- among the symbols whose values of the distortion function
sion diffèrent le plus de celles relatives aux symboles envi- most different from those concerning the environmental symbols.
ronnants. Cette fonction de distorsion peut, par exemple, tenir compte de la variation d'une caractéristique telle que la luminance ou autres entre les pixels voisins d'un même bloc courant Pour déterminer les pixels les plus représentatifs ronnants. This distortion function can, for example, take into account the variation of a characteristic such as luminance or others between the neighboring pixels of the same current block To determine the most representative pixels
d'un bloc courant, la fonction de distorsion peut être déter- of a current block, the distortion function can be deter-
minée en calculant un Laplacien se rapportant à la caractéris- by calculating a Laplacian pertaining to the characteris-
tique choisie pour le signal d'entrée Plus généralement on tick chosen for the input signal More generally
peut prendre en compte des pixels voisins qui entourent un pi- can take into account neighboring pixels that surround a
xel donné de manière isotrope Mais pour que dans un bloc cou- given in an isotropic way But in order that in a
rant les pixels de référence ne soient pas concentrés dans une reference pixels are not concentrated in one
partie trop localisée du bloc courant, il est possible d'impo- too localized part of the current block, it is possible to
ser une contrainte de répartition en subdivisant le bloc cou- a distribution constraint by subdividing the block
rant en plusieurs zones par exemple sous forme d'un quadrilla- in several areas, for example in the form of a quadrilla-
ge régulier ou non ou toute autre forme de maillage Dans ce cas on impose que toutes les zones ou au moins une partie soient représentées par au moins un pixel Ce pixel par zone regular or not regular or any other form of mesh In this case it is required that all zones or at least part are represented by at least one pixel This pixel per zone
peut être choisi avec les mêmes stratégies que celles déjà dé- can be chosen with the same strategies as those already de-
crites pour un bloc courant Ainsi lorsqu'un bloc courant est subdivisé en plusieurs zones, les moyens de sélection opèrent isolément sur chaque zone, la corrélation s'opérant toujours For example, when a current block is subdivided into several zones, the selection means operate separately on each zone, the correlation always taking place.
sur la totalité des pixels de référence du bloc courant Pré- on all the reference pixels of the current block Pre-
férentiellement chaque zone d'un bloc courant possède un même ferentially each zone of a current block has a same
nombre de pixels de référence Lorsque le/les pixel(s) de ré- number of reference pixels When the pixel (s) of
férence des zones est(sont) sélectionné(s) à partir de la dé- zones are (are) selected from the
termination d'une fonction de distorsion, préférentiellement le(s) pixel(s) de référence est (sont) sélectionné(s) dans chaque zone de sorte que les valeurs de la fonction de distorsion qui le(s) caractérisent, soient alternativement termination of a distortion function, preferably the reference pixel (s) is (are) selected in each zone so that the values of the distortion function which characterize it (s) are alternately
maximale et minimale pour des zones contiguës. maximum and minimum for contiguous areas.
Selon l'invention on ne conserve dans un bloc According to the invention, it is not stored in a block
courant qu'un nombre limité de symboles de référence pour opé- only a limited number of reference symbols for
rer le calcul de corrélation Ce nombre limité peut être choisi de plusieurs manières Il peut être fixé a priori après des essais préliminaires qui permettent d'établir un calcul de corrélation avec un taux d'erreurs acceptable Ceci peut être réalisable lorsque le bloc courant contient un nombre réduit Correlation calculation This limited number can be chosen in several ways It can be fixed a priori after preliminary tests which allow to establish a correlation calculation with an acceptable error rate. This can be done when the current block contains a reduced number
de pixels par exemple 4 x 4.pixels for example 4 x 4.
Lorsqu'il s'agit d'une stratégie mettant en oeuvre une fonction de distorsion tenant compte du contenu informationnel, ce nombre limité peut être choisi à partir de bornes imposées aux valeurs que peut présenter cette fonction In the case of a strategy implementing a distortion function that takes into account information content, this limited number can be chosen from limits imposed on the values that this function can present.
de distorsion.distortion.
Plus généralement lorsque la taille du bloc cou- More generally, when the size of the block
rant devient grande, il est possible de tenir compte du conte- becomes large, it is possible to take into account the
nu informationnel de la totalité de l'image et pas seulement informational nude of the entire image and not just
de celui du bloc courant pour la détermination du nombre limi- of the current block for the determination of the
té de symboles Pour cela on établit une matrice de corréla- For this purpose, a correlation matrix is established.
tion caractéristique de l'ensemble des signaux d'entrée cons- characteristic of all the input signals con-
tituant l'image Par la méthode dite "d'analyse en composantes principales", on calcule les valeurs propres de cette matrice de corrélation et on détermine les variances correspondantes parmi lesquelles on détermine le nombre de variances les plus élevées nécessaires à une bonne représentation de la totalité de l'image Ce nombre est alors choisi comme nombre limité de By the so-called "principal component analysis" method, the eigenvalues of this correlation matrix are calculated and the corresponding variances are determined among which the number of highest variances necessary for a good representation of the entire image This number is then chosen as the limited number of
symboles de référence.reference symbols.
Selon l'invention, dans ce cas, on fait donc dépendre le nombre limité de symboles de référence du contenu de l'image Dans un grand nombre de situations ce nombre limité reste principalement lié au type d'images c'est-à-dire à l'application elle-même Néanmoins il est possible d'asservir plus finement ledit nombre limité au contenu de l'image en le déterminant régulièrement et adaptivement sur des lots d'images Ceci peut être obtenu à l'aide d'un dispositif de corrélation qui comprend un réseau de neurones qui met en oeuvre la méthode dite 'd'analyse en composantes principales" et qui sélectionne le nombre des variances les plus élevées Cycliquement ce nombre de variances est introduit dans les moyens de sélection pour constituer ledit According to the invention, in this case, the limited number of reference symbols is thus dependent on the content of the image. In a large number of situations, this limited number remains mainly related to the type of images, that is to say to the application itself Nevertheless it is possible to enslave more finely said limited number to the contents of the image by determining it regularly and adaptively on batches of images This can be obtained using a device of correlation which comprises a neural network which implements the so-called 'principal component analysis method' and which selects the number of the highest variances Cyclically this number of variances is introduced into the selection means to constitute said
nombre limité afin d'opérer comme cela a déjà été décrit. limited number to operate as already described.
Un réseau de neurones est un dispositif connu de A neural network is a known device of
traitement de signaux qui peut, après une étape de programma- signal processing which can, after a programming step,
tion ou une étape d'apprentissage, effectuer des traitements or a learning step, perform treatments
déterminés par exemple une 'analyse en composantes principa- for example, a principal component analysis
les' de la distribution de signaux d'entrée Un tel réseau de neurones peut par exemple être celui décrit dans le document Such an array of neurons can for example be the one described in the document
Optimal unsupervised Learning in single-layer linear Feed- Optimal Unsupervised Learning in Single-Layer Linear Feed-
forward Neural networkso T D SANGER Neural Networks, vol 2, forward Neural networkso T D SANGER Neural Networks, Vol 2,
1989, p 459-473.1989, p 459-473.
Comme cela a été indiqué précédemment, le fait de As indicated above, the fact of
ne faire porter le calcul de corrélation que sur certains sym- the correlation calculation should only be applied to certain sym-
boles de référence ayant une certaine position dans le bloc reference boles having a certain position in the block
courant permet de simplifier la réalisation matérielle, d'ac- current makes it possible to simplify the material realization,
croître la vitesse de traitement tout en conservant le taux to increase the speed of treatment while keeping the rate
d'erreurs à des valeurs faibles et contrôlables. from errors to low and controllable values.
De plus, les mécanismes de sélection des symboles de référence permettent d'apporter dans certaines situations In addition, the mechanisms for selecting reference symbols make it possible to provide in certain situations
une simplification supplémentaire de la complexité de la réa- further simplification of the complexity of the
lisation matérielle En particulier lorsque le bloc courant est subdivisé en zones ceci permet avantageusement d'obtenir In particular, when the current block is subdivided into zones, this advantageously makes it possible to obtain
soit un gain de vitesse de traitement soit un gain de comple- either a gain in processing speed or a gain in comple-
xité du hardware Cette situation apparaît lorsque le disposi- This situation appears when the
tif de corrélation opère un calcul de corrélation avec des tif correlation operates a correlation calculation with
blocs courants de données subdivisés en p zones avec n/p sym- current blocks of data subdivided into p areas with n / p sym-
boles de référence sélectionnés par zone, le corrélateur com- reference bots selected by zone, the correlator
prenant: un réseau systolique de registres qui se transfèrent l'un à l'autre des données des pixels de la fenêtre, une pluralité de processeurs, chaque processeur réalisant un calcul de la corrélation d'au moins un vecteur de déplacement, le dispositif mettant en oeuvre une première étape de calcul au cours de laquelle: taking: a systolic array of registers which transfer to one another the data of the pixels of the window, a plurality of processors, each processor performing a computation of the correlation of at least one displacement vector, the setting device implement a first calculation step during which:
a) chaque processeur opère un calcul de corrélation succes- a) each processor performs a successive correlation calculation
sivement sur les n/p symboles de référence sélectionnés d'une première zone, ledit calcul portant successivement sur tous les vecteurs de déplacement que doit calculer ledit processeur, on the n / p selected reference symbols of a first zone, said calculation successively bearing on all the motion vectors that said processor must calculate,
b) des moyens de mémorisation stockent des résultats inter- b) storage means store results between
médiaires délivrés par les processeurs à l'issue de a), issued by the processors after a),
c) des moyens de transfert transfèrent le contenu des re- (c) transfer means transfer the contents of the
gistres opérant sur une zone vers des registres suivants opé- authorities operating in one area to subsequent registers operated
rant sur une zone suivante, ladite première étape de calcul étant ensuite réitérée pour les p-1 zones suivantes, rant on a next zone, said first calculation step then being repeated for the following p-1 zones,
des moyens de sommation déterminant la somme des résultats in- means of summation determining the sum of the results
termédiaires relatifs à chaque bloc à traiter pour délivrer intermediaries relating to each block to be processed to deliver
les corrélations de ladite suite de blocs. the correlations of said series of blocks.
Un cas particulièrement intéressant se présente pour le traitement d'images, lorsque lesdites zones renferment plusieurs pixels dont un seul est sélectionné pour opérer le calcul de corrélation Il est alors possible d'obtenir un gain supplémentaire et de choisir, pour le corrélateur, entre une architecture qui privilégie la vitesse ou une architecture qui privilégie la simplicité du hardware c'est-à-dire qui réduit A particularly interesting case arises for the image processing, when said zones contain several pixels of which only one is selected to perform the correlation calculation It is then possible to obtain an additional gain and to choose, for the correlator, between a architecture that favors speed or architecture that favors the simplicity of hardware that is to say that reduces
la surface pour une réalisation intégrée. the surface for an integrated realization.
Dans le cas de l'architecture privilégiant la vi- In the case of architecture emphasizing
tesse, le corrélateur comprend sensiblement autant de proces- the correlator comprises substantially as many processes
seurs qu'il y a de déplacements possibles dans la fenêtre et il opère sur un nombre réduit de pixels de référence ce qui accroit sa vitesse d'exécution par rapport à une utilisation that there are possible displacements in the window and it operates on a reduced number of reference pixels which increases its speed of execution compared to a use
de la totalité des pixels du bloc courant Un cas particuliè- of all the pixels in the current block A special case
rement intéressant est celui o chaque zone ne contient que 4 Interestingly, where each zone contains only 4
pixels, avec un seul pixel de référence sélectionné par zone. pixels, with only one reference pixel selected per zone.
Dans ce cas le corrélateur opère sur une fenêtre bidimension- In this case, the correlator operates on a two-dimensional window.
nelle de pixels avec des blocs courants subdivisés en zones pixels with common blocks subdivided into zones
contenant 4 pixels chacune avec un seul pixel de référence sé- containing 4 pixels each with a single reference pixel selected
lectionné par zone, une matrice bidimensionnelle de registres selected by zone, a two-dimensional matrix of registers
stockant, à un instant donné, les pixels de ladite fenêtre se- storing, at a given moment, the pixels of said window se-
lon le même ordonnancement, quatre registres étant affectés au the same scheduling, four registers being assigned to the
traitement d'une zone, des rangées desdits registres se com- treatment of an area, rows of said registers
muniquant entre eux, dans les deux directions de la matrice, des pixels d'ordre pair de la fenêtre et d'autres rangées de registres se communiquant entre eux des pixels d'ordre impair de la fenêtre, cette communication étant unidirectionnelle selon une direction de la fenêtre et étant bidirectionnelle selon l'autre direction de la fenêtre, un processeur étant affecté au traitement de chaque vecteur de déplacement et opérant avec quatre registres contenant des pixels pairs et impairs de la fenêtre, les numéros d'ordre desdits pixels pris deux à deux étant consécutifs dans chaque direction, un signal de sélection commun faisant opérer les processeurs avec les données des registres correspondant aux pixels de référence between them, in the two directions of the matrix, pixels of even order of the window and other rows of registers communicating to each other odd order pixels of the window, this communication being unidirectional in a direction of the window and being bidirectional in the other direction of the window, a processor being assigned to the processing of each displacement vector and operating with four registers containing even and odd pixels of the window, the order numbers of said pixels taken two to two being consecutive in each direction, a common selection signal causing the processors to operate with the data of the registers corresponding to the reference pixels
sélectionnés dans le bloc courant. selected in the current block.
Dans le cas de l'architecture privilégiant la ré- In the case of the architecture favoring
duction de la complexité du hardware, un cas particulièrement intéressant est celui o le corrélateur opère sur une fenêtre bidimensionnelle de pixels avec des blocs courants subdivisés en zones rectangulaires contenant k pixels avec un seul pixel complexity of the hardware, a particularly interesting case is where the correlator operates on a two-dimensional pixel window with common blocks subdivided into rectangular zones containing k pixels with a single pixel
de référence sélectionné par zone, une matrice bidimensionnel- selected by zone, a two-dimensional matrix
le de registres stockant, à un instant donné, les pixels de ladite fenêtre selon le même ordonnancement, k registres étant the registers storing, at a given instant, the pixels of said window according to the same scheduling, k registers being
affectés au traitement d'une zone, des rangées desdits regis- assigned to the treatment of a zone, rows of said registers
tres se communiquant entre eux bidirectionnellement des pixels very two-way communication between them pixels
de la fenêtre dans les deux directions de la matrice, un pro- of the window in both directions of the matrix, a pro-
cesseur étant affecté au traitement successif de k vecteurs de déplacement en opérant avec k registres contenant des pixels appartenant à la même zone, les numéros d'ordre desdits pixels the processor being assigned to the successive processing of k displacement vectors by operating with k registers containing pixels belonging to the same zone, the order numbers of said pixels
étant consécutifs dans les deux directions, un signal de sé- being consecutive in both directions, a se-
lection faisant opérer chaque processeur, pour chaque déplace- making each processor operate for each
ment, avec les données du registre correspondant au pixel de with the data of the register corresponding to the pixel of
référence sélectionné de la zone courante. selected reference of the current zone.
L'invention ne se limite pas au cas de configura- The invention is not limited to the case of configura-
tions bidimensionnelles de symboles Elle s'applique également two-dimensional representations of symbols It also applies
au cas de configurations unidimensionnelles Les symboles peu- in the case of one-dimensional configurations The symbols can
vent ainsi être des valeurs codées binaires représentant une configuration unidimensionnelle de signaux acoustiques Le dispositif de corrélation opère alors sur des blocs courants renfermant plusieurs desdites valeurs parmi lesquelles sont sélectionnées, en nombre limité, et en position, des valeurs The correlation device then operates on current blocks containing a plurality of said values from which are selected, in limited number, and in position
de référence.reference.
L'invention sera mieux comprise à l'aide des figures suivantes données à titre d'exemples non limitatifs qui représentent: The invention will be better understood with the aid of the following figures given as non-limiting examples which represent:
figures IA, l B: une représentation d'une image dans la- figures IA, l B: a representation of an image in the-
quelle se trouve une fenêtre renfermant des blocs à traiter sur lesquels doit porter la corrélation et celle d'un bloc courant dans une image postérieure, figure 2: un schéma-bloc d'un dispositif de corrélation, figures 3 A, 3 B: une représentation d'un bloc courant de 8 x 8 pixels indiquant les positions des symboles de référence sélectionnés selon l'art antérieur, figures 3 C, 3 D, 3 E, 3 F: à titre d'exemple, une représentation d'un bloc courant de 8 x 8 pixels indiquant les positions des symboles de référence sélectionnés selon l'invention, which is a window containing blocks to be treated on which the correlation must relate and that of a current block in a posterior image, FIG. 2: a block diagram of a correlation device, FIGS. 3A, 3B: a representation of a current block of 8 × 8 pixels indicating the positions of the reference symbols selected according to the prior art, FIGS. 3 C, 3 D, 3 E, 3 F: by way of example, a representation of a block current of 8 x 8 pixels indicating the positions of the selected reference symbols according to the invention,
figures 4 A, 4 B, 4 C, 4 D: une représentation des pixels en- FIGS. 4A, 4B, 4C, 4D: a representation of the pixels
vironnant un pixel donné pour le calcul de la fonction de dis- a given pixel for calculating the function of dis-
torsion, figure 5: un schéma d'une partie des moyens de sélection torsion, figure 5: a diagram of some of the means of selection
permettant de calculer une fonction de distorsion selon la re- to calculate a distortion function according to the
présentation de la figure 4 A,presentation of Figure 4A,
figure 6: un schéma détaillé d'une unité de sélection com- Figure 6: a detailed diagram of a joint selection unit
prenant un organe de calcul d'un Laplacien et un organe de tri, figure 7: un schéma-bloc d'un dispositif de corrélation comprenant un réseau de neurones pour déterminer le nombre de symboles de référence, taking a calculating member of a Laplacian and a sorting member, FIG. 7: a block diagram of a correlation device comprising a neural network for determining the number of reference symbols,
figure 8: un schéma d'un corrélateur selon l'art anté- FIG. 8: a diagram of a correlator according to the prior art
rieur, figures 9 A, 9 B: une représentation de blocs à traiter d'une fenêtre et d'un bloc courant subdivisé en zones, figure 10: un schéma d'un processeur entouré des organes de base nécessaires à son fonctionnement, 9 A, 9 B: a representation of blocks to be treated of a window and a current block divided into zones, FIG. 10: a diagram of a processor surrounded by the basic elements necessary for its operation,
figure 11: un schéma d'un corrélateur privilégiant la sim- Figure 11: a diagram of a correlator favoring simplicity
plicité du hardware opérant sur des blocs courants subdivisés en zones de 4 symboles parmi lesquels est choisi un symbole de référence. plicity of the hardware operating on current blocks subdivided into zones of 4 symbols among which is chosen a reference symbol.
figure 12: un schéma d'un corrélateur privilégiant la vi- figure 12: a diagram of a correlator favoring the
tesse opérant sur des blocs courants subdivisés en zones de 4 symboles. La figure 1 A représente une image 10 et la figure working on current blocks subdivided into zones of 4 symbols. FIG. 1A represents an image 10 and FIG.
1 B représente une image 20 qui peut être antérieure mais pré- 1 B represents an image which may be anterior but
férentiellement postérieure à l'image 10 sur lesquelles est posteriorly to image 10 on which is
effectué le calcul de corrélation. performed the correlation calculation.
L'image 20 est formée de pixels que l'on analyse sous forme de blocs courants, par exemple les blocs 211, 212, 213 Dans l'image 20, pour un bloc courant quelconque par The image 20 is formed of pixels that are analyzed in the form of current blocks, for example the blocks 211, 212, 213 in the image 20, for any current block by
exemple le bloc courant 22, le traitement va consister à dé- example, the current block 22, the processing will consist of de-
terminer à quel bloc de l'image précédente 10 il est corrélé. finish at which block of the previous image 10 it is correlated.
Pour cela autour d'un bloc 12 qui a, dans l'image 10, les mêmes coordonnées que celles du bloc courant 22 dans l'image 20, on détermine une fenêtre 13 qui entoure le bloc 12 afin de limiter le nombre et la position des blocs sur lesquels doit porter la recherche comme étant la plus probable à contenir le bloc corrélé La taille et la forme de cette fenêtre dépend de l'étendue de la recherche que l'on désire opérer et donc en For this purpose around a block 12 which has, in the image 10, the same coordinates as those of the current block 22 in the image 20, a window 13 is determined which surrounds the block 12 in order to limit the number and the position blocks to be searched as most likely to contain the correlated block The size and shape of this window depends on the extent of the search that is desired and therefore
définitive du temps de traitement qu'il est possible de consa- definitive treatment time that it is possible to
crer à l'examen d'une fenêtre et aussi de la complexité que create a window and also the complexity that
l'on admet pour la réalisation matérielle qui en découle. we admit for the material realization that follows from it.
Ainsi le bloc courant 22 (image 20) est comparé à tous les blocs de la fenêtre 13 de l'image 10 obtenus en déplaçant le Thus the current block 22 (image 20) is compared to all the blocks of the window 13 of the image 10 obtained by moving the
bloc par pas successifs d'au moins I pixel. block in successive steps of at least 1 pixel.
A l'issu de ce traitement un autre bloc courant est choisi dans l'image 20 auquel va correspondre une autre fenêtre dans l'image 10 et le même traitement est effectué, et ainsi de suite Les blocs courants choisis dans l'image 20 peuvent l'être en nombre limité mais préférentiellement tous At the end of this processing another current block is selected from the image to which another window in the image will correspond and the same processing is performed, and so on. The current blocks selected in the image 20 can be to be limited in number but preferentially all
les blocs subissent le même traitement En fonction de la po- the blocks undergo the same treatment Depending on the
sition du bloc courant dans l'image 20 et de celle du bloc corrélé dans l'image 10 on en déduit à chaque fois un vecteur of the current block in the image 20 and that of the block correlated in the image 10, a vector is deduced each time.
de déplacement du bloc courant C'est ce vecteur de déplace- of the current block This is the vector of
ment ainsi que l'écart de caractéristique du pixel (par exem- as well as the pixel feature deviation (eg
ple de luminance) qui est codé et transmis par le canal de luminance) which is encoded and transmitted through the
transmission afin d'opérer une compression de données. transmission in order to operate data compression.
Le dispositif de corrélation qui met en oeuvre le The correlation device which implements the
traitement est représenté sur la figure 2 Il comprend un cor- treatment is shown in Figure 2 It includes a cor-
rélateur 25, une unité de sélection 26 qui détermine sur quels 25, a selection unit 26 which determines on which
pixels du bloc courant 22 doit porter la corrélation, une uni- pixels of the current block 22 must carry the correlation, a uniform
* té de balayage 27 qui détermine l'ordre selon lequel les pixels du bloc 12 et par extension de la fenêtre doivent être analysés A la sortie du corrélateur 25 une unité de décisionscanning station 27 which determines the order in which the pixels of the block 12 and by extension of the window must be analyzed at the output of the correlator 25 a decision unit
28 détermine le bloc de la fenêtre 13 pour lequel la corréla- 28 determines the block of the window 13 for which the correlation
tion est maximale Le bloc courant BL à traiter est introduit dans l'unité de sélection 26 et dans le corrélateur 25 Ce dernier reçoit également l'étendue de la fenêtre FEU qui peut The current block BL to be processed is introduced in the selection unit 26 and in the correlator 25. The latter also receives the range of the window FIRE which can
être asservie à la vitesse d'exécution nécessaire à l'applica- to be slaved to the speed of execution necessary for the application
tion. La corrélation consiste à comparer successivement deux blocs entre eux en comparant les pixels ayant dans chaque bloc des positions respectives identiques Il est courant d'effectuer un traitement exhaustif portant sur la totalité des pixels des blocs Mais selon le document déjà cité il est possible de réduire l'importance du traitement en ne tion. The correlation consists in successively comparing two blocks with each other by comparing the pixels having in each block respective identical positions. It is common practice to perform an exhaustive processing involving all the pixels of the blocks. However, according to the document already cited, it is possible to reduce the importance of treatment in
considérant qu'un nombre limité de pixels par bloc courant. whereas a limited number of pixels per current block.
Les figures 3 A et 3 B représentent deux possibili- Figures 3A and 3B show two possibilities.
tés mises en oeuvre dans le document cité Elles représentent un bloc courant de 8 x 8 = 64 pixels sur lesquelles on a hachuré les pixels de référence qui sont sélectionnés pour opérer la corrélation Sur la figure 3 A on sélectionne un pixel sur deux, ce qui divise le traitement par 2 Sur la figure 3 B on ignore en plus une ligne complète de pixels sur deux ce qui divise encore le traitement par 2 Ces limitations du nombre de pixels de référence peuvent s'opérer aisément par exemple en intervenant sur les durées des horloges de balayages Mais la grande régularité qui découle deces modes de limitation a pour conséquence que la partie haute fréquence du spectre d'un These are a current block of 8 x 8 = 64 pixels on which the reference pixels which have been selected to perform the correlation are hatched. In FIG. 3A, one pixel out of two is selected. divides the processing by 2 In Figure 3 B is also ignored a complete line of pixels in two which further divides the treatment by 2 These limitations of the number of reference pixels can be easily done for example by intervening on the durations of But the great regularity that results from these modes of limitation has the consequence that the high frequency part of the spectrum of a
bloc d'information est tronquée et qu'un taux d'erreurs impor- block of information is truncated and an important error rate
tant apparaît.so much appears.
Pour remédier à ce défaut selon l'invention on n'opère pas systématiquement une sélection régulière des To remedy this defect according to the invention, systematic selection of the
pixels de référence à l'intérieur d'un bloc courant. reference pixels within a current block.
Une première stratégie représentée sur la figure 3 C à titre d'exemple consiste en une sélection aléatoire à concurrence d'un nombre limité prédéterminé de pixels de référence Ainsi sur la figure 3 C on a hachuré 16 pixels de A first strategy shown in FIG. 3C as an example consists of a random selection up to a predetermined limited number of reference pixels. Thus, in FIG.
OS référence sélectionnés aléatoirement dans le bloc courant. OS reference selected randomly in the current block.
Une seconde stratégie représentée sur la figure 3 E à titre d'exemple prend en compte le contenu informationnel que renferme le bloc courant Ainsi supposons qu'une courbe fictive 31 délimite dans le bloc courant deux parties de luminances différentes Selon l'invention, les pixels de référence sélectionnés pour opérer la corrélation vont être déterminés en tenant compte du contenu informationnel en déterminant une fonction de distorsion Brièvement on peut indiquer que la sélection va s'opérer dans les parties o la caractéristique (ici la luminance) subit les variations par rapport à ses proches voisins Tous les pixels du bloc courant sont ainsi examinés L'unité de sélection 26 (figure 2) opère cette détermination Les figures 4 A, 4 B, 4 C, 4 D indiquent quelques modes possibles d'examen du contenu informationnel A second strategy shown in FIG. 3E by way of example takes into account the information content contained in the current block. Thus, suppose that a fictitious curve 31 delimits in the current block two different luminance portions according to the invention. selected to perform the correlation will be determined taking into account the information content by determining a distortion function Briefly we can indicate that the selection will take place in the parts where the characteristic (here the luminance) undergoes variations with respect to close neighbors All the pixels of the current block are thus examined The selection unit 26 (FIG. 2) makes this determination FIGS. 4A, 4B, 4C, 4D indicate some possible modes of examination of the informational content
avec des répartitions isotropes.with isotropic distributions.
La figure 4 A représente un mode préférentiel qui consiste pour un pixel donné (hachuré) à comparer sa variation de luminance avec ses voisins ayant des coordonnées distantes individuellement de 1 Ceci revient à calculer un Laplacien A tel que: A = 4 I(x,y)-(I(x+l,y)+I(x,y+ 1)+ I(x-1),y)+I(x,y-1)) Pour la figure 4 B la fonction de distorsion est: r = 4 I(x,y)-(I(x+ 1,y+ 1)+I(x+l,y-1)+I(x-1,y+ 1)+I(x-1 l,y-1)) Pour la figure 4 C la fonction de distorsion est: A = 4 I(x,y)-(I(x+ 2,y)+ I(x-2,y)+I(x,y+ 2)+I(x,y-2)) Pour la figure 4 E la fonction de distorsion est: Y = 8 I(x,y)-(I(x+ 1,y+ 2)+I(x+ 1,y-2)+I(x-1,y+ 2)+I(x-l, y-2) FIG. 4A represents a preferential mode which consists for a given pixel (hatched) to compare its luminance variation with its neighbors having coordinates individually distant from 1 This amounts to calculating a Laplacian A such that: A = 4 I (x, y) - (I (x + 1, y) + I (x, y + 1) + I (x-1), y) + I (x, y-1)) For Figure 4B the distortion function is : r = 4 I (x, y) - (I (x + 1, y + 1) + I (x + l, y-1) + I (x-1, y + 1) + I (x-1 l, y -1)) For Figure 4 C the distortion function is: A = 4 I (x, y) - (I (x + 2, y) + I (x-2, y) + I (x, y + 2) + I (x, y-2)) For Figure 4 E the distortion function is: Y = 8 I (x, y) - (I (x + 1, y + 2) + I (x + 1, y-2) + I (x-1, y + 2) + I (xl, y-2)
+I(x+ 2,y+ 1)+I(x-2,y+ 1)+I(x+ 2,y-1)+I(x-2,y-1)). + I (x + 2, y + 1) + I (x-2, y + 1) + I (x + 2, y-1) + I (x-2, y-1)).
D'autres répartitions des pixels environnants Other distributions of surrounding pixels
sont possibles même si elles ne sont pas isotropes. are possible even if they are not isotropic.
Lorsque la fonction de distorsion a été ainsi calculée pour tous les pixels du bloc courant, l'unité de sélection détermine les pixels ayant les valeurs extrêmales When the distortion function has thus been calculated for all the pixels of the current block, the selection unit determines the pixels having the extreme values
afin de les sélectionner pour représenter ledit bloc courant. to select them to represent said current block.
Selon les deux stratégies qui viennent d'être dé- According to the two strategies which have just been
crites il apparaît que certaines parties d'un bloc courant written it appears that some parts of a current block
peuvent ne pas être représentées ou ne sont pas représentées. may not be represented or not represented.
Pour limiter l'erreur sur la corrélation qui risque d'en ré- To limit the error on the correlation which risks to re-
sulter il peut être souhaitable que lesdites parties soient au it may be desirable for those parties to be
moins partiellement représentées Pour cela plus particulière- less partially represented For this purpose more
ment selon l'invention on subdivise le bloc courant en zones According to the invention, the current block is subdivided into zones
qui peuvent être régulières ou non Préférentiellement on sub- which may be regular or not preferentially
divise le bloc courant en zones identiques possédant un même nombre de pixels On fait alors porter la sélection aléatoire divides the current block into identical areas with the same number of pixels Then the random selection is made
non plus au niveau du bloc courant mais au niveau de la zone. not at the level of the current block but at the level of the zone.
Ainsi les pixels de référence sont sélectionnés aléatoirement par zone Ceci est représenté sur la figure 3 D o 16 pixels de référence sélectionnés aléatoirement sont représentés par des hachures Une même sélection aléatoire de ce type peut être utilisée pour plusieurs blocs courants pour opérer le calcul Thus the reference pixels are selected randomly by zone This is represented in FIG. 3 D o 16 randomly selected reference pixels are represented by hatches The same random selection of this type can be used for several current blocks to operate the calculation
de corrélation Bien que la sélection aléatoire s'opère au ni- correlation Although the random selection takes place at
veau de la zone, le calcul de corrélation reste effectué au zone, the correlation calculation shall be carried out at
niveau du bloc courant.current block level.
La figure 3 F représente la situation o les deux Figure 3F represents the situation where both
stratégies peuvent être combinées Pour cela une première par- strategies can be combined For this a first part
tie des pixels de référence est sélectionnée prioritairement en fonction du contenu informationnel et une seconde partie of the reference pixels is selected in priority according to the informational content and a second part
est sélectionnée à partir d'une sélection aléatoire par zone. is selected from a random selection by zone.
Cette seconde partie est limitée jusqu'à concurrence que la This second part is limited to the extent that
totalité des pixels de référence sélectionnés atteigne le nom- all of the selected reference pixels reaches the name
bre limité prévu.limited number.
Le schéma de la figure 5 représente une unité de sélection 26 déterminant la position des points dans un bloc The diagram of FIG. 5 represents a selection unit 26 determining the position of the points in a block
courant à partir du calcul d'une fonction de distorsion (fonc- current from the calculation of a distortion function (function
tions A, r, A ou Y précédentes) opéré dans un organe de calcul Les résultats obtenus sont triés dans un organe de tri 51 A, r, A or Y preceding) performed in a calculating unit The results obtained are sorted in a sorting organ 51
selon un algorithme de tri afin de limiter le nombre de symbo- according to a sorting algorithm in order to limit the number of symbols
les de référence par bloc courant Les adresses des symboles de référence retenus sont stockées dans un registre d'adresses the current block references The addresses of the selected reference symbols are stored in an address register
52 pour être exploitées par le corrélateur L'unité de sélec- 52 to be operated by the correlator The selection unit
tion 26 opère sous le contrôle de l'unité de balayage 27. tion 26 operates under the control of the scanning unit 27.
Un schéma détaillé de l'organe de calcul 50 et de l'organe de tri 51 est représenté sur la figure 6 dans le cas A detailed diagram of the calculating member 50 and the sorting member 51 is shown in FIG. 6 in the case
o la fonction de distorsion est le laplacien A défini précé- o the distortion function is the Laplacian A defined previously
demment Cette fonction de distorsion correspond à la repré- This distortion function corresponds to the
sentation de la figure 4 A o les lettres N, S, E, W représen- of Figure 4 A where the letters N, S, E, W represent
tent respectivement les points cardinaux Nord, Sud, Est, Ouest Ces lettres sont reportées sur le schéma de la figure 6, la lettre C représentant le pixel central La situation concerne le cas o le balayage s'applique à tous les pixels du The letters are shown in the diagram of figure 6, the letter C representing the central pixel. The situation concerns the case where the scanning applies to all the pixels of the
bloc courant selon un balayage ligne après ligne Sur la figu- current block according to line-by-line scanning
re 6 est représentée une chaîne de retards constituée: d'une première ligne à retard 60 et d'une seconde ligne à retard 63 qui retardent chacune les données de la durée d'une ligne moins celle d'un pixel, d'un premier registre 61 et d'un second registre 62 qui retardent chacun les données de la durée de balayage d'un 6 is a chain of delays consisting of: a first delay line 60 and a second delay line 63 which each delay the data of the duration of a line minus that of a pixel, a first register 61 and a second register 62 which each delay the data of the scanning duration of a
pixel.pixel.
Ainsi après trois lignes de balayage, les données So after three scan lines, the data
des pixels N, S, E, W se trouvent réparties comme cela est in- pixels N, S, E, W are distributed as is
diqué sur la figure 6: la donnée N est à la sortie de la ligne à retard 63 et shown in FIG. 6: the datum N is at the output of the delay line 63 and
la donnée S est à l'entrée de la ligne à retard 60. the data S is at the input of the delay line 60.
Un additionneur 64 et un additionneur 65 opèrent respectivement les additions S+E et W+N Les deux résultats sont additionnés dans un additionneur 66 Ce dernier résultat doit être retranché de 4 fois la valeur de la donnée centrale C Celle-ci se présente en C entre les deux registres 61 et 62 Pour la multiplier par 4 il suffit de la décaler de 2 bits An adder 64 and an adder 65 operate respectively additions S + E and W + N The two results are added in an adder 66 This last result must be subtracted by 4 times the value of the central data C This is in C between the two registers 61 and 62 To multiply it by 4 it suffices to shift it by 2 bits
à l'entrée du soustracteur 67 qui reçoit la sortie de l'addi- at the input of the subtractor 67 which receives the output of the addi-
tionneur 66 La sortie du soustracteur 67 délivre la fonction 66 The output of the subtractor 67 delivers the function
de distorsion A qui est calculée pour tous les pixels de cha- distortion A which is calculated for all the pixels of each
que bloc courant Parmi tous ces pixels on en sélectionne un nombre limité pour constituer les pixels de référence à l'aide de l'organe de tri 51 Selon un mode préférentiel on trie dans l'ensemble de tous les pixels d'un bloc courant les pixels pour lesquels la fonction de distorsion a est soit maximale that current block Among all these pixels we select a limited number to form the reference pixels using the sorting member 51 According to a preferred mode is sorted in the set of all the pixels of a current block the pixels for which the distortion function is either maximum
soit minimale et on applique ce tri au cas du découpage en zo- is minimal and this sorting is applied to the case of
nes en faisant que deux zones contiguës possèdent des fonc- by having two contiguous zones possess func-
tions A alternées positives et négatives. A alternating positive and negative.
Pour cela l'organe de tri 51 comprend un sélecteur de signe 70 qui est contrôlé par l'unité de balayage 27, une batterie de registres 71 stockant des valeurs maximum/minimum pour chaque zone, For this purpose the sorting member 51 comprises a sign selector 70 which is controlled by the scanning unit 27, a battery of registers 71 storing maximum / minimum values for each zone,
un comparateur 72 qui détermine pour chaque zone la va- a comparator 72 which determines for each zone the value
leur à conserver soit maximale soit minimale selon le signe requis. Les adresses des pixels de référence sélectionnés sont stockées dans le registre d'adresses 52 qui reçoit les adresses de pixels ADP et les adresses de zones ADZ de l'unité keep them either maximum or minimum according to the required sign. The addresses of the selected reference pixels are stored in the address register 52 which receives the ADP pixel addresses and the ADZ zone addresses of the unit.
de balayage 27.sweep 27.
L'unité de balayage 27 donne la cadence de signes The scanning unit 27 gives the rate of signs
alternés + et attribués à chaque zone Lorsque le signe po- alternates + and assigned to each zone When the sign po-
sitif est affecté à une zone, le résultat issu de l'organe de calcul 50 est pris avec son signe, puis comparé à la valeur is assigned to a zone, the result from the calculating organ 50 is taken with its sign, then compared to the value
précédente stockée pour la même zone dans la batterie de re- previous stored for the same area in the battery pack
gistres 71 Si la dernière valeur est la plus élevée elle rem- 71 If the last value is the highest, it replaces
place l'ancienne valeur dans la batterie de registres 71 Si- place the old value in the battery of registers 71 Si-
multanément l'adresse du pixel correspondant ADP est stockée simultaneously the address of the corresponding pixel ADP is stored
dans le registre d'adresses 52.in the address register 52.
Lorsque le signe négatif est affecté à une autre zone, le résultat issu de l'organe de calcul 50 est pris en inversant son signe Il est comparé à la valeur précédente stockée pour la même autre zone dans la batterie de registres 71 Du fait de l'inversion de signe, le même comparateur opère de la même manière dans l'un et l'autre cas en déterminant un maximum. A la fin du balayage, le registre d'adresses 52 contient le résultat du tri c'est-à-dire, pour chaque zone, l'adresse du pixel sélectionné, ayant la distorsion maximale When the negative sign is assigned to another zone, the result coming from the computing unit 50 is taken by inverting its sign. It is compared with the previous value stored for the same other zone in the register bank 71. sign inversion, the same comparator operates in the same way in both cases by determining a maximum. At the end of the scanning, the address register 52 contains the sorting result, that is to say, for each zone, the address of the selected pixel, having the maximum distortion
ou minimale de la zone.or minimum of the area.
Le schéma de la figure 6 correspond au calcul de The diagram of Figure 6 corresponds to the calculation of
la fonction de distorsion relative à la figure 4 A En appli- the distortion function relating to Figure 4 A
quant la même méthode, l'homme du métier peut sans difficulté établir le schéma de l'unité de calcul opérant le calcul des exemples de fonctions de distorsion des figures 4 B, 4 C et 4 D. Pour réaliser une implémentation compacte et régulière selon cet aspect de l'invention il est intéressant que le dispositif de corrélation opère sur des blocs de Nx N pixels, avec N= 16, parmi lesquels sont sélectionnés n as for the same method, the person skilled in the art can easily establish the diagram of the calculation unit operating the calculation of the examples of distortion functions of FIGS. 4B, 4C and 4D. To carry out a compact and regular implementation according to this aspect of the invention it is interesting that the correlation device operates on blocks of Nx N pixels, with N = 16, of which are selected n
pixels de référence, avec n= 8.reference pixels, with n = 8.
Jusqu'à maintenant le nombre de symboles de référence dans un bloc courant était limité et prédéterminé à l'avance, la sélection s'opérant sur la position des pixels sélectionnés dans le bloc courant Le nombre lui-même peut être déterminé de plusieurs manières Lorsque le nombre de pixels par bloc courant est peu élevé il est possible d'effectuer des essais préliminaires en fonction du type d'images (donc de la configuration) à traiter On réduit à chaque essai le nombre de pixels de référence sélectionnés, on calcule une fonction d'erreurs entre l'image de départ et l'image restituée et on détermine ce nombre selon le niveau d'erreurs acceptable Un même nombre peut s'appliquer à Until now the number of reference symbols in a current block was limited and predetermined in advance, the selection taking place on the position of the selected pixels in the current block. The number itself can be determined in several ways. the number of pixels per current block is small, it is possible to carry out preliminary tests according to the type of images (and therefore of the configuration) to be processed. The number of reference pixels selected is reduced at each test. function of errors between the original image and the restored image and this number is determined according to the acceptable level of errors The same number can be applied to
plusieurs types d'images.several types of images.
Lorsque le nombre de pixels de référence par bloc When the number of reference pixels per block
courant s'accroit la méthode par essais préliminaires peut de- the method can be increased by preliminary tests.
venir fastidieuse Il est alors préférable d'analyser les ima- It is therefore preferable to analyze the images
ges à partir de caractéristiques qui soient représentatives de la distribution des pixels Dans ce cas l'invention préconise characteristics that are representative of the distribution of the pixels In this case the invention recommends
d'utiliser la technique dite "d'analyse en composantes princi- to use the so-called "principal component analysis" technique.
pales" de ladite distribution (prise ici dans le sens mathéma- blades "of said distribution (taken here in the mathematical sense
tique du terme) On calcule les valeurs propres de la matrice de corrélation relative à cette distribution et les variances correspondantes parmi lesquelles on détermine le nombre des term) The eigenvalues of the correlation matrix relative to this distribution are calculated and the corresponding variances from which the number of
variances les plus élevées suffisantes pour représenter cor- highest variances sufficient to represent
rectement l'image C'est ce nombre de variances qui est choisi comme nombre limité de pixels de référence Ce calcul peut être fait préalablement pour des images-type puis exploité dans le dispositif de corrélation Mais il est également possible de l'effectuer adaptativement sur les images fournies au dispositif de corrélation Ainsi dynamiquement le nombre limité de pixels de référence peut être adapté aux images à traiter afin d'opérer un traitement plus précis Ce calcul est opéré à une cadence qui dépend des images à traiter par un réseau de neurones qui met en oeuvre la technique 'd'analyse en composantes principales" Ceci est représenté sur le schéma de la figure 7 qui présente les mêmes éléments que la figure 2 avec en plus un réseau de neurones 29 qui reçoit les blocs d'images à traiter et qui fournit à l'unité de sélection 26 le It is this number of variances that is chosen as a limited number of reference pixels. This calculation can be done beforehand for standard images and then exploited in the correlation device. But it is also possible to adapt it on the images provided to the correlation device Thus dynamically the limited number of reference pixels can be adapted to the images to be processed in order to operate a more precise treatment This calculation is operated at a rate that depends on the images to be processed by a neural network that uses the "principal component analysis" technique This is represented in the diagram of FIG. 7 which has the same elements as FIG. 2, in addition to a neural network 29 which receives the image blocks to be processed and which provides the selection unit 26 the
nombre limité de pixels de référence à sélectionner. limited number of reference pixels to select.
La figure 8 représente le schéma d'une structure Figure 8 shows the schematic of a structure
classique d'un corrélateur Il consiste en des réseaux systo- classical correlator It consists of systematic networks
liques de a b cellules o a et b sont les dimensions de la fe- cells of a b cells where a and b are the dimensions of the
nêtre de recherche Chaque cellule contient un registre R qui Each cell contains a register R which
mémorise la valeur d'un échantillon et un processeur élémen- memorizes the value of a sample and an elemen-
taire P, relié au registre R, qui calcule la fonction de cor- P, connected to the register R, which calculates the function of
rélation Le corrélateur comprend autant de cellules que la fenêtre renferme de pixels à analyser Chaque cellule possède une position déterminée en rapport avec la fenêtre, donc un The correlator contains as many cells as the window contains pixels to analyze Each cell has a specific position in relation to the window, so a
vecteur de déplacement qui lui est propre. displacement vector of its own.
La figure 8 représente un corrélateur à 9 cellu- Figure 8 shows a 9-cell correlator
les Un premier rang contient les cellules Rjj/Pji à R 13/P 13, un second rang contient les cellules R 21/P 21 à R 23/P 23, un troisième rang contient les cellules R 31/P 31 à R 33/P 33 Chaque registre est relié à ses quatre plus proches voisins par 3 A first rank contains the cells Rjj / Pji to R 13 / P 13, a second rank contains the cells R 21 / P 21 to R 23 / P 23, a third rank contains the cells R 31 / P 31 to R 33 / P 33 Each register is connected to its four closest neighbors by 3
liaisons réceptrices et 3 liaisons émettrices Ainsi par exem- receiving links and 3 transmitting links. For example,
ple le registre R 22 reçoit des données des registres R 12, R 21, R 32 Le même registre R 22 délivre des données aux registres R 12, R 23, R 32 Chaque registre contient successivement les données concernant tous les pixels d'un bloc à analyser Le processeur affecté audit registre calcule à chaque fois la fonction de corrélation entre cette donnée et la valeur ECU de the register R 22 receives data from the registers R 12, R 21, R 32 The same register R 22 delivers data to the registers R 12, R 23, R 32 Each register contains successively the data concerning all the pixels of a block The processor assigned to said register calculates each time the correlation function between this data item and the ECU value of
l'échantillon courant qui est distribuée sur tous les proces- the current sample which is distributed on all the processes
seurs Si c et d sont les dimensions du bloc à analyser, il faut c d cycles à chaque processeur pour cumuler le total de la fonction de distorsion relative à un bloc à analyser A chaque cycle on diffuse à l'ensemble des processeurs la valeur de l'échantillon du bloc courant et l'on décale d'un pas l'ensemble des contenus des registres R de sorte que pour tout processeur il y ait toujours le même déplacement D entre la If c and d are the dimensions of the block to be analyzed, it is necessary to cycle each processor to accumulate the total of the distortion function relative to a block to be analyzed. At each cycle, all the processors are distributed with the value of 1. sample of the current block and the set of contents of the registers R are shifted by one step so that for every processor there is always the same displacement D between the
donnée du registre R et la donnée diffusée Des organes anne- data of the register R and the data disseminated
xes (non représentés) permettent de déterminer le processeur délivrant la meilleure corrélation et d'en déduire le vecteur de déplacement par la position de ce meilleur processeur dans xes (not shown) can determine the processor delivering the best correlation and deduce the displacement vector by the position of this best processor in
le réseau Il faut donc a b cellules opérant sur c d cycles. the network It is therefore necessary to have cells operating on cycles.
Dans la structure de la figure 8 un processeur est affecté à un registre pour traiter la totalité des pixels d'un bloc courant Selon l'invention ce nombre de pixels à traiter est limité d'o des aménagements sont possibles pour In the structure of FIG. 8, a processor is assigned to a register for processing all the pixels of a current block. According to the invention, this number of pixels to be processed is limited.
obtenir un gain soit sur la vitesse pour une taille de hardwa- get a gain on either speed for a hardwa-
re sensiblement analogue, soit sur la taille du hardware pour is substantially similar, either on the size of the hardware for
une vitesse sensiblement constante.a substantially constant speed.
Des avantages substantiels sont obtenus lorsque le bloc courant est subdivisé en zones Les figures 9 A, 9 B représentent schématiquement le traitement qui est opéré La figure 9 B représente un bloc courant 22 qui est subdivisé en 6 zones, par exemple la zone 221, elles-mêmes formées de pixels Une zone renferme 9 pixels dans cet exemple parmi Substantial advantages are obtained when the current block is subdivided into zones. FIGS. 9A, 9B show schematically the processing that is carried out. FIG. 9B shows a current block 22 which is subdivided into 6 zones, for example the zone 221. same pixels A zone contains 9 pixels in this example among
lesquels sont sélectionnés les pixels de référence. which are selected the reference pixels.
Par ailleurs dans une image 10, est représentée Moreover, in an image 10, is represented
une fenêtre à traiter 13 Le traitement de la totalité de l'i- a window to be treated 13 The treatment of the totality of the
mage consiste à effectuer des traitements successifs sur une mage consists of performing successive treatments on a
suite de telles fenêtres Comme cela a été décrit préalable- following such windows As has been described previously
ment le calcul de corrélation consiste à corréler pixel à pi- Correlation computation consists of correlating pixel to pi
xel le bloc courant 22 avec chaque bloc à traiter constituant la fenêtre par exemple le bloc 12 Tous les blocs à traiter compris dans la fenêtre sont obtenus par glissement d'un pas de 1 pixel successivement dans les deux directions Le bloc 12 glisse d'un pixel successivement selon le bloc 121 (points) puis selon-le bloc 122 (croix) Ils sont légèrement décalés verticalement pour pouvoir les représenter Dans le cas o le bloc courant 22 est subdivisé en zones, le calcul de xel the current block 22 with each block to be treated constituting the window, for example the block 12 All the blocks to be treated included in the window are obtained by sliding a step of 1 pixel successively in both directions The block 12 slides of a pixel successively according to the block 121 (points) then according to the block 122 (cross) They are slightly offset vertically to be able to represent them In the case where the current block 22 is subdivided into zones, the calculation of
corrélation avec les blocs à traiter s'opère à deux niveaux. Correlation with the blocks to be processed takes place at two levels.
On considère d'abord les pixels de référence d'une zone déterminée par exemple ceux de la zone 221 du bloc We first consider the reference pixels of a given zone, for example those of the zone 221 of the block
courant (en haut à gauche).current (top left).
On calcule la corrélation pour les pixels de cha- The correlation is calculated for the pixels of each
que bloc à traiter (dans une fenêtre) ayant la même position relative dans le bloc, c'est-à-dire pour la même zone en haut à gauche dans le bloc On obtient ainsi des résultats intermédiaires concernant une zone particulière pour tous les blocs Le calcul porte ensuite sur la zone suivante selon le that block to be processed (in a window) having the same relative position in the block, that is to say for the same area in the upper left corner in the block. Thus, intermediate results are obtained concerning a particular area for all the blocks. The calculation then relates to the next zone according to
même processus.same process.
Le traitement est schématisé de la façon suivan- The treatment is schematized in the following way
te: première zone premier bloc deuxième bloc deuxième zone premier bloc deuxième bloc puis zones suivantes puis fenêtres suivantes te: first zone first block second block second zone first block second block then following zones then following windows
Le déroulement des calculs dans cet ordre présen- The progress of the calculations in this order
te l'avantage de réduire les échanges de données entre les re- the benefit of reducing data exchange between
gistres ce qui simplifie l'architecture et réduit les temps de calcul. La figure 10 représente les organes de base nécessaires au déroulement des calculs de corrélation Le schéma ne représente qu'un processeur et qu'un registre mais la situation est la même pour les autres processeurs et les This simplifies the architecture and reduces the calculation time. Figure 10 shows the basic components needed to perform the correlation calculations The diagram represents only one processor and one register but the situation is the same for the other processors and the
autres registres.other registers.
Un registre quelconque 40 est relié à d'autres registres avoisinants par exemple dans les quatre directions Any register 40 is connected to other neighboring registers for example in the four directions
N, S, E, W par des bus bidirectionnels ou unidirectionnels se- N, S, E, W by bidirectional or unidirectional buses se-
lon l'architecture utilisée Ces transferts de données entre les registres sont commandés par des moyens de commande 71 communs à tous les registres Un processeur 72 est relié à plusieurs de ces registres par des connexions Il, I 2, I 3 In the architecture used These data transfers between the registers are controlled by control means 71 common to all the registers A processor 72 is connected to several of these registers by connections Il, I 2, I 3
qui transmettent les données des registres. which transmit the data of the registers.
Ce nombre de connexions dépend également de l'ar- This number of connections also depends on the
chitecture utilisée Le processeur 72 opérant les calculs par étapes successives doit stocker temporairement des résultats intermédiaires relatifs aux zones, eux-mêmes subdivisés selon les blocs Ces résultats intermédiaires sont stockés dans des chitecture used The processor 72 operating the calculations in successive steps must temporarily store intermediate results relating to the zones, themselves subdivided according to the blocks These intermediate results are stored in
moyens de mémorisation 73.storage means 73.
Lorsque tous les résultats intermédiaires ont été obtenus ils sont additionnés dans des moyens de sommation 74 When all the intermediate results have been obtained, they are summed in summation means 74
pour délivrer pour chaque bloc la totalité des résultats in- to deliver for each block the totality of the results
termédiaires se rapportant à toutes les zones dudit bloc On termediaries relating to all areas of the block On
obtient ainsi une série de valeurs de corrélation se rappor- obtains a series of correlation values that relate to
tant aux différents blocs parmi lesquels est sélectionné celui qui, ayant la meilleure corrélation, constitue le bloc dont la position constitue la nouvelle position du bloc courant dans l'image. La figure Il représente le schéma d'une partie to the different blocks from which is selected the one which, having the best correlation, constitutes the block whose position constitutes the new position of the current block in the image. Figure II shows the diagram of a part
d'un corrélateur selon l'invention qui privilégie une réduc- of a correlator according to the invention which favors a reduction
tion du nombre de cellules Dans ce cas on n'associe plus un processeur P à un seul vecteur de déplacement mais on le fait opérer pour plusieurs vecteurs de déplacement par exemple f In this case, we no longer associate a processor P with a single vector of displacement but we have it operate for several vectors of displacement for example f
déplacements (donc f registres) Dans ce cas il y a a b regis- displacements (thus f registers) In this case there is a b regis-
tres R et a b/f processeurs Lorsque cette valeur f est égale au nombre de points par zone soit f=c d/n on peut mettre à profit certains des aménagements déjà présentés Dans ce cas chaque registre est relié à ses registres plus proches voisins very R and a b / f processors When this value f is equal to the number of points per zone, ie f = c d / n, we can take advantage of some of the arrangements already presented. In this case each register is connected to its nearest neighbor registers.
et un processeur quelconque (par exemple P 81) reçoit les don- and any processor (e.g. P 81) receives the data
nées stockées dans les registres l'environnant (respectivement R 81, R 82, Rg 1, R 92) Avec par exemple des zones de 4 pixels generated in the surrounding registers (respectively R 81, R 82, Rg 1, R 92) With for example zones of 4 pixels
(figure 11) parmi lesquels on sélectionne 1 pixel de référen- (FIG. 11) from which one reference pixel is selected
ce, pour traiter une fenêtre de 4 x 4 pixels il faut alors 16 registres et 4 processeurs Tous les processeurs reçoivent un signal de sélection SEL qui indique le pixel de référence sélectionné dans la zone Cette architecture se généralise aisément au cas de zones ayant k pixels parmi lesquels on sélectionne un seul pixel de référence par zone Chaque processeur délivre les résultats de son calcul sur une sortie propre, par exemple 581 pour le processeur P 81 Plus généralement lorsque a et b sont les dimensions de la fenêtre, c et d les dimensions du bloc courant avec N pixels de référence sélectionnés par zone le corrélateur possède a b this, to process a window of 4 x 4 pixels then 16 registers and 4 processors All processors receive a selection signal SEL which indicates the reference pixel selected in the area This architecture is easily generalized to the case of areas having k pixels among which one selects a single reference pixel per zone Each processor delivers the results of its calculation on a proper output, for example 581 for the processor P 81 Plus generally when a and b are the dimensions of the window, c and d the dimensions of the current block with N reference pixels selected by area the correlator has ab
registres, a b/f processeurs et opère sur c d cycles. registers, has b / f processors and operates on c d cycles.
La figure 12 représente le schéma d'une partie répétitive d'un corrélateur selon l'invention qui privilégie FIG. 12 represents the diagram of a repetitive part of a correlator according to the invention which favors
le gain en vitesse dans le cas d'un découpage des blocs cou- the speed gain in the case of a division of the
rants en zones Ce schéma correspond à des zones de 4 pixels parmi lesquels un seul pixel de référence est sélectionné pour opérer la corrélation Le traitement qui est à effectuer pour une zone particulière sera opéré par les organes situés à Zone diagram This diagram corresponds to zones of 4 pixels from which only one reference pixel is selected to perform the correlation. The processing that is to be performed for a particular zone will be performed by the organs located in the zone.
l'intérieur du repère discontinu 90 On y trouve quatre regis- inside the discontinuous reference mark 90 There are four registers
tres R 51, R 52, Rsl, Rs 2 reliés tous au même processeur P 51. very R 51, R 52, Rs1, Rs 2 all connected to the same processor P 51.
Chaque registre n'est plus relié directement au registre qui le précède et à celui qui le suit comme dans la figure 8 mais les connexions à la fois en lignes et en colonnes sautent un Each register is no longer connected directly to the register that precedes it and to the one that follows it as in Figure 8 but the connections in both rows and columns jump one
registre sur deux Cette disposition découle du fait qu'en sé- register in two This provision stems from the fact that
lectionnant un seul pixel sur 4 pixels par zone on doit sauter selecting a single pixel on 4 pixels per zone we must jump
(figure 3 D) un pixel sur 2 dans les deux directions. (Figure 3 D) one pixel out of two in both directions.
Un signal de sélection SEL permet de faire opérer le processeur sur un des quatre registres qui l'environnent dans lesquels sont stockés à un instant donné les valeurs des 4 pixels de la zone Dans un cas plus général lorsque le bloc contient c d pixels parmi lesquels on sélectionne N pixels de référence il faut donc c d/n liaisons entre chaque processeur et les registres avoisinants La valeur ECH de l'échantillon A selection signal SEL makes it possible to operate the processor on one of the four registers which surround it in which are stored at a given moment the values of the 4 pixels of the zone. In a more general case when the block contains cd pixels among which one selects N reference pixels so it is necessary cd / n connections between each processor and the neighboring registers The ECH value of the sample
est simultanément diffusée à tous les processeurs pour calcu- is simultaneously broadcast to all processors for calculating
ler la corrélation Avec une fenêtre de a b blocs, il faut un ler correlation With a window of a b blocks, it takes a
corrélateur de a b cellules opérant sur N cycles Chaque pro- correlator of a b cells operating on N cycles each
cesseur délivre le résultat de son calcul sur une sortie pro- the seller delivers the result of his calculation on a
pre, par exemple 551 pour le processeur P 51. pre, for example 551 for the processor P 51.
Claims (12)
Priority Applications (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
FR9016104A FR2670923A1 (en) | 1990-12-21 | 1990-12-21 | CORRELATION DEVICE. |
US07/806,023 US5247586A (en) | 1990-12-21 | 1991-12-12 | Correlator device |
EP91203285A EP0492702B1 (en) | 1990-12-21 | 1991-12-13 | Correlation device |
DE69130602T DE69130602T2 (en) | 1990-12-21 | 1991-12-13 | Correlation device |
JP3338845A JP3036937B2 (en) | 1990-12-21 | 1991-12-20 | Correlation device |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
FR9016104A FR2670923A1 (en) | 1990-12-21 | 1990-12-21 | CORRELATION DEVICE. |
Publications (1)
Publication Number | Publication Date |
---|---|
FR2670923A1 true FR2670923A1 (en) | 1992-06-26 |
Family
ID=9403535
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
FR9016104A Pending FR2670923A1 (en) | 1990-12-21 | 1990-12-21 | CORRELATION DEVICE. |
Country Status (5)
Country | Link |
---|---|
US (1) | US5247586A (en) |
EP (1) | EP0492702B1 (en) |
JP (1) | JP3036937B2 (en) |
DE (1) | DE69130602T2 (en) |
FR (1) | FR2670923A1 (en) |
Families Citing this family (31)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO1993023816A1 (en) * | 1992-05-18 | 1993-11-25 | Silicon Engines Inc. | System and method for cross correlation with application to video motion vector estimation |
US6002431A (en) * | 1993-03-03 | 1999-12-14 | Goldstar Co., Ltd. | Video correction apparatus for camcorder |
US5347311A (en) * | 1993-05-28 | 1994-09-13 | Intel Corporation | Method and apparatus for unevenly encoding error images |
BE1007252A3 (en) * | 1993-06-29 | 1995-05-02 | Philips Electronics Nv | Motion compensator. |
US5598514A (en) * | 1993-08-09 | 1997-01-28 | C-Cube Microsystems | Structure and method for a multistandard video encoder/decoder |
JP2590705B2 (en) * | 1993-09-28 | 1997-03-12 | 日本電気株式会社 | Motion compensation prediction device |
JP3031152B2 (en) * | 1993-12-24 | 2000-04-10 | 日本電気株式会社 | Motion prediction processor and motion prediction device |
DE4344924A1 (en) * | 1993-12-30 | 1995-08-10 | Thomson Brandt Gmbh | Method and device for motion estimation |
US5777690A (en) * | 1995-01-20 | 1998-07-07 | Kabushiki Kaisha Toshiba | Device and method for detection of moving obstacles |
KR0171146B1 (en) * | 1995-03-18 | 1999-03-20 | 배순훈 | Feature point based motion vectors detecting apparatus |
DE69628919T2 (en) * | 1995-03-31 | 2004-06-03 | Shibata, Tadashi, Sendai | SEMICONDUCTOR CIRCUIT FUNCTION |
US5910909A (en) * | 1995-08-28 | 1999-06-08 | C-Cube Microsystems, Inc. | Non-linear digital filters for interlaced video signals and method thereof |
US5764283A (en) * | 1995-12-29 | 1998-06-09 | Lucent Technologies Inc. | Method and apparatus for tracking moving objects in real time using contours of the objects and feature paths |
US6008851A (en) * | 1996-05-23 | 1999-12-28 | The Regents Of The University Of California | Method and apparatus for video data compression |
US5689562A (en) * | 1996-07-16 | 1997-11-18 | Ericsson, Inc. | Method for transmitting superimposed image data in a radio frequency communication system |
US6016163A (en) * | 1997-03-12 | 2000-01-18 | Scientific-Atlanta, Inc. | Methods and apparatus for comparing blocks of pixels |
US5930292A (en) * | 1997-04-21 | 1999-07-27 | Motorola, Inc. | Method and apparatus for improved autocorrelation in biphase modulated pseudorandom noise coded systems using tri-state demodulation |
US6097851A (en) * | 1998-03-31 | 2000-08-01 | Agilent Technologies | Low latency correlation |
US6771264B1 (en) * | 1998-08-20 | 2004-08-03 | Apple Computer, Inc. | Method and apparatus for performing tangent space lighting and bump mapping in a deferred shading graphics processor |
US6552723B1 (en) | 1998-08-20 | 2003-04-22 | Apple Computer, Inc. | System, apparatus and method for spatially sorting image data in a three-dimensional graphics pipeline |
US20040042552A1 (en) * | 2000-07-20 | 2004-03-04 | Dvorkovich Victor Pavlovich | Method and apparatus for determining motion vectors in dynamic images |
FR2838849A1 (en) * | 2002-04-17 | 2003-10-24 | St Microelectronics Sa | DETERMINING THE ORIENTATION OF FILLINGS OF A FINGERPRINT |
US7599044B2 (en) | 2005-06-23 | 2009-10-06 | Apple Inc. | Method and apparatus for remotely detecting presence |
TWI288353B (en) * | 2004-12-24 | 2007-10-11 | Lite On Semiconductor Corp | Motion detection method |
FR2886020B1 (en) * | 2005-05-19 | 2007-10-19 | Eurocopter France | SPEED ESTIMATING SYSTEM OF AN AIRCRAFT AND ITS APPLICATION TO DETECTION OF OBSTACLES |
US7577930B2 (en) | 2005-06-23 | 2009-08-18 | Apple Inc. | Method and apparatus for analyzing integrated circuit operations |
US9298311B2 (en) * | 2005-06-23 | 2016-03-29 | Apple Inc. | Trackpad sensitivity compensation |
US7864982B2 (en) * | 2005-08-22 | 2011-01-04 | Samsung Electronics Co., Ltd. | Displacement and tilt detection method for a portable autonomous device having an integrated image sensor and a device therefor |
US7433191B2 (en) | 2005-09-30 | 2008-10-07 | Apple Inc. | Thermal contact arrangement |
US7598711B2 (en) | 2005-11-23 | 2009-10-06 | Apple Inc. | Power source switchover apparatus and method |
JP2010288003A (en) * | 2009-06-10 | 2010-12-24 | Sanyo Electric Co Ltd | Motion detector |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE368151C (en) * | 1923-02-02 | Heinrich Hildebrand | Explosion-proof mesh screen |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4937878A (en) * | 1988-08-08 | 1990-06-26 | Hughes Aircraft Company | Signal processing for autonomous acquisition of objects in cluttered background |
DE3837590A1 (en) * | 1988-11-05 | 1990-05-10 | Ant Nachrichtentech | PROCESS FOR REDUCING THE DATA RATE OF DIGITAL IMAGE DATA |
US5109438A (en) * | 1990-04-25 | 1992-04-28 | Hughes Aircraft Company | Data compression system and method |
-
1990
- 1990-12-21 FR FR9016104A patent/FR2670923A1/en active Pending
-
1991
- 1991-12-12 US US07/806,023 patent/US5247586A/en not_active Expired - Fee Related
- 1991-12-13 DE DE69130602T patent/DE69130602T2/en not_active Expired - Fee Related
- 1991-12-13 EP EP91203285A patent/EP0492702B1/en not_active Expired - Lifetime
- 1991-12-20 JP JP3338845A patent/JP3036937B2/en not_active Expired - Fee Related
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE368151C (en) * | 1923-02-02 | Heinrich Hildebrand | Explosion-proof mesh screen |
Non-Patent Citations (3)
Title |
---|
NEURAL NETWORKS; PERGAMON PRESS vol. 2, 1989, OXFORD (GB) pages 459 - 473; TERENCE D. SANGER: 'Optimal Unsupervised Learning in a Single-Layer Linear Feedforward Neural Network ' * |
PARALLEL COMPUTING. vol. 8, no. 1-3, Octobre 1988, AMSTERDAM NL pages 3 - 17; A. KASHKO ET AL.: 'Parallel matching and reconstruction algorithms in computer vision ' * |
PROCEEDINGS OF THE CONFERENCE ON COMPUTER VISION AND PATTERN RECOGNITION, WASHINGTON, JUIN 83 (US) ;IEEE PRESS , NEW YORK (US) pages 432 - 441; FRANK GLAZER: 'Scene matching by hierarchical correlation ' * |
Also Published As
Publication number | Publication date |
---|---|
JPH04294469A (en) | 1992-10-19 |
DE69130602T2 (en) | 1999-06-24 |
JP3036937B2 (en) | 2000-04-24 |
EP0492702B1 (en) | 1998-12-09 |
DE69130602D1 (en) | 1999-01-21 |
US5247586A (en) | 1993-09-21 |
EP0492702A1 (en) | 1992-07-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP0492702B1 (en) | Correlation device | |
EP0369854B1 (en) | Method and circuit for block-processing an animated picture bidimensional signal | |
FR2633137A1 (en) | HIGH DEFINITION TELEVISION TRANSMISSION AND RECEPTION SYSTEM WITH IMPROVED SPEED ESTIMATOR AND REDUCED DATA RATE | |
EP1603341B1 (en) | Method and device for image interpolation systems using motion estimation and compensation | |
EP0717372B1 (en) | Motion vector selection process and image processing device carrying out said process | |
FR2588142A1 (en) | SYSTEM FOR HIGH SPEED PROCESSING BY IMAGE DATA CONVOLUTIONS. | |
EP1591962B1 (en) | Method and device for generating candidate vectors for image interpolation systems using motion estimation and compensation | |
EP1259939A2 (en) | Automatic perception method and device | |
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 | |
EP0778544B1 (en) | Data processing method in arrays in a motion estimation system | |
EP0286192B1 (en) | Method and device for estimating the motion in a sequence of pictures | |
FR2628276A1 (en) | METHOD FOR REDUCING THE FLOW OF A DATA SEQUENCE ASSISTING THE RECONSTITUTION OF AN ELECTRONIC IMAGE FROM A SUB-SAMPLE SIGNAL | |
EP0063990B1 (en) | Method for image transmission with reduced data rate; transmission system for executing this method | |
WO1988010046A1 (en) | Process and device for temporal interpolation of images | |
EP1596607B1 (en) | Method and device for generating candidate vectors for image interpolation systems using motion estimation and compensation | |
WO2006103323A1 (en) | Method and device for evaluating a quality of signal representing at least one stimulus, as perceived by a recipient of said stimulus | |
EP3918576A1 (en) | Dynamic three-dimensional imaging method | |
EP0782330A1 (en) | Block-matching motion estimation device | |
FR2593622A1 (en) | DATA PROCESSING FACILITY, IN PARTICULAR IMAGES, AND ADDRESS GENERATING AND ARITHMETIC PROCESSING CIRCUITS | |
EP1691342B1 (en) | Method and device for treatment of images | |
EP0702327A1 (en) | Movement estimation device | |
EP0650297B1 (en) | System for transmitting pictures using a transmission channel with a relatively narrow bandwidth | |
FR2717648A1 (en) | Method and device for estimating motion between television images of a sequence of images. | |
WO2022253932A1 (en) | Method for processing pixel data, corresponding device and program | |
EP0680015A1 (en) | Pixel feeding device of an operator sequence of a mobile image compression circuit |