FR2693290A1 - Dispositif de détection de vecteur mouvement pour la compensation des mouvements dans une image animée. - Google Patents

Dispositif de détection de vecteur mouvement pour la compensation des mouvements dans une image animée. Download PDF

Info

Publication number
FR2693290A1
FR2693290A1 FR9308277A FR9308277A FR2693290A1 FR 2693290 A1 FR2693290 A1 FR 2693290A1 FR 9308277 A FR9308277 A FR 9308277A FR 9308277 A FR9308277 A FR 9308277A FR 2693290 A1 FR2693290 A1 FR 2693290A1
Authority
FR
France
Prior art keywords
data
block
motion vector
image
individual image
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
FR9308277A
Other languages
English (en)
Other versions
FR2693290B1 (fr
Inventor
Uramoto Shinichi
Suzuki Mitsuyoshi
Takabatake Akihiko
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Mitsubishi Electric Corp
Original Assignee
Mitsubishi Electric Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Priority claimed from JP4178399A external-priority patent/JPH0630399A/ja
Priority claimed from JP10543293A external-priority patent/JP3084170B2/ja
Application filed by Mitsubishi Electric Corp filed Critical Mitsubishi Electric Corp
Publication of FR2693290A1 publication Critical patent/FR2693290A1/fr
Application granted granted Critical
Publication of FR2693290B1 publication Critical patent/FR2693290B1/fr
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N5/00Details of television systems
    • H04N5/14Picture signal circuitry for video frequency region
    • H04N5/144Movement detection
    • H04N5/145Movement estimation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/20Analysis of motion
    • G06T7/223Analysis of motion using block-matching
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/42Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation
    • H04N19/43Hardware specially adapted for motion estimation or compensation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/523Motion estimation or motion compensation with sub-pixel accuracy
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/10Image acquisition modality
    • G06T2207/10016Video; Image sequence

Landscapes

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

Abstract

Un détecteur de vecteur mouvement comporte un groupement de processeurs ayant une pluralité d'éléments de traitement (PE) agencés en matrice. Chacun des éléments de traitement comporte des éléments de mémorisation pour mémoriser des données de fenêtre de recherche d'une image individuelle de référence et des données associées d'un bloc de référence d'une image individuelle courante, et un circuit pour obtenir une différence absolue entre les données mémorisées de la fenêtre de recherche et les données mémorisées du bloc de référence. Chaque élément de traitement décale les données mémorisées pour les fournir à un élément de traitement voisin dans un seul sens le long d'un chemin de transfert de données. Les éléments de traitement décalent les données mémorisées de la fenêtre de recherche tout en conservant les données du bloc de référence. Un vecteur déplacement est calculé dans chaque cycle de décalage des données de la fenêtre de recherche par une unité de sommation recevant en parallèle les données de sortie des éléments de traitement. Une unité de comparaison reçoit les données de sortie de l'unité de sommation pour détecter un vecteur mouvement pour le bloc de référence.

Description

1 - Dispositif de détection de vecteur mouvement pour la compensation des
mouvements dans une image animée
La présente invention concerne un dispositif pour dé-
tecter un vecteur mouvement utilisé dans la compensation
des mouvements dans une image animée.
Pour la transmission et la mémorisation de signaux d'i-
mage ayant une grande quantité de données, un procédé de compression des données est indispensable pour réduire la quantité de données à transmettre et mémoriser Les données
d'images ont un grand degré de redondance dû à la corréla-
tion existant entre des éléments d'image, ou "pixels" (de "picture element"), et aux caractéristiques de perception de l'Homme Les procédés de compression de données destinés à supprimer la redondance des informations à transmettre et mémoriser sont appelés collectivement "codage à haute efficacité" Le codage à prédiction interimage est connu
comme étant l'un des procédés de codage à haute efficacité.
Le codage à prédiction interimage est décrit dans ce qui
suit.
L'erreur de prédiction est calculée comme étant la dif-
férence entre chaque donnée d'élément d'image dans l'image individuelle courante à coder et chaque donnée d'élément
d'image de la position correspondante dans l'image indivi-
duelle précédente servant de référence Cette erreur de pré-
diction calculée est utilisée dans la suite du procédé de codage Ce procédé est avantageux pour coder avec une haute efficacité les images qui ont peu de mouvement, du fait de
leur grande corrélation entre images individuelles succes-
sives Cependant, ce procédé a l'inconvénient que l'erreur est grande pour les images ayant des mouvements importants,
du fait de leur faible corrélation entre images individuel-
les successives, ce qui augmente la quantité de données à transmettre. 2- On sait qu'un procédé de codage à prédiction interimage avec compensation du mouvement résoud le problème décrit
ci-dessus Selon ce procédé, un vecteur mouvement est cal-
culé à l'avance en utilisant des données d'éléments d'image d'une image individuelle courante et d'une image individuel- le précédente avant d'effectuer le calcul de l'erreur de prédiction L'image de prédiction de l'image individuelle précédente est ensuite déplacée selon le vecteur mouvement calculé Plus précisément, un élément d'image de référence, qui est la donnée d'élément d'image à une position déplacée
par le vecteur mouvement dans l'image individuelle précé-
dente, est utilisé comme valeur d'estimation Ensuite, l'er-
reur de prédiction de chaque élément d'image entre l'image individuelle précédente déplacée et l'image indivuduelle
courante est calculée, et l'erreur de prédiction et le vec-
teur mouvement sont transmis.
La figure 92 est un schéma synoptique de la structure d'un codeur conçu pour coder des données d'image selon un procédé classique de codage à prédiction avec compensation
du mouvement En référence à la figure 92, le codeur com-
prend essentiellement un circuit de prétraitement 910 pour exécuter un prétraitement prédéterminé sur un signal d'image d'entrée, un circuit de codage de source 912 pour éliminer la redondance et exécuter la quantification sur le signal prétraité issu du circuit de prétraitement 910, un circuit de codage multiplex vidéo 914 pour coder, selon un format
prédéterminé et multiplexer en un train de codes à struc-
ture prédéterminée de données, un signal issu du circuit
de codage de source 912.
Le circuit de prétraitement 910 utilise des filtres
temporels et spatiaux pour convertir le signal d'image d'en-
trée dans un format intermédiaire commun CIF (de "common intermediate format") et applique un procédé de filtrage
pour éliminer le bruit.
Le circuit de codage de source 912 exécute un procédé
de transformation orthogonale tel qu'une transformation co-
sinus discrète DCT (de "discrete cosine transform") sur le signal fourni, compense le mouvement présent dans le signal d'entrée et quantifie les données d'image transformées or- thogonales. Le circuit de codage multiplex vidéo 914 applique un codage bidimensionnel à longueur variable au signal d'image fourni, et exécute en outre un codage à longueur variable
sur chacun des différents attributs (tels qu'un vecteur mou-
vement) d'un bloc de données qui est l'unité de traitement de données, suivi du multiplexage de ceux-ci en un train
de codes à structure prédéterminée de données.
Le codeur comprend en outre une mémoire tampon de trans-
mission 916 pour servir de tampon à des données d'image is-
sues du circuit de codage multiplex vidéo 914, et un circuit
de codage de transmission 918 pour adapter les données d'i-
mage issues de la mémoire tampon de transmission 916 à la
voie de transmission.
La mémoire tampon de transmission 916 lisse la vitesse de génération des informations à une valeur constante Le circuit de codage de transmission 918 exécute l'addition d'un élément binaire, ou "binaire" ou "bit", de correction
d'erreur et de données de signal audio.
La figure 93 représente une structure spécifique du
circuit de codage de source représenté sur la figure 92.
En référence à la figure 93, le circuit de codage de source comporte un prédicteur de compensation de mouvement 920 pour
détecter un vecteur mouvement dans un signal d'image d'en-
trée pour produire un élément d'image de référence compensé en mouvement selon le vecteur mouvement détecté, un filtre
de boucle 922 pour appliquer un procédé de filtrage aux don-
4 - nées de l'élément d'image de référence issues du prédicteur de compensation de mouvement 920, un soustracteur 924 pour obtenir la différence entre le signal de sortie du filtre
de boucle 922 et le signal d'image d'entrée, un transforma-
teur orthogonal 926 pour appliquer une transformation ortho-
gonale au signal de sortie du soustracteur 924, et un quan-
tificateur 928 pour appliquer une quantification aux données
transformées orthogonales issues du transformateur ortho-
gonal 926.
Le prédicteur de compensation de mouvement 920, dont la structure est décrite en détail ci-après, comporte une
mémoire d'image individuelle pour mémoriser les données d'é-
léments d'image de l'image individuelle immédiatement pré-
cédente, grâce à quoi un vecteur mouvement est détecté selon
les données de signal d'image d'entrée et les données d'élé-
ments d'image contenues dans la mémoire d'image individuel-
le, pour produire des données d'éléments d'image de réfé-
rence ayant une compensation du mouvement Le filtre de bou-
cle 922 est prévu pour améliorer la qualité d'image.
Le transformateur orthogonal 926 exécute une transfor-
mation orthogonale telle qu'une transformation cosinus dis-
crète (DCT) sur les données issues du soustracteur 924 dans les limites d'une unité d'un bloc de taille prédéterminée (généralement 8 x 8 éléments d'image) Le quantificateur 928 exécute la quantification des données d'éléments d'image
transformées orthogonales.
Par l'action du prédicteur de compensation de mouvement
920 et du soustracteur 924, le codage à prédiction inter-
image avec compensation du mouvement est exécuté pour élimi-
ner la redondance temporelle dans un signal d'image animée.
Par ailleurs, la redondance spatiale dans le signal d'image
animée est éliminée par la transformation orthogonale exé-
cutée par le transformateur orthogonal 926.
-5- Le circuit de codage de source comprend en outre un quantificateur inverse 930 pour convertir l'état de signal des données quantifiées par le quantificateur 928 pour le ramener à son état avant quantification, un transformateur orthogonal inverse 932 pour exécuter la transformation orthogonale inverse sur le signal de sortie du quantificateur inverse 930, et un additionneur 934 pour additionner les
signaux de sortie du filtre de boucle 922 et du transforma-
teur orthogonal inverse 932 Une image utilisée pour la pré-
diction interimage pour l'image individuelle suivante est
produite par le quantificateur inverse 930 et le transfor-
mateur orthogonal inverse 932 Les données d'image produites sont écrites dans la mémoire d'image individuelle comprise
dans le prédicteur de compensation de mouvement 920 Puis-
qu'un signal d'image d'entrée (données différentielles in-
terimage) est ajouté, les données de l'image individuelle
courante sont reproduites En général, l'ensemble du pro-
cessus de quantification inverse, du processus de transfor-
mation orthogonale inverse et du processus d'addition est
appelé "procédure de décodage local".
Le calcul du vecteur mouvement est décrit en détail ci-après En général, un procédé de mise en correspondance
de blocs est utilisé pour calculer le vecteur mouvement.
En référence à la figure 94 A, celle-ci illustre un cas dans lequel une image A comprise dans la (m-1)-ième image individuelle est déplacée pour devenir l'image A' dans la
m-ième image individuelle Dans le procédé à mise en corres-
pondance de blocs, une image ( 1 image individuelle) est di-
visée en blocs de Px Q éléments d'image (en général, P=Q).
Le bloc le plus près du bloc considéré dans l'image indivi-
duelle courante est recherché dans l'image individuelle pré-
cédente Ce déplacement du bloc considéré au bloc le plus
proche dans l'image individuelle prédédente est appelé "vec-
teur mouvement".
-6- En référence à la figure 94 B, on suppose que la m-ième image individuelle est l'image individuelle à coder L'image
individuelle est divisée en blocs de Nx N éléments d'image.
On suppose en outre que la valeur de la donnée d'élément d'image dans la position d'élément d'image située le plus
en haut à gauche (Nk, Ni) dans le bloc de Nx N éléments d'i-
mage dans la m-ième image individuelle est Xm(Nk, Ni) La somme de la différence absolue entre l'image individuelle précédente ayant la position d'élément d'image déplacée de (i, j) et le bloc de l'image individuelle courante est alors obtenue En faisant varier la valeur du déplacement (i, i), les sommes respectives des différences absolues sont ensuite obtenues Le déplacement (i, j) qui donne la plus petite
valeur de la somme des différences absolues est appelé "vec-
teur mouvement".
Il est nécessaire de transmettre un vecteur mouvement
par bloc d'éléments d'image Si la taille du bloc est ré-
duite, les informations transmises sont augmentées pour em-
pêcher la compression effective des données Si la taille du bloc est augmentée, la détection effective du vecteur
mouvement devient difficile Ici, la taille du bloc est fi-
xée à 16 x 16 éléments d'image, et l'intervalle de recherche du vecteur mouvement (intervalle maximal de variation de
i et j) est fixé au niveau de -15 à + 15 éléments d'image.
Le calcul du vecteur mouvement selon une méthode de mise
en correspondance de blocs est décrit en détail ci-après.
La figure 95 est un schéma utilisé pour décrire la mé-
thode de calcul du vecteur mouvement selon la méthode de mise en correspondance de blocs Une image 950 de 352 points
x 288 lignes est prise comme exemple L'image 950 est divi-
sée en blocs, un groupe de 16 x 16 éléments d'image formant un bloc La détection du vecteur mouvement est effectuée dans 7 - ce bloc unité On admet qu'un bloc de recherche 956 (appelé
ci-après "zone de recherche") est une zone de bloc compor-
tant + 16 éléments d'image dans les directions horizontale
et verticale d'un bloc 954 qui est un bloc de l'image indi-
viduelle précédente à une position correspondant à un bloc
952 soumis à la détection (appelé ci-après "bloc de réfé-
rence") En d'autres termes, un bloc de recherche 956 formé
de 48 x 48 éléments d'image et centré sur le bloc 954 est éta-
bli comme zone de recherche La recherche du vecteur mouve-
ment par rapport au bloc de référence 952 est effectuée dans
les limites de cette zone de recherche La détection du vec-
teur mouvement selon la méthode de mise en correspondance
de blocs comprend les étapes suivantes.
Un bloc d'image à prédiction (indiqué par i, j sur la figure 95) ayant un déplacement correspondant à un candidat au rôle de vecteur mouvement est obtenu Ensuite, une valeur de fonction d'évaluation telle que la somme des différences absolues (ou la somme des différences élevées au carré) des éléments d'image du bloc obtenu et de ceux à la position
correspondante du bloc de référence est obtenue.
L'opération décrite ci-dessus est exécutée pour tous les déplacements (i, j) compris dans l'intervalle de (-16,
-16) à (+ 16, + 16) Lorsque les fonctions d'évaluation (va-
leurs d'évaluation) pour tous les blocs d'image à prédiction
sont obtenues, le bloc d'image à prédiction ayant la fonc-
tion d'évaluation minimale est détecté A partir du bloc
(bloc 954 indiqué par ( 0, 0) sur la figure 95) d'une posi-
tion identique dans le bloc de référence (appelé ci-après
"coïncidence exacte"), le vecteur orienté vers le bloc d'i-
mage à prédiction ayant la fonction d'évaluation la plus faible est déterminé comme étant le vecteur mouvement pour
le bloc de référence.
8 -
Différentes structures utilisables pour obtenir ce vec-
teur mouvement dans une image par voie matérielle ont éti proposées. La figure 96 représente la structure d'un dispositif classique de détection du vecteur mouvement qui est décrît dans la publication "Proceedings of ICASSP'89 ", IEEE, 1539, pages 2453-2456, par A Artier et autres En référence i
la figure 96, ce dispositif de détection du vecteur moute-
ment comprend essentiellement un registre d'entrée de zgre
de recherche 962 pour introduire des données d'éléments d'i-
mage d'une zone de recherche d'une colonne, un groupement
de "processeurs" 966 comprenant essentiellement une pluia-
lité de processeurs agencés en matrice de lignes et de co-
lonnes identiques en nombre aux points d'évaluation du kloc de référence, des registres latéraux de zone de rechercke 964 a et 964 b pour mémoriser une colonne de données dans la zone de recherche pour le groupement de processeurs, et une unité de détection de vecteur mouvement 968 pour détecter le vecteur mouvement selon le résultat des calculs effectués
par le groupement de processeurs 966.
Le groupement de processeurs 966 a ses processeurs dis-
posés chacun en correspondance avec un vecteur déplacement
(i, j) Plus précisément, un processeur Pij disposé à l'in-
tersection de la i-ième ligne et de la j-ième colonne cal-
cule le vecteur déplacement D(i, j).
La figure 97 représente la structure d'un processeur compris dans le groupement de processeurs représenté sur la figure 96 En référence à la figure 97, un processeur 970 comprend essentiellement un registre à trois entrées
972 pour recevoir les données relatives à la zone de recher-
che transmises à partir des processeurs de trois directions dans les directions horizontale et verticale du groupement 9 - et sensible à un signal de sélection SEL pour laisser passer un des trois signaux d'entrée, une unité de calcul d'écart 974 pour calculer l'écart (somme des différences absolues) selon les données Y relatives à la zone de recherche issues d'un registre à trois entrées 972 et les données de bloc de référence X fournies de l'extérieur, et un registre à deux entrées 976 pour recevoir l'écart D issu de l'unité
de calcul d'écart 974 et un écart issu d'un processeur hori-
zontalement voisin pour laisser passer sélectivement un des
écarts en réponse à un signal de sélection To.
Dans le groupement de processeurs représenté sur la
figure 96, ce processeur est agencé de manière bidimension-
nelle correspondant à tous les vecteurs déplacement qui sont
les candidats pour un vecteur mouvement dans la zone de re-
cherche Chaque processeur 970 du groupement de processeurs 966 (voir figure 96) a la même donnée du bloc de référence X qui lui est fournie Ici, la donnée correspondante du bloc de la zone de recherche est fournie au processeur 970 Plus précisément, lorsque la donnée du bloc de référence X est,
par exemple, X(m, n), une donnée du bloc de zone de recher-
che Y(i+m, j+n) est fournie à un processeur Pij La donnée
de la fenêtre de recherche est transférée par l'intermédiai-
re des registres latéraux de la zone de recherche 964 a et
964 b et de chaque processeur 970 du groupement de proces-
seurs 966 Pour fournir une donnée précise du bloc de la zone de recherche Y(m+i, n+j) pour une donnée du bloc de référence fournie de l'extérieur X(m, n), la donnée du bloc de référence et la donnée du bloc de la zone de recherche
doivent être lues selon une règle précise.
La figure 98 illustre une méthode de lecture des don-
nées du bloc de référence En référence à la figure 98, les
données du bloc de référence sont lues, comme cela est re-
- présenté par la flèche tracée sur le bloc de référence 999, de haut en bas le long d'une colonne et, ensuite, de bas en haut le long de la colonne suivante Cette méthode de lecture est appelée "lecture en zigzag" Selon la lecture en zigzag des données du bloc de référence, les données du
bloc de la zone de recherche fournies au groupement de pro-
cesseurs sont lues d'une manière analogue Chaque processeur doit transférer les données de la zone de recherche dans la direction verticale de la figure 91 ou dans la direction
horizontale de la figure 97 selon sa position dans le grou-
pement Le registre à trois entrées 972 est prévu à cette fin.
Le registre à deux entrées 976 est prévu pour transfé-
rer l'écart calculé par le processeur à l'unité de détection
du vecteur mouvement 968 afin d'obtenir un vecteur déplace-
ment fournissant l'écart minimal L'unité de détection du vecteur mouvement 968 détecte le minimum de l'écart issu
de chaque processeur pour déterminer la position du proces-
seur fournissant l'écart minimal, c'est-à-dire le vecteur
mouvement Le fonctionnement de l'unité de détection du vec-
teur mouvement de la figure 96 est décrit brièvement ci-
après. Dans le groupement de processeurs 966, le processeur Pij situé à l'intersection de la i-ième ligne et la j-ième
colonne calcule l'écart D(i, j) exprimé sous la forme sui-
vante: D(i, j) = >j X(m, n) Y(m+i, n+j)|, o la somme totale 7 est calculée pour m et n L'intervalle de variation de m et de N est déterminé par les dimensions
de la zone de recherche.
il -
On considère le cas o les éléments d'image sont dis-
posés en M lignes et N colonnes pour former le bloc de réfé-
rence 980, comme cela est représenté sur la figure 99 Dans
le premier cycle, les données du bloc de la zone de recher-
che indiquées par la référence numérique 982 sont mémorisées
dans chaque processeur du groupement de processeurs L'élé-
ment d'image X( 1, 1) situé à l'intersection de la première ligne et la première colonne du bloc de référence 980 est fourni à tous les processeurs du groupement de processeurs comme donnée extérieure Chaque processeur 970 détermine
la différence absolue entre la donnée Y mémorisée de la fe-
nêtre de recherche et la donnée X du bloc de référence four-
nie de l'extérieur, et accumule les valeurs obtenues.
Dans le cycle suivant, la donnée de la zone de recher-
che contenue dans le groupement de processeurs est décalée d'une ligne vers le bas sur la figure 99 Dans cet état, la donnée suivante d'élément d'image X( 2, 1) est fournie à partir du bloc de référence 980 La donnée de la zone de recherche mémorisée dans chaque processeur 970 est Y(m+i+ 1, n-j) La différence absolue entre la donnée X et la donnée Y
est calculée et ensuite accumulée Cette opération est ré-
pétée M fois.
En répétant M fois l'opération décrite ci-dessus, une
colonne de données d'éléments d'image de la zone de recher-
che est écrite dans la mémoire par l'intermédiaire du regis-
tre d'entrée de la zone de recherche 962 représenté sur la figure 96 Les données d'éléments d'image de la colonne de
la zone de recherche qui ne sont plus nécessaires sont effa-
cées Ensuite, une nouvelle donnée de la zone de recherche
est mémorisée dans les registres latéraux de la zone de re-
cherche 964 a et 964 b et dans le groupement de processeurs
966 Cette opération est exécutée de manière répétée.
12 - En d'autres termes, comme cela est représenté sur la figure 100, la somme des différences absolues est calculée
en utilisant la fenêtre de recherche 990 et suivie de M cy-
cles de ce calcul Ensuite, un calcul analogue est effectué en utilisant les données de la fenêtre de recherche 992,
puis de la fenêtre de recherche 994, et ainsi de suite.
Lorsque le calcul des données de la zone de recherche 996 est terminé, l'écart D(i, j) est obtenu et mémorisé dans
le processeur Pij.
L'écart D(i, j) obtenu dans chaque processeur Pij est transmis à l'unité de détection du vecteur mouvement 968 (voir figure 96), dans laquelle l'écart minimal est détecté
comme étant le vecteur mouvement.
Le dispositif de détection de vecteur mouvement décrit
ci-dessus détecte un vecteur mouvement en utilisant des don-
nées d'éléments d'image d'une zone de recherche et des don-
nées d'éléments d'image d'un bloc de référence Le vecteur mouvement obtenu est appelé "vecteur mouvement à précision
entière" Cela est dû au fait que l'unité minimale des com-
posantes horizontale et verticale du vecteur mouvement est
un élément d'image, donc un nombre entier Ce vecteur mouve-
* ment à précision entière est défini dans le procédé de co-
dage des images animées pour visiophones et visioconférences
(Recommandation H 261 du CCITT).
Dans un procédé de codage d'images animées du type à
mémorisation, utilisant des supports d'informations numéri-
ques, l'unité de précision nécessaire est de 1/2 élément d'image (et est appelée ci-après "précision de 1/2 élément
d'image") La détection à précision meilleure que la préci-
sion entière est appelée "précision fractionnaire" Dans
la compensation du mouvement avec une précision de 1/2 élé-
ment d'image, une position décalée d'un élément d'image est 13 - cherchée sur une image individuelle de référence utilisée
pour la prédiction En outre, une donnée entre éléments d'i-
mage est produite par interpolation, ce qui fait que la mise
en correspondance est effectuée pour la donnée interpolée.
La compensation du mouvement utilisant un vecteur mouvement à précision de 1/2 élément d'image est appelée "compensation
du mouvement à demi-élément d'image".
La figure 101 représente schématiquement la structure d'un dispositif classique de détection de vecteur mouvement
à précision fractionnaire la structure du dispositif repré-
senté sur la figure 101 est décrite dans la publication "Proceedings of ICASSP'89 ", IEEE, 1989, pages 2437-2440,
par exemple.
En référence à la figure 101, le dispositif de détec-
tion de vecteur mouvement à précision fractionnaire comprend
essentiellement une mémoire d'image individuelle de réfé-
rence 101 pour mémoriser les données d'éléments d'image d'u-
ne image individuelle de référence entière d'une image indi-
viduelle précédente, une mémoire d'image individuelle cou-
rante 102 pour mémoriser les données d'image de l'image in-
dividuelle courante entière, et un premier opérateur 805 pour lire les données du bloc de la fenêtre de recherche et les données du bloc de référence dans les mémoires 801 et 802 par l'intermédiaire des lignes de données 807 et 809 pour détecter un vecteur mouvement à précision entière Les étapes du processus exécuté par le premier opérateur 805
sont analogues à celles qui ont déjà été décrites.
Le dispositif de détection de vecteur mouvement à pré-
cision fractionnaire comprend en outre une mémoire de fenê-
tre de recherche à précision fractionnaire 804 pour recevoir des données du bloc de la fenêtre de recherche issues de la
mémoire d'image individuelle de référence 801 par l'intermé-
14 - diaire d'une ligne de données 808 et mémoriser celles-ci, une mémoire de bloc de référence à précision fractionaire
803 pour recevoir les données du bloc de référence actuelle-
ment utilisé issues de la mémoire d'image individuelle cou-
rante 802 par l'intermédiaire d'une ligne de données 810 pour mémoriser celles-ci, et un deuxième opérateur 806 pour recevoir des données d'éléments d'image issues de la mémoire de bloc de référence à précision fractionnaire 803 et de la mémoire de fenêtre de recherche à précision fractionnaire 804 par l'intermédiaire des lignes de données 811 et 812,
respectivement, pour détecter un vecteur mouvement à pré-
cision fractionnaire Le vecteur mouvement détecté par le premier opérateur 805 est fourni au deuxième opérateur 806 par l'intermédiaire d'une ligne de signaux 813 Le deuxième opérateur 806 transmet, par l'intermédiaire d'une ligne de
signaux 814, un jeu d'un vecteur mouvement à précision en-
tière et d'un vecteur mouvement nouvellement obtenu à pré-
cision fractionnaire Le fonctionnement de ces opérateurs
est décrit ci-après.
16 Le premier opérateur 805 lit les données du bloc de la fenêtre de recherche et les données du bloc de référence
dans la mémoire d'image individuelle de référence et la mé-
moire d'image individuelle courante 802, respectivement,
pour calculer une fonction d'évaluation (valeur d'évalua-
tion) pour chaque vecteur déplacement Lorsque toutes les données du bloc de la fenêtre de recherche compris dans la
zone de recherche sont lues dans la mémoire d'image indivi-
duelle de référence 801 pour obtenir les valeurs d'évalua-
tion, le premier opérateur 805 détecte la valeur d'évalua-
tion minimale parmi les valeurs d'évaluation obtenues pour déterminer le vecteur déplacement correspondant à la valeur
d'évaluation minimale comme étant le vecteur mouvement.
- Lorsque le vecteur mouvement est détecté, la mémoire d'image individuelle courante 802 transmet les données du bloc de référence utilisé à la mémoire de bloc de référence
à précision fractionnaire 803 par l'intermédiaire d'une li-
gne de données 810 Les données du bloc de la fenêtre de recherchecorrespondant au vecteur déplacement fournissant le vecteur mouvement et les données des éléments d'image périphériques de celui-ci contenues dans la mémoire d'image individuelle de référence 801 sont transmises à la mémoire de fenêtre de recherche à précision fractionnaire 804 par l'intermédiaire de la ligne de données 808 Lorsque le bloc
de la fenêtre de recherche est formé de 16 x 16 éléments d'i-
mage, par exemple, les données de 18 x 18 éléments d'image, incluant les données des éléments d'image périphériques,
sont transmises à la mémoire de fenêtre de recherche à pré-
cision fractionnaire 804 à partir de la mémoire d'image in-
dividuelle de référence 801.
Cela a pour résultat que les données d'éléments d'image
du bloc de référence de la région 820 (indiquée par des cer-
cles en blanc) sont mémorisées dans la mémoire de bloc de
référence 803, comme cela est représenté sur la figure 102.
Dans la mémoire de fenêtre de recherche 804, les données du bloc de la fenêtre de recherche indiquées par la région 822 sont mémorisées Le fonctionnement du deuxième opérateur
806 est décrit ci-après.
Un processus d'interpolation est exécuté pour chaque donnée d'élément d'image (représentée par un cercle en blanc) du bloc de la fenêtre de recherche 822 pour produire des données interpolées entre les éléments d'image La figure 102 illustre le cas de la détection du vecteur mouvement avec une précision de 1/2 élément d'image Les candidats au rôle de vecteurs mouvement sont 16 vecteurs déplacement incluant les composantes fractionnaires comprises entre (-1/2, -1/2) 16 -
et ( 1/2, 1/2) En d'autres termes, dans le cas de la préci-
sion de 1/2 élément d'image, 16 blocs de fenêtre de recher-
che sont formés et les calculs des valeurs d'évaluation sont
effectués pour chaque bloc Pour détecter le vecteur mouve-
ment avec une précision de 1/2 élément d'image, les données interpolées entre deux éléments d'image P(A) et P(B) sont calculées selon l'expression lP(A)+P(B)l/2, et les données interpolées entre quatre éléments d'image P(A), P(B), P(C) et P(D) sont calculées selon l'expression lP(A)+P(B)+P(C)+ P(D)J/4, comme cela est représenté par les marques x sur la figure 102 Un processus de calcul de valeurs arrondies
est exécuté pour les données interpolées Une opération ana-
logueà celle de la détection du vecteur mouvement à préci-
sion entière est ensuite effectuée pour les données inter-
polées ainsi obtenues.
La figure 103 représente la relation existant entre
un vecteur mouvement à précision entière et un vecteur mou-
vement à précision fractionnaire En référence à la figure 103, un vecteur déplacement est disposé avec un espacement unitaire de un élément d'image dans les directions verticale et horizontale (est indiqué par un cercle en blanc sur le dessin) Un vecteur déplacement à précision fractionnaire est obtenu par le deuxième opérateur pour la périphérie d'un vecteur mouvement MI (indiqué par un cercle en blanc en
trait interrompu) Ensuite, un vecteur déplacement fournis-
sant la valeur minimale est obtenu à partir des vecteurs déplacement, et la composante à précision fractionnaire est combinée au vecteur mouvement MI à précision entière, ce qui permet d'obtenir un vecteur mouvement MF à précision
fractionnaire.
Le dispositif classique de détection de vecteur mouve-
ment décrit ci-dessus a des inconvénients décrits ci-après.
17 - Dans le dispositif de détection de vecteur mouvement
représenté sur la figure 96, la même donnée du bloc de réfé-
rence est fournie à tous les processeurs du groupement de
processeurs Cela signifie que de grandes possibilités d'at-
taque sont nécessaires dans le circuit utilisé pour écrire les données d'éléments d'image du bloc de référence, ce qui
a pour résultat une augmentation de la consommation de cou-
rant dans le circuit d'écriture des données d'éléments d'i-
mage du bloc de référence Il en résulte que la consommation
de puissance du dispositif complet est importante.
Dans le dispositif de détection de vecteur mouvement représenté sur la figure 96, chaque processeur du groupement de processeurs correspond à un vecteur déplacement qui est le candidat pour un vecteur mouvement Si la taille de la
zone de recherche est de + 16 à -16 dans la direction verti-
cale et de -16 à + 16 dans la direction horizontale, le nom-
bre de vecteurs déplacement qui deviennent les candidats
pour un vecteur mouvement est de 33 x 33 = 1089, ce qui aug-
mente le nombre de processeurs en conséquence Cela a l'in-
convénient que la surface occupée par le dispositif est grande.
Dans chaque cycle d'opérations, le transfert des don-
nées est exécuté par l'intermédiaire d'un processeur Un registre à trois entrées est utilisé pour déterminer le sens
du transfert de données, ce qui a l'inconvénient que la con-
sommation d'énergie est augmentée au moment du transfert
des données.
En outre, le dispositif de détection de vecteur mouve-
ment de la figure 96 fait calculer à chaque processeur une valeur d'évaluation (écart) Plus précisément, le calcul
de la différence absolue (ou de la différence élevée au car-
ré) est effectué et suivi de l'accumulation du résultat cal-
culé Il en résulte que la surface occupée par les proces-
18 -
seurs est importante et la consommation de courant égale-
ment.
Le dispositif de détection de vecteur mouvement à pré-
cision fractionnaire de la figure 101 est équipé d'une mé-
moire d'image individuelle à précision entière et d'une mé- moire d'image individuelle à précision fractionnaire Dans l'opération de détection du vecteur mouvement à précision fractionnaire, les données nécessaires du bloc de la fenêtre de recherche doivent être transférées de la mémoire d'image individuelle de référence à précision entière à la mémoire de fenêtre de recherche à précision fractionnaire Après
le transfert des données à la mémoire de fenêtre de recher-
che, les données du bloc de la fenêtre de recherche doivent être lues de nouveau dans la mémoire de fenêtre de recherche pour effectuer la détection du vecteur mouvement avec une
précision fractionnaire L'accès à la mémoire est fréquem-
ment effectué, ce qui fait que le débit global du dispositif de détection de vecteur mouvement complet est déterminé par le temps d'accès à la mémoire Cela a pour inconvénient que
le vecteur mouvement ne peut pas être détecté à grande vi-
tesse. D'une manière analogue, après que les données ont été transférées de la mémoire d'image individuelle courante à la mémoire d'image individuelle de référence à précision fractionnaire, les données du bloc de référence doivent être lues dans la mémoire d'image individuelle de référence, ce qui fait que le temps d'accès à la mémoire contenant les
données de l'image individuelle de référence est augmenté.
Le débit du dispositif de détection de vecteur mouvement
est déterminé par le temps d'accès à la mémoire d'image in-
dividuelle courante Par conséquent, le vecteur mouvement
ne peut pas être détecté à grande vitesse.
L'invention a notamment pour but de fournir un dispo-
sitif de détection de vecteur mouvement qui puisse détecter
un vecteur mouvement à grande vitesse.
19 -
L'invention a également pour but de fournir un dispo-
sitif de détection de vecteur mouvement qui fonctionne avec
une faible consommation d'énergie.
L'invention a en outre pour but de fournir un dispo-
sitif de détection de vecteur mouvement qui n'occupe qu'une
surface réduite.
L'invention a enfin pour but de fournir un dispositif de détection de vecteur mouvement qui puisse identifier un
vecteur mouvement avec précision.
En termes succincts, un dispositif de détection de vec-
teur mouvement selon l'invention a des processeurs élémen-
taires agencés en groupement, chacun d'eux mémorisant des données d'un bloc de référence et des données d'un bloc de fenêtre de recherche différant des autres, grâce à quoi une valeur d'évaluation d'un vecteur déplacement est calculée
en attaquant simultanément les processeurs agencés en grou-
pement La donnée du bloc de la fenêtre de recherche est
transférée dans un seul sens dans le groupement de proces-
seurs, et la donnée de bloc qui n'est plus nécessaire est
décalée séquentiellement vers l'extérieur.
Dans la détection d'un vecteur mouvement à précision fractionnaire et drun vecteur mouvement à prédiction par interpolation, on utilise la donnée sortie du groupement
de processeurs par décalage séquentiel.
Dans le dispositif de détection de vecteur mouvement
selon l'invention, le nombre maximal de processeurs élémen-
taires correspond au nombre d'éléments d'image du bloc de
référence Par conséquent, le nombre de processeurs élémen-
taires à prévoir peut être réduit par rapport à l'art anté-
rieur.
La donnée du bloc de référence réside dans le proces-
seur jusqu'à ce qu'un vecteur mouvement associé soit détecté.
- Du fait que seule les données de la fenêtre de recherche
sont transférées, la consommation de courant, donc d'éner-
gie, au moment du transfert des données peut également être réduite. Du fait que seul un calcul prédéterminé est effectué
dans le processeur élémentaire et qu'une valeur finale d'é-
valuation indiquant la relation existant entre les blocs
est fournie par des moyens générateurs de valeurs d'évalua-
tion prévus à l'extérieur du groupement, la surface occupée par le groupement peut être réduite, ce qui a pour résultat
une réduction de la surface occupée par le dispositif.
Les buts, particularités et avantages précédents de l'invention, ainsi que d'autres, apparaîtront mieux à la
lumière de la description détaillée de modes de réalisation
préférés de l'invention donnée en relation avec les dessins annexés, dans lesquels: la figure 1 est un schéma synoptique de la structure d'un dispositif de détection de vecteur mouvement selon un mode de réalisation de l'invention;
la figure 2 représente la zone de recherche et l'inter-
valle de recherche d'un bloc de référence utilisé par le dispositif de détection de vecteur mouvement de la figure 1;
la figure 3 représente la structure d'un processeur élé-
mentaire compris dans le groupement de processeurs de la figure 1; la figure 4 représente la structure du groupement complet de processeurs de la figure 1;
la figure 5 représente une variante du groupement de pro-
cesseurs de la figure 4; les figures 6 A et 6 B montrent la relation de position des données mémorisées dans le groupement de processeurs de la figure 1; 21 -
la figure 7 représente la répartition des données mémori-
sées dans le groupement de processeurs de la figure 4;
la figure 8 représente la répartition des données mémori-
sées dans le groupement linéaire de processeurs d'une colon-
ne du le groupement de processeurs de la figure 4;
la figure 9 est un schéma utilisé pour décrire le fonc-
tionnement du dispositif de détection de vecteur mouvement de la figure 1; les figures 10 A et 10 B représentent le changement et la répartition des données dans le groupement de processeurs
après l'achèvement de la génération d'une valeur d'évalua-
tion; les figures 11 A et 11 B représentent la relation existant entre les données mémorisées et un vecteur déplacement dans
le groupement de processeurs de la figure 4 et une réparti-
tion des données mémorisées dans celui-ci; les figures 12 A et 12 B illustrent la relation de position existant entre le bloc de référence et le bloc de la fenêtre de recherche lorsque la génération d'une valeur d'évaluation
pour une fenêtre de recherche est achevée, et une réparti-
tion des données mémorisées dans le groupement de proces-
seurs; la figure 13 illustre la relation de position existant entre le bloc de référence et la fenêtre de recherche lors du chargement de la fenêtre de recherche suivante selon un mode de réalisation de l'invention; la figure 14 illustre la relation de position existant
entre le bloc de la fenêtre de recherche et le bloc de réfé-
rence lorsqu'une valeur d'évaluation est obtenue en utili-
sant la fenêtre de recherche représentée sur la figure 13; la figure 15 illustre la relation de position existant
entre le bloc de la fenêtre de recherche et le bloc de ré-
22 -
férence lorsqu'une opération d'évaluation du vecteur mouve-
ment est achevée;
la figure 16 représente la répartition des données mémo-
risées dans le groupement de processeurs avec la relation de position du bloc de la fenêtre de recherche et du bloc de référence représentée sur la figure 15; la figure 17 représente la disposition des processeurs élémentaires (en matrice) dans le groupement de processeurs;
la figure 18 représente la disposition des données de ré-
férence mémorisées dans un processeur élémentaire de la fi-
gure 17;
la figure 19 représente la disposition des données d'élé-
ments d'image dans la zone de recherche pour le bloc de ré-
férence de la figure 18; la figure 20 représente l'intervalle de variation d'un
vecteur déplacement dans la zone de recherche de la figu-
re 19; la figure 21 représente la répartition des données de la fenêtre de recherche dans le groupement de processeurs à l'état initial; les figures 22 et 23 montrent le changement de répartition des données de la fenêtre de recherche dans le groupement de processeurs; la figure 24 montre la direction et le sens de lecture des données dans la fenêtre de recherche dans la zone de recherche; la figure 25 représente une structure détaillée possible d'un processeur élémentaire de la figure 3; la figure 26 représente une structure détaillée possible d'un circuit de différence absolue de la figure 25; la figure 27 est un diagramme de forme d'onde de signal
illustrant le fonctionnement du processeur élémentaire gé-
néralisé de la figure 25;
la figure 28 est un schéma utilisé pour décrire le fonc-
23 - tionnement du processeur élémentaire de la figure 25; la figure 29 est un diagramme de forme d'onde de signaux représentant un autre état de fonctionnement du processeur élémentaire de la figure 25; la figure 30 représente la répartition des données d'élé- ments d'image fournissant le résultat effectif du calcul lors du fonctionnement sur le diagramme de forme d'onde en fonctionnement de la figure 29;
la figure 31 représente la structure détaillée d'un pro-
cesseur élémentaire utilisé pour obtenir le résultat repré-
senté sur la figure 30;
la figure 32 représente un exemple de structure d'un re-
gistre de données utilisé dans un processeur élémentaire;
la figure 33 représente une autre structure d'un proces-
seur élémentaire;
la figure 34 représente une autre structure d'un proces-
seur élémentaire; la figure 35 représente une autre structure d'un registre de données;
la figure 36 représente une structure possible d'un re-
gistre de données incluant la structure unitaire de la fi-
gure 35;
la figure 37 représente une structure possible de la mé-
moire tampon de données représentée sur la figure 4; la figure 38 représente une structure possible d'un autre circuit de différence absolue utilisé dans un processeur élémentaire selon l'invention; la figure 39 représente une structure possible d'une unité de sommation lorsque le circuit de différence absolue de la figure 38 est utilisé;
la figure 40 représente une structure spécifique de l'u-
nité de sommation de la figure 39;
la figure 41 représente une structure possible du compres-
seur 4 à 2 de la figure 39; 24 -
la figure 42 représente une structure spécifique de l'u-
nité de sommation de la figure 39;
la figure 43 représente une structure spécifique du com-
parateur de la figure 1; la figure 44 représente la structure détaillée du compa- rateur représenté sur la figure 1; la figure 45 représente la structure du comparateur de la figure 44;
la figure 46 représente la structure de l'unité de comman-
de d'actualisation de la figure 44; la figure 47 représente une table de valeurs d'affectation de priorité pour chaque vecteur déplacement contenue dans le comparateur de priorité de la figure 44;
la figure 48 représente une structure possible du compa-
rateur de priorité de la figure 44;
la figure 49 représente un exemple de séquence d'incrémen-
tation et décrémentation du circuit additionneur/soustrac-
teur de la figure 48;
la figure 50 représente une structure spécifique du cir-
cuit additionneur/soustracteur de la figure 48;
la figure 51 représente la structure détaillée d'un dis-
positif de détection de vecteur mouvement selon un deuxième mode de réalisation de l'invention;
la figure 52 représente une structure spécifique du dis-
positif de détection de vecteur mouvement de la figure 51;
la figure 53 représente une structure spécifique du cir-
cuit formant mémoire tampon de la figure 52;
* la figure 54 représente la répartition des données mémo-
risées dans la mémoire tampon de la figure 53; la figure 55 représente des diagrammes de fonctionnement du circuit formant mémoire tampon de la figure 53; -
La figure 56 représente une structure détaillée possi-
ble du deuxième dispositif de la figure 51;
la figure 57 représente une structure spécifique du cir-
cuit générateur d'image à prédiction à précision fraction-
naire de la figure 56;
la figure 58 représente la structure du circuit de somma-
tion des valeurs de différence absolue de la figure 56;
la figure 59 est un schéma utilisé pour décrire le fonc-
tionnement du deuxième dispositif selon l'invention; la figure 60 représente la structure détaillée du deuxième dispositif de détection de vecteur mouvement de la figure 52;
la figure 61 représente une variante du dispositif de dé-
tection de vecteur mouvement de la figure 52; la figure 62 représente la séquence de fonctionnement du dispositif de détection de vecteur mouvement de la figure 61;
la figure 63 représente une autre structure de fonctionne-
ment du dispositif de détection de vecteur mouvement de la figure 52;
la figure 64 représente une variante du dispositif de dé-
tection de vecteur mouvement de la figure 63; la figure 65 représente la zone de recherche et le bloc de référence utilisés dans le troisième mode de réalisation, ainsi que l'intervalle de recherche; la figure 66 représente l'agencement du bloc de référence utilisé dans le troisième mode de réalisation;
la figure 67 est un schéma utilisé pour décrire le fonc-
tionnement d'un troisième mode de réalisation selon l'in-
vention;
la figure 68 est un schéma utilisé pour décrire le fonc-
tionnement d'un dispositif de détection de vecteur mouvement selon le troisième mode de réalisation de l'invention; les figures 69 à 71 sont des schémas utilisés pour décrire 26 -
le fonctionnement du dispositif de détection de vecteur mou-
vement selon le troisième mode de réalisation de l'inven-
tion;
la figure 72 est un chronogramme représentant la généra-
tion d'un vecteur mouvement dans le dispositif de détection de vecteur mouvement selon le troisième mode de réalisation de l'invention;
la figure 73 représente la structure d'un processeur élé-
mentaire utilisé dans le troisième mode de réalisation de l'invention; les figures 74 et 75 représente la structure utilisée pour
produire les données de deux blocs de référence pour le pro-
cesseur élémentaire représenté sur la figure 73; la figure 76 représente une autre structure du processeur élémentaire représenté sur la figure 73; les figures 77 A et 77 B représentent la structure détaillée
de l'unité de comparaison du dispositif de détection de vec-
teur mouvement selon le troisième mode de réalisation de l'invention;
la figure 78 représente la structure d'un dispositif obte-
nu en combinant le troisième mode de réalisation de l'inven-
tion avec le dispositif de détection de vecteur mouvement à précision fractionnaire; les figures 79 et 80 représentent une autre structure et
le fonctionnement de celle-ci lorsque le dispositif de dé-
tection de vecteur mouvement du troisième mode de réalisa-
tion est combiné avec le dispositif de détection de vecteur mouvement à précision fractionnaire; la figure 81 représente la structure d'un dispositif de détection de vecteur mouvement selon un quatrième mode de réalisation de l'invention;
la figure 82 représente la structure du dispositif de dé-
tection de vecteur mouvement à prédiction par interpolation
représenté sur la figure 81.
27 -
la figure 83 représente les structures du circuit géné-
rateur d'images de référence à prédiction par interpolation et de l'unité de détection de vecteur mouvement à prédiction par interpolation représentés sur la figure 82; la figure 84 représente la structure détaillée du circuit de détection de vecteur mouvement de la figure 82; la figure 85 représente en détail la structure du circuit représenté sur la figure 84; la figure 86 représente une variante du circuit générateur d'images de référence à prédiction par interpolation de la figure 82; la figure 87 représente une autre structure de l'unité
de détection de vecteur mouvement à prédiction par interpo-
lation;
la figure 88 représente une variante du dispositif de dé-
tection de vecteur mouvement du quatrième mode de réalisa-
tion; la figure 89 illustre la manière dont les données sont
traitées dans le dispositif de détection de vecteur mouve-
ment du quatrième mode de réalisation;
la figure 90 représente un exemple d'application du dispo-
sitif de détection de vecteur mouvement du quatrième mode de réalisation; la figure 91 représente une autre structure du dispositif
de détection de vecteur mouvement du quatrième mode de réa-
lisation;
la figure 92 représente la structure d'un circuit classi-
que de codage de signal d'image; la figure 92 représente la structure du circuit de codage de source représenté sur la figure 92;
les figures 94 A et 94 B sont des schémas utilisés pour dé-
crire le fonctionnement d'un dispositif de compensation de mouvement dans une image; 28 -
la figure 95 représente la disposition de la zone de re-
cherche et du bloc de référence dans la compensation du mou-
vement selon la méthode de mise en correspondance de blocs et la relation du vecteur mouvement; la figure 96 représente la structure d'un dispositif clas- sique de détection du vecteur mouvement;
la figure 97 représente la structure d'un processeur élé-
mentaire du groupement de processeurs de la figure 96; la figure 98 représente le balayage des données du bloc
de référence dans le dispositif de détection de vecteur mou-
vement représenté sur la figure 96 et la méthode de balayage de la fenêtre de recherche; la figure 99 illustre le fonctionnement du dispositif de détection de vecteur mouvement de la figure 96;
la figure 100 est un schéma utilisé pour décrire le fonc-
tionnement d'un dispositif classique de détection de vecteur mouvement;
la figure 101 représente une autre structure d'un dispo-
sitif classique de détection de vecteur mouvement;
la figure 102 est un schéma utilisé pour décrire le pro-
cédé de génération d'un vecteur mouvement à précision frac-
tionnaire; et
la figure 103 est un schéma utilisé pour décrire le vec-
teur mouvement à précision fractionnaire.
Premier mode de réalisation La figure 1 est donc un schéma synoptique représentant
la structure d'un dispositif de détection de vecteur mouve-
ment selon un premier mode de réalisation de l'invention.
Le dispositif de détection de vecteur mouvement de la figure
1 détecte un vecteur mouvement à précision entière.
En référence à la figure 1, le dispositif de détection
de vecteur mouvement comprend essentiellement une unité d'en-
29 - trée 2 pour recevoir les données de la fenêtre de recherche Y et les données du bloc de référence X pour fournir les
données reçues à des instants prédéterminée, une unité d'o-
pérations 1 pour calculer une valeur d'évaluation (fonction d'évaluation) relative à un vecteur déplacement pour un bloc de référence selon les données de sortie de l'unité d'entrée
2, et une unité formant comparateur 3 pour recevoir une va-
leur d'évaluation (Xia-b I) calculée par l'unité d'opérations 1 et obtenir une valeur minimale d'évaluation concernant un bloc de référence pour déterminer un vecteur déplacement correspondant à cette valeur minimale drévaluation comme étant le vecteur mouvement Le vecteur mouvement est fourni
par l'unité de comparaison 3.
L'unité d'opérations 1 comprend essentiellement un grou-
pement de processeurs 10 comprenant une pluralité de proces-
seurs élémentaires disposés en matrice, et une unité de som-
mation 12 pour fournir la somme totale des valeurs consti-
tuant les résultats des calculs (différences absolues dans
le présent mode de réalisation) fournies par chaque proces-
seur élémentaire du groupement de processeurs 10 Chaque
processeur élémentaire du groupement de processeurs 10 mémo-
rise des données différentes du bloc de référence et calcule
la composante d'une valeur d'évaluation indiquant la corré-
lation entre un bloc de référence et un bloc de la fenêtre
de recherche Dans le groupement de processeurs 10, les don-
nées du bloc de référence sont mémorisées en permanence pen-
dant le cycle de fonctionnement pour obtenir un vecteur mou-
vement pour ce bloc de référence Les données du bloc de la fenêtre de recherche sont décalées de la valeur de la
donnée d'un élément d'image dans le groupement de proces-
seurs à chaque cycle de calculs Par conséquent, une valeur
d'évaluation pour chaque vecteur déplacement peut être cal-
- culée avec le minimum d'opérations de transfert de données de la fenêtre de recherche, ce qui réduit la consommation
de courant, donc d'énergie La structure de l'unité d'opé-
rations 1 représentée sur la figure 1 est décrite en détail ci- après. La figure 2 est un schéma indiquant la taille d'un bloc de référence et celle d'une zone de recherche utilisés dans
le présent mode de réalisation Le bloc de référence 20 com- prend des éléments d'image disposés en Q lignes et P colon-
nes La zone de recherche 22 a un intervalle de recherche de +tl à -t 2 dans la direction horizontale et un intervalle de recherche de +rl à -r 2 dans la direction verticale Plus précisément, la zone de recherche 22 comprend des éléments
d'image de (t 2 +P+T 1) x (r 2 +Q+rl).
La figure 3 représente schématiquement la structure d'un processeur élémentaire compris dans le groupement de processeurs de la figure 1 En référence à la figure 3, un proceseur élémentaire PE comprend M registres de données -1 à 25-M montés en cascade pour mémoriser des données de bloc de référence Les registres de données 25-1 à 25-M ont des données différentes de bloc de référence mémorisées
dans ceux-ci Les registres de données 25-1 à 25-M corres-
pondent aux moyens formant mémoire dans les premiers moyens
de mémorisation.
Le processeur élémentaire PE comprend en outre N étages de registres de données montés en cascade 26-1 à 26-N pour
mémoriser des données de la fenêtre de recherche Les regis-
tres de données 26-1 à 26-N correspondent aux différents
moyens formant mémoire dans les deuxièmes moyens de mémori-
sation Le nombre N est un multiple entier de M (n fois).
Le nombre de lignes Q dans le bloc de référence est un mul-
tiple entier du nombre M d'étages de registres de données -1 à 25-M Dans ce processeur élémentaire PE, les calculs 31 - sont effectués en utilisant les données du bloc de référence mémorisées dans les M registres de données 25-1 à 25-M Ici, les registres de données 26-1 à 26-N utilisés pour mémoriser les données de la fenêtre de recherche peuvent être prévus avec une correspondance de un à un avec les registres de données 25-1 à 25-M pour mémoriser les données du bloc de référence (N=M) pour effectuer les calculs en utilisant les
données mémorisées dans chaque registre correspondant.
Le processeur élémentaire PE effectue les calculs pour les M données du bloc de référence Les moyens de calcul compris dans le processeur élémentaire PE sont utilisés de manière multiplexée pour les M registres de données 25-1 à 25-M Plus précisément, un seul moyen de calcul est prévu dans le processeur élémentaire PE dans le présent mode de
réalisation.
Les données de la fenêtre de recherche et les données
du bloc de référence ne sont transférées qu'entre des pro-
cesseurs élémentaires voisins et dans un seul sens.
La figure 4 représente la structure du groupement de processeurs de la figure 1 En référence à la figure 4, le groupement de processeurs 10 comprend essentiellement les groupements linéaires de processeurs LA 1 à LAP disposés en P colonnes Les groupements linéaires de processeurs LA 1 à LAP ont la même structure, chacun comprenant m processeurs élémentaires PE 1 à P Em montés en cascade, et une mémoire tampon de données DL pour mémoriser R (=rl+r 2) données de la fenêtre de recherche et fonctionnant comme des moyens
de retard.
Les processeurs élémentaires PE 1 à P Em transfèrent les données de la fenêtre de recherche et les données du bloc
de référence dans une direction et un seul sens (verticale-
ment et vers le haut sur la figure 4) dans le même groupe-
32 -
ment linéaire de processeurs LA 1 Lors du transfert de don-
nées à un groupement linéaire voisin de processeurs, les
données de la fenêtre de recherche issues du processeur élé-
mentaire le plus en amont PE 1 sont fournies à la mémoire tampon de données DL d'un groupement linéaire voisin de pro- cesseurs (vers la gauche sur la figure 4) Les données du bloc de référence issues du processeur élémentaires le plus en amont PE 1 sont fournies au processeur élémentaire le plus
en aval P Em du groupement linéaire voisin de processeurs.
Plus précisément, les données de la fenêtre de recherche
sont transférées par l'intermédiaire du processeur élémen-
taire PE et de la mémoire tampon de données DL, et les don-
nées du bloc de référence sont transférées par l'intermé-
diaire du processeur élémentaire PE seulement.
En plus de la fonction de retard mentionnée plus haut,
la mémoire tampon de données DL remplit une fonction consis-
tant à fournir les données reçues dans l'ordre de réception
(mémoire FIFO ou "file d'attente") Par conséquent, R cir-
cuits à verrouillage de données avec une fonction de déca-
lage ou R registres mémorisant des données peuvent être uti-
lisés comme mémoire tampon de données DL.
Dans le groupement de processeurs 10 décrit ci-dessus, une surface d'interconnexion suffisante pour les lignes de
signaux peut être assurée et la surface occupée par les in-
terconnexions peut être réduite au minimum en disposant en parallèle les lignes de signaux transférant les données de la fenêtre de recherche et les lignes de signaux transférant les données du bloc de référence Cela est possible parce que la région correspondant à la largeur d'un processeur
élémentaire PE peut être utilisée comme région d'intercon-
nexion.
La figure 5 représente un autre type de trajet de trans-
33 - fert des données Le trajet de transfert des données peut être établi de telle manière que la direction de transfert des données du bloc de référence, 32, et la direction de transfert des données de la fenêtre de recherche, 30, soient orthogonales entre elles, comme cela est représenté sur la figure 5 Du fait que les signaux d'image sont lus selon une trame dans une mémoire d'image générale, les données d'image successives sont mémorisées séquentiellement le long
de la direction indiquée par les flèches (direction horizon-
tale sur la figure) Lorsque des données doivent être trans-
férées dans la direction horizontale comme cela est repré-
senté sur la figure 5, les données d'une même ligne peuvent
être accédées et lues séquentiellement dans la mémoire d'i-
mage individuelle Cela est très commode pour la lecture et le transfert des données Les données de la fenêtre de
recherche et les données du bloc de référence sont trans-
férées dans un seul sens dans chaque processeur élémentaire.
Le fonctionnement du dispositif est décrit ci-après.
On considère le cas dans lequel une image individuelle est divisée en 8 x 8 macroblocs, comme cela est représenté sur la figure 6 En référence à la figure 6 A, la surface hachurée d'un macrobloc dans l'image individuelle courante 36 est supposée être le bloc de référence TB 1 (de "template block 1 " 1) Un vecteur mouvement doit être détecté dans le
bloc de référence TB 1.
Ici, les trois macroblocs hachurés MB 1, MB 2 et MB 3 d'u-
ne image individuelle précédente 35, comme cela est repré-
senté sur la figure 6 B, sont mémorisés dans le groupement de processeurs 10 Les données d'éléments d'image du bloc de référence TB 1 représenté sur la figure 6 A sont mémorisées dans chaque registre de données de processeur élémentaire PE Les données du bloc de référence Q/m disposées dans la 34 - direction verticale sur la figure sont mémorisées dans un processeur élémentaire PE En ce qui concerne les données de la fenêtre de recherche, les données de Q(n/m) éléments d'image voisins dans la direction verticale sont mémorisées dans un processeur élémentaire Dans le groupement de pro- cesseurs élémentaires, 10, des données d'éléments d'image au nombre de Q dans la direction verticale et de P dans la
direction horizontale, soit un total de Px Q données d'élé-
ments d'image dans la fenêtre de recherche, sont mémorisées.
Chacune des Qx P données d'éléments d'image est appelée "don-
née d'élément d'image du bloc de la fenêtre de recherche"
dans la description qui suit Les autres R données d'élé-
ments d'image de la fenêtre de recherche sont mémorisés dans la mémoire tampon de données DL Cet état du dispositif est
représenté sur la figure 7.
Plus précisément, les données de la fenêtre de recher-
che au nombre de Px Q données d'éléments d'image forment un bloc de la fenêtre de recherche 42 et sont mémorisées dans
chaque processeur élémentaire PE du groupement de proces-
seurs Les autres (rl+r 2)P données d'éléments d'image sont mémorisées dans la mémoire tampon de données DL La région des données d'éléments d'image 44 mémorisée dans la mémoire tampon DL est appelée "bloc latéral de la fenêtre" dans ce
qui suit Dans la description donnée ci-après, le bloc de
la fenêtre de recherche 42 combiné avec le bloc latéral de
la fenêtre 44 est appelé "fenêtre de recherche" 40.
En référence à la figure 8, M données du bloc de réfé-
rence et N données du bloc de la fenêtre de recherche sont
mémorisées dans un processeur élémentaire PE Puisque m pro-
cesseurs élémentaires PE sont montés en cascade, les données
d'éléments d'image mémorisées successivement dans les Q co-
lonnes sont mémorisées en fait dans un groupement linéaire - de processeurs élémentaires PE Le fonctionnement détaillé
de ceux-ci est décrit ci-après.
Pour simplifier la description qui suit, on admet les
paramètres suivants: taille du bloc de référence: P = Q = 16; intervalle de recherche du vecteur mouvement: Rl = R 2 = 15, t 2 = 2, tl = 15, m = 8;
M = N = 2.
La figure 9 représente l'état de mémorisation des don-
nées dans le premier cycle de fonctionnement du dispositif de détection de vecteur mouvement En référence à la figure 9, les données du bloc de référence 43 formé des données
d'éléments d'image de 16 lignes et 16 colonnes sont mémori-
sées dans chaque processeur élémentaire PE du groupement
de processeurs 10 D'une manière analogue, les données d'é-
léments d'image du bloc de la fenêtre de recherche 42 de
16 lignes x 16 colonnes sont mémorisées dans chaque proces-
seur élémentaire PE du groupement de processeurs Cet état correspond à un vecteur déplacement ( 0, -15) Dans cet état, chacun des processeurs élémentaires calcule la différence
absolue entre les données du bloc de référence et les don-
nées du bloc correspondant de la fenêtre de recherche La
différence absolue calculée par chaque processeur élémen-
taire PE est transférée à l'unité de sommation 12 pour être accumulée La somme totale est utilisée pour obtenir une valeur d'évaluation (fonction d'évaluation) correspondant
à ce vecteur déplacement ( 0, -15).
Les données du bloc de référence sont maintenues dans chaque processeur élémentaire PE et seules les données du
bloc de la fenêtre de recherche sont transférées de la va-
leur d'un élément d'image.
Dans cet état, les données qui se trouvent dans la li-
36 - gne située tout en haut du bloc de la fenêtre de recherche 42 sont transférées à la mémoire tampon de données DL de la colonne voisine, comme cela est représenté sur la figure A En réponse à cela, la première donnée d'élément d'image du bloc de la fenêtre de recherche est sortie par décalage. En parallèle sur cette opération de sortie par décalage, une nouvelle donnée du bloc de la fenêtre de recherche est introduite La donnée du bloc de la fenêtre de recherche qui est sortie par décalage et la nouvelle donnée du bloc de la fenêtre de recherche qui est introduite par décalage sont représentées dans les parties hachurées de la figure 1 OA. Par conséquent, dans le processeur élémentaire PE du
groupement de processeurs 10, le bloc de la fenêtre de re-
cherche 42 a qui est décalé d'une ligne vers le bas dans la fenêtre de recherche 40 est mémorisé Ici, le déplacement entre le bloc de référence 43 et le bloc 42 a de la fenêtre
de recherche est le vecteur ( 0, -14).
Dans cet état, le calcul de la différence absolue et l'accumulation analogues à l'opération décrite plus haut sont effectués pour obtenir une valeur d'évaluation pour
le vecteur déplacement ( 0, -14).
Lorsque cette opération est répétée pour arriver à un
vecteur déplacement ( 0, O), le bloc de la fenêtre de recher-
che 42 b compris dans la fenêtre de recherche coïncide exac-
tement avec le bloc de référence 43, comme cela est repré-
senté sur la figure 11 A En ce qui concerne les données de la fenêtre de recherche 40 mémorisées dans le groupement de processeurs, les données de la fenêtre de recherche d'une position décalée d'une colonne vers la droite dans le haut de la région de 15 x 15 éléments d'image sont mémorisés En faisant sortir par décalage un élément binaire, ou "binaire"
_ 37 -
ou "bit", des données de la fenêtre de recherche qui n'est plus nécessaire pour le calcul de la valeur d'évaluation
et en décalant d'un élément d'image les données dans la fe-
nêtre de recherche, les données de la fenêtre de recherche de la colonne suivante sont mémorisées nouvellement en pa-
rallèle sur le calcul de la valeur d'évaluation.
Lorsque le vecteur déplacement devient ensuite égal à ( 0, + 15), le bloc de la fenêtre de recherche 42 c est situé dans la partie inférieure de la fenêtre de recherche, comme 1 l cela est représenté sur la figure 12 A Après qu'une valeur d'évaluation a été calculée pour ce vecteur déplacement ( 0, + 15) dans cet état, la donnée PY 1 de la fenêtre de recherche
qui n'est plus nécessaire est sortie du groupement de pro-
cesseurs par décalage, et une nouvelle donnée PY 2 de la fe-
nêtre de recherche est introduite par décalage Ces opéra-
tions de décalage sont répétées 16 fois Ces opérations de décalage permettent d'obtenir toutes les données nécessaires
pour les calculs à effectuer dans l'étape suivante.
Dans l'étape suivante, le calcul d'une valeur d'évalua-
tion pour la fenêtre de recherche décalée d'une colonne vers
la droite dans la zone de recherche est effectué Plus pré-
cisément, en référence à la figure 13, la fenêtre de recher-
che suivante 40 a dans la zone de recherche 45 est formée
de données d'éléments d'image à position décalée d'une co-
lonne vers la droite par rapport à la fenêtre de recherche initiale 40 Dans l'état représenté sur la figure 12 B, les données d'éléments d'image d'une région 50 indiquée par des
hachures sont mémorisées dans le groupement de processeurs.
Pour mémoriser dans chaque processeur élémentaire du grou-
* pement de processeurs les données du bloc de la fenêtre de
recherche à la position supérieure de la fenêtre de recher-
che 40 a représentée sur la figure 13, les 15 autres données 38 d'éléments d'image sont introduites par décalage comme cela est décrit plus haut pour l'état représenté par la figure
12 B Il en résulte que le bloc 42 d de la fenêtre de recher-
che situé tout en haut de cette fenêtre de recherche 40 a est mémorisé nouvellement dans chaque processeur élémentaire PE du groupement de processeurs Cela correspond à l'état dans lequel le bloc 42 d de la fenêtre de recherche et le bloc de référence 43 correspondant au vecteur déplacement ( 1, -15) sont mémorisés dans le processeur élémentaire Le calcul de la différence absolue et de la somme totale des différences absolues, c'est-à-dire le calcul d'une valeur d'évaluation, est effectué pour cet état Sur la figure 14, les zones de une colonne de largeur indiquées par des lignes en trait interrompu représentent les données de la fenêtre
de recherche sorties par décalage et les données de la fe-
nêtre de recherche introduites par décalage.
En effectuant les opérations de décalage décrites ci-
dessus l( 15 + 15 + 1 + 16)x 15 l+( 15 + 15 + 1) = 736 fois, le calcul d'une valeur d'évaluation pour le vecteur déplacement ( 15, 15) tel que représenté sur la figure 15 est effectué Plus précisément, le calcul de la valeur d'évaluation du bloc 42 e de la fenêtre de recherche situé en bas et à droite de la zone de recherche est effectué pour le bloc de référence 43. Dans cet état, les données de la région 50 a indiquée
par des hachures sont mémorisées dans le processeur élémen-
taire PE du groupement de processeurs, comme cela est repré-
senté sur la figure 16 Les données de l'autre région (ré-
gion latérale de la fenêtre) 52 de 16 x 30 éléments d'image
sont mémorisées dans la mémoire tampon de données L'exécu-
tion des opérations décrites ci-dessus permet de calculer toutes les fonctions d'évaluation (valeurs d'évaluation) 39 -
nécessaires pour le bloc de référence 43 La valeur d'éva-
luation minimale (fonction d'évaluation) parmi toutes les fonctions d'évaluation calculées (valeurs d'évaluation) est
obtenue dans l'unité de comparaison, ce qui fait que le vec-
teur déplacement correspondant est déterminé comme étant
le vecteur mouvement pour le bloc de référence 43.
Le mouvement des données d'éléments d'image décrites
plus haut est décrit ci-après sur la base des données d'élé-
ments d'image de la fenêtre de recherche Comme cela est représenté sur la figure 17, on suppose que le groupement de processeurs 10 comprend 64 processeurs élémentaires PEO à PE 63 disposés en 8 lignes et 8 colonnes La mémoire tampon de données DL n'est pas représentée sur la figure 17 Les processeurs élémentaires PEO à PE 63 ont chacun des données
d'élément d'image du bloc de référence mémorisés dans ceux-
ci Le bloc de référence comprend les données d'éléments
d'image a O,O à a 7,7 disposés en 8 lignes et 8 colonnes, com-
me cela est représenté sur la figure 18 Les données d'élé-
ments d'image ai,j sont des données situées à l'intersection de la i- ième ligne et la j-ième colonne du bloc de référence de 8 lignes et 8 colonnes Les données d'éléments d'image du bloc de référence résident dans un processeur élémentaire
correspondant pendant la période de calcul du vecteur mou-
vement. On suppose que l'intervalle de recherche est de -8 à + 8 dans la direction horizontale et -8 à + 8 dans la direction
verticale La figure 19 représente la disposition des don-
nées d'éléments d'image dans la moitié de la zone de recher-
che, c'est-à-dire dans la partie de l'intervalle de recher-
che de O à + 8 dans la direction horizontale Plus précisé-
ment, la zone de recherche comprend les données d'éléments d'image b O,O à b 23,15 disposés en 24 lignes et 16 colonnes -
sur la figure 19 La notation bi,j indique un élément d'i-
mage de référence situé à l'intersection de la i-ième ligne
et la j-ième colonne dans la zone de recherche.
Avec la disposition représentée sur les figures 17, 18 et 19, une valeur d'évaluation est calculée pour chacun
des vecteurs déplacement ( 0, -8) à ( 8, 8) Bien que les pro-
cesseurs élémentaires PEO à PE 63 soient disposés en matrice,
le transfert des données se fait dans un seul sens Par con-
séquent, comme cela est représenté sur la figure 21, les
processeurs élémentaires PEO à PE 63 du groupement de proces-
seurs 10 et les mémoires tampon de données DL sont disposés en fait en une seule colonne pour les données d'éléments
d'image de la fenêtre de recherche.
En référence à la figure 21, une colonne de processeurs PL 1 comprend les processeurs élémentaires PEO à PE 7, et la
colonne de processeurs PL 2 comprend les processeurs élémen-
taires PE 8 à PE 15 Une colonne P Lk comprend donc les proces-
seurs élémentaires PE( 8 k) à PE( 8 k+ 7), o k = O à 7 Une mé-
moire tampon de données DL (k+ 1) est montée entre les colon-
nes de processeurs P Lk et PL(k+ 1) Par ailleurs, une mémoire tampon DL 8 est prévue dans la partie entrée de la colonne de processeurs la plus extrême PL 7 (la plus proche de la partie entrée des données d'éléments d'image) Chacune des mémoires tampons DL 1 à DL 8 mémorise des données d'éléments
d'image et transfère les données dans un seul sens.
Comme état initial, on considère l'état dans lequel les données d'éléments d'image de la fenêtre de recherche b Oo à b 7,0 sont mémorisées dans la colonne de processeurs PLO, et les données d'éléments d'image b 8, O et b 23, O sont
mémorisées dans la mémoire tampon DL 1, comme cela est repré-
senté sur la figure 21 En d'autres termes, on considère l'état dans lequel les 0-ième à 23-ième lignes et les 0-ième 41 - à 7-ibme colonnes sont mémorisées dans la zone de recherche de la figure 19 Les données d'éléments d'image des 0-ième à 7-ième lignes et des 0-ième à 7-ième colonnes dans la zone
de recherche de la figure 19 sont mémorisées dans les colon-
nes de processeurs PLO à PL 7 Ici, les données d'éléments d'image du bloc de référence a O, O à a 7, 7 indiquées sur
la figure 18 sont mémorisées dans les processeurs élémentai-
res correspondants PEO à PE 63 de telle manière qu'une co-
lonne de données d'éléments d'image du bloc de référence a O, k à a 7, k soit mémorisée dans une colonne de processeurs P Lk Cet état correspond à un vecteur déplacement (O, -8), et une valeur d'évaluation pour ce vecteur déplacement est
alors calculée.
Dans le cycle suivant, le décalage des données d'élé-
ments d'image de la fenêtre de recherche est effectué Plus précisément, comme cela est représenté sur la figure 22 (a), la donnée d'élément d'image b O, O est sortie par décalage
et la donnée d'élément d'image b O, 8 est introduite par dé-
calage Ces opérations de décalage sont exécutées par l'in-
termédiaire d'une mémoire tampon (indiquée par des hachures sur la figure 22) Les données d'éléments d'image d'un bloc de la fenêtre de recherche plus bas d'une ligne dans la zone de recherche représentée sur la figure 19 sont mémorisées dans les colonnes de processeurs PLO à PL 7 Ce nouveau bloc
de la fenêtre de recherche correspond à un vecteur déplace-
ment (O, -7) (Les données du bloc de référence ne sont pas
décalées) En effectuant les calculs pour cet état, on cal-
cule alors une valeur d'évaluation pour le vecteur déplace-
ment ( 0, -7).
Ensuite, comme cela est représenté sur la figure 22 (b), la donnée d'élément d'image bl, 8 de la première ligne et
la huitième colonne est introduite par décalage, et la don-
42 - née d'éléments d'image bl, O est sortie par décalage Les données d'éléments d'image mémorisées dans les colonnes de processeurs PLO à PL 7 sont décalées d'une ligne vers le bas
(sur la figure 19) C'est-à-dire qu'une colonne de proces-
seurs P Lk a les données d'éléments d'image du bloc de la
fenêtre de recherche b 2, k à b 9, k mémorisées dans celle-ci.
Ce bloc de la fenêtre de recherche correspond à un vecteur déplacement (O, -6), et une valeur d'évaluation est ensuite
calculée pour ce vecteur déplacement.
En exécutant les opérations de décalage et les calculs décrits ci-dessus, la donnée d'élément d'image b 7, 8 est introduite par décalage, et la donnée d'élément d'image b 7, O est sortie par décalage, comme cela est représenté sur la figure 22 (c) Les données d'éléments d'image b 8, k à b 15, k sont mémorisées dans la colonne de processeurs P Lk Le bloc de la fenêtre de recherche mémorisé dans les colonnes de processeurs PLO à PL 7 correspond à un vecteur déplacement
(O, a).
Lorsque les opérations de décalage et les calculs sont exécutées 8 fois après le calcul de la valeur d'évaluation
pour le vecteur déplacement ( 0, 0), la donnée d'élément d'i-
mage b 15, 8 est introduite par décalage et la donnée d'élé-
ment d'image b 15, O est sortie par décalage, comme cela est
représenté sur la figure 22 (d) Les données d'éléments d'i-
mage du bloc de la fenêtre de recherche correspondant au vecteur déplacement ( 0, 8) sont mémorisées dans la colonne
de processeurs Ce bloc de la fenêtre de recherche corres-
pond donc au vecteur déplacement (O, 8).
Après le calcul de la valeur d'évaluation pour le vec-
teur déplacement ( 0, 8), on calcule la valeur d'évaluation pour le vecteur déplacement ( 1, -8) Ici, toutes les données
d'éléments d'image de la 8-ième colonne de la zone de re-
43 - cherche ne sont pas encore introduites par décalage Par
conséquent, les autres données d'éléments d'image de la fe-
nêtre de recherche b 16, 8 à b 23, 8 de la 8-ième colonne sont introduites par décalage En réponse à cette opération, les données d'éléments d'image qui ne sont plus nécessaires b 16, O à b 23, O sont sorties par décalage Cela est représenté sur la figure 23 (a) Dans l'état représenté sur la figure 23 (a), les données d'éléments d'image b O, k+ 1 à b 7, k+ 1 sont
mémorisées dans une colonne de processeurs P Lk Plus préci-
sément, les données d'éléments d'image du bloc de la fenêtre
de recherche pour le vecteur déplacement ( 1, -8) sont mémo-
risées dans les processeurs élémentaires PEO à PE 63, et une valeur d'évaluation est calculée pour ce vecteur déplacement
( 1, -8).
Les opérations de décalage et les calculs pour une don-
née d'élément d'image sont effectués de nouveau Plus préci-
sément, la donnée d'élément d'image b O, 9 est introduite par décalage et la donnée d'élément d'image b O, 1 est sortie par décalage, comme cela est représenté sur la figure 23 (b), ce qui fait que les calculs d'une valeur d'évaluation pour
le vecteur déplacement ( 1, -7) sont effectués.
Les opérations décrites ci-dessus sont répétées jusqu'à
ce que la donnée d'élément d'image b 15, 16 et la donnée d'é-
lément d'image b 15, 8 soient respectivement introduite et sortie par décalage, comme cela est représenté sur la figure 23 (c) pour effectuer le calcul de la valeur d'évaluation
pour le dernier vecteur déplacement ( 8, 8).
Les opérations de décalage d'une donnée d'élément d'i-
mage de la zone de recherche décrites ci-dessus sont équi-
valentes à la formation d'une colonne de données d'éléments
d'image par concaténation de toutes les colonnes de la ma-
trice de la zone de recherche de la figure 19 et décalage 44 - d'une donnée d'élément d'image à la fois La mémoire tampon est insérée pour que seules les données d'éléments d'image nécessaires (données du bloc de la fenêtre de recherche)
soient mémorisées dans les processeurs élémentaires.
Dans la structure décrite ci-dessus, les données du bloc de référence sont mémorisées dans chaque processeur élémentaire du groupement de processeurs Seules les données
de la zone de recherche sont décalées à chaque cycle d'opé-
rations Le sens de lecture des données dans la zone de re-
cherche est, comme cela est représenté sur la figure 24, un sens unique (vers le bas sur la figure) dans la zone de recherche 45 Du fait que le transfert des données de la zone de recherche est effectué dans un seul sens, un agen-
cement de circuits qui sélectionne le sens de transfert des données n'est pas nécessaire, ce qui réduit la complexité des opérations nécessaires pour réaliser le transfert des données Par ailleurs, la consommation d'énergie est réduite
grâce à la réduction de la complexité des circuits.
La figure 25 représente une structure spécifique d'un
processeur élémentaire PE Dans la structure de l'art anté-
rieur, seuls les moyens de mémorisation des données de la
fenêtre de recherche et les moyens de mémorisation des don-
nées du bloc de référence ont été décrits Une structure
spécifique d'un processeur élémentaire PE est décrite ci-
après en relation avec la figure 25.
En référence à la figure 25, un processeur élémentaire PE comprend deux étages de registres montés en cascade 26-1
et 26-2 pour mémoriser les données de la fenêtre de recher-
che, un sélecteur 60 pour sélectionner les données mémori-
sées dans l'un des registres 26-1 et 26-2 selon un signal de sélection SEL, deux étages de registres montés en cascade -1 et 25-2 pour mémoriser les données du bloc de référence, - un sélecteur 62 pour sélectionner les données mémorisées
dans l'un des registres 25-1 et 25-2 selon un signal de sé-
lection SEL 1, et un circuit de différence absolue 64 pour
calculer la différence absolue entre les données sélection-
nées par les sélecteurs 60 et 62 Cette structure correspond
à M = N = 2 sur la figure 3.
Les registres 26-1 et 26-2 forment un étage de registre à décalage pour exécuter le transfert et le verrouillage
des données reçeus selon un signal d'horloge non représenté.
D'une manière analogue, les registres 25-1 et 25-2 forment
un registre à décalage pour exécuter le décalage et le ver-
rouillage des données du bloc de référence reçues selon un
signal d'horloge de transfert non représenté.
Le sélecteur 60 fonctionne en synchronisme avec le sé-
lecteur 62 et sélectionne une paire de registres 26-1 et
-1 ou 26-2 et 25-2.
Dans la structure représentée sur la figure 25, un pro-
cesseur élémentaire PE effectue les calculs pour les données
de deux éléments d'image du bloc de référence.
Les données du bloc de référence sont mémorisées dans
les registres 25-1 et 25-2 jusqu'à ce qu'un vecteur mouve-
ment correspondant soit détecté Les registres 26-1 et 26-2 mémorisant les données de la fenêtre de recherche ont leur
contenu décalé d'un élément d'image à chaque cycle Les sé-
lecteurs 60 et 62 sélectionnent alternativement deux regis-
tres dans un cycle de transfert des données d'un élément d'image de la fenêtre de recherche En d'autres termes, le
circuit de différence absolue 64 effectue le calcul néces-
saire pour obtenir la différence absolue à la moitié du cy-
cle de transfert des données de la fenêtre de recherche.
La figure 26 représente une structure spécifique du circuit de différence absolue de la figure 25 En référence 46 - à la figure 26, le circuit de différence absolue 64 comporte un soustracteur 70 ayant une entrée négative A pour recevoir les données de la fenêtre de recherche issues du sélecteur de la figure 25 et une entrée positive B pour recevoir les données du bloc de référence issues du sélecteur 62 de la figue 25 Le soustracteur 70 fournit le résultat de la soustraction sous la forme d'un mot de plusieurs binaires précédé d'un signe, ou "mot signé" Le binaire de signe S
(A>B) devient " 1 " lorsque la donnée de la fenêtre de recher-
che est plus grande que la donnée du bloc de référence, et
devient " O " dans le cas contraire On suppose que le résul-
tat fourni par le soustracteur 70 représente la donnée en
notation du complément à deux Le circuit de différence ab-
solue comprend un circuit OU exclusif, ou "EXOR", 72 pour recevoir le binaire de signe S (A>B) et les autres binaires
issus du soustracteur 70 (appelés ci-après "binaires d'am-
plitude") et un incrémenteur 74 pour ajouter 1 à la donnée
de sortie du circuit OU exclusif 72 selon le binaire de si-
gne S (A>B) L'incrémenteur 74 ajoute 1 à la donnée de sor-
tie du circuit OU exlcusif 72 lorsque le binaire de signe S (A>B) est " 1 " Lorsque le binaire de signe S (A>B) est "l Oit, l'incrémenteur 74 n'ajoute pas 1 à la donnée de sortie du circuit OU exclusif 72 et laisse passer la valeur telle quelle Le circuit OU exclusif 72 effectue les calculs pour une donnée (à plusieurs binaires) d'élément d'image Chaque binaire de la donnée d'élément d'image est inversé ou non
selon la valeur des binaires d'amplitude.
Lorsque le binaire de signe S (A>B) est " O ", le circuit OU exclusif 72 laisse passer les binaires d'amplitude (les
binaires autres que le binaire de signe de la donnée de sor-
tie du soustracteur 70) issu du soustracteur 70 Lorsque le binaire de signe S (A>B) est " 1 ", le circuit OU exclusif 72 47 -
inverse chacun des binaires d'amplitude issus du soustrac-
teur 70 Plus précisément, une addition modulo 2 de chacun
des binaires d'amplitude issus du soustracteur 70 et du bi-
naire de signe S (A>B) est effectuée dans le circuit OU ex-
clusif 72. Le soustracteur 70 effectue le calcul de B-A Si le résultat de la soustraction est positif, le binaire de signe S (A>B) est " O ", s'il est négatif, le binaire est " 1 " La
donnée de sortie du soustracteur 70 est représentée en nota-
tion du complément à deux Par conséquent, la différence absolue l B-AI est fournie en effectuant sélectivement une inversion de binaire ou en incrémentant de 1 la donnée de sortie du soustracteur selon le binaire de signe S (A>B)
avec le circuit OU exclusif 72 et l'incrémenteur 74.
Dans la structure représentée sur la figure 25, un pro-
cesseur élémentaire PE comporte deux registres de mémorisa-
tion des données du bloc de la fenêtre de recherche et deux
registres de mémorisation des données du bloc de référence.
Cette configuration correspond à M = N = 2 Dans cette con-
figuration, les sélecteurs 60 et 62 exécutent une opération de sélection selon un cycle dont la période est égale à deux fois la cadence de transfert des binaires des données de
la fenêtre de recherche En conséquence, le circuit de dif-
férence absolue 64 effectue les calculs à une vitesse double de la cadence de transfert des binaires des données de la fenêtre de recherche Lorsqu'il est prévu N registres, les sélecteurs sélectionnent séquentiellement les N registres selon les signaux de sélection SELO et SEL 1 dans un cycle de transfert des données de la fenêtre de recherche, comme
cela est représenté sur la figure 27 Dans ce cas, le cir-
cuit de différence absolue effectue les calculs à N fois
la cadence de transfert des binaires des données de la fenê-
48 -
tre de recherche (ici, N = M).
L'utilisation des deux registres de mémorisation des
données du bloc de la fenêtre de recherche et des deux re-
gistres de mémorisation des données du bloc de référence représentés sur la figure 25 pour effectuer les calculs de différence absolue en validant alternativement les deux jeux de registres permet d'effectuer le calcul de la différence absolue entre deux données d'éléments d'image dans un cycle de transfert dans un seul processeur élémentaire, comme cela est représenté sur la figure 28 Cette structure permet donc
de calculer la différence absolue avec le nombre de proces-
seurs élémentaires réduit de moitié et a, par conséquent,
l'avantage de réduire la taille du groupement de processeurs.
Un avantage supplémentaire peut être obtenu en prévoyant
une pluralité de registres de mémorisation de données.
En référence à la figure 29, les signaux de sélection
SELO et SEL 1 sont commutés à deux fois la cadence de trans-
fert des données de la fenêtre de recherche Ici aussi, une sélection analogue à celle qui a été faite lors du calcul
des deux jeux de données d'éléments d'image est effectuée.
Un signal 4 S de commande d'activation de l'unité d'opéra-
tions est produit à une cadence identique à la cadence de
transfert des données de la fenêtre de recherche (voir fi-
gure 29) Ici, seul le résultat calculé (différence absolue) pour le jeu de données d'éléments d'image sélectionné en
premier par les signaux de sélection SEL O et SEL 1 est four-
ni Le résultat des calculs effectués pour le deuxième jeu de données d'éléments d'image sélectionné par les deuxièmes
signaux de sélection SEL O et SEL 1 n'est pas fourni en sor-
tie Les données du bloc de la fenêtre de recherche sont décalées d'un élément d'image à chaque cycle Les données du bloc de référence restent mémorisées dans le groupement
de processeurs jusqu'à ce que le vecteur mouvement soit dé-
49 - terminé Par conséquent, cela est équivalent à l'emploi du souséchantillonnage pour obtenir le résultat du calcul d'un vecteur mouvement, comme cela est représenté sur la figure Les points d'évaluation obtenus dans le calcul de la différence absolue peuvent être sélectionnés et une fonction d'évaluation (valeur d'évaluation) peut être produite en utilisant un circuit de calcul peu rapide Par conséquent, la consommation d'énergie peut être réduite et la complexité du circuit générateur de valeurs d'évaluation peut également
être réduite.
Dans un processeur élémentaire, le calcul de la diffé-
rence absolue est effectué en n'utilisant qu'une des données
du bloc de référence, comme cela est représenté sur la fi-
gure 30 (Sur la figure 30, seules les données des éléments d'image indiqués par des hachures sont utilisées dans le bloc de référence 43) Dans ce cas, il n'est pas nécessaire de mémoriser toutes les données d'éléments d'image du bloc de référence 43 dans le processeur élémentaire du groupement de processeurs pour réaliser le sous- échantillonnage Le
même résultat peut être obtenu en ne mémorisant que les don-
nées valides nécessaires dans le processeur élémentaire.
La figure 31 représente une autre structure d'un pro-
cesseur élémentaire En référence à la figure 31, un proces-
seur élémentaire PE comprend deux étages de registres de mémorisation des données de la fenêtre de recherche montés en cascade 26-1 et 26-2, un sélecteur 60 pour sélectionner séquentiellement les données mémorisées dans les registres 26-1 et 26-2 selon un signal de sélection SEL, un registre
à un étage 25 pour mémoriser les données du bloc de référen-
ce, et un circuit de différence absolue 64 pour fournir la
différence absolue entre la donnée sélectionnée par le sé-
lecteur 60 et la donnée mémorisée dans le registre 25.
- Dans le registre 25 mémorisant les données du bloc de référence, seules les données valides (données des éléments d'image hachurés) sont mémorisées parmi les données du bloc de référence 43 de la figure 30 Le sélecteur 60 sélectionne les données mémorisées dans les registres 26-1 et 26-2 selon le signal de sélection SEL à une cadence égale à deux fois
la cadence de transfert Y des données de la fenêtre de re-
cherche Le circuit de différence absolue 64 effectue les calculs à une cadence identique à la cadence de transfert Y des données de la fenêtre de recherche Par conséquent, la différence absolue entre la donnée mémorisée dans un des
registres 26-1 et 26-2 et la donnée mémorisée dans le regis-
tre 25 est obtenue en permanence Le circuit de différence
absolue 64 effectue les calculs selon les données qu'il re-
çoit, et un circuit à verrouillage, ou "verrou", de donnée pour le souséchantillonnage peut être prévu au niveau de
l'étage de sortie du circuit de différence absolue 64.
Selon la structure décrite ci-dessus, le calcul du vec-
teur mouvement pour le bloc de référence peut être effectué à une grande vitesse En outre, la complexité des circuits
d'un processeur élémentaire peut être réduite.
Au lieu d'utiliser le sélecteur 60, on peut réaliser une structure pour transférer les données du registre 26-1 ou du registre 26-2 au circuit de différence absolue 64 par
câblage de telle manière que le calcul de la valeur d'éva-
luation soit effectué pour les données valides du bloc de
référence 43 représenté sur la figure 30.
* La figure 32 représente un exemple de structure d'un
registre de données En référence à la figure 32, le regis-
tre de données a la structure d'un registre à décalage Le registre à décalage SR comporte un transistor MOS à canal N, ou NMOS", (transistor à effet de champ du type à grille 51 - isolée) NT 1 pour recevoir un signal d'horloge de transfert 4 appliqué à sa grille, et un transistor MOS à canal P, ou
"PMOS", PT 1 pour recevoir un signal complémentaire d'hor-
loge de transfert /4 appliqué à sa grille Les transistors NT 1 et PT 1 forment une porte de transmission à transistors MOS complémentaires, ou "CMOS", pour transférer une donnée
reçue en réponse au signal d'horloge 4.
Le registre à décalage SR comprend en outre un circuit inverseur I Vl pour inverser la donnée transférée issue des
transistors NT 1 et PT 1, un circuit inverseur IV 2 pour inver-
ser et transmettre la donnée de sortie du circuit inverseur I Vi à l'entrée de ce circuit I Vi, un transistor MOS à canal N NT 2 pour recevoir le signal d'horloge /4 à sa grille, un
transistor MOS à canal P PT 2 pour recevoir le signal d'hor-
loge de transfert 4 à sa grille, un circuit inverseur IV 3 pour inverser la donnée transférée par les transistors NT 2 et PT 2, et un circuit inverseur IV 4 pour inverser la donnée de sortie du circuit inverseur IV 3 et la fournir à l'entrée
de ce circuit inverseur IV 3.
Les circuits inverseurs I Vi et IV 2 forment un circuit à verrouillage inverseur, et les circuits inverseurs IV 3
et IV 4 forment l'autre circuit à verrouillage inverseur.
Les transistors NT 2 et PT 2 forment une porte de transmission
CMOS pour transmettre les données reçues, en réponse au sig-
nal complémentaire d'horloge de transfert /4.
Une pluralité de registres à décalage tels que celui représenté sur la figure 32 sont prévus en parallèle selon
le nombre de binaires des données d'éléments d'image.
L'utilisation du registre à décalage SR de la figure
32 comme registre de mémorisation de données du bloc de ré-
férence permet de réaliser facilement le transfert unidirec-
tionnel des données d'éléments d'image et la sélection des 52 - données Lorsqu'une donnée doit être fournie au circuit de différence absolue, la donnée doit être tirée de la partie
entrée du circuit inverseur IV 3.
La figure 33 représente une autre structure d'un pro-
cesseur élémentaire En référence à la figure 33, le proces- seur élémentaire PE comprend une pile de registres à N mots 73 pour mémoriser les données de la fenêtre de recherche de N mots, une pile de registres de M mots 75 pour mémoriser les données du bloc de référence de M mots, et un circuit de différence absolue 64 pour calculer la différence absolue entre des données lues dans la pile de registres de N mots
73 et la pile de registres de M mots 75, respectivement.
Un mot correspond à une donnée d'élément d'image Les don-
nées de un mot sont respectivement lues dans la pile de re-
gistres de N mots 73 et la pile de registres de M mots et fournies au circuit de différence absolue 64 Les piles de
registres 73 et 75 sont constituées chacune par une plura-
lité de registres ayant la structure d'une file d'attente,
ou "pile FIFO" (de "first in, first out").
Dans la structure décrite ci-dessus, il n'est pas né-
cessaire de prévoir un circuit de sélection Un jeu de don-
nées correspondantes d'éléments d'image peut être fourni au circuit de différence absolue 64 en lisant des données en synchronisme dans les piles de registres 73 et 75 La structure d'une pile de registres est décrite en détail plus loin Le circuit de différence absolue 64 a une cadence de calcul, ou de fourniture des données de sortie, déterminée
selon le procédé de traitement (sous-échantillonnage ou é-
chantillonnage de toutes les données d'éléments d'image).
La figure 34 représente une autre structure d'un pro-
cesseur élémentaire En référence à la figure 34, le proces-
seur élémentaire PE comporte un circuit de sommation des 53 - différences absolues 65 au lieu d'un circuit de différence absolue 64 Plus précisément, le processeur élémentaire PE
représenté sur la figure 34 effectue le calcul de la diffé-
rence absolue des données du bloc de référence de M mots mémorisés dans la pile de registres de M mots 75 et l'accu- mulation de la différence absolue Du fait que la sommation
partielle des M données d'éléments d'image du bloc de réfé-
rence est transférée à l'unité de sommation, le calcul de sommation complet peut être effectué à une vitesse plus
grande.
La figure 35 représente la structure d'une cellule de
mémorisation d'un binaire dans la pile de registres repré-
sentée sur les figures 33 et 34 En référence à la figure , l'unité de base d'une pile de registre est constituée par une cellule de mémoire MC (de "memory cell") disposée à l'intersection d'une ligne de mot WL (de "word line") et
d'une paire de lignes de binaire BL (de "bit line") et /BL.
La cellule de mémoire MC, à structure de cellule de mémoire vive statique, ou "SRAM" (de "static RAM"), comporte des transistors MOS à canal N NT 10 et NT 12 ayant la source et le drain rétrocouplés, un transistor MOS à canal N monté en résistance NT 14 fonctionnant comme élément de charge pour amener un noeud de mémorisation SN 1 à un niveau H (niveau
logique haut), un transistor MOS à canal N monté en résis-
tance NT 16 pour élever le niveau d'un noeud de mémorisation
SN 2, et des transistors MOS à canal N NT 18 et NT 20 pour re-
lier les noeuds de mémorisation SN 1 et SN 2 aux lignes de binaire BL et /BL, respectivement, en réponse au potentiel constituant un signal reçu sur la ligne de mot WL Cette
cellule de mémoire MC utilise un circuit inverseur rétro-
couplé comme élément de mémorisation Du fait que les compo-
sants de la structure de cette cellule ne sont que six tran-
54 - sistors, la surface occupée pour mémoriser un binaire peut être réduite par rapport à celle occupée dans le registre
à décalage représenté sur la figure 32.
La figure 36 représente la structure d'une pile de re-
gistres En référence à la figure 36, la pile de registres comprend un groupement de cellules de mémoire 80 ayant les cellules de mémoire de la figure 35 disposées en matrice,
un pointeur d'adresse d'écriture 82 pour produire une adres-
se d'écriture, un circuit de commande d'écriture 84 pour
sélectionner un mot dans le groupement de cellules de mé-
moire 80 selon l'adresse fournie par le pointeur d'adresse
82 pour écrire une donnée dans l'emplacement de mot sélec-
tionné, un pointeur d'adresse de lecture 88 pour fournir
une adresse de mot à lire, et un circuit de commande de lec-
ture 86 pour sélectionner un mot correspondant dans le grou-
pement de cellules de mémoire 80 selon l'adresse fournie par le pointeur d'adresse de lecture 88 pour lire la donnée
dans l'emplacement de mot sélectionné Le groupement de cel-
lules de mémoire 80 mémorise une donnée d'élément d'image dans un emplacement de mot Un mot peut correspondre à une
ligne de mot.
Pour écrire une donnée, le pointeur d'adresse d'écri-
ture 82 fournit une adresse d'écriture Le circuit de com-
mande d'écriture 84 sélectionne la ligne de mot WL corres-
pondante et une paire de lignes de binaire (lorsqu'une plu-
ralité de mots est mémorisée dans une ligne de mot) selon l'adresse d'écriture fournie La donnée à écrire est écrite dans l'emplacement de mot sélectionné sous la commande du circuit de commande d'écriture 84 Pour lire une donnée,
un mot est sélectionné d'une manière analogue par le poin-
teur d'adresse de lecture 88 et le circuit de commande de
lecture 86, ce qui fait que la donnée contenue dans l'empla-
-
cement de mot sélectionné est lue.
Pour décaler une donnée d'élément d'image, l'adresse à laquelle la donnée la plus ancienne est mémorisée est fournie par le pointeur d'adresse de lecture 88 Le circuit de commande de lecture 86 sélectionne ce mot de donnée le plus ancien et lit la donnée du mot correspondant dans le groupement de cellules de mémoire 80 Le pointeur d'adresse d'écriture 82 fournit l'adresse succédant à l'adresse o un mot a été écrit le plus récemment Le circuit de commande d'écriture 84 sélectionne l'emplacement de cette adresse pour y écrire la donnée Cela a pour résultat de transférer d'un élément d'image les données de la fenêtre de recherche ou du bloc de référence Du fait que le chemin d'écriture et le chemin de lecture sont différents, la donnée lue et
la donnée écrite ne risquent pas d'entrer en collision Ce-
te structure peut être facilement réalisée en utilisant un compteur en anneau à compte maximal égal à la valeur de M
comme pointeurs d'adresse 82 et 88.
Pour calculer la différence absolue, le pointeur d'a-
dresse de lecture 88 fournit une adresse de telle manière que les M mots mémorisés dans un ordre prédéterminés soient sélectionnés séquentiellement Dans ce cas, la lecture d'un mot de donnée est effectuée séquentiellement en partant de la donnée écrite la moins récemment lorsque la structure
est telle que N>M, c'est-à-dire qu'il y a sous-échantillon-
nage Lorsque N = M et qu'il n'y a donc pas sous-échantil-
lonnage, le pointeur d'adresse de lecture 88 fournit une adresse de manière à lire séquentiellement tous les mots
de données dans un ordre prédéterminé.
Lorsqu'il y a sous-6 chantillonnage, seules les données nécessaires peuvent être lues à une cadence prédéterminée
de sous-échantillonnage.
Lorsque les données de N mots ou de M mots doivent être 56 -
écrites dans chaque pile de registres lors de l'initialisa-
tion, le transfert des données est effectué par l'intermé-
diaire de la pile de registres Dans ce cas, la séquence est telle que les données sont lues et écrites un mot à la fois séquentiellement lorsque les données de N ou M mots
sont mémorisées dans la pile de registres la plus en aval.
Cela est réalisé par une structure dans laquelle le circuit
de commande de lecture 86 est validé lorsque l'adresse four-
nie par le pointeur d'adresse d'écriture 82 atteint une va-
leur prédéterminée Il peut également être prévu un chemin
qui contourne les chemins d'écriture et de lecture des don-
nées uniquement au rmoment de l'initialisation Dans le cas d'une telle structure, le chemin de contournement est bloqué lorsque le compte de signaux d'horloge de transfert dans
chaque pile de registres atteint une valeur prédéterminée.
Après que l'écriture des données est effectuée, l'écriture
des données est inhibée.
La pile de registres représentée sur la figure 36 peut être utilisée comme mémoire tampon de données latérale de
la fenêtre de recherche représentée sur la figure 4.
La figure 37 représente un exemple de structure de la mémoire tampon de données représentée sur la figure 4 En référence à la figure 37, la mémoire tampon de données DL comprend R registres de mot 90 pour mémoriser les données
de R mots Le registre de R mots 90 peut inclure la struc-
ture de la mémoire à deux accès représentée sur la figure
36 Il peut être constitué par un registre à décalage mémo-
risant les données de R mots Il est également possible d'u-
tiliser une structure ayant des éléments à retard tels que
des circuits à verrouillage du type D montés en cascade.
L'utilisation d'une pile de registres formée de moyens
de retard autres que des registres à décalage permet de ré-
57 -
duire la complexité des circuits et la consommation d'éner-
gie (grâce à la réduction du nombre de transistors).
La figure 38 représente une autre structure du circuit de différence absolue Le circuit de différence absolue de la figure 38 comprend un soustracteur 70 pour effectuer une soustraction entre une donnée de la fenêtre de recherche
et une donnée du bloc de référence, et un circuit OU exclu-
sif 72 pour recevoir un binaire d'amplitude et un binaire de signe S (A> B) fournis par le soustracteur 70 Le circuit de différence absolue 64 de la figure 38 diffère du circuit
de différence absolue de la figure 26 en ce qu'il ne com-
prend pas d'incrémenteur L'incrémenteur sert à ajouter 1 au signal de sortie du circuit OU exclusif 72 lorsque le binaire de signe S (A>B) est " 1 " L'opération consistant
à ajouter ce 1 n'est pas effectuée dans le circuit de diffé-
rence absolue 64 représenté sur la figure 38 Elle est ef-
fectuée dans l'unité de sommation de l'étage suivant Plus précisément, le circuit de différence absolue 64 fournit
une différence absolue PE* et un binaire de signe Sà l'u-
nité de sommation de l'étage suivant.
La figure 39 est un schéma synoptique représentant la
structure de l'unité de sommation lorsque le circuit de dif-
férence absolue de la figure 32 est utilisé En référence à la figure 39, l'unité de sommation 12 ajoute les valeurs de PE 4 k 1 à PE 4 N correspondant aux différences absolues issues des N processeurs élémentaires et les binaires de signe S#1
à S*n Les valeurs de PE#1 à PE+n correspondant aux diffé-
rences absolues sont des données à plusieurs binaires et
les binaires de signe S#1 à S#n sont des données de un bi-
naire L'unité de sommation 12 est constituée par un com-
presseur comportant des additionneurs complets recevant les
valeurs PE#1 à PE#n correspondant aux différences absolues.
58 - La structure de l'unité de sommation 12 est décrite plus
loin Les binaires de signe 51 à S#n sont fournis à l'en-
trée de report du binaire de poids faible de ce compresseur.
Par conséquent, la vitesse d'exécution de l'opération de sommation est augmentée et la complexité du dispositif est diminuée.
La figure 40 représente un exemple de structure de l'u-
nité de sommation de la figure 39 La figure 40 représente
une structure dans laquelle les données de sortie de N pro-
cesseurs élémentaires sont additionnées La structure de
la figure 40 est étendue selon le nombre de processeurs élé-
mentaires. En référence à la figure 40, l'unité de sommation 12 comprendun compresseur 4 à 2 102 a pour recevoir les valeurs P* 1 à P#4 correspondant aux différences absolues issues des quatre processeurs élémentaires aux entrées A, B, C et D, respectivement, et un binaire de signe S#1 à son entrée de report pour additionner celui-ci pour fournir le résultat
de l'addition à partir des deux sorties E et F, un compres-
seur 4 à 2 102 b pour recevoir les valeurs P#5 à P#8 corres-
pondant aux différences absolues aux entrées A à D, respec-
tivement, et un binaire de signe S#2 à l'entrée de report
du binaire de poids faible et effectuer l'addition de celui-
ci pour fournir le résultat de l'addition à partir des deux sorties E et F, et un compresseur 4 à 2 102 c pour recevoir les données de sortie des compresseurs 4 à 2 102 a et 102 b
aux quatre entrées A, B, C et D, respectivement, et les bi-
naires de signe S#3, S* 4 et S* 5 à ses positions de binaires de poids faible Le compresseur 4 à 2 102 c peut recevoir
les trois binaires de signe 5#3, 5 * 4 et 555 parce qu'il com-
prend deux étages de circuit additionneur complet La struc-
ture de celui-ci sera décrite en détail plus loin.
59 -
L'unité de sommation 12 comprend en outre un addition-
neur 104 pour recevoir les données de sortie (E et F) du compresseur 4 à 2 102 c à ses entrées A et B, ainsi que les binaires de signe S#6, 5467 et S#8 aux entrées de report des binaires de poids faible Le résultat de la sommation est
fourni par l'additionneur 104.
L'unité de sommation 12 à la struture dite "de l'arbre de Wallace" pour permettre la sommation à grande vitesse en minimisant le retard de propagation des reports L'unité
de sommation 12 de la figure 40 ne comporte pas d'accumula-
teur Lorsque la vitesse de calcul est plus grande que la cadence de transfert des données de la fenêtre de recherche,
l'addition doit être effectuée plusieurs fois Un accumula-
teur est prévu à cette fin dans la partie sortie du circuit d'addition 104 (lorsque le processeur élémentaire comporte une pluralité de moyens de mémorisation des données du bloc
de référence) Le résultat de l'addition (somme des diffé-
rences absolues) peut être transféré du processeur élémen-
taire à l'unité de sommation pour chaque cycle de calculs.
Du fait que le binaire de signe est fourni à l'entrée
de report du binaire de poids faible dans la structure dé-
crite ci-dessus, l'addition peut être effectuée à grande vitesse avec des circuits peu complexes La structure du compresseur 4 à 2 (additionneur à quatre entrées et deux sorties) et une structure spécifique de l'unité de sommation
sont décrites ci-après.
La figure 41 représente une structure spécifique du compresseur 4 à 2 de la figure 40 Le compresseur 4 à 2 de la figure 41 a une structure correspondant à des données
de quatre binaires de largeur, c'est-à-dire des mots de qua-
tre binaires La structure de la figure 41 peut être élargie
pour recevoir des données d'entrée à mots plus longs.
- En référence à la figure 41, le compresseur 4 à 2 102 comprend des circuits additionneurs complets 110 a, 110 b, c et 110 d montés en parallèle, chacun d'eux ayant des entrées A et B, une entrée de report Cin (de "carry input"), une sortie de report Co (de "carry output") et une sortie de somme S Chacun des circuits additionneurs complets 110 a
à 11 Od a ses entrées A et B qui reçoivent des données d'en-
trée de quatre binaires A< 3; O > et B< 3; O > et son entrée de
report Cin qui reçoit qui reçoit la donnée d'entrée C< 3; 0 >.
La donnée A< 3; O > indique que la donnée A a quatre binaires de A 3 à AO, le binaire de poids fort étant A 3 et le binaire
de poids faible étant AO.
Le compresseur 4 à 2 comprend en outre les circuits
additionneurs complets 110 e, 110 f, 110 g et 110 h pour effec-
tuer l'addition des données de sortie de sommes S et des données de sortie de reports Co des circuits additionneurs
complets 110 a à 110 Od du premier étage et de la donnée d'en-
trée D< 3; O > Les circuits additionneurs complets 110 a à 110 d et 110 e à 110 h sont agencés pour que les chiffres soient
alignés Les données de sortie de sommes S des circuits ad-
ditionneurs complets 110 a à 110 Od du premier étage sont four-
nies aux entrées (A ou B) des circuits additionneurs com-
plets correspondants de l'étage suivant Les données de sor-
tie de report Co des circuits additionneurs complets 110 a à 110 Od du premier étage sont fournies aux entrées de report des circuits additionneurs complets de l'étage suivant ayant
un poids supérieur d'un binaire dans les circuits addition-
neurs complets correspondants Dans le circuit additionneur
complet FA (de "full adder") 110 h, un O est fourni à l'en-
trée de report 104 de ce circuit additionneur complet 110 h
du binaire de poids faible C'est-à-dire que la donnée d'en-
trée de report du circuit additionneur complet 110 h devient 61 -
un report nul Dans le présent mode de réalisation, un bi-
naire de signe Stest fourni à cette entrée de report nul
104 Des données de cinq binaires E< 4; O > et F< 4; 0 > sont four-
nies en provenance du compresseur 4 à 2 102 La donnée de sortie de somme S des circuits additionneurs complets FA a à 110 h fournit les binaires de donnée F< 3; O >, et la sortie de report des circuits additionneurs complets 110 e à 110 h fournit les binaires de donnée E< 4; O > La sortie de report du circuit additionneur complet 110 Oa du premier étage
fournit le binaire de donnée F< 4 >.
Dans la structure du compresseur 4 à 2 102 de la figure 41, il n'y a pas de propagation des reports Le temps de retard impliqué par l'exécution des calcuis est d O aux deux étages de circuits additionneurs Par conséquent, l'addition
peut être effectuée à une grande vitesse En outre, l'addi-
tion des différences absolues peut être effectuée sans aug-
menter la complexité des circuits grâce au binaire de signe
S# fourni à l'entrée de report nul 104.
La figure 42 représente les connexions des circuits
de la figure 40 L'unité de sommation de la figure 42 uti-
lise le compresseur 4 à 2 de la figure 41 Ici, la différen-
ce absolue P#i est exprimée par (Pi 3, Pi 2, Pil, Pi O).
Le compresseur 4 à 2 102 a comprend des circuits addi-
tionneurs complets FA 1 à FA 4 pour additionner les différen-
ces absolues P* 1 à P#3, et des circuits additionneurs com-
plets FA 5, FA 6, FA 7 et FA 8 pour additionner les données de sortie des circuits additionneurs complets FA 1 à FA 4 et une différence absolue PR 4 Un binaire de signe S#1 est appliqué
à l'entrée de report de l'additionneur complet FA 8.
Le compresseur 4 à 2 102 b comprend des circuits addi-
tionneurs complets FA 9, FA 10, FA 11 et FA 12 pour additionner
les différences absolues Pe 5 à P#7, et des circuits addi-
62 - tionneurs complets FA 13, FA 14, FA 15 et FA 16 pour additionner les données de sortie des circuts additionneurs complets
FA 9 à FA 12 et une différence absolue P* 8 Un binaire de si-
gne 552 est fourni à l'entrée de report de l'additionneur complet FA 16.
Le compresseur 4 à 2 102 c comprend des circuits addi-
tionneurs complets FA 17 à FA 21 pour additionner les données de sortie du compresseur 4 à 3 102 a à une donnée de sortie
du compresseur 102 b (la donnée de sortie de somme des cir-
cuits additionneurs complets FA 13 à FA 16 et la donnée de sortie de report du circuit additionneur complet FA 9), et
des circuits additionneurs complets FA 22 à FA 26 pour addi-
tionner les données de sortie des circuits additionneurs
complets FA 17 à FA 21 et l'autre donnée de sortie du compres-
seur 4 à 2 102 b (la donnée de sortie de report des circuits additioneurs complets FA 13 à FA 16) Les binaires de signe S#4 et S#5 sont fournis à l'entrée de report et l'entrée
"un" du circuit additionneur complet FA 26, respectivement.
L'additionneur 104 comprend un circuit additionneur complet FA 27 pour additionner les binaires de signe Se 6 à S#8, des circuits additionneurs complets FA 28 à FA 33 pour
additionner la donnée de sortie du circuit additionneur com-
plet FA 27 et la donnée de sortie du compresseur 4 à 2 102 c,
et des circuits additionneurs complets FA 34 à FA 39 pour re-
cevoir les données de sortie des circuits additionneurs com-
plets FA 28 à FA 33 et fournir le résultat final des additions.
* Les circuits additionneurs complets FA 28 à FA 33 forment un compresseur 3 à 2 Les circuits additionneurs complets FA 34
à FA 39 forment un additionneur du type à report en cascade.
D'autres structures d'additionneur (par exemple, un addi-
tionneur à report anticipé) peuvent être utilisées.
L'exécution des additions au moyen d'un compresseur 63 - tel que celui de la figure 42 permet de réduire au minimum
le temps de propagation des reports pour effectuer les addi-
tions à grande vitesse.
Comparateur I la figure 43 représente une autre structure de l'unité de comparaison représentée sur la figure 1 (La fonction
d'identification des priorités n'est pas indiquée) En réfé-
rence à la figure 43, l'unité de comparaison 3 comprend un
registre à verrouillage 130 pour mémoriser une valeur d'é-
valuation (fonction d'évaluation) fournie par l'unité de sommation, un comparateur 132 pour comparer l'amplitude de
la valeur d'évaluation mémorisée dans le registre à verrouil-
lage 130 et la valeur d'évaluation (fonction d'évaluation) nouvellement fournie en provenance de l'unité de sommation, un compteur 134 pour compter le nombre de cycles du calcul de la valeur d'évaluation, et un registre à verrouillage sensible à la donnée de sortie du comparateur 132 pour mémoriser la valeur du compte du compteur 134 Un vecteur
mouvement peut être obtenu directement à la sortie du regis-
tre à verrouillage 136, ou un décodeur peut être prévu pour coder la donnée de sortie du registre à verrouillage 136 dans un format prédéterminé, comme cela est représenté dans
le pavé 137 en trait interrompu sur la figure Le fonction-
nement de cette unité de comparaison est décrit ci-après.
Au début du calcul du vecteur mouvement pour un bloc de référence, le compteur 134, le registre à verrouillage et le registre à verrouillage 136 sont remis à l'état
initial La valeur d'initialisation du registre à verrouil-
lage 130 est fixée à une valeur supérieure à la valeur d'é-
valuation maximale (par exemple, tous les binaires à " 1 ").
Lorsqu'une valeur d'évaluation pour un vecteur déplacement est fournie, le comparateur 132 compare la valeur mémorisée 64 - dans le registre à verrouillage 130 à la valeur d'évaluation fournie en provenance de l'unité de sommation Si la valeur d'évaluation (fonction d'évaluation) nouvellement fournie en provenance de l'unité de sommation est plus petite que la valeur mémorisée dans le registre à décalage 130, le com- parateur 132 produit un signal de validation du registre
à verrouillage En réponse à ce signal, le registre à ver-
rouillage 130 mémorise la valeur d'évaluation (fonction d'é-
valuation) fournie en provenance de l'unité de sommation.
D'une manière analogue, le registre à verrouillage 136 ver-
rouille la valeur du compte du compteur 134 comme candidat
au vecteur mouvement.
Pour le vecteur déplacement suivant, le compteur 134 répond à un signal de commande 4 C pour incrémenter de 1 la valeur du compte Lorsqu'un calcul de valeur d'évaluation est terminé, le comparateur 132 compare l'amplitude de la valeur d'évaluation (fonction d'évaluation) nouvellement fournie en provenance de l'unité de sommation à la valeur mémorisée dans le registre à verrouillage 130 Si la valeur
d'évaluatin nouvellement fournie est plus grande que la va-
leur mémorisée dans le registre à verrouillage 130, le com-
parateur 132 ne produit pas de signal de validation du re-
gistre à verrouillage Si la valeur d'évaluation nouvelle-
ment fournie est plus petite que la valeur mémorisée dans le registre à verrouillage 130, un signal de validation du registre est émis Cette opération est exécutée pour toutes
les valeurs d'évaluation et pour tous les vecteurs déplace-
ment Cela a pour résultat que la valeur d'évaluation mini-
male parmi toutes les valeurs d'évaluation est mémorisée dans le registre à verrouillage 130 Le registre à verrouillage 136 mémorise et verrouille la valeur du compte du compteur 134 indiquant le cycle d'opérations qui fournit la valeur - d'évaluation minimale Cette valeur du compte du compteur
134 est utilisée comme vecteur mouvement.
Lorsque le vecteur mouvement est ainsi obtenu, le comp-
teur 134 et les registres à verrouillage 130 et 136 sont de nouveau remis à l'état initial pour effectuer le calcul
du vecteur mouvement du bloc de référence suivant.
Comparateur II La figure 44 représente une autre structure d'une unité
de comparaison.
En référence à la figure 44, l'unité de comparaison 3 comprend un premier registre 621 pour mémoriser la valeur
d'évaluation minimale Evm et un comparateur 613 pour compa-
rer une valeur d'évaluation Ev (= 5 Ia-b I) fournie en prove-
nance de l'unité d'opérations 3 à la valeur d'évaluation
minimale contenue dans le premier registre 621 Le compara-
teur 613 applique le signal Ev-EQ à une ligne de signal 617
lorsque la valeur d'évaluation Ev est égale à la valeur d'é-
valuation minimale Evm.
Lorsque la valeur d'évaluation Ev est inférieure à la valeur d'évaluatin minimale Evm, cette valeur d'évaluation
Ev nouvellement fournie en provenance de l'unité d'opéra-
tions 3 est prise comme valeur minimale, et le signal Ev-LT
est appliqué à une ligne de signal 618.
L'unité de comparaison 3 comprend en outre un compara-
teur de priorité 615 sensible au signal Ev-EQ issu du compa-
rateur 613 pour comparer la priorité affectée au vecteur déplacement correspondant à la valeur d'évaluation Ev à la priorité affectée au vecteur déplacement correspondant à la valeur d'évaluation minimale Evm contenue dans le premier registre 614 Le comparateur 619 applique un signal Pr-LT
à la ligne de signal 619 lorsque la priorité du vecteur dé-
placement associé à la valeur d'évaluation Ev fournie est 66 - plus grande que la priorité du vecteur déplacement associé
à la valeur d'évaluation minimale Evm.
L'unité de comparaison 3 comprend en outre une unité de commande d'actualisation 616 pour effectuer la mise à jour, ou "actualisation", de la donnée constituant la valeur d'évaluation contenue dans le premier registre 614 selon les signaux Ev-EQ et Ev-LT issus du comparateur 613 et un signal Pr-LT issu du comparateur de priorité 615 L'unité de commande d'actualisation 619 applique un signal Ev-UP (de "update") à une ligne de signal 620 lorsque les signaux
Pr-LT et Ev-EQ sont tous deux appliqués, ou lorsque le si-
gnal Ev-LT est appliqué Le premier registre 614 répond au signal appliqué Ev-UP en remplaçant la donnée contenue par
la valeur d'évaluation Ev actuellement fournie.
La fonction d'évaluation Evm contenue dans le premier
registre 614 est actualisée lorsque: (i) la valeur d'éva-
luation actuellement appliquée Ev est plus petite que la valeur d'évaluation minimale Evm contenue dans le premier
registre; et (ii) lorsque la valeur d'évaluation Ev est éga-
le à Evm, mais que la priorité du vecteur déplacement asso-
cié à la nouvelle valeur d'évaluation Ev est plus grande que la priorité du vecteur déplacement associé à la valeur d'évaluation minimale Evm contenue dans le premier registre 614.
En référence à la figure 45, le comparateur 613 com-
prend un circuit de détection de correspondance 701 pour
détecter la correspondance de la nouvelle valeur d'évalua-
tion Ev et de la valeur d'évaluation minimale Evm contenue dans le premier registre 614, et un circuit comparateur 702 pour comparer les amplitudes des valeurs d'évaluation Ev et Evm Le signal Ev-EQ est fourni par le circuit détecteur de correspondance 701, et le signal Ev- LT est fourni par 67 - le circuit comparateur 702 Le comparateur 702 fournit le signal Ev-LT lorsque les valeurs d'évaluation Ev et Evm sont
égales entre elles.
En référence à la figure 46, l'unité de commande d'ac-
tualisation 616 comprend une porte ET, ou "AND", 622 et une porte OU, ou "OR", 623 La porte ET 622 a une borne d'entrée recevant le signal Ev-EQ, décrit en relation avec la figure
, par l'intermédiaire d'une ligne de signal 617, et l'au-
tre borne d'entrée recevant le signal Pr-LT par l'intermé-
diaire d'une ligne de signal 619 La porte OU 623 a une bor-
ne d'entrée recevant le signal de sortie de la porte ET 622,
et l'autre borne d'entrée recevant le signal Ev-LT par l'in-
termédiaire de la ligne de signal 618 Le signal Ev-UP est fourni par la sortie de la porte OU 623, par l'intermédiaire
d'une ligne de signal 620 Par conséquent, le signal de sor-
tie Ev-UP est exprimé par l'équation logique suivante:
Ev UP = (Ev EQ x Pr LT) + (Ev LT).
Le signal Ev-UP est fourni au comparateur de priorité
615 comme signal d'actualisation de priorité Pr-UP (de "pri-
ority update").
L'unité de commande d'actualisation 616 comprend en outre un registre de vecteur 710 sensible au signal Ev-UP (Pr-UP) pour mémoriser et verrouiller le vecteur déplacement correspondant à la valeur d'évaluation courante fournie par le compteur 711 Le compteur 711 incrémente la valeur de son compte chaque fois qu'une valeur d'évaluation Ev est
fournie, pour fournir une donnée de sortie indiquant le vec-
teur déplacement correspondant Le compteur 711 peut être
prévu séparément pour la composante horizontale et la com-
posante verticale du vecteur mouvement La valeur du compte 68 - du compteur 711 peut être utilisée directement comme valeur
du vecteur mouvement Elle peut également être codée au pré-
alable. La figure 47 donne la valeur de priorité affectée à chaque vecteur déplacement utilisée dans le comparateur de priorité 615 pour la détermination des priorités Sur la figure 47, les valeurs de priorité affectées aux différents vecteurs déplacement sont données pour le cas de 15 x 15 = 225
vecteurs déplacement de (-7, -7) à ( 7, 7).
En référence à la figure 47, les nombres portés dans
la ligne supérieure et la colonne la plus à gauche du ta-
bleau représentent respectivement la composante horizontale et la composante verticale du vecteur mouvement (vecteur déplacement) Le nombres portés dans le tableau de la figure 47 indiquent la priorité d'un vecteur mouvement ayant les
composantes horizontale et verticale indiquées dans la par-
tie supérieure et la partie gauche On admet que la priorité
augmente avec le nombre.
Par exemple, la priorité pour un vecteur mouvement (composante horizontale, composante verticale) = (O, O), c'est-à-dire le cas de la coïncidence exacte, est la plus élevée, soit 15, et la priorité pour les vecteurs mouvement
(-7, -5) et (-7, -7) est de 3 et 1, respectivement Par con-
séquent, lorsque les valeurs des deux fonctions d'évaluation obtenues pour les vecteurs mouvement (-7, -5) et (-7, -7) sont identiques et minimales, c'est le vecteur (-7, -5), qui a la priorité la plus élevée, qui est retenu On voit sur la figure 47 que certains vecteurs ont la même valeur de priorité Dans le cas d'égale priorité, c'est le côté gauche, c'est-à-dire la composante horizontale du vecteur mouvement la plus proche de la valeur maximale négative qui a la priorité Si la priorité n'est pas encore déterminée 69 - malgré cela, c'est-à-dire si la valeur est identique et si la composante horizontale du vecteur mouvement est identique sur la figure 47, c'est le côté supérieur, c'est-à-dire la composante verticale du vecteur mouvement la plus proche de la valeur maximale négative, qui a la priorité. La priorité représentée sur la figure 47 est basée sur la distance mesurée de quatre façons à partir du cas de la coïncidence exacte Plus précisément, Les vecteurs mouvement
ayant une somme plus petite de la valeur absolue de la com-
posante horizontale et de la valeur absolue de la composante
verticale du vecteur mouvement ont une priorité plus élevée.
En général, un vecteur mouvement proprement dit est transmis du côté codeur au côté décodeur en utilisant un code à longueur variable Au fur et à mesure que la valeur absolue des composantes d'un vecteur mouvement augmente,
le code correspondant de longueur variable est souvent éga-
lement plus long Par exemple, dans un procédé de codage
d'images animées (CCITT H 261) pour le visiophone et la vi-
sioconférence, le code de longueur variable pour les compo-
santes horizontale et verticale d'un vecteur mouvement ayant une valeur de 3 est " 00010 " Lorsque la valeur du vecteur
mouvement est 4, le code de longueur variable est " 0000110 ".
En augmentant la priorité d'un vecteur mouvement (vecteur déplacement) proportionnellement à une somme plus petite des valeurs absolues de la composante horizontale et de la composante verticale du vecteur mouvement, on sélectionne
un vecteur mouvement à courte longueur de code et les don-
nées transmises peuvent être compressées effectivement Cela
est décrit en détail ci-après.
On considère un cas dans lequel les valeurs des fonc-
tions d'évaluation pour deux blocs d'image à prédiction pour un vecteur mouvement ( 3, 3) et un vecteur mouvement ( 3, 4) - sont identiques et minimales Puisque la priorité des deux
vecteurs mouvement mentionnés ci-dessus est 9 et 8, respec-
tivement, d'après la figure 47, le premier a la priorité, ce qui donne un vecteur mouvement de ( 3, 3) Par conséquent, lorsque la priorité est affectée selon la méthode de la fi- gure 47, c'est le vecteur mouvement qui a une longueur de
code plus petite qui est sélectionné.
Du fait que le vecteur mouvement ayant une somme plus
petite de la composante horizontale et de la composante ver-
ticale du vecteur mouvement a une priorité plus élevée en deux points quelconques de la figure 47 dans le présent mode de réalisation, celui qui a une longueur de code plus grande
n'est pas sélectionné.
Lorsque la priorité est égale sur la figure 47, c'est
la composante horizontale du vecteur mouvement la plus pro-
che de la valeur maximale négative qui a la priorité Si la priorité ne peut pas encore être déterminée, c'est la composante verticale du vecteur mouvement la plus proche de la valeur maximale négative qui a la priorité Cela n'est
toutefois indiqué qu'à titre d'exemple, et le vecteur mou-
vement de même priorité peut être soumis à une autre méthode d'affectation de priorité Lorsque la priorité indiquée sur la figure 47 est identique, la priorité peut être donnée à la composante verticale d'un vecteur mouvement plus proche de la valeur maximale négative et, si la priorité n'est pas
encore déterminée malgré cela, c'est la composante horizon-
tale du vecteur mouvement la plus proche de la valeur maxi-
male négative qui a la priorité Ou encore, lorsque la prio-
rité est identique sur la figure 47, la priorité peut être donnée à la composantre horizontale du vecteur mouvement
plus proche de la valeur maximale positive et, si la prio-
rité n'est pas encore déterminée, c'est la composante verti-
71 -
cale du vecteur mouvement la plus proche de la valeur posi-
tive maximale qui peut avoir la priorité la plus élevée.
Par ailleurs, la direction à laquelle la priorité est donnée pour chaque ligne verticale ou horizontale peut être changée Par exemple, si la priorité est identique sur la
figure 47, c'est la composante horizontale du vecteur mou-
vement la plus proche de la valeur maximale négative qui
peut avoir la priorité Si la composante horizontale du vec-
teur mouvement est égale, c'est la composante verticale d'un vecteur mouvement plus proche de la valeur négative qui a la priorité la plus élevée dans la première colonne, et c'est la composante verticale d'un vecteur mouvement plus
proche de la valeur maximale positive qui peut avoir la pri-
orité la plus élevée dans la deuxième colonne, les autres
priorités étant affectées par répétition de la méthode dé-
crite ci-dessus.
Il est également possible d'affecter les priorités en ordre ascendant ou en ordre descendant à un vecteur évalué selon l'ordre d'évaluation du vecteur mouvement sans tenir compte de la valeur de la composante horizontale ou de la
composante verticale, ou des deux, du vecteur mouvement.
Lorsque la priorité est la même, la somme de la valeur absolue de la composante horizontale et de la valeur absolue de la composante verticale d'un vecteur déplacement est
identique Dans tous les cas, la longueur du code est géné-
ralement la même lors du codage pour la transmission, de
sorte que l'on peut obtenir un effet analogue.
La figure 48 représente la structure du comparateur de priorité de la figure 44 En référence à la figure 48,
le comparateur de priorité 615 comprend un circuit généra-
teur de priorité 632 pour produire des données de priorité d'un vecteur mouvement (vecteur déplacement) associées à la valeur courante d'évaluation Ev, un troisième registre 72 - 627 pour mémoriser les données de priorité associées à la la valeur d'évaluatin (correspondant à un vecteur mouvement) contenues dans le premier registre 614 (voir figure 44), et un comparateur 626 pour comparer les données de priorité Pr issues du circuit générateur de priorité 632 aux données
de priorité Prm contenues dans le troisième registre 627.
Le troisième registre 627 actualise son contenu lorsque le
signal Pr-UP est émis.
Le comparateur 626 passe à un état actif lorsque le
signal Ev-EQ est émis pour effectuer la comparaison des don-
nées de priorité Pr et Prm Le comparateur peut être réalisé
de manière à effectuer la comparaison en permanence Lors-
que la donnée de priorité Pr est plus petite que la donnée Prm, le comparateur 626 émet un signal 619 appliqué à la
ligne de signal 619 La structure utilisée pour le fonction-
nement lorsque la donnée Pr est égale à Prm n'est pas repré-
sentée d'une manière précise ici Sur la figure 46, du fait
que le registre de vecteur 710 est actualisé lors de l'émis-
sion du signal Pr-UP, la structure représentée conduit à l'état de non-émission du signal Pr-LT lorsque Pr = Prm,
et le registre de vecteur 710 n'est pas actualisé Le vec-
teur mouvement (vecteur déplacement) produit précédemment
est conservé (lorsque Pr = Prm).
Lorsque la donnée Pr est égale à la donnée Prm, le si-
gnal Pr-EQ est émis par le comparateur 626 On peut réaliser une structuredans laquelle la sélection est effectuée selon une règle prédéterminée (n'importe laquelle des méthodes
d'affectation de priorité décrites plus haut) pour le vec-
teur déplacement contenu dans le registre de vecteur 710
et le vecteur déplacement courant (donnée de sortie du comp-
teur 711 sur la figure 46) selon l'émission de ce signal Pr-EQ. 73 -
Le circuit générateur de priorité 632 comprend un deu-
xième registre 624 pour mémoriser une donnée de priorité
Pr pour le vecteur déplacement courant, et un circuit addi-
tionneur/soustracteur 625 c pour incrémenter ou décrémenter d'une unité la donnée Pr issue du deuxième registre 624. Le signal de sortie Pr' du circuit additionneur/soustracteur
625 est fourni au deuxième registre 624.
Le fonctionnement de l'unité de comparaison de priorité représentée sur la figure 48 est décrite ci-après La donnée
de priorité Pr est fournie à une première entrée du compa-
rateur 626 par l'intermédiaire d'une ligne de signal La
deuxième entrée du comparateur 626 reçoit la donnée de sor-
tie Prm du troisième registre 627 par l'intermédiaire d'une
ligne de signal 630 Le comparateur 626 effectue la compa-
raison des amplitudes des deux priorités Pr et Prm fournies à ses deux entrées Il en résulte que lorsque Pr > Prm, un signal Pr-Lt est émis puisque la priorité correspondant à la fonction d'évaluation comparée Ev est plus grande que
la priorité correspondant à la valeur d'évaluation Evm.
En réponse à l'émission du signal Pr-LT, le registre
de vecteur 710 a son contenu actualisé, et le troisième re-
gistre 627 a son contenu actualisé par la donnée de priorité Prm.
Dans le circuit générateur de priorité 632, l'actuali-
sation de la donnée de priorité Pr est effectuée automati-
quement La donnée de priorité Pr est conservée dans le deu-
xième registre 624 En réponse à un signal de commande tel
qu'un signal d'horloge appliqué de l'extérieur, l'addition-
neur/soustracteur 625, avec une donnée d'entrée Pr, est in-
crémenté ou décrémenté, ce qui fait que le résultat est ren-
voyé au deuxième registre 624 pour obtenir la donnée de pri-
orité désirée.
74 - On considère maintenant le cas dans lequel la priorité
est établie en partant de la ligne supérieure la plus à gau-
che en descendant d'une colonne, comme cela est représenté sur la figure 47 Dans ce cas, un " 1 " est mémorisé dans le deuxième registre 624 et l'incrémentation ou la décrémen-
tation est effectuée séquentiellement selon la règle indi-
quée sur la figure 49 En référence à la figure 49, le signe "plus" indique qu'un incrément est nécessaire pour produire la donnée de priorité pour le vecteur mouvement suivant, et le signe "moins" indique d'un décrément est nécessaire pour produire la donnée de priorité du vecteur mouvement suivant Ici, le vecteur suivant est le vecteur mouvement de la ligne inférieure voisine (la composante verticale du vecteur mouvement est incrémentée de + 1) si ce n'est pas
la dernière ligne Dans le cas de la dernière ligne, le vec-
teur suivant est le vecteur mouvement correspondant à la ligne du haut de la colonne droite La donnée de priorité
désirée est produite par cet incrément ou ce décrément.
En référence à la figure 50, le circuit générateur de priorité 625 comprend un sélecteur 720 pour laisser passer une des données " 1 " et "1 " sous la commande du circuit de commande 730, et un additionneur 722 pour additionner la donnée de sortie du sélecteur 720 et la donnée Pr La donnée
Pr' est fournie par l'additionneur 722 Le circuit de com-
mande 730 produit un signal de commande selon une séquence
indiquée sur la figure 49 (le signe "+" correspond à la sé-
lection du " 1 ", et le signe "-" à la sélection de "-1 ") avec
un signal d'horloge (non représenté) définissant le caden-
cement de la sortie de la valeur d'évaluation comme signal de cadencement Le circuit de commande est constitué par
un circuit de commande de séquence à programme, par exemple.
-
Bien que la description donnée ci-dessus ait été donnée
pour le cas o la valeur de la priorité est un nombre natu-
rel, cette valeur n'est pas nécessairement choisie pour être un nombre naturel puisque puisque seule la valeur absolue des valeurs de priorité a une importance Par conséquent,
le processus du fonctionnement du circuit générateur de pri-
orité 632 n'est pas limité à l'incrémentation et la décré-
mentation, et toute valeur d'incrément ou de décrément peut
être choisie tant que la valeur absolue de l'incrément/dé-
crément est égale.
Considérant la complexité des circuits nécessaires pour réaliser le circuit générateur de priorité 632, on voit qu'un
registre de quatre binaires et un circuit incluant une fonc-
tion d'incrémentation/décrémentation de quatre binaires, un additionneur à quatre binaires, par exemple, doivent être prévus pour l'affectation de la priorité selon la figure 47 puisque la limite supérieure de la priorité est 15 Dans le cas de la réalisation avec un circuit intégré CMOS normal,
il peut être réalisé au moyen d'environ 200 transistors.
Cela donne une complexité de circuit nettement moins grande que dans le cas de la réalisation sous la forme de mémoires mortes, ou "RO Ms" (de "read-only memory") Dans le cas de la réalisation sous la forme de mémoires mortes, il faut quatre binaires dans les directions horizontale et verticale (un total de 15 de -7 à 7 en passant par 0), ce qui donne 28 mots pour un vecteur mouvement Du fait que la donnée
de priorité a une valeur maximale de 15, il faut quatre bi-
naires, ce qui donne une capacité nécessaire de 4 x 28 = 1024 binaires. Mode de réalisation 2
La figure 51 représente schématiquement une vue d'en-
semble de la structure d'un dispositif de détection de vec-
76 -
* teur mouvement selon un deuxième mode de réalisation de l'in-
vention En référence à la figure 51, le dispositif de dé-
tection de vecteur mouvement comprend un premier dispositif de calcul 210 pour recevoir une donnée Y de la fenêtre de recherche et une donnée X du bloc de référence pour détermi- ner un vecteur mouvement avec une précision entière, et un deuxième dispositif de calcul 250 pour recevoir directement une donnée de la fenêtre de recherche SY et une donnée du bloc de référence TX issues du premier dispositif de calcul 210 pour déterminer un vecteur mouvement avec une précision fractionnaire Comme cela est représenté sur la figure, le premier dispositif de calcul 210 comprend un groupement de
processeurs 10 comprenant des processeurs élémentaires dis-
posés en matrice, une unité de sommation 12 pour sommer les
différences aboslues issues de chacun des processeurs élé-
mentaires du groupement de processeurs 10, et une unité de comparaison 3 pour déterminer le vecteur mouvement selon
la somme (valeur d'évaluation) fournie par l'unité de somma-
tion 12 La donnée du bloc de référence TX et la donnée du
bloc de recherche SY mémorisées dans le groupement de pro-
cesseurs 10 et décalées selon le fonctionnement de ceux-ci,
sont fournies au deuxième dispositif de calcul 250 Le fonc-
tionnement du deuxième dispositif de calcul 250 est commandé par une indication du résultat de la comparaison (signal de validation de circuit à verrouillage) issue de l'unité
de comparaison 3.
Selon la structure du dispositif de détection de vec-
teur mouvement de la figure 51, la donnée de la fenêtre de recherche et la donnée du bloc de référence sont utilisées
pour détecter un vecteur mouvement avec une précision en-
tière dans le premier dispositif de calcul 210 après avoir été lues dans la mémoire d'image individuelle, après quoi 77 - la donnée de la fenêtre de recherche et la donnée du bloc
de référence utilisées sont transférées du premier disposi-
tif de calcul au deuxième dispositif de calcul Par consé-
quent, il n'est pas nécessaire d'accéder à la mémoire d'i-
mage individuelle pour déterminer un vecteur mouvement à précision fractionnaire, de sorte qu'un vecteur mouvement à précision fractionnaire peut être déterminé à une vitesse élevée.
La figure 52 repésente un exemple de structure du sys-
tème de transmission de données entre le groupement de pro-
cesseurs 10 du premier dispositif de calcul 210 et le deu-
xième dispositif de calcul 250 dans le deuxième mode de réa-
lisation En référence à la figure 52, la donnée du bloc de référence TX issue du groupement de processeurs 10 est fournie directement au deuxième dispositif de calcul 250,
et la donnée de la fenêtre de recherche SY issue du groupe-
ment de processeurs 10 est retardée d'un temps prédéterminé au moyen d'un circuit à retard 260 avant d'être mémorisée
dans un circuit formant mémoire tampon 270 Le circuit for-
mant mémoire tampon 270 mémorise la donnée de la fenêtre de recherche nécessaire pour détecter le vecteur mouvement à précision fractionnaire Par exemple, lorsque la taille d'un macrobloc (bloc de référence et bloc de la fenêtre de recherche) est de 16 x 16 éléments d'image, un bloc de fenêtre de recherche incluant la périphérie, c'est-à-dire un bloc de 18 x 18 éléments d'image pour la précision fractionnaire,
est mémorisé dans le circuit formant mémoire tampon 270.
Le vecteur mouvement à précision fractionnaire est dé-
terminé en utilisant les données de la fenêtre de recherche mémorisées dans le circuit formant mémoire tampon 270 et les données du bloc de référence TX issues du groupement 78 - de processeurs 10 Le temps de retard produit par le circuit à retard 260 est déterminé par la capacité de mémorisation du circuit formant mémoire tampon 270 Si le circuit formant mémoire tampon 270 a une capacité suffisante pour mémoriser toutes les données d'éléments d'image de la zone de recher-
che, le circuit à retard 260 n'est pas nécessaire On consi-
dère le cas dans lequel la capacité de mémorisation du cir-
cuit formant mémoire tampon 270 est la capacité minimale de 18 x 18 éléments d'image Le circuit à retard 260 applique un temps de retard égal, par exemple, au temps nécessaire pour transférer une colonne d'éléments d'image dans la zone
de recherche.
La figure 53 représente un exemple de structure du cir-
cuit formant mémoire tampon de la figure 52 En référence
à la figure 53, le circuit formant mémoire tampon 270 com-
prend une mémoire 272 pour mémoriser les données de la fenê-
tre de recherche SY issues du groupement de processeurs 10, et un circuit de commande d'écriture et lecture 274 pour
commander l'écriture et la lecture des données dans la mé-
moire 272 La mémoire 272 a son accès de sortie Do relié
au deuxième dispositif de calcul 250.
Le circuit de commande d'écriture et lecture 274 com-
prend un circuit générateur d'adresses d'écriture 281 pour
fournir une adresse d'écriture à la mémoire 272, et un cir-
cuit générateur d'adresses de lecture 283 pour fournir une adresse de lecture à la mémoire 272, un circuit de commande
286 pour produire un signal pour sélectionner le mode d'é-
criture ou le mode de lecture de la mémoire 272, et un sé-
lecteur 284 pour sélectionner soit une adresse d'écriture, soit une adresse de lecture sous la commande du circuit de
commande 286 pour fournir celle-ci à l'accès d'entrée d'a-
dresse A de la mémoire 272.
79 - Le circuit générateur d'adresses d'écriture 281 répond à un signal de validation de circuit à verrouillage Ri issu de l'unité de comparaison 3 de la figure 51 pour produire une adresse d'écriture Lorsque ce signal de validation de circuit à verrouillage Ri est émis, l'adresse d'écriture
est remise à la valeur initiale Le circuit générateur d'a-
dresses d'écriture 281 produit séquentiellement une adresse
d'écriture en commençant à l'adresse 0, par exemple, en ré-
ponse à un signal d'horloge + D'une manière analogue, le
circuit générateur d'adresses de lecture 283 produit séquen-
tiellement une adresse de lecture en commençant par l'adres-
se 0, sous la commande du circuit de commande 286 Le sélec-
teur 281 sélectionne une adresse d'écriture issue du circuit générateur d'édresses d'écriture 281 lorsque le circuit de
commande 286 commande l'écriture de données Lorsque le cir-
cuit de commande 286 commande la sélection du mode de lec-
ture, le sélecteur 284 sélectionne une adresse de lecture
issue du circuit générateur d'adresses de lecture 283.
Le circuit de commande 286 répond au signal d'horloge de transfert des données de la fenêtre de recherche 4 pour produire un signal déterminant le cadencement de l'écriture et la lecture des données dans la mémoire 272 Le circuit de commande 286 répond à un signal de commande de sélection de mode de fonctionnement O RW (de"read/write") pour produire
un signal commandant l'écriture et la lecture dans la mé-
moire 272 Lorsque la mémoire est constituée par une mémoire vive dynamique, ou "DRAM"I (de "dynamic random-access memory'T) le circuit de commande 286 produit un signal de validation d'adresse de ligne /RAS, de "row address strobe", un signal de validation d'adresse de colonne /CAS, de "column-address strobe", un signal de validation d'écriture /WE, de "write
enable", et un signal de validation de lecture /GE, de "out-
-
put enable", (lorsque la sortie est à trois états).
Le signal de commande 4 RW appliqué au circuit de com-
mande 286 peut être fourni par un circuit de commande ex-
térieur Lorsque la valeur du compte du compteur 134 de l'u-
nité de comparaison 3 représentée sur la figure 43 atteint un compte prédéterminé, un signal de comptage progressif
est produit Ce signal de comptage progressif peut être uti-
lisé comme signal de commande i RW Cela est dû au fait que
le calcul d'une valeur d'évaluation pour un bloc de réfé-
rence est effectué en permanence jusqu'à ce que le compte
du compteur (voir figure 43) atteigne une valeur prédéter-
minée Le fonctionnement de celui-ci est décrit ci-après.
On considère le cas dans lequel la fenêtre de recherche de la figure 54 a une taille de 48 x 16 éléments d'image, et un macrobloc (bloc de référence et bloc de la fenêtre de
recherche) a une taille de 16 x 16 éléments d'image On sup-
pose que le calcul de la valeur d'évaluation est effectué
pour le bloc 42 de la fenêtre de recherche La région néces-
saire pour obtenir un vecteur mouvement à précision frac-
tionnaire pour le bloc 42 de la fenêtre de recherche est une région 48 de 18 x 18 éléments d'image incluant la région 42 La région 48 comprend les données d'éléments d'image
PO à P 325, comme cela est représenté sur la figure 54.
En référence à la figure 55, le signal d'horloge 4 est émis à chaque transfert de données d'éléments d'image de la fenêtre de recherche Lorsque le signal j est émis, les
données de la fenêtre de recherche sont décalées d'un élé-
ment d'image vers la sortie Lors du calcul d'une valeur d'évaluation pour le bloc 42 de la fenêtre de recherche, les données de sortie du circuit à retard 260 représenté
sur la figure 52 incluent des données correspondant à l'é-
81 - lément d'image PO Si la valeur d'évaluation du bloc 42 de la fenêtre de recherche est la valeur minimale des valeurs d'évaluation obtenues, un signal de validation de circuit à verrouillage R 4 est émis par le comparateur représenté sur la figure 43 En réponse à ce signal, l'adresse d'écri- ture fournie par le circuit générateur d'adresses d'écriture 281 est remise à la valeur initiale de 0 Ensuite, la donnée d'élément d'image PO est écrite à la position d'adresse O dans la mémoire 272 Après cela, les données des 18 éléments d'image, c'est-à-dire Pl à P 17 N sont mémorisées dans les positions des adresses 1 à 17 (lorsque le signal Ri n'est
pas émis).
Pour inhiber lrécriture des données non nécessaires, le circuit générateur d'adresses 281 se met dans un état de pause pendant 30 périodes d'horloge, c'est-à-dire 30 >
périodes, ce qui inhibe l'écriture des données dans la mé-
moire 272 La détermination du début d'une pause pour inhi-
ber l'écriture des données est réalisée par une structure dans laquelle la mémoire 272 est mise dans un état de pause pour 304 périodes lorsqu'un signal de compte 4 est compté
18 fois depuis que le signal de validation de circuit à ver-
rouillage Ri est appliqué au circuit de commande 286.
Lorsque 30 périodes d'horloge ( 30 périodes de cycle)
se sont écoulées, le circuit générateur d'adresses d'écri-
ture 281 produit de nouveau une adresse Ici, l'adresse est
18, de sorte que la donnée d'élément d'image P 18 est mémo-
risée à l'emplacement de l'adresse 18 Les opérations décri-
tes ci-dessus sont ensuite exécutées de manière répétée.
En changeant le bloc de référence, on décale la zone de re-
cherche d'un macrobloc dans la direction horizontale Par conséquent, toutes les données nécessaires pour détecter un vecteur mouvement à précision fractionnaire peuvent être 82 -
obtenues même si le macrobloc fournissant le vecteur mouve-
ment est situé à la limite de la zone de recherche Les don-
nées extérieures à la zone de recherche peuvent être négli-
gées dans ce cas Les données voisines situées à l'intérieur de la zone de recherche peuvent être utilisées. Selon le fonctionnement décrit ci-dessus, la mémoire 272 ne mémorise que les données du bloc de la fenêtre de recherche correspondant à un vecteur déplacement qui devient candidat au vecteur mouvement La capacité de mémorisation
de la mémoire 272 peut être la capacité de mémorisation mi-
nimale de 18 x 18 mots pour réduire la taille du dispositif.
Dans le cas d'une structure dans laquelle le circuit
formant mémoire tampon 270 mémorise toutes les données d'é-
léments d'image de toute la zone de recherche pour un bloc
de référence, le circuit à retard 260 n'est pas nécessaire.
Dans ce cas, une adresse de lecture est produite selon la
valeur du vecteur mouvement issue de l'unité de comparai-
son 3.
La figure 56 représente la structure du deuxième dispo-
sitif de calcul représenté sur les figures 51 et 52 En ré-
férence à la figure 56, le deuxième dispositif de calcul 250 comprend un circuit générateur d'images à prédiction à précision fractionnaire 302 pour recevoir les données de la fenêtre de recherche (plus précisément, les données de sortie de la mémoire tampon) issues du premier dispositif
de calcul (groupement de processeurs) pour produire une ima-
ge à prédiction nécessaire pour avoir la précision fraction-
naire, un circuit de somme des différences absolues 304 pour
fournir la somme des différences absolues des données d'élé-
ments d'image de l'image à prédiction produite par le cir-
cuit générateur d'images à prédiction à précision fraction-
naire 302 et des données X du bloc de référence, et une unité 83 -
de comparaison 306 pour détecter le vecteur déplacement four-
nissant la somme minimale des différences absolues des don-
nées de sortie du circuit de somme des différences absolues 304 Le circuit générateur d'images à prédiction à précision fractionnaire 302 produit une pluralité de données d'élé-
ments d'image d'une image à prédiction en parallèle Le cir-
cuit de somme des différences absolues 304 fournit en outre
en parallèle une valeur d'évaluation pour un vecteur dépla-
cement qui devient le candidat au vecteur mouvement L'unité de comparaison 306 détecte la somme minimale des différences
absolues parmi la pluralité de sommes des différences abso-
lues fournie par le circuit de somme des différences abso-
lues 304, ce qui fait que le vecteur déplacement correspon-
dant à cette somme minimale des valeurs absolues est déter-
miné comme étant le vecteur mouvement Une structure spéci-
fique de chaque organe du circuit est décrite ci-après.
La figure 57 représente une structure spécifique du
circuit générateur d'image à prédiction à précision frac-
tionnaire représenté sur la figure 56 En référence à la figure 57, le circuit générateur d'images à prédiction à précision fractionnaire 302 comprend un circuit à retard 310 pour retarder des données de la fenêtre de recherche
pendant un intervalle de temps prédéterminé, un addition-
neur 312 pour additionner les données du circuit à retard
310 et les données Y de la fenêtre de recherche, et un mul-
tiplieur 314 pour appliquer un coefficient ( 1/2) aux données de sortie de l'additionneur 312 Le multiplieur 314 peut
être réalisé sous la forme d'un registre à décalage qui dé-
cale les données appliquées dans le sens du binaire de poids faible suivant Le temps de retard appliqué par le circuit
à retard 310 est déterminé en fonction du vecteur déplace-
ment auquel le circuit générateur d'images à prédiction frac-
84 - tionnaire 302 correspond Le temps de retard du circuit à
retard 310 sera décrit plus loin Le circuit générateur d'i-
mages à prédiction à précision fractionnaire 302 représenté
sur la figure 57 sert à détecter un vecteur mouvement à pré-
cision de 1/2 élément d'image. La figure 58 représente une structure spécifique du
circuit de somme des différences absolues de la figure 56.
En référence à la figure 58, le circuit de somme des diffé-
rences absolues 304 comprend un soustacteur 320 pour effec-
tuer une soustraction entre une donnée interpolée YF fournie par le circuit générateur d'images à prédiction à précision fractionnaire 302 et la donnée X du bloc de référence, un circuit de valeur absolue 322 pour fournir la valeur absolue de la donnée de sortie du soustracteur 320, et un circuit accumulateur 324 pour accumuler les données de sortie du circuit de valeur absolue 322 Un exemple de structure du
deuxième dispositif de calcul utilisé pour obtenir un vec-
teur mouvement à précision fractionnaire est décrit ci-a-
près. La figure 59 est un schéma utilisé pour décrire les
opérations permettant d'obtenir un vecteur mouvement à pré-
cision fractionnaire à l'aide d'un deuxième dispositif de
calcul Le deuxième dispositif de calcul 250 détecte un vec-
teur mouvement à précision de 1/2 élément d'image On con-
sidère le cas dans lequel il y a huit points comme candidats
au rôle de vecteur mouvement En d'autres termes, les don-
nées d'éléments d'image de huit éléments voisins Q 1 à Q 4 et Q 6 à Q 9 pour un élément d'image cible P sont obtenues
par interpolation Une valeur d'évaluation indiquant un can-
didat au rôle de vecteur mouvement est calculé en détermi-
nant la différence absolue entre les données d'éléments d'i-
mage Ql à Q 4 et Q 6 à Q 9 obtenues par interpolation, d'une - part, et les données X du bloc de référence, d'autre part,
et en accumulant les différences obtenues.
Ici, on suppose que les données de la fenêtre de re-
cherche sont Pl à P 9, le temps entre les éléments d'image de colonnes voisines est T, et le temps entre lignes voisi- nes est H ( 18 T lorsque la taille de la fenêtre de recherche
à précision fractionnaire est de 18 x 18 éléments d'image).
Sur la figure 59, la disposition des lignes et des colonnes
est l'opposé de celle représentée dans le mode de réalisa-
tion précédent Les données du bloc de la fenêtre de recher-
che issues du groupement de processeurs sont décalées sé-
quentiellement le long de la direction des colonnes de la fenêtre de recherche D'une manière analogue, les données du bloc de référence sont décalées le long de la direction des colonnes (lorsque la ligne de transmission des données du bloc de référence et la ligne de transmission des données
de la fenêtre de recherche sont disposées parallèlement en-
tre elles) Sur la figure 59, seul le numéro de référence affecté à chaque élément d'image a besoin d'être changé
(remplacement des lignes et des colonnes) et cela ne pré-
sente pas de difficultés particulières La structure néces-
saire pour obtenir un vecteur mouvement à précision frac-
tionnaire en utilisant les données interpolées de la fenêtre de recherche Ql à Q 4 et Q 6 à Q 9 représentées sur la figure
59 est décrite ci-après.
La figure 60 représente la structure d'un exemple du deuxième dispositif de calcul En référence à la figure 60, le deuxième dispositif de calcul 250 comprend un circuit
à retard 335 a pour retarder une donnée de la fenêtre de re-
cherche de 1 H, et un circuit à retard 335 b pour retarder de nouveau de 1 H la donnée de sortie du circuit à retard
335 a Un chemin qui produit des données correspondant à cha-
86 - que ligne de la figure 59 est formé par les deux étages de
circuit à retard 335 a et 335 b montés en cascade.
Le deuxième dispositif de calcul de la figure 60 com-
prend en outre un circuit à retard 336 a pour retarder de 1 T une donnée de la fenêtre de recherche P, un circuit à retard 336 d pour retarder de nouveau de 1 T la donnée de sortie du
circuit à retard 336 a, un circuit à retard 336 b pour retar-
der de 1 T la donnée de sortie du circuit à retard de 1 H 335 a, un circuit à retard 336 e pour retarder de 1 T la donnée de sortie du circuit à retard 336 b, un circuit à retard 336 c pour retarder de 1 T la donnée de sortie du circuit à retard de 1 H 335 b, et un circuit à retard 336 f pour retarder de
1 T la donnée de sortie du circuit à retard 336 c Les cir-
cuits à retard de 1 T 336 a à 336 f produisent les données de
la fenêtre de recherche nécessaires pour effectuer l'inter-
polation. Le deuxième dispositif de calcul 250 comprend en outre un circuit à décalage d'addition 330 a pour additionner la donnée P de la fenêtre de recherche et la donnée de sortie du circuit à retard de 1 T 336 a et multiplier le résultat par un coefficient de 1/2 Le circuit à décalage d'addition 330 a effectue la multiplication par un coefficient 1/2 par une opération de décalage Le deuxième dispositif de calcul 250 comprend en outre un circuit à décalage d'addition 330 b pour effectuer une opération d'addition par décalage sur la donnée de sortie du circuit à retard de 1 T 336 a et la donnée de sortie du circuit à retard de 1 T 336 e, un circuit
à décalage d'addition 330 c pour effectuer une opération d'ad-
dition par décalage sur les données de sortie des circuits
à retard de 1 T 336 b et 336 e, un circuit à décalage d'addi- tion 330 d pour effectuer une opération d'addition par déca-
lage sur les données de sortie du circuit à retard de 1 H 87 -
335 a et du circuit à retard de 1 T 336 b, un circuit à déca-
lage d'addition 330 e pour effectuer une opération d'addition par décalage sur les données de sortie du circuit à retard de 1 H 335 b et du circuit à retard de 1 T 336 c, et un circuit à décalage d'addition 330 f pour effectuer une opération d'addition par décalage sur les données de sortie du circuit à retard de 1 T 336 c et du circuit à retard de 1 T 336 f Les circuits à décalage d'addition 330 a à 330 f produisent les données utilisées pour obtenir les données interpolées entre
quatre éléments d'image.
Le deuxième dispositif de calcul 250 comprend en outre un circuit à décalage d'addition 330 g pour effectuer une opération d'addition par décalage sur les données de sortie
du circuit à décalage d'addition 330 a et du circuit à déca-
lage d'addition 330 d, un circuit à décalage d'addition 330 h pour effectuer une opération d'addition par décalage sur les données de sortie des circuits à retard de 1 T 336 a et 336 b, un circuit à décalage d'addition 330 i pour effectuer une opération d'addition par décalage sur les données de sortie des circuits de décalage d'addition 330 b et 330 c, un circuit à décalage d'addition 330 j pour effectuer une opération d'addition par décalage sur les sonnées de sortie du circuit à retard de 1 T 336 b et du circuit à retard de
1 H 335 a, un circuit à décalage d'addition 330 k pour effec-
tuer une opération d'addition par décalage sur les données
de sortie des circuits à retard de 1 T 336 e et 336 b, un cir-
cuit à décalage d'addition 3301 pour effectuer une opération
d'addition par décalage sur les données de sortie des cir-
cuits à décalage d'addition 330 d et 330 e, un circuit à déca-
lage d'addition 330 m pour effectuer une opération d'addition par décalage sur les données de sortie des circuits à retard de 1 T 336 b et 336 c, et un circuit à décalage d'addition 330 n 88 - pour effectuer une opération d'addition par décalage sur les données de sortie des circuits à décalage d'addition 330 c et 330 f Les circuits à décalage d'addition 330 g à 330 n
produisent les données des éléments d'image situés aux posi-
tions des données interpolées d'éléments d'image Q 9 à Q 6
et Q 4 à QM.
Le circuit de somme des différences absolues 304 com-
prend des circuits de somme des valeurs absolues 304 a à 304 h pour recevoir les données de sortie Q 9 à Q 6 et Q 4 à Ql des circuits à décalage d'addition 330 g à 330 N et les données
A du bloc de référence pour calculer la somme des différen-
ces absolues des signaux appliqués Les données P du bloc
de la fenêtre de recherche et les données A du bloc de réfé-
rence ont une relation de coïncidence exacte (à l'intérieur
du bloc).
Les données de sortie des circuits de somme des diffé-
rences absolues 304 a à 304 h sont fournies en parallèle à
l'unité de comparaison 306, ce qui fait que le vecteur dé-
placement fournissant la somme minimale des différences ab-
solues est détecté comme étant le vecteur mouvement L'unité
de comparaison 306 compare les données de sortie des cir-
cuits de somme des différences absolues 304 a à 304 h pour
fournir le code de désignation du circuit de somme des dif-
* férences absolues fournissant la valeur minimale comme étant le vecteur mouvement Les circuits de différence absolue
304 a à 304 h correspondent respectivement à un vecteur dépla-
cement fournissant huit points d'évaluation Par conséquent, un vecteur mouvement à précision fractionnaire peut être déterminé. Dans la structure représentée sur la figure 60, il est possible de ne prévoir qu'un circuit sur les quatre circuits de différence absolue, auquel cas les données de sortie des 89 - des circuits à décalage d'addition activés avec répartition dans le temps 330 g à 330 N sont additionnées séquentiellement
et accumulées Dans le cas d'une structure partagée, le ré-
sultat de l'accumulation obtenu dans le circuit de somme des différences absolues est mémorisé dans la pile de regis-
tres, ce qui fait que l'accumulation est effectuée en uti-
lisant les valeurs contenues dans la pile de registres Dans ce cas, l'unité de comparaison 306 peut avoir une structure analogue à celle de l'unité de comparaison représentée sur
la figure 43 Cela est dû au fait que l'opération de compa-
raison est effectuée séquentiellement.
Dans la structure décrite ci-dessus, le vecteur mouve-
ment est détecté avec une précision de 1/2 élément d'image.
Une structure conçue pour détecter le vecteur mouvement avec
une précision à fraction plus petite, telle que 1/4 d'élé-
ment d'image, peut également être utilisée Bien que les points d'évaluation considérés ici soient au nombre de huit, il est possible d'employer une structure à nombre plus grand
de points d'évaluation.
La figure 1 représente une variante du deuxième mode de réalisation de l'invention Le dispositif de détection du vecteur mouvement de la figure 61 est muni de mémoires tampons 280 et 282 montées entre le premier dispositif de
calcul 210 prévu pour détecter le vecteur mouvement à préci-
sion entière et un deuxième dispositif de calcul 250 prévu
pour détecter le vecteur mouvement avec une précision frac-
tionnaire Les mémoires tampon 280 et 282 mémorisent les
données TX du bloc de référence et les données SY de la fe-
nêtre de recherche fournies par le premier dispositif de calcul 210 La structure des mémoires tampon 280 et 282 est analogue à celle de la figure 53 La mémoire tampon 280 peut
avoir une capacité suffisante pour mémoriser toutes les don-
- nées d'éléments d'image du bloc de référence, et la mémoire tampon 282 peut avoir une capacité suffisante pour mémoriser
toutes les données d'éléments d'image de la zone de recher-
che correspondant à ce bloc de référence La mémoire tampon 282 peut aussi avoir une capacité juste suffisante pour mé-
moriser uniquement les données d'éléments d'image d'une ré-
gion nécessaire pour détecter le vecteur mouvement avec une précision fractionnaire, comme dans le mode de réalisation précédent. Dans la structure représentée sur la figure 52, les données TX du bloc de référence issues du premier dispositif
de calcul 210 sont fournies directement au deuxième disposi-
tif de calcul 250 Dans le cas d'une telle structure, la période de l'opération de détection du vecteur mouvement à précision fractionnaire est la période de chargement des
données du bloc de référence dans la groupement de proces-
seurs du premier dispositif de calcul 210 Cela est dû au
fait que les données du bloc de référence sont sorties sé-
quentiellement du groupement de processeurs par décalage pendant cette période Dans ce cas, le deuxième dispositif
de calcul 250 doit effectuer les calculs à une cadence sen-
siblement égale à la cadence de transfert des données du
bloc de référence.
Cependant, le deuxième dispositif de calcul 250 peut
effectuer les calculs avec une marge suffisante en prévoy-
ant les mémoires tampons 280 et 282 pour les données TX du
bloc de référence et les données SY de la fenêtre de recher-
che, respectivement, comme cela est représenté sur la figure 61 Cela facilite la fourniture des données TX du bloc de référence et des données SY de la fenêtre de recherche aux
instants voulus.
Dans le cas de la structure représentée sur la figure 91 - 61, les opérations de calcul exécutées par les premier et
deuxième dispositifs de calcul 210 et 250 peuvent être ef-
fectuées en parallèle avec chevauchement, ou "en mode pipe-
line", comme cela est représenté sur la figure 62 La figure 62 est un schéma utilisé pour décrire le fonctionnement du dispositif de détection de vecteur mouvement de la figure 61 Sur la figure 61, le temps est porté en abscisses Dans le premier dispositif de calcul 210, le processus relatif au N-ième macrobloc (bloc de référence) est exécuté, ce qui termine la détermination du vecteur mouvement pour le N-ième macrobloc Ensuite, utilisant les données de la fenêtre de recherche et les données du bloc de référence utilisées dans le processus exécuté pour le N-ième macrobloc, la détection
du vecteur mouvement à précision fractionnaire pour le N-
ième macrobloc est effectuée dans le deuxième dispositif
de calcul.
En parallèle sur l'opération de détermination du vec-
teur mouvement à précision fractionnaire pour le N-ième ma-
crobloc, la détection du vecteur mouvement à précision en-
tière est effectuée pour le (N+ 1)-ième macrobloc (bloc de
référence) dans le premier dispositif de calcul En établis-
sant un "pipeline" pour les opérations effectuées par les
premier et deuxième dispositifs de calcul 210 et 250, c'est-
à-dire en les exécutant en parallèle avec chevauchement com-
me cela est décrit ci-dessus, les opérations du premier dis-
positif de calcul 210 et celles du deuxième dispositif de calcul 250 peuvent être effectuées indépendamment au sens temporel, de sorte que la détection du vecteur mouvement à précision fractionnaire peut être effectuée avec une marge
suffisante par rapport au cadencement imposé pour les cal-
culs Les premier et deuxième dispositifs de calcul 210 et 250 fonctionnent en parallèle également dans ce cas, de sorte 92 -
que la détection du vecteur mouvement à précision fraction-
naire peut être effectuée avec une grande vitesse.
Bien que la mémoire tampon 280 soit utilisée pour mémo-
riser les données TX du bloc de référence dans la structure représenté sur la figure 61, elle peut être un élément com- portant une fonction retard (ligne à retard ou mémoire de ligne). La figure 63 représente une autre variante du deuxième mode de réalisation de l'invention La figure 63 représente
la partie du premier dispositif de calcul prévu pour détec-
ter le vecteur mouvement avec une précision entière En ré-
férence à la figure 63, le premier dispositif de calcul 400 comprend les unités d'opérations élémentaires 411 a à 411 w
montées en cascade Chacune des unités d'opérations élémen-
taires 411 a à 411 W a la même structure et comprend des re-
gistres 413 a à 413 W pour verrouiller les données de la fenê-
tre de recherche, des registres 414 a à 414 W pour verrouiller
les données du bloc de référence, et des circuits de diffé-
rence absolue 412 a à 412 W pour calculer la différence abso-
lue des données mémorisées dans un registre correspondant de données de la fenêtre de recherche 413 a à 413 W et dans un registre correspondant de données du bloc de référence
414 a à 414 w.
Les registres 413 a à 413 W peuvent transférer des don-
nées dans un seul sens Les registres 414 a à 414 W peuvent également transférer des données à une unité d'opérations
élémentaire voisine dans un seul sens Le registre de don-
nées de la fenêtre de recherche 413 a compris dans le premier étage de l'unité d'opérations élémentaire 411 a reçoit les
données de la fenêtre de recherche issues de la mémoire d'i-
mage individuelle 401 et transmises par une ligne de signaux 415 Le registre de données du bloc de référence 414 a de l'unité d'opérations élémentaire 411 a reçoit les données 93 -
du bloc de référence issues de la mémoire d'image indivi-
duelle 402 et transmises par une ligne de signaux 416 La mémoire d'image individuelle 401 mémorise toutes les données
d'éléments d'image de l'image individuelle de référence (i-
mage individuelle précédente) La mémoire d'image indivi- duelle 402 mémorise toutes les données d'éléments d'image de l'image individuelle courante Les unités d'opérations
élémentaires 411 A à 411 W sont prévues en nombre correspon-
dant à la taille d'un macrobloc Plus précisément, lorsque
la taille d'un bloc de référence est de 16 lignes x 16 co-
lonnes, un total de 256 unités d'opérations élémentaires est prévu Le premier dispositif de calcul 410 comprend en
outre une unité de sommation 417 pour additionner les don-
nées de sortie des circuits de différence absolue 412 a à 412 W des unités d'opérations élémentaires 411 a à 411 w, et
une unité de comparaison 418 pour détecter la valeur d'éva-
luation minimale en réponse à la donnée de sortie du circuit de sommation 417 pour déterminer le vecteur déplacement du bloc correspondant de la fenêtre de recherche comme étant
le vecteur mouvement.
Dans la structure représentée sur la figure 63, le pre-
mier dispositif de calcul a les données du bloc de référence mémorisées dans les registres 414 a à 414 w, et les données d'un bloc de la fenêtre de recherche mémorisées dans les registres 413 a à 413 w Lorsqu'un cycle de calculs (cycle de détermination de la valeur d'évaluation) est terminé, une ligne ou une colonne de données du bloc de la fenêtre
de recherche est sortie par décalage Les données de la fe-
nêtre de recherche sorties par décalage SY sont appliquées au deuxième dispositif de calcul D'une manière analogue,
les données TX du bloc de référence sont sorties par déca-
lage dans le cycle suivant de détection du vecteur mouvement 94 - pour être fournies au deuxième dispositif de calcul Les données de la fenêtre de recherche nécessaire pour effectuer
la détection du vecteur mouvement avec une précision frac-
tionnaire parmi les données de la fenêtre de recherche sor-
ties par décalage SY sont obtenues en utilisant la structure
représentée sur la figure 53.
Dans la structure représentée sur la figure 63, un ré-
sultat analogue peut être obtenu en mettant tout les regis-
tres 414 a à 414 W dans un état de transmission pour fournir
les données du même bloc de référence aux unités d'opéra-
tions élémentaires 411 a à 411 w, ce qui fait que les données de la fenêtre de recherche sont introduites ou sorties par décalage d'un élément d'image vers les registres 413 a à 413 w Dans ce cas, les données de la fenêtre de recherche sont fournies de telle manière que les données TX du bloc de référence et les données SY de la fenêtre de recherche
fournies aux circuits aient le même vecteur déplacement.
Dans ce cas, on utilise un circuit de somme des différences
absolues au lieu d'un circuit de différence absolue D'au-
tres structures peuvent être utilisées et toute structure est permise pourvu qu'elle inclue une fonction de détection
du vecteur mouvement avec une précision entière.
Dans le cas de la structure dans laquelle les unités d'opérations élémentaires sont montées en cascade, comme
cela est représenté sur la figure 63, les données de la fe-
nêtre de recherche nécessaires pour effectuer les calculs
avec une précision fractionnaire peuvent être obtenues faci-
lement Plus précisément, un registre à décalage est prévu au niveau de l'étage de sortie des données de la fenêtre de recherche, et un circuit à verrouillage est prévu pour
verrouiller les données de la fenêtre de recherche à un in-
tervalle approprié dans l'unité d'opérations élémentaire.
- La position à laquelle le circuit à verrouillage est prévu correspond à la position extérieure, d'un élément d'image, à un bloc de la fenêtre de recherche Plus précisément, dans le premier dispositif de calcul 400, toutes les données de la fenêtre de recherche nécessaires pour obtenir la préci-
sion fractionnaire sont verrouillées, et une unité d'opéra-
tions élémentaire n'est prévue que pour les données d'élé-
ments d'image nécessaires pour détecter le vecteur mouvement avec une précision entière Dans ce cas, du fait que les données de la fenêtre de recherche nécessaires pour obtenir la précision fractionnaire sont sorties séquentiellement par décalage parallèlement à la fourniture des données TX du bloc de référence, les données de la fenêtre de recherche nécessaires pour avoir une image individuelle de référence peuvent être obtenues facilement en détectant le vecteur mouvement avec une précision fractionnaire Par conséquent,
la structure du dispositif est simplifiée.
Lorsque la taille du bloc de référence et celle du bloc de la fenêtre de recherche sont de 16 x 16 éléments d'image, par exemple, la taille du bloc de la fenêtre de recherche
nécessaire pour détecter le vecteur mouvement avec une pré-
cision fractionnaire est de 18 x 18 éléments d'image Ici, un registre à décalage verrouillant les 18 premiers éléments
d'image est prévu au niveau de l'étage de sortie, et un cir-
cuit à verrouillage pour verrouiller les données respectives de chaque position supérieure et inférieure d'un binaire à l'extérieur de chaque colonne du bloc de la fenêtre de
recherche (de 16 x 16 éléments d'image) est prévu à une posi-
tion prédéterminée parmi les unités d'opérations élémentai-
res Dans ce cas, les données de la fenêtre de recherche nécessaires pour obtenir la précision fractionnaire sont
lues dans la mémoire d'image individuelle du premier dispo-
sitif de calcul Cet état est représenté sur la figure 64.
96 - En référence à la figure 64, les données du bloc de la fenêtre de recherche 434 sont mémorisées dans les unités
d'opérations élémentaires 441 a à 441 f La figure 64 repré-
sente l'état dans lequel les données YB du bloc de la fenê-
tre de recherche sont mémorisées dans l'unité d'opérations élémentaire 411 d Lors de la détection du vecteur mouvement
avec une précision fractionnaire, ce sont les données d'élé-
ments d'image de la région 438 incluant les éléments d'image périphériques 436 du bloc de la fenêtre de recherche 434
qui sont utilisées Les données de la région d'éléments d'i-
mage périphériques 436 sont mémorisées dans chaque registre
à décalage et verrouillage.
La figure 64 représente l'état des données des éléments périphériques YA mémorisés dans le circuit à verrouillage
430 a La colonne d'éléments d'image périphériques (repré-
sentée sous la forme de l'élément d'image YC) est mémorisée
dans l'étage de sortie du registre à décalage 432 a, et l'au-
tre colonne d'éléments d'image (représentée sous la forme de l'élément d'image YD) est mémorisée dans la partie entrée du registre à décalage 432 b Toutes les données de la région 438 sont lues dans la mémoire d'image individuelle 401 Il est à noter qu'une colonne ou une ligne des données de la
fenêtre de recherche de la région 438 est introduite ou sor-
tie par décalage à chaque cycle de calcul d'une valeur d'é-
valuation Selon cette structure, les données d'éléments d'image nécessaires pour détecteur le vecteur mouvement avec
une précision fractionnaire peuvent être facilement produi-
tes pour être fournies à un deuxième dispositif de calcul pour effectuer la détection du vecteur mouvement à précision fractionnaire Les unités d'opérations élémentaires 411 a à 411 f peuvent être disposées en matrice (le transfert des
données peut se faire dans un seul sens).
97 - Mode de réalisation 3 Dans les modes de réalisation 1 et 2 décrits jusqu'ici,
le vecteur mouvement est détecté pour un seul bloc de réfé-
rence Or, la détection en parallèle des vecteurs mouvement de deux blocs de référence peut aussi être effectuée La
structure du dispositif utilisé à cette fin est décrite ci-
après.
La figure 65 représente les tailles de la zone de re-
cherche et du bloc de référence En référence à la figure 65, la zone de recherche 45 a une taille de 48 x 48 éléments d'image et le bloc de référence 43 a une taille de 16 x 16 éléments d'image L'intervalle de recherche est de + 16 à -16 dans la direction horizontale et de + 16 à -16 dans la
direction verticale.
Comme cela est représenté sur la figure 66, on consi-
dère le cas de la détection de chaque vecteur mouvement avec deux macroblocs voisins TB 1 et TB 2 comme bloc de référence dans l'image individuelle courante 49 Dans le présent mode de réalisation, on utilise le groupement de processeurs de la structure représentée sur les figures 1 et 4 Les données
des éléments d'image de la fenêtre de recherche 40 représen-
tée sur la figure 67 sont mémorisées dans le groupement de processeurs.
On considère le cas dans lequel le bloc 42 de la fenê-
tre de recherche est mémorisé dans chaque processeur élé-
mentaire du groupement de processeurs, comme cela est repré-
senté sur la figure 67 Ici, le vecteur déplacement pour le bloc de référence TB 1 ( 0, -16) et le vecteur déplacement
(candidat au rôle de vecteur mouvement) pour le bloc de ré-
férence TB 2 sont (-16, -16) Pour le bloc 42 a de la fenêtre de recherche, le vecteur déplacement du bloc de référence TB 1 est (+ 16, - 16), et le vecteur déplacement du bloc de
référence TB 2 est ( 0, -16) Le calcul des valeurs d'évalua-
98 -
tion pour les deux blocs de référence TB 1 et TB 2 est effec-
tué en parallèle.
Le processeur élémentaire PE du groupement de proces-
seurs mémorise les données du bloc 42 de la fenêtre de re-
cherche représenté sur la figure 67 D'une manière analogue, les données des éléments d'image des blocs de référence TBI
et TB 2 sont mémorisés en maintenant la disposition succes-
sive représentée sur la figure, dans chaque processeur élé-
mataire du groupement de processeurs La structure de ce
processeur élémentaire est décrite ci-après.
Le fonctionnement du processeur élémentaire est fonda-
mentalement semblable à celle qui a été décrite en relation
avec les modes de réalisation 1 et 2.
Comme cela est représenté sur la figure 68, des valeurs d'évaluation pour les vecteurs déplacement ( 0, -16) et (-16, -16) des blocs de référence TB 1 et TB 2 sont calculées en
utilisant le bloc 42 de la fenêtre de recherche.
Lorsque le calcul des valeurs d'évaluation pour les vecteurs déplacement ( 0, -16) et (-16, -16) est terminé, l'opération de décalage de la valeur d'un élément d'image
est exécutée dans le groupement de processeurs.
Dans cet état, le bloc 42 de la fenêtre de recherche
est décalé d'une ligne vers le bas, comme cela est re-
présenté sur la figure 69 (bloc 42 a) Le vecteur déplace-
ment, pour le bloc 42 a de la fenêtre de recherche, du bloc de référence TB 1 est ( 0, -15), et le vecteur déplacement
du bloc de référence TB 2 est (-16, -15) La valeur d'éva-
luation est calculée pour chaque vecteur déplacement.
Les opérations décrites ci-dessus sont ensuite répé-
tées Lorsque 33 cycles sont achevés, le bloc 42 b de la fe-
nêtre de recherche est mémorisé dans les processeurs élémen-
taires du groupement de processeurs Dans cet état, le vec-
99 - teur déplacement du bloc de référence TB 1 est ( 0, 16), et le vecteur déplacement du bloc de référence TB 2 est (-16, 16) L'opération de décalage de la fenêtre de recherche est poursuivie et la fenêtre de recherche 40 est décalée d'une colonne vers la droite, et l'évaluation du vecteur mouvement est effectuée en utilisant la nouvelle fenêtre de recherche a.
Plus précisément, comme cela est représenté sur la fi-
gure 71, l'évaluation du vecteur mouvement est effectuée
en utilisant le bloc le plus élevé 42 c de la fenêtre de re-
cherche dans la nouvelle fenêtre de recherche 40 a Pour le bloc 42 c de la fenêtre de recherche, le vecteur déplacement
du bloc de référence TB 1 est ( 1, -15), et le vecteur dépla-
cement du bloc de référence TB 2 est (-15, -16).
Après répétition de ces opérations pour effectuer la détection du vecteur mouvement pour le bloc inférieur 42 d de la fenêtre de recherche 40 b, le cycle de détermination
du vecteur mouvement du bloc de référence TB 1 est terminé.
On considère que le processus de calcul pour les 16 colonnes de -16 à -1 de la composante horizontale est déjà terminé avant que la fenêtre de recherche 40 soit appliquée Dans cet état, une valeur d'évaluation pour les 1089 (= 33 x 33)
points d'évaluation indiquant les candidats au rôle de vec-
teur mouvement pour le bloc de référence TB 1 peut être cal-
culée pour obtenir le vecteur mouvement Le vecteur mouve-
ment du bloc de référence TB 2 peut être détecté en effec-
tuant les mêmes opérations pour le bloc de référence TB 2.
Plus précisément, comme cela est représenté sur la fi-
gure 72, l'opération de détection du vecteur mouvement des
bloc de référence TB 1 et TB 2 peut être effectuée en paral-
lèle pour les deux vecteurs, les cycles de détection se che-
vauchant d'un demi-cycle Cela permet d'effectuer la compen-
-
sation du mouvement dans une image à une vitesse élevée.
La structure utilisée pour effectuer la détection en paral-
lèle des vecteurs mouvement des deux blocs de référence est
décrite ci-après.
La figure 73 représente la structure d'un processeur élémentaire utilisé dans le troisième mode de réalisation de l'invention En référence à la figure 73, le processeur élémentaire PE comprend un registre de données de la fenêtre de recherche 505 c pour mémoriser les données de la fenêtre de recherche fournies par un processeur élémentaire voisin, un registre de données du bloc de référence droit 505 a pour
mémoriser les données d'éléments d'image du bloc de réfé-
rence droit fournies par un processeur élémentaire voisin, un registre de données de bloc de référence gauche 505 b pour
mémoriser les données d'éléments d'image du bloc de réfé-
rence gauche fournies par un processeur élémentaire voisin, un sélecteur 506 pour sélectionner la donnée de sortie de
l'un ou l'autre des registres de données de bloc de réfé-
rence 505 a et 505 b, et un circuit de différence absolue 507 pour recevoir les données de sortie des registres 505 c et du sélecteur 506 par l'intermédiaire des lignes de signaux 510 et 509, respectivement, pour effectuer le calcul de la
différence absolue.
La donnée de sortie du circuit de différence absolue 507 est fournie à l'unité de sommation par l'intermédiaire
de la ligne de signal 511 Le processeur élémentaire PE re-
présenté sur la figure 73 fait partie d'un groupement bidi-
mensionnel, ou matrice, comme cela est représenté sur la figure 4 Les données du bloc de référence sont actualisées après que la détection du vecteur mouvement pour 16 colonnes (les 16 colonnes de la zone derecherche) des composantes horizontales a été effectuée Ici, le bloc de référence droit 101 -
et le bloc de référence gauche ne peuvent pas être actuali-
sés simultanément et seules les données mémorisées dans un même registre de données de bloc de référence peuvent être actualisées En réponse au signal reçu, le sélecteur 506 opère la sélection Seule la séquence de sélection d'un même
bloc de référence a besoin d'être identique dans chaque cy-
cle de fonctionnement.
La structure du circuit de différence absolue 507 et
* celle de l'unité de sommation sont analogues à celles décri-
tes en relation avec les premier et deuxième modes de réali-
sation Le fonctionnement du processeur élémentaire PE étant également analogue, il ne sera pas décrit Les registres
des données des blocs de référence 505 a et 505 b sont sélec-
tionnés séquentiellement par le sélecteur 506, et la diffé-
rence absolue des données du bloc de la fenêtre de recherche mémorisées dans le registre des données de la fenêtre de recherche 505 est obtenue Par conséquent, la différence
absolue des données du bloc de référence droit et la diffé-
rence absolue des données du bloc de référence gauche sont fournies par le circuit de différence absolue 507 sous forme multiplexée par répartition dans le temps pour être fournies
à l'unité de sommation.
Les figures 74 et 75 représentent les structures utili-
sées pour produire les données du bloc de référence droit
et les données du bloc de référence gauche, respectivement.
Sur la figure 74, les données du bloc de référence droit sont lues directement dans la mémoire d'image individuelle 550 contenant l'image individuelle courante, et les données du bloc de référence gauche sont lues dans la mémoire tampon 552 La mémoire tampon 552 mémorise séquentiellement les
données du bloc de référence droit lues dans la mémoire d'i-
mage individuelle 550 pour l'image individuelle courante.
102 - Pour la mémoire tampon 552, on peut utiliser une mémoire à plusieurs accès ayant des chemins d'écriture et de lecture
distincts, comme cela a été décrit en relation avec la fi-
gure 54 Ou encore, on peut utiliser une mémoire du type FIFO La mémoire tampon 552 doit avoir une capacité suffi- sante pour mémoriser toutes les données d'éléments d'image
du bloc de référence La mémoire d'image individuelle cou-
rante 550 mémorise toutes les données d'éléments d'image
de l'image individuelle courante Dans la structure repré-
sentée sur la figure 74, le bloc de référence droit et le bloc de référence gauche sont actualisés ensemble lorsque l'opération de détection du vecteur mouvement pour les 16
colonnes dans la direction horizontale du groupement de pro-
cesseurs est terminée.
La figure 75 représente une structure utilisable pour actualiser les données d'un seul bloc de référence dans le groupement de processeurs En référence à la figure 75, les données du bloc de référence lues dans la mémoire d'image individuelle 550 pour l'image individuelle courante sont fournies par le sélecteur 554 comme étant les données du bloc de référence droit ou les données du bloc de référence gauche Le sélecteur 554 transmet les données du bloc de référence lues dans la mémoire d'image individuelle 550 pour l'image individuelle courante au chemin des données du bloc
de référence droit ou au chemin des données du bloc de réfé-
rence gauche Dans le processeur élémentaire PE représenté sur la figure 73, seules les données mémorisées soit dans le registre des données du bloc de référence droit 505 a,
soit dans le registre des données du bloc de référence gau-
che 505 b, sont actualisées En réponse à la commutation du sélecteur 554, la séquence de sélection est commutée par
le sélecteur 506 représenté sur la figure 73.
103 -
La figure 76 représente une autre structure d'un pro-
cesseur élémentaire En référence à la figure 76, le proces-
seur élémentaire PE comprend les circuits de différence ab-
solue 507 a et 507 b Le circuit de différence absolue 507 a fournit la différence absolue entre la donnée mémorisée dans le registre des données de la fenêtre de recherche 505 c et la donnée mémorisée dans le registre des données du bloc de référence droit 505 a Le circuit de différence absolue 507 b fournit la différence absolue entre la donnée mémorisée dans le registre des données de la fenêtre de recherche 505 c et la donnée mémorisée dans le registre des données du bloc de référence gauche 505 b Les données de sortie des circuits de différence absolue 507 a et 507 b sont transmises à l'unité
de sommation par les lignes de signaux 511 a et 511 b, respec-
tivement Deux circuits de sommation correspondant aux cir-
cuits de valeur absolue 507 a et 507 b peuvent être prévus
dans l'unité de sommation On peut aussi utiliser une struc-
ture dans laquelle une unité de sommation unique est atta-
quée avec répartition dans le temps par l'intermédiaire d'un sélecteur.
Dans la description de la structure du processeur élé-
mentaire donnée plus haut, il est indiqué que les données du bloc de référence sont transférées entre des processeurs voisins Lorsque ces données du bloc de référence ne sont pas transmises directement à l'unité de détection du vecteur mouvement à précision fractionnaire, on peut utiliser une structure dans laquelle les données du bloc de référence sont fournies directement à chaque processeur élémentaire
sans les décaler entre les processeurs élémentaires voisins.
Cela est dû au fait que les données du bloc de référence sont mémorisées dans le groupement de processeurs pendant la durée de l'opération de détection du vecteur mouvement 104 -
(l'opération de décalage n'est pas nécessaire).
La figure 77 représente la structure de l'unité de som-
mation et celle de l'unité de comparaison En référence à la figure 77 A, l'unité de sommation 560 reçoit en parallèle pour tous les processeurs la différence absolue issue du circuit de différence absolue compris dans le processeur
élémentaire PE pour effectuer le calcul de la somme totale.
La donnée de sortie de l'unité de sommation 560 est appli-
quée à une unité de comparaison droite 562 et à une unité de comparaison gauche 564 Les unités de comparaison droite
et gauche sont activées en réponse à des signaux d'activa-
tion 41 et 42, respectivement L'unité de comparaison droite 562 détermine le vecteur mouvement pour le bloc de référence
droit, et l'unité de comparaison gauche 564 détecte le vec-
teur mouvement pour le bloc de référence gauche Les struc-
tures de l'unité de sommation 560 et des unités de comparai-
son 562 et 564 peuvent être semblables à celles des modes de réalisation précédents Plus précisément, les structures représentées sur les figures 40 à 42 peuvent être utilisées pour l'unité de sommation 560, et la structure représentée
sur la figure 43 peut être utilisée pour les unités de com-
araison 562 et 564 Les signaux de commande et d'activation
41 et 42 sont prévus pour l'activation des comparateurs com-
pris dans l'unité de comparaison et pour la commande du ver-
rouillage d'un registre à verrouillage.
Dans la structure représentée sur la figure 77 A, une valeur d'évaluation pour les blocs de référence droit et
gauche est fournie sous la forme d'un multiplex à réparti-
tion dans le temps par l'unité de sommation 560 Dans ce
cas, un sélecteur 566 peut être prévu entre l'unité de som-
mation 560 et les unités de comparaison 562 et 564 et être sensible à un signal de commande 4 C pour commuter le chemin de transmission des signaux, comme cela est représenté sur -
la figure 77 B, pour réaliser l'opération de comparaison.
Le sélecteur 566 commute le chemin de transmission des si-
gnaux sous la commande du signal de commande 4 C selon les valeurs d'évaluation des blocs de référence droit et gauche pour transmettre la valeur d'évaluation fournie par l'unité de sommation 560 à l'unité de comparaison droite ou gauche
correspondante 562 ou 564.
Lorsque le processeur élémentaire PE comprend deux cir-
cuits de différence absolue, comme cela est représenté sur la figure 76, l'unité de sommation 560 peut comprendre deux circuits de sommation Dans ce cas, les valeurs d'évaluation pour les blocs de référence droit et gauche sont fournies en parallèle par l'unité de sommation 560 Un multiplexeur
servant à sélectionner un groupe (droit ou gauche) de cir-
cuits de différence absolue peut être prévu dans la partie
entrée de l'unité de sommation 560.
La figure 78 représente la structure utilisée pour ef-
fectuer en parallèle la détection du vecteur mouvement avec
une précision fractionnaire pour deux blocs de référence.
En référence à la figure 78, le dispositif prévu pour
détecter un vecteur mouvement à précision fractionnaire com-
prend des mémoires tampons 580 et 582 pour mémoriser les
données de la fenêtre de recherche nécessaires pour effec-
tuer la détection du vecteur mouvement avec une précision
fractionnaire à partir des données de la fenêtre de recher-
che fournies par le groupement de processeurs pour détecter
le vecteur mouvement avec une précision entière, un disposi-
tif de calcul du vecteur mouvement à précision fractionnaire 584 pour recevoir de la mémoire tampon 580 les données de la fenêtre de recherche et les données du bloc de référence gauche pour détecter le vecteur mouvement avec une précision
fractionnaire, et un dispositif de calcul du vecteur mouve-
106 - ment à précision fractionnaire 586 pour recevoir les données de la fenêtre de recherche issues de la mémoire tampon 582 et les données du bloc de référence droit pour détecter le
vecteur mouvement avec une précision fractionnaire.
Les mémoires tampon 580 et 582 effectuent l'opération d'écriture des données de la fenêtre de recherche en réponse à des signaux de commande d'écriture 4 A et i B Les signaux
de commande ^A et 4 B sont produits par les unités de compa-
raison 564 et 562, respectivement, représentées sur la fi-
gure 63 Une structure analogue à celle décrite pour le deu-
xième mode de réalisation est utilisée pour les mémoires tampons 580 et 582 Les données mémorisées dans la mémoire tampon 580 sont lues séquentiellement lors de la détection du vecteur mouvement avec une précision entière pour le bloc
de référence gauche, et les données mémorisées dans la mé-
moire tampon 582 sont lues séquentiellement lors de la dé-
tection du vecteur mouvement pour le bloc de référence droit.
Une structure analogue à celle décrite pour le deuxième mode de réalisation est utilisée pour les dispositifs de calcul
du vecteur mouvement à précision fractionnaire 584 et 586.
Le fonctionnement des dispositifs de calcul 584 et 586 est analogue à celui qui a été décrit pour le deuxième mode de
réalisation et ne sera donc pas décrit.
Les données du bloc de référence droit et les données du bloc de référence gauche ont un écart dans le cadencement
du cycle de sortie des données correspondant aux 16 compo-
santes horizontales Dans le cas o les données des blocs de référence droit et gauche sont actualisées tous les 16
cycles de composantes horizontales, des moyens formant tam-
pon sont prévus pour les données respectives des blocs de
référence droit et gauche pour régler le cadencement de cel-
les-ci Dans ce cas, il y a un écart dans le temps entre 107 - les périodes de détection du vecteur mouvement des blocs de référence droit et gauche De même, il y a un écart dans le cadencement du calcul du vecteur mouvement à précision
fractionnaire Dans ce cas, le dispositif de calcul du vec-
teur mouvement à précision fractionnaire peut être utilisé
en commun pour les blocs de référence droit et gauche.
La figure 79 représente une variante de la structure du dispositif de détection du vecteur mouvement à précision fractionnaire représenté sur la figure 78 En référence à la figure 79, la structure utilisée pour détecter le vecteur
mouvement avec une précision fractionnaire comprend une mé-
moire tampon 590 pour mémoriser les données du bloc de réfé-
rence gauche, des mémoires tampons 592 et 594 pour mémoriser
les données de la fenêtre de recherche en réponse aux si-
gnaux de commande ^A et 4 B, respectivement, une mémoire tam-
pon 596 pour mémoriser les données du bloc de référence droit, un sélecteur 598 pour sélectionner un jeu de données
de bloc de référence et de données de la fenêtre de recher-
che parmi les données lues dans les mémoire tampons 590, 592, 594 et 596, et un deuxième dispositif de calcul 599
pour détecter le vecteur mouvement avec une précision frac-
tionnaire d'après les données de bloc de référence et les données de la fenêtre de recherche fournies par le sélecteur 598. Le sélecteur 598 sélectionne les données mémorisées dans les mémoires tampons 590 et 592 lors de la détection du vecteur mouvement avec une précision fractionnaire pour le bloc de référence gauche Lors de la détection du vecteur mouvement avec une précision fractionnaire pour le bloc de référence droit, le sélecteur 598 sélectionne les données
lues dans les mémoires tampons 594 et 596 Le deuxième dis-
positif de calcul 599 détecte le vecteur mouvement avec une
précision fractionnaire d'après les données du bloc de réfé-
108 - rence et les données de la fenêtre de recherche fournies
par le sélecteur 598.
L'emploi des mémoires tampons 590, 592, 594 et 596 per-
met la détection du vecteur mouvement avec une précision fractionnaire pour les blocs de référence gauche et droit. Comme cela est représenté sur la figure 80, la détection du vecteur mouvement avec une précision fractionnaire pour les blocs de référence droit et gauche peut être effectuée
en mode "pipeline", c'est-à-dire en parallèle sur l'opéra-
tion de détection du vecteur mouvement à précision entière
pour les blocs de référence droit et gauche Une telle struc-
ture permet d'obtenir un dispositif de détection de vecteur
mouvement plus efficace avec des circuits moins complexes.
Dans la structure représentée sur la figure 79, le ca-
dencement de la lecture des données dans la mémoire tampon n'est pas décrit au sens strict du terme Cependant, comme
dans la description du deuxième mode de réalisation proposé
pour effectuer la détection du vecteur mouvement avec une
précision fractionnaire, pour les données des blocs de réfé-
rence, il faut utiliser une structure dans laquelle l'écri-
ture des données des blocs de référence est effectuée en réponse à un signal de détection du vecteur mouvement issu
de l'unité de comparaison du dispositif de calcul à préci-
sion entière et lire les données après avoir écrit toutes
les données.
L'application d'un processus formant tampon par une mémoire tampon, même aux données des blocs de référence, permet d'exécuter en parallèle l'opération de détection du
vecteur mouvement avec une précision fractionnaire et l'opé-
ration de détection du vecteur mouvement avec une précision
entière pour détecter le vecteur mouvement à une grande vi-
tesse, comme cela est représenté sur la figure 80 La figure 109 -
représente un exemple d'une séquence de détection du vec-
teur mouvement avec une précision entière et de détection du vecteur mouvement avec une précision fractionnaire pour
les macroblocs 1 à 6.
Mode de réalisation 4 Dans la technique du codage des données mémorisées sur un support d'informations, le signal vidéo n'est pas soumis à la restriction constituée par l'axe des temps dans le traitement des images Cela est dû au fait que le signal vidéo est mémorisé sur un support d'informations tel qu'un disque CD-ROM (de "Compact-Disc ROM") Dans le cas de la
compensation du mouvement des images destinées à être enre-
gistrées, trois types de compensation du mouvement sont pos-
sibles: (i) compensation du mouvement dans le sens direct, c'est-à- dire prédiction du présent à partir du passé, (ii) compensation du mouvement dans le sens inverse, c'est-à-dire
prédiction du futur à partir du présent, et (iii) compensa-
tion du mouvement par interpolation, c'est-à-dire prédiction du présent à partir du passé et du futur La compensation du mouvement dans le sens direct et la compensation dans le sens inverse peuvent utiliser les structures des modes
de réalisation 1 à 3 puisqu'une image individuelle de réfé-
rence et l'image individuelle courante sont utilisées dans la "prédiction dans un sens" (appelée ainsi dans ce qui
suit).
La compensation du mouvement par interpolation, quant à elle, nécessite des images individuelles de référence du passé et du futur, et l'image individuelle courante Dans la compensation du mouvement par interpolation, les deux images individuelles de référence (image individuelle de référence du passé et image individuelle de référence du
futur) sont fusionnées en tenant compte de la distance tem-
- porelle entre les deux images individuelles de référence
et l'image individuelle courante Utilisant l'image indivi-
duelle (bloc) de référence fusionnée, on obtient la valeur d'estimation de la compensation du mouvement des éléments d'image de l'image individuelle courante Pour obtenir le
vecteur mouvement pour l'image individuelle (bloc) de réfé-
rence fusionnée, un vecteur mouvement optimal doit être ob-
tenu à partir du vecteur mouvement obtenu pour le macrobloc de l'image individuelle de référence du passé et du vecteur mouvement obtenu pour le macrobloc de l'image individuelle de référence du futur Un tel processus est exécuté pour
une image B dans la norme "Motion Picture Image Coding Stan-
dard for Storage Media" (norme de codage des images animées pour enregistrement) établie par le MPEG ("Motion Picture Experts Group") pour le codage des images animées destinées
à être enregistrées, par exemple.
Bien que l'application de cette norme ne soit pas limi-
tée à une image B, une structure prévue pour détecter le
vecteur mouvement par prédiction par interpolation est dé-
crite ci-après comme quatrième mode de réalisation.
Mode de réalisation 4 En référence à la figure 81, le dispositif de détection de vecteur mouvement à prédiction par interpolation comprend une première unité de mémorisation des données d'une zone
de recherche 1001 pour mémoriser les données d'éléments d'i-
mage d'une première zone de recherche, une unité de mémori-
sation des données du bloc de référence, 1000, pour mémo-
riser les données d'éléments d'image du bloc de référence de l'image individuelle courante, et une deuxième unité de mémorisation des données d'une zone de recherche 1002 pour mémoriser les données d'éléments d'image d'une deuxième zone
de recherche Les première et deuxième unités de mémorisa-
111 - tion des données d'une zone de recherche peuvent être des mémoires d'image individuelle pour mémoriser les données
d'éléments d'image des première et deuxième images indivi-
duelles de référence L'unité de mémorisation des données du bloc de référence, 1000, peut être une mémoire d'image individuelle prévue pour mémoriser les données d'éléments d'image de l'image individuelle courante L'une des première et deuxième images individuelles de référence est l'image individuelle du passé, et l'autre est l'image individuelle
du futur Dans le cas d'une structure réalisant la compen-
sation du mouvement en fusionnant une pluralité d'images individuelles dans un seul sens, les première et deuxième images individuelles de référence peuvent être disposées dans le même sens le long de l'axe des temps par rapport
à l'image individuelle courante.
Le dispositif de détection de vecteur mouvement à pré-
diction par interpolation comprend en outre une première unité de détection de mouvement à prédiction dans un sens 1003 pour recevoir les données d'éléments d'image du bloc de référence issues de l'unité de mémorisation de données 1000 et les données de la zone de recherche (données de la fenêtre de recherche) issues de l'unité de mémorisation des
données de la première zone de recherche, 1001, pour détec-
ter un premier vecteur mouvement mva, et une deuxième unité de détection de mouvement à prédiction dans un sens 1004
pour détecter un deuxième vecteur mouvement d'après les don-
nées d'éléments d'image du bloc de référence issues de l'u-
nité de mémorisation 1000 et les données de la zone de re-
cherche lues dans l'unité de mémorisation des données de
la deuxième zone de recherche 1002.
La première unité de détection de mouvement à prédic-
tion dans un sens 1003 comprend un processeur élémentaire 112 - utilisé dans les trois premiers modes de réalisation La première unité de détection de mouvement à prédiction dans un sens 1003 comprend un premier circuit de traitement par
calcul 1011 pour exécuter un processus de mise en correspon-
dance de blocs pour les données reçues de la zone de recher- che et les données du bloc de référence pour détecter un vecteur mouvement mva et une valeur d'évaluation eva, et une première mémoire tampon 1013 pour mémoriser les données du bloc de la fenêtre de recherche correspondant au vecteur mouvement fourni par le premier circuit de traitement par
calcul 1011.
La mémoire tampon 1013 a une structure analogue à celle
de la mémoire utilisée pour la détection du vecteur mouve-
ment avec une précision fractionnaire dans le deuxième mode de réalisation Plus précisément, la première mémoire tampon 1013 mémorise les données d'éléments d'image de la fenêtre
de recherche sorties séquentiellement, par décalage, du pre-
mier circuit de traitement par calcul 1011 La première mé-
moire tampon 1013 peut avoir une capacité de mémorisation
suffisante pour mémoriser toutes les données d'éléments d'i-
mage de la zone de recherche, et peut avoir une capacité de mémorisation suffisante pour mémoriser toutes les données
d'éléments d'image d'un bloc de la fenêtre de recherche.
La lecture et l'écriture des données d'éléments d'image dans
la mémoire tampon 1013 sont effectuées en utilisant le sys-
tème de commande de la figure 53, par exemple Il est à no-
ter que les éléments d'image périphériques du bloc de la fenêtre de recherche ne sont pas nécessaires pour détecter
le vecteur mouvement avec une précision entière.
La deuxième unité de détection de mouvement à prédic-
tion dans un sens 1004 a une structure analogue à celle de la première unité de détection à prédiction dans un sens 113 -
1003 et comprend un deuxième circuit de traitement par cal-
cul 1012 et une deuxième mémoire tampon 1014 Le deuxième circuit de traitement par calcul 1012 détecte un vecteur mouvement mvb et une valeur d'évaluation evb en appliquant un processus de mise en correspondance de blocs aux données d'éléments d'image de la zone de recherche et aux données
du bloc de référence qui lui sont fournies La deuxième mé-
moire tampon 1014 reçoit les données de la fenêtre de re-
cherche issues du deuxième circuit de traitement par calcul 1012 pour mémoriser les données d'éléments d'image du bloc
de la fenêtre de recherche correspondant au vecteur mouve-
ment mvb La deuxième mémoire tampon 1014 peut être réalisée de manière à mémoriser toutes les données d'éléments d'image de la zone de recherche et ne fournir que les données du bloc de la fenêtre de recherche correspondant'au vecteur
mouvement mvb.
Les données des blocs de la fenêtre de recherche cor-
respondant aux vecteurs mouvement mva et mvb issues des pre-
mière et deuxième mémoires tampons 1013 et 1014 comme don-
nées d'images de référence partielles R Pa et R Pb (de "refe-
rence picture") sont lues pour être fournies à l'unité de détection de mouvement à prédiction par interpolation 1005
avec les vecteurs mouvement mva et mvb et les valeurs d'éva-
luation eva et evb.
Les premier et deuxième circuits de traitement par cal-
cul 1011 et 1012 comprennent un groupement de processeurs, une unité de sommation et une unité de comparaison analogue à la structure représentée pour les trois premiers modes de
réalisation, et effectuent le calcul de la valeur d'évalua-
tion et la détection du vecteur mouvement en parallèle selon
une méthode analogue Les première et deuxième mémoires tam-
pons 1013 et 1014 mémorisent les données d'éléments d'image 114 - de la fenêtre de recherche sorties par décalage des premier et deuxième circuits de traitement par calcul 1011 et 1012, respectivement. Les première et deuxième mémoires tampon 1013 et 1014 répondent à un signal de commande issu de l'unité de com-
paraison comprise dans chacun des premier et deuxième cir-
cuits de traitement par calcul 1011 et 1012 pour mémoriser
les données d'éléments d'image du bloc de la fenêtre de re-
cherche pour un vecteur déplacement qui devient candidat
au rôle de vecteur mouvement (lorsque la capacité de mémo-
* risation est suffisante pour le bloc de la fenêtre de re-
cherche) Dans l'unité de comparaison, le signal émis à l'instant de détermination de l'actualisation d'un vecteur déplacement est utilisé comme signal de commande d'écriture de données Du fait que la donnée qui est le premier élément d'image du bloc de la fenêtre de recherche est sortie par décalage du circuit de traitement, les données d'éléments d'image du bloc de la fenêtre de recherche correspondant à un vecteur déplacement qui devient candidat au rôle de
vecteur mouvement peuvent toujours être mémorisées en remet-
tant à l'état initial un signal d'adresse en réponse au si-
gnal de commande issu de l'unité de comparaison Lors de la lecture des données, les données sont lues à partir de l'adresse de début (adresse de remise à l'état initial)
après achèvement d'un cycle de détection du vecteur mouve-
ment Cette méthode de commande est analogue à celle qui a été décrite en relation avec la figure 55 (Le bloc 48
sur la figure 54 peut être supposé être le bloc de la fenê-
tre de recherche Il n'y a pas besoin de moyens de retard
pour les éléments d'image périphériques).
Lorsque les première et deuxième mémoires tampons 1013 et 1014 mémorisent toutes les données d'éléments d'image - de la zone de recherche, la valeurdu vecteur mouvement peut être utilisée comme adresse de début pour lire les données (lorsque le vecteur mouvement est exprimé sous la forme de
la valeur du compte du compteur; voir figure 43) En effec-
tuant une opération de saut d'adresse, la lecture de données inutiles d'éléments d'image de la fenêtre de recherche peut être empêchée Le fonctionnement des première et deuxième unités de détection de mouvement à prédiction dans un sens 1003 et 1004 est analogue à celui des trois premiers modes
de réalisation et ne sera pas donc pas décrit.
La structure et le fonctionnement de l'unité de détec-
tion de mouvement à prédiction par interpolation 1005 sont décrits ciaprès Lors de la détection du vecteur mouvement
par interpolation, les données d'image de référence partiel-
le contenues dans la mémoire tampon sont également lues dans celle-ci Ces données d'image de référence partielle lues
sont utilisées pour calculer une valeur de prédiction.
En référence à la figure 82, l'unité de détection de mouvement à prédiction par interpolation 1005 comprend un circuit générateur d'image de référence de prédiction 1020 recevant des données d'image de référence partielle (données du bloc de la fenêtre de recherche des première et deuxième zones de recherche correspondant aux vecteurs mouvement mva et mvb) issues des première et deuxième mémoires tampons
pour produire une image de référence (appelé "bloc des fe-
nêtres de recherche fusionnées" dans ce qui suit) nécessaire pour effectuer la prédiction par interpolation, une mémoire tampon 1021 pour mémoriser les données du bloc de référence TP, une unité d'opérations de détection du vecteur mouvement à prédiction par interpolation 1022 pour effectuer la mise
en correspondance de blocs entre les données d'éléments d'i-
mage du bloc des fenêtres de recherche fusionnées issues du 116 - circuit générateur d'image de référence à prédiction par interpolation 1020 et les données d'éléments d'image du bloc de référence lues dans la mémoire tampon 1021 (dans ce cas, calcul d'une valeur d'évaluation indiquant la corrélation entre le bloc des fenêtres de recherche fusionnées et le bloc de référence) pour fournir une valeur d'évaluation à prédiction par interpolation, et un circuit de détection de vecteur mouvement 1024 pour détecter un vecteur mouvement optimal à partir d'une valeur d'évaluation à prédiction par interpolation evc issue de l'unité d'opérations de détection du vecteur mouvement à prédiction par interpolation 1022 et des première et deuxième valeurs d'évaluation eva et evb fournies par les premier et deuxième circuits de traitement
par calcul.
La mémoire tampon 1021 mémorise les données du bloc de référence issues de l'unité de mémorisation des données du bloc de référence 1000 représentée sur la figure 81, en parallèle sur le chargement des premier et deuxième circuits
de traitement par calcul 1011 et 1012 La lecture des don-
nées dans la mémoire tampon 1021 est effectuée en synchro-
nisme avec la lecture des données dans les première et deu-
xième mémoires tampons 1013 et 1014.
Le circuit générateur d'image de référence à prédiction par interpolation 1020 exécute une opération prédéterminée sur les données d'éléments d'image R Pa et R Pb qui lui sont fournies Cette opération peut être le calcul de la moyenne arithmétique (R Pa+R Pb)/2 Ou encore, une moyenne pondérée telle que lmx R Pa)+(nx R Pb)l/(m+n) peut être calculée Les
poids m et N sont déterminés par la distance temporelle en-
tre l'image individuelle courante et les première et deu-
xième images de référence respectives (y compris les premiè-
re et deuxième zones de recherche) Le poids augmente pour 117 -
une image individuelle de référence ayant une courte dis-
tance temporelle Cela est dû au fait que la différence avec l'image individuelle courante diminue lorsque la distance
temporelle est réduite.
L'unité d'opérations de détection du vecteur mouvement à prédiction par interpolation 1022 fournit, par exemple,
la somme des différences absolues entre les données d'élé-
ments d'image des fenêtres de recherche fusionnées R Pc is-
sues du circuit 1020 et les données d'éléments d'image du bloc de référence TP pour fournir une valeur d'évaluation evc Au lieu de calculer la somme des différences absolues, on peut calculer la somme des carrés des différences Tout
calcul qui fournit une valeur d'évaluation indiquant la cor-
rélation des blocs est acceptable Les données d'éléments d'image des fenêtre de recherche fusionnées R Pc issues du circuit 1020 et les données du bloc de référence issues de la mémoire tampon 1021 sont fournies à l'unité d'opérations,
élément d'image par élément d'image, et des calculs prédé-
terminés sont effectués séquentiellement Lorsque ces cal-
culs sont terminés, une valeur d'évaluation evc est obtenue.
Le circuit de détection du vecteur mouvement 1024 com-
pare les amplitudes de la valeur d'évaluation evc issue de l'unité d'opérations 1022 et des valeurs d'évaluation eva et evb issues des premier et deuxième circuits de traitement pour fournir un vecteur mouvement correspondant à la valeur
d'évaluation minimale comme étant le vecteur mouvement opti-
mal MV pour la prédiction par interpolation.
Le circuit de détection du vecteur mouvement 1024 four-
nit les vecteurs mouvement mva et mvb séquentiellement dans un ordre prédéterminé (ou en parallèle) lorsque la valeur
d'évaluation evc issue de l'unité d'opérations 1022 est mi-
nimale Le circuit de détection du vecteur mouvement 1024 118 - peut être réalisé de manière à fournir également une valeur d'évaluation EV correspondant au vecteur mouvement optimal MV. Du fait que la structure décrite ci-dessus permet de lire une image individuelle de référence et de calculer un vecteur mouvement à prédiction par interpolation, l'accès à la mémoire d'individuelle mémorisant l'image individuelle de référence est éliminé Par conséquent, la détection du vecteur mouvement avec prédiction par interpolation peut être effectuée à une vitesse élevée Des images de référence partielles mémorisées dans les mémoires tampons 1013 et 1014 sont fournies avec la détection du vecteur mouvement optimal MV.
Si seule la détection du vecteur mouvement avec prédic-
tion par interpolation est nécessaire, on peut employer une structure dans laquelle les données d'éléments d'image lues
dans les première et deuxième zones de recherche sont fu-
sionnées (interpolées) par le circuit générateur d'image
de référence à prédiction par interpolation 1020 pour four-
nir les données d'éléments d'image fusionnées et les données d'éléments d'image du bloc de référence au groupement de
processeurs (ayant une structure analogue à celle des pre-
mier et deuxième circuits de traitement par calcul) pour détecter le vecteur mouvement L'utilisation de l'unité de détection de mouvement à prédiction dans un sens 1003 pour détecter le vecteur mouvement avec prédiction dans le sens direct, et de la deuxième unité de détection de mouvement à prédiction dans un sens pour détecter le vecteur mouvement avec prédiction dans le sens inverse, permet de réaliser la détection par interpolation (prédiction bidirectionnelle) sans augmenter la complexité du dispositif La structure
de chaque composant du dispositif est décrite ci-après.
119 -
La figure 83 représente la structure du circuit géné-
rateur d'image de référence à prédiction par interpolation et l'unité d'opérations de détection du vecteur mouvement à prédiction par interpolation de la figure 82 Le circuit générateur d'image de référence à prédiction par interpola- tion 1022 comprend un circuit moyenneur 1030 pour calculer la valeur moyenne des données d'éléments d'image P Xa et P Xb des images de référence partielles R Pa et R Pb Le circuit moyenneur 1030 effectue le calcul de l'expression l(vx P Xa) +(wx P Xb)l/(v+w), o v=w est permis, et v et W peuvent être
déterminés selon la distance temporelle par rapport à l'i-
mage individuelle courante (bloc de référence) Le circuit
moyenneur 1030 peut être constitué par un circuit de multi-
plication (multiplication par les coefficients v et w), un circuit additionneur et un circuit diviseur Ou encore, il peut être constitué par une mémoire morte, ou "ROM" (de "random-access memory"), (avec les données P Xa et P Xb comme adresses).
L'unité d'opérations de détection 1022 comprend un cir-
cuit de différence absolue 1031 pour calculer la différence
absolue IT Pa-T Pc I entre les données d'éléments d'image fu-
sionnés P Xc issues du circuit moyenneur 1030 et les données
d'éléments d'image du bloc de référence T Pa, et un accumu-
lateur 1032 pour accumuler les données de sortie du circuit
de différence absolue 1031 pour fournir une valeur d'évalua-
tion evc La structure du circuit de différence absolue 1031 utilisé dans l'unité d'opérations de détection 1022 peut être analogue à celle décrite pour le mode de réalisation 1
(voir figure 26) Une structure comprenant un registre géné-
ral et un additionneur peut être utilisée pour l'accumula-
teur 1032.
L'unité d'opérations de détection 1022 peut être cons-
tituée par un circuit de sommation des différences au carré.
-
La figure 84 représente la structure de l'unité de dé-
tection du vecteur mouvement 1024 de la figure 82 En réfé-
rence à la figure 84, l'unité de détection du vecteur mou-
vement 1024 comprend un circuit de valeur minimale 1035 pour calculer la valeur minimale MINleva, evb, evcl à partir des
valeurs d'évaluation eva, evb, evc, et un circuit de sélec-
tion 1036 sensible à l'information de valeur minimale issue du circuit de valeur minimale 1035 pour sélectionner un des
deux ou les deux vecteurs mva et mvb Le circuit de sélec-
tion 1036 sélectionne le vecteur mouvement mva ou mvb lors-
que le circuit de valeur minimale 1035 sélectionne une va-
leur d'évaluation eva ou evb, et sélectionne les deux vec-
teurs mouvement mva et mvb lorsque le circuit de valeur mi-
nimale 1035 sélectionne la valeur d'évaluation evc.
La figure 85 représente en détail les structures du circuit de valeur minimale et du circuit de sélection de la figure 84 En référence à la figure 85, le circuit de valeur minimale 1035 comprend des registres 1041 et 1042 pour mémoriser temporairement les valeurs d'évaluation eva et evb, respectivement, un comparateur 1043 pour comparer l'amplitude des valeurs d'évaluation eva et evb mémorisées dans les registres respectifs 1041 et 1042, et un circuit
de sélection 1044 sensible au signal de sortie du compara-
teur 1043 pour laisser passer une des valeurs d'évaluation
eva et evb mémorisées dans les registres 1041 et 1042.
Le comparateur 1043 fournit un signal d'un premier ni-
veau logique (par exemple, "H", de "high") lorsque la valeur d'évaluation eva est plus grande, et un signal d'un second
état logique (par exemple "L", de "low") dans le cas con-
traire Le circuit de sélection 1044 sélectionne la valeur d'évaluation evb issue du registre 1042 lorsqu'il reçoit
un signal du premier niveau logique, et la valeur d'évalua-
121 - tion eva issue du registre 1041 lorsqu'il reçoit un signal du second niveau logique Par conséquent, la valeur la plus petite MIN {eva, evbj des valeurs d'évaluation eva et evb
est fournie par le circuit de sélection 1044.
Le circuit de valeur minimale 1035 comprend en outre un registre 1045 pour mémoriser temporairement la valeur d'évaluatiin evc (valeur d'évaluation pour la prédiction par interpolation), un comparateur 1046 pour comparer la donnée de sortie du circuit de sélection 1044 à la valeur d'évaluation evc issue du registre 1045, et un circuit de sélection 1047 sensible à la donnée de sortie du comparateur 1046 pour laisser passer soit la donnée de sortie du circuit de sélection 1044, soit la valeur d'évaluation evc issue
du registre 1045.
Le circuit comparateur 1046 fournit un signal du pre-
mier niveau logique lorsque la donnée de sortie du circuit de sélection 1044 est plus grande que la valeur d'évaluation
evc, et un signal du second niveau logique dans le cas con-
traire Le circuit de sélection 1047 sélectionne la valeur d'évaluation evc issue du registre 1045 lorsqu'un signal du premier niveau logique est fourni par le comparateur 1046, et la donnée de sortie du circuit de sélection 1044 lorsqu'un signal du second niveau logique est fourni Plus précisément, une valeur minimale qui est MIN {evc, MIN(eva, evb) J = MIN(eva, evb, ebc) est fournie par le circuit de
sélection 1047 comme valeur d'évaluation EV.
Lorsque les valeurs des deux données d'entrée sont éga-
les dans chacun des comparateurs 1043 et 1046, une des deux
peut être sélectionnée selon une priorité prédéterminée.
Le circuit de sélection 1036 comprend des registres
1050 et 1051 pour mémoriser temporairement les vecteurs mou-
vement mva et mvb, un circuit de sélection 1052 sensible 122 - à la donnée de sortie du comparateur 1043 compris dans le circuit de valeur minimale 1035 pour sélectionner une des
données mémorisées dans les registres 1050 et 1051, un cir-
cuit à porte 1053 sensible à la donnée de sortie du compa-
rateur 1046 pour laisser passer sélectivement la donnée de sortie du circuit de sélection 1052, et un registre 1054 sensible à la donnée de sortie du comparateur 1046 pour
fournir les vecteurs mouvement mva et mvb issus des regis-
tres 1050 et 1051 en séquence ou en parallèle.
Le circuit de sélection 1052 exécute une opération ana-
logue à celle du circuit de sélection 1044 pour sélectionner le vecteur mouvement correspondant à la valeur d'évaluation sélectionnée (la plus petite valeur) Le circuit à porte 1053 se met dans un état à sortie à haute impédance lorsque
le comparateur 1046 fournit un signal du premier niveau lo-
gique sélectionnant la valeur d'évaluation eva, et laisse passer la donnée de sortie du circuit de sélection 1052 lorsqu'un signal du second niveau logique est fourni par
le comparateur 1046.
Le registre 1054 fonctionne d'une manière complémen-
taire au circuit à porte 1053 Le registre 1054 fournit les vecteurs mouvement mva et mvb issus des registres 1050 et
1051 lorsqu'un signal du premier niveau logique lui est ap-
pliqué, et se met dans un état à haute impédance de sortie
lorsqu'un signal du second niveau logique lui est appliqué.
La figure 86 représente une variante du circuit géné-
rateur d'image de référence à prédiction par interpolation.
En plus de la structure représentée sur la figure 83, ce circuit générateur d'image de référence 1022 comprend un circuit moyenneur 1060 pour calculer la moyenne des vecteurs mouvement mva et mvb issus des premier et deuxième circuits de traitement par calcul Le circuit moyenneur 1060 a une 123 - structure analogue à celle du circuit moyenneur représenté
sur la figure 83 et fournissant la valeur moyenne des don-
nées d'éléments d'image En réponse à une image de référence pour prédiction par interpolation, le vecteur mouvement est également interpolé. Le circuit de sélection 1036 sélectionne le vecteur mouvement correspondant à la valeur d'évaluation minimale fournie par le circuit de valeur minimale parmi les vecteurs
mouvement mva, mvb et mvc La structure du circuit de sé-
lection représenté sur la figure 86 est réalisée par un cir-
cuit à porte laissant passer sélectivement le contenu du registre 1054 représenté sur la figure 85 selon la donnée
de sortie du comparateur 1046.
La figure 87 représente schématiquement une variante du quatrième mode de réalisation En référence à la figure 87, des données d'image de référence partielle comprenant les premier et deuxième blocs de la fenêtre de recherche 1102 et 1104 correspondant aux vecteurs mouvement mva et mvb sont mémorisées dans les première et deuxième mémoires tampon 1013 et 1014 représentées sur la figure 81 Les blocs d'image de référence partielle 1101 et 1103 comprennent les premier et deuxième blocs de la fenêtre de recherche 1102 et 1104 et les éléments d'image périphériques de ceux-ci, respectivement La structure nécessaire pour mémoriser ces blocs d'image de référence partielle 1102 et 1104 dans les première et deuxième mémoires tampons 1013 et 1014 peut être analogue à la structure utilisée pour calculer le vecteur mouvement avec une précision fractionnaire dans le troisième
mode de réalisation.
Dans le circuit générateur d'image de référence à pré-
diction par interpolation, un processus de moyennage des images de référence partielles 1103 et 1101 est exécuté pour 124 -
produire une image de référence à prédiction par interpola-
tion 1105, ce-qui fait que le vecteur mouvement du bloc de référence 1107 est obtenu avec cette image de référence 1105 utilisée comme zone de recherche En d'autres termes, le calcul de la valeur d'évaluation pour chaque bloc fusionné 1106 de la fenêtre de recherche dans l'image de référence
fusionnée 1105 est effectué pour obtenir un vecteur mouve-
ment sur la base des valeurs d'évaluation calculées.
La méthode peut être appliquée en lisant les données,
élément d'image par élément d'image, dans chacune des mémoi-
res tampons 1013, 1014 et 1021 et à les fusionner pour pro-
duire une fenêtre de recherche fusionnée et pour effectuer le calcul de la valeur d'évaluation Du fait que l'accès à une mémoire d'image individuelle n'est pas nécessaire pour
la prédiction par interpolation, le calcul du vecteur mou-
vement peut être effectué en parallèle sur le calcul du si-
gnal de prédiction par interpolation Par conséquent, la
compensation du mouvement par interpolation peut être effec-
tuée à une vitesse élevée Ou encore, le calcul de la valeur
d'évaluation peut être effectué par un dispositif de trai-
tement constitué par le groupement de processeurs représenté en relation avec les modes de réalisation 1 à 3 Les données d'éléments d'image du bloc de référence sont mémorisés dans
le groupement de processeurs, et les données d'éléments d'i-
mage fusionnés (interpolés) obtenues par moyennage des don-
nées d'éléments d'image issues des première et deuxième mé-
moires tampon 1013 et 1014 sont fournies au groupement de processeurs Un vecteur mouvement et une valeur d'évaluation
sont obtenus, après quoi la valeur d'évaluation evc est com-
parée aux valeurs d'évaluation eva et evb issues des pre-
mier et deuxième unités de détection de mouvement 1003 et
1004 comprises dans l'unité de détection de vecteur mouve-
ment En réponse au résultat des calculs, un vecteur mouve-
-
ment est sélectionné.
Par ailleurs, les données du bloc de référence repré-
senté sur la figure 88 qui sont sorties par décalage du cir-
cuit de traitement par calcul 1011 ou 1012 (circuit de trai-
tement par calcul 1011 sur la figure 88) de l'unité de dé- tection de mouvement à prédiction dans un sens 1003 ou 1004 peuvent être fournies à l'unité de détection de mouvement
à prédiction par interpolation 1005 Dans ce cas, la détec-
tion de mouvement à prédiction dans un sens et la détection de mouvement à prédiction par interpolation peuvent être
effectuées en mode pipeline (en parallèle avec chevauche-
ment), comme cela est représenté sur la figure 89.
Sur la figure 89, la détection de mouvement à prédic-
tion par interpolation (i) est effectuée en parallèle sur le déchargement (sortie par décalage) des données du bloc
de référence TP (TP 1, TP 2) utilisé dans la détection de mou-
vement à prédiction dans un sens Les première et deuxième
mémoires tampons 1013 et 1014 mémorisent les données néces-
saires du bloc de la fenêtre de recherche La lecture des
données en synchronisme avec la sortie par décalage des don-
nées d'éléments d'image du bloc de référence mémorisées dans les mémoires tampons 1013 et 1014 permet de réaliser ce fonctionnement en mode pipeline Dans ce fonctionnement, les mémoires tampons 1013 et 1914 mémorisent les données du bloc de la fenêtre de recherche et sont dans un état dans lequel les données des éléments périphériques ne sont pas mémorisées Dans cette structure, la mémoire tampon prévue
dans l'unité de détection de mouvement à prédiction par in-
terpolation 1005 est remplacée par une mémoire tampon pour
régler le cadencement.
Dans l'unité de détection de mouvement à prédiction
par interpolation (ii) de la figure 89, la détection du mou-
vement avec prédiction par interpolation est effectuée en 126 - parallle sur le traitement du bloc de référence dans la
détection de mouvement à prédiction dans un sens Les don-
nées du bloc de référence sont mémorisées dans la mémoire
tampon pour être soumises au traitement Lors du décharge-
ment du bloc de référence TP, les données d'éléments d'i- mage du bloc de référence déchargées (c'est-à-dire sorties
par décalage) de l'unité de détection de mouvement à prédic-
tion dans un sens 1003 sont chargées dans la mémoire tampon
de l'unité de détection de mouvement à prédiction par inter-
polation Ce processus peut être exécuté à une vitesse éle-
vée, même lorsque l'image de référence partielle utilisée pour la prédiction par interpolation comprend les éléments
d'image périphériques du bloc de la fenêtre de recherche.
La figure 90 représente la structure d'un dispositif utilisant le vecteur mouvement obtenu dans le quatrième mode de réalisation Plus précisément, la figure 90 représente la structure d'un circuit de codage de source utilisé pour le codage d'une image animée En référence à la figure 90, le circuit de codage de source a une structure analogue à celle qui est représentée sur la figure 93 et comprend un soustracteur 1110, un transformateur orthogonal (DCT) 1111,
un dispositif de quantification 1112, un dispositif de quan-
tification inverse 1113, un transformateur orthogonal inver-
se (IDCT) 1114, et un additionneur 1115 Les fonctions de
ces organes sont analogues à celles de la figure 93.
Le circuit de codage de source comprend en outre une mémoire d'image individuelle 1116 pour recevoir et mémoriser
les données de sortie de l'additionneur 1115 par l'inter-
médiaire d'un commutateur SW 3 (de "switch"), une mémoire d'image individuelle 1117 pour recevoir et mémoriser les données mémorisées dans la mémoire d'image individuelle 1116, 127 - un circuit de compensation de mouvement en sens inverse 1118 pour effectuer la compensation de mouvement en arrière en utilisant les données mémorisées dans la mémoire d'image individuelle 1116, un circuit de compensation de mouvement en sens direct 1120 pour effectuer la compensation du mouve- ment en avant en utilisant les données mémorisées dans la
mémoire d'image individuelle 1117, et un circuit de compen-
sation de mouvement par interpolation 1119 pour effectuer la compensation du mouvement par interpolation en utilisant
les données mémorisées dans les mémoires d'images indivi-
duelles 1116 et 1117.
Le circuit de compensation du mouvement en arrière 1118 prend l'image individuelle future mémorisée dans la mémoire
d'image individuelle 1116 comme image de référence pour pro-
duire un signal d'estimation selon un vecteur mouvement,
par exemple le vecteur mva.
Le circuit de compensation du mouvement en avant 1120 prend l'image individuelle passée mémorisée dans la mémoire
d'image individuelle 1117 comme image de référence pour pro-
duire un signal d'estimation selon un vecteur mouvement,
par exemple le vecteur mvb.
Le circuit de compensation de mouvement par interpola-
tion 1119 fusionne les données d'image lues dans les mémoi-
res d'images individuelles 1116 et 1117 ou fournies par les
circuits de compensation de mouvement 1118 et 1120 pour pro-
duire une image individuelle de référence pour produire un
signal d'estimation selon le vecteur mouvement MV.
Les données de sortie des circuits de compensation de mouvement 1118 à 1120 sont fournies à un soustracteur 1110 par l'intermédiaire d'un commutateur SW 4 Le soustracteur 1110 reçoit également les données de sortie d'un circuit
de réaffectation d'éléments d'image 1124 La donnée de sor-
128 -
tie soit du soustracteur 1110, soit du circuit de réaffec-
tation 1124, est sélectionnée par un commutateur SW 1 pour être fournie au transformateur orthogonal 1111 La donnée de sortie du commutateur SW 4 est fournie à l'additionneur 1115 par l'intermédiaire d'un commutateur SW 2 La sélection des bornes des commutateurs SW 1 à SW 4 est effectuée par un
circuit de commande 1122.
Le circuit de réaffectation d'éléments d'image 1124 est prévu parce qu'il est nécessaire de différencier l'ordre
des images individuelles traitées pour la prédiction bidi-
rectionnelle, c'est-à-dire la prédiction par interpolation,
et l'ordre des images individuelles de l'image initiale.
Dans le dispositif représenté sur la figure, une image
comprend généralement une image I pour laquelle seul le co-
* dage inter-images individuelles est effectué, une image P
pour laquelle le codage à prédiction dans un sens (prédic-
tion inter-images) est effectué, et une image B pour laquel-
le le codage à prédiction par interpolation est effectué.
Lors du codage, l'image I, puis l'image P, sont traitées avant l'image B dans la suite d'images individuelles, puis le traitement de l'image B est effectué en utilisant les images passée et future I et P Ce traitement successif est réalisé par le circuit de réaffectation d'éléments d'image 1124, et les commutateurs SW 1 à SW 4 sélectionnent le chemin
de signal selon l'image à traiter Le commutateur SW 1 sélec-
tionne les données de sortie du circuit de réaffectation d'éléments d'image 1124 lors du traitement de l'image I. Ici, les comutateurs SW 2 et SW 3 sont ouverts Les circuits de compensation 1118 et 1120 peuvent être partagés par le circuit de compensation d'interpolation 1119, comme cela est représenté par des lignes en trait interrompu, le circuit 129 - de compensation 1119 comprenant le détecteur 1105 et les mémoires tampons 1013 et 1014 Ce montage réduit la taille
du dispositif grâce au partage du groupement de processeurs.
En comparaison du circuit de codage de source de la figure 90, la structure du quatrième mode de réalisation permet la détection des vecteurs mouvement mva, mvb et MV avec un groupement commun de processeurs Le traitement des images à une grande vitesse est rendu possible parce quele nombre d'accès aux mémoires d'images individuelles 1116
et 1117 pour la détection du vecteur mouvement est réduit.
Cela est dû au fait que le bloc de la fenêtre de recherche (image de référence partielle) est produit avec le vecteur mouvement détecté Les données d'éléments d'image de cette image de référence partielle peuvent être utilisées comme
signal d'estimation.
La figure 91 représente une autre structure du quatri-
ème mode de réalisation En référence à la figure 91, le dispositif de détection de vecteur mouvement comprend une première unité de détection de mouvement à prédiction dans un sens 1150, une deuxième unité de détection de mouvement à prédiction dans un sens 1160, et une unité de détection
de mouvement à prédiction par interpolation 1170.
La première unité de détection de mouvement dans un
sens 1150 comprend une première unité de détection à préci-
sion entière 1151 pour recevoir les données de la première fenêtre de recherche et les données du bloc de référence
pour détecter le vecteur mouvement avec une précision en-
tière par un processus de mise en correspondance de blocs
et la valeur d'évaluation correspondante, une première mé-
moire tampon 1152 pour mémoriser les données de la fenêtre de recherche, Sa, issues de la première unité de détection de mouvement à précision entière 1151, et une première unité -
de détection de mouvement à précision fine 1153 pour rece-
voir un vecteur mouvement mvai, une valeur d'évaluation evai, et les données du bloc de référence T Pa fournies par
l'unité de détection de mouvement 1151 pour détecter le vec-
teur mouvement avec une précision fractionnaire mva (préci-
sion fine) et obtenir une valeur d'évaluation.
La première mémoire tampon 1152 mémorise le bloc de la fenêtre de recherche correspondant au vecteur mouvement à précision entière mvai et les données d'éléments d'image
d'une zone comprenant les éléments d'image périphériques.
La première unité de détection de mouvement à précision fine 1153 fournit un vecteur mouvement à précision fine mva et une valeur d'évaluation correspondante eva en utilisant les données du bloc de référence T Pa et les données d'éléments
mémorisées dans la première mémoire tampon 1152 La struc-
ture et le fonctionnement de la première unité de détection de mouvement à prédiction dans un sens 1150 sont analogues à ceux du deuxième mode de réalisation représenté sur les
figures 51 à 64.
La deuxième unité de détection de mouvement à prédic-
tion dans un sens 1160 a une structure analogue à celle de la première unité de détection de mouvement à prédiction dans un sens et comprend une deuxième unité de détection
de mouvement à précision entière 1161 pour recevoir les don-
nées de la fenêtre de recherche et les données du bloc de référence, une deuxième mémoire tampon 1162 pour mémoriser les données de la fenêtre de recherche Sb issues de l'unité de détection de mouvement 1161, et une deuxième unité de détection de mouvement à précision fine 1163 pour recevoir les données du bloc de référence T Pb issues de l'unité de détection de mouvement 1161 et les données de la fenêtre de recherche issues de la deuxième mémoire tampon 1162 pour 131 -
détecter un vecteur mouvement à précision fine mvb et obte-
nir une valeur d'évaluation correspondante evb Le fonction-
nement de la deuxième unité de détection de mouvement à pré-
diction dans un sens 1160 est analogue à celui du deuxième mode de réalisation.
L'unité de détection de mouvement à prédiction par in-
terpolation 1170 reçoit les vecteurs mouvement à précision fine mva et mvb, les valeurs d'évaluation eva et evb, et les images de référence partielles R Pa et R Pb issues des
première et deuxième unités de détection de mouvement à pré-
diction dans un sens 1150 et 1160, respectivement, pour dé-
tecter le vecteur mouvement optimal MV pour le bloc de réfé-
rence Une valeur d'évaluation correspondante EV peut être
fournie pour le vecteur mouvement MV La structure de l'u-
nité de détection de mouvement à prédiction par interpola-
tion au niveau du schéma synoptique est analogue à celle qui est représentée sur la figure 82 Le fonctionnement pour détecter le vecteur mouvement avec une précision fine est différent Ce fonctionnement est décrit ci-après brièvement
en relation avec la figure 82.
Dans le circuit générateur d'image de référence à pré-
diction par interpolation 1020, une image de référence pour prédiction par interpolation R Pc est produite à partir des données d'images de référence partielles R Pa et R Pb Cette opération est analogue à celle qui est effectuée pour le vecteur mouvement à précision entière L'unité d'opérations
de détection du vecteur mouvement à prédiction par interpo-
lation 1022 détecte le vecteur mouvement avec une précision fine et calcule une valeur d'évaluation correspondante evc à partir des données d'éléments d'image du bloc de référence issues de la mémoire tampon 1021 et de l'image de référence
pour prédiction par interpolation issue du circuit généra-
teur d'image de référence 1020 Pour effectuer la détection 132 -
du vecteur mouvement avec une précision fine, l'unité d'opé-
rations de détection 1022 a, par exemple, la structure re-
présentée sur la figure 60.
Le circuit de détection de vecteur mouvement 1024 cal-
cule la valeur minimale parmi les valeurs d'évaluation eva,
evb et evc pour sélectionner le vecteur mouvement correspon-
dant à la valeur minimale d'évaluation La valeur minimale d'évaluation EV peut être fournie avec En même temps que
la détection du vecteur mouvement MV, les images de réfé-
rence partielles mémorisées dans les mémoires tampons 1152 et 1162 sont lues pour produire une image de référence d'une zone selon le vecteur mouvement MV pour produire une valeur d'estimation.
Les mémoires tampons 1152 et 1162 utilisées pour détec-
ter le vecteur mouvement à précision fine avec prédiction dans un sens peuvent être utilisées pour détecter le vecteur mouvement avec prédiction par interpolation Par conséquent, la détection du vecteur mouvement avec une précision fine peut être effectuée à une vitesse élevée sans augmenter le
nombre d'accès à la mémoire d'image individuelle, ni la com-
plexité du dispositif.
D'une manière analogue à la détection du vecteur mou-
vement à précision entière par interpolation, les données du bloc de référence peuvent être fournies par l'unité de détection de mouvement à prédiction dans un sens 1150 ou 1160 à l'unité de détection par interpolation 1170 Dans
ce cas, la détection du vecteur mouvement à précision en-
tière, la détection du vecteur mouvement à précision fine,
et la détection du vecteur mouvement à prédiction par inter-
polation peuvent être effectuées en mode pipeline.
Pour la structure de l'unité de détection de mouvement à prédiction par interpolation avec une précision fine, la 133 - modification décrite pour la détection du vecteur mouvement à précision entière avec prédiction par interpolation est applicable. Selon l'invention, les processeurs élémentaires sont disposés en un groupement bidimensionnel, ou matrice, et les données du bloc de référence sont mémorisées dans le
groupement de processeurs pour permettre de calculer la va-
leur d'évaluation nécessaire pour détecter le vecteur mou-
vement Il est, par conséquent, possible de détecter le vec-
teur mouvement avec des circuits peu complexes et une faible
consommation d'énergie.
Du fait que les processeurs élémentaires sont disposés en matrice et que les données de la fenêtre de recherche et les données du bloc de référence sont décalées dans un
seul sens dans ce groupement matriciel, les données néces-
saires pour détecter le vecteur mouvement avec une précision fractionnaire peuvent être traitées en utilisant les données
utilisées pour détecter le vecteur mouvement avec une préci-
sion entière pour permettre la détection du vecteur mouve-
ment à une vitesse élevée.
D'autres caractéristiques particulières de l'invention
sont résumées ci-après.
) les processeurs élémentaires, qui peuvent mémoriser les données de la fenêtre de recherche et les données du
bloc de référence, sont disposés en un groupement bidimen-
sionnel, ou matrice, dans lequel les données ne sont trans-
férées que dans un sens Par conséquent, la complexité des
circuits nécessaires pour effectuer le transfert des don-
nées est réduite, et l'on peut obtenir un dispositif de dé-
tection de vecteur mouvement occupant peu de place et qui fonctionne avec une faible consommation d'énergie; ) les données de la fenêtre de recherche et les données 134 - du bloc de référence utilisées pour la détection du vecteur
mouvement avec une précision entière sont utilisées direc-
tement pour la détection du vecteur mouvement avec une pré-
cision fractionnaire, sans recourir à une mémoire d'image individuelle Par conséquent, le nombre d'accès à une mémoi- re d'image individuelle est réduit, et le vecteur mouvement à précision fractionnaire peut être détecté avec une grande vitesse;
) les processeurs élémentaires peuvent mémoriser une plu-
ralité de données de la fenêtre de recherche et/ou une plu-
ralité de données du bloc de référence pour réduire la sur-
face occupée par le groupement de processeurs Par consé-
quent, on obtient un dispositif de détection de vecteur mou-
vement occupant une surface réduite Du fait que le nombre
de processeurs élémentaires est réduit, les éléments compo-
sant le système de circuits de calcul nécessaire pour calcu-
ler une valeur d'évaluation telle qu'une différence absolue peuvent être réduits pour obtenir un dispositif de détection de vecteur mouvement à faible consommation d'énergie; 40) du fait que les moyens de calcul utilisés pour calculer la valeur d'évaluation du vecteur mouvement utilisent la
combinaison d'un binaire de signe et de binaires d'ampli-
tude, il n'est pas nécessaire d'avoir un incrémenteur pour
représenter un nombre négatif en notation utilisant le com-
plément à 2 Par conséquent, on peut obtenir des processeurs
élémentaires occupant une suiface réduite De plus, la con-
sommation d'énergie de l'incrémenteur est évitée;
) le circuit de sommation utilisé pour calculer une va-
leur d'évaluation peut être formé de circuits additionneurs
complets agencés pour former une structure arborescente.
Du fait qu'un binaire de signe est fourni à la position du binaire de poids faible de l'étage à circuit additionneur -
complet, on peut obtenir un circuit de sommation qui fonc-
tionne à une grande vitesse en n'occupant qu'une surface
réduite Par conséquent, le vecteur mouvement peut être dé-
tecté à une vitesse élevée; 60) les données d'éléments d'image de la fenêtre de recher- che sont mémorisées dans le groupement de processeurs, ainsi que les données du bloc de référence Par conséquent, on peut obtenir un dispositif de détection de vecteur mouvement qui fonctionne avec une faible consommation d'énergie et n'occupe qu'une surface réduite; ) du fait que les données de la fenêtre de recherche sont
transférées dans un seul sens dans le groupement de proces-
seurs, les données qui ne sont pas nécessaires pour calculer
une valeur d'évaluation sont sortie par décalage du groupe-
ment de processeurs et les données nécessaires suivantes de la fenêtre de recherche sont introduites par décalage
dans le groupement de processeurs Par conséquent, les don-
nées de la fenêtre de recherche peuvent être mémorisées ef-
fectivement dans le groupement de processeurs et l'on peut
obtenir un dispositif de détection de vecteur mouvement oc-
cupant une surface réduite et fonctionnant à vitesse élevée et avec une faible consommation d'énergie;
) la direction de transfert des données du bloc de réfé-
rence est orthogonale à la direction de transfert des don-
nées de la fenêtre de recherche dans le groupement matriciel de processeurs Par ailleurs, du fait que les données du
bloc de référence sont rangées dans la mémoire d'image in-
dividuelle par balayage en ligne et trame, les données de
la fenêtre de recherche peuvent être mémorisées dans le grou-
pement de processeurs de la même manière que les données du bloc de référence dans cette mémoire Par conséquent, les données du bloc de référence peuvent être chargées à 136 - grande vitesse dans le groupement de processeurs; ) dans le groupement de processeurs, la direction de
transfert des données de la fenêtre de recherche est paral-
lèle à la direction de transfert des données du bloc de ré-
férence Il en résulte que la place occupée par les conduc- teurs nécessaires pour transmettre les deux types de données peut être réduite pour réaliser un-groupement de processeurs occupant une surface réduite; ) du fait que les calculs sont effectués à N fois la vitesse de transfert des données de la fenêtre de recherche,
la valeur d'évaluation du vecteur mouvement peut être calcu-
lée rapidement;
) les données du bloc de référence nécessaires pour cal-
culer une valeur d'évaluation peuvent être sous-échantillon-
nées pour permettre la détection du vecteur mouvement avec précision par rapport aux données d'image à cadence élevée
d'images individuelles Le nombre de processeurs élémentai-
res nécessaires peut alors être réduit en conséquence pour réduire la surface occupée par le groupement de processeurs; 120) les données de deux blocs de référence sont mémorisées dans chaque processeur élémentaire, grâce à quoi le calcul d'une valeur d'évaluation pour les deux blocs de référence peut être effectué en utilisant les mêmes données du bloc de la fenêtre de recherche Par conséquent, l'accès à une mémoire d'image individuelle peut être effectué rapidement pour lire les données de la fenêtre de recherche, ce qui
permet la détection du vecteur mouvement à une grande vi-
tesse;
) la détection du vecteur mouvement est effectuée si-
multanément pour deux blocs de référence, et le nombre d'ac-
cès à la mémoire d'image pour lire les données de la fenêtre de recherche peut être réduit de manière importante Par conséquent, le vecteur mouvement peut être détecté à une vitesse élevée; 137 -
) lorsqu'il y a une pluralité de vecteurs mouvement don-
nant la valeur minimale d'une fonction d'évaluation, la pri-
orité est donnée à celui ayant la somme la plus petite des valeurs absolues des composantes du vecteur mouvemnt Par conséquent, on peut construire un dispositif de détection de vecteur mouvement qui réalise efficacement un processus
de compression d'images Par ailleurs, du fait que la dé-
termination de l'ordre de priorité peut être effectuée sim-
plement à partir d'une opération d'incrémentation ou de dé-
crémentation d'une unité, le dispositif de détection de vec-
teur mouvement peut être réalisé avec une complexité de cir-
cuits réduite et acceptable pour un circuit intégré; ) le nombre d'accès à la mémoire d'image individuelle pour la détection du vecteur mouvement avec prédiction par interpolation est réduit, et la détection avec prédiction par interpolation peut être effectuée à une vitesse élevée; 16) du fait que la mémoire tampon utilisée pour détecter le vecteur mouvement avec une précision fine avec prédiction
dans un sens est utilisé pour la détection du vecteur mouve-
ment avec une précision fine avec prédiction par interpola-
tion, la complexité du dispositif est fortement réduite; et ) du fait que toutes les données nécessaires pour la détection par l'unité de détection du vecteur mouvement avec
prédiction dans un sens sont transférées à l'unité de détec-
tion de vecteur mouvement à prédiction par interpolation,
le processus peut être exécuté en mode pipeline (c'est-à-
dire en parallèle avec chevauchement) pour permettre le
traitement à vitesse élevée.
Bien que l'invention ait été décrite et illustrée en détail, on comprendra que ce n'est qu'à titre d'exemple et
d'illustration et ne saurait être interprété comme une limi-
tation, le cadre de l'invention n'étant limité que par les
termes des revendications annexées.
138 -

Claims (29)

Revendications
1 Dispositif pour détecter un vecteur mouvement selon un traitement de mise en correspondance de blocs exécuté sur une image individuelle courante et une image individuelle de référence, comprenant: une pluralité d'éléments de traitement (PE; 411 a à 411 w) comprenant chacun des premiers moyens de mémorisation ( 25;
; 505 a, 505 b; 414 a à 414 w) pour mémoriser des données d'é-
léments d'image d'un bloc de l'image individuelle courante, des deuxièmes moyens de mémorisation ( 26; 73; 505 c; 413 a à 413 w) pour mémoriser des données d'éléments d'image d'un
bloc dans une zone de recherche liée au bloc de l'image in-
dividuelle de référence, et des moyens de calcul ( 64; 511; 412 a à 412 w) pour effectuer des calculs prédéterminés sur des données mémorisées dans les premiers et deuxièmes moyens de mémorisation, lesdits deuxièmes moyens de mémorisation étant montés en série pour transférer les données dans un seul sens; des moyens de calcul d'une valeur d'estimation ( 12; 417; 560) sensibles aux données de sortie des moyens de calcul compris dans les éléments de traitement, pour calculer une valeur d'estimation constituée par une donnée indiquant une corrélation entre l'image individuelle courante et les blocs d'image individuelle de référence; et des moyens de détermination ( 3; 132; 562, 564) sensibles à la donnée constituant une valeur d'estimation issue des moyens de calcul d'une valeur d'estimation, pour déterminer un vecteur mouvement pour le bloc de l'image individuelle
courante.
2 Dispositif selon la revendication 1, comprenant en outre: 139 - des moyens de traitement supplémentaires ( 599; 584, 586;
250; 1005) connectés pour recevoir au moins un type de don-
nées parmi les données de l'image individuelle de référence et les données de l'image individuelle courante issues des éléments de traitement, pour calculer un autre vecteur mou- vement pour le bloc de l'image individuelle courante, lesdits moyens de détermination fournissant un vecteur
mouvement à précision entière, et lesdits moyens supplémen-
taires pour calculer un autre vecteur mouvement fournissant
un vecteur mouvement à précision fractionnaire.
3 Dispositif selon la revendication 1 ou 2, dans lequel
lesdits premiers moyens de mémorisation comprennent des moy-
ens ( 25-1 à 25-M; 75) pour mémoriser M données d'éléments d'image correspondant à M éléments d'image différents dans
le bloc de l'image individuelle courante, et lesdits deu-
xièmes moyens de mémorisation comprennent des moyens ( 26-1
à 26-N; 73) pour mémoriser N données d'éléments d'image cor-
respondant à N éléments d'image différents dans le bloc de l'image individuelle de référence, M et N étant des nombres entiers et N étant égal ou supérieur à M. 4 Dispositif selon la revendication 3, dans lequel chacun desdits éléments de traitement comprend en outre des moyens de sélection ( 60, 62) pour sélectionner une donnée d'élément d'image issue desdits premiers moyens de mémorisation et une donnée d'élément d'image correspondante issue desdits deuxièmes moyens de mémorisation pour fournir les données
d'éléments d'image sélectionnées auxdits moyens de calcul.
Dispositif selon la revendication 4, dans lequel M est
égal à N et lesdits moyens de sélection ( 60, 62) sélection-
-
nent toutes les données d'éléments d'image dans lesdits pre-
miers moyens de mémorisation ( 25-1, 25-2) à une première cadence M fois plus grande que la cadence à laquelle les
données d'éléments d'image de l'image individuelle de réfé-
rence sont transférées dans les éléments de traitement. 6 Dispositif selon la revendication 5, dans lequel lesdits
moyens de calcul ( 64) fonctionnent à ladite première caden-
ce. 7 Dispositif selon la revendication 5, dans lequel lesdits moyens de calcul ( 64) fonctionnent à une deuxième cadence
moins rapide que ladite première cadence, la première caden-
ce étant un multiple entier de la deuxième cadence.
8 Dispositif selon la revendication 4, dans lequel N est plus grand que M, et lesdits moyens de sélection ( 60, 62) sélectionnent toutes les données d'éléments d'image dans lesdits premiers moyens de mémorisation ( 25-1, 25-2), et
lesdits moyens de calcul effectuent lesdits calculs prédé-
terminés en synchronisme avec lesdits moyens de sélection.
9 Dispositif selon la revendication 3, dans lequel ledit élément de traitement (PE) comprend en outre des moyens ( 60, 62; 60) pour souséchantillonner les données de sortie des
moyens de calcul.
Dispositif selon la revendication 3, dans lequel M est 1 et N est 2, et lesdits moyens de calcul ( 64) fonctionnent pour calculer à la même cadence que la cadence à laquelle les données d'éléments d'image de l'image individuelle de
référence sont transférées dans les éléments de traitement.
11 Dispositif selon la revendication 1, dans lequel les-
141 - dits moyens de calcul ( 64) comprennent
des moyens de soustraction ( 70) pour effectuer une sous-
traction entre une donnée d'élément d'image mémorisée du
bloc de l'image individuelle courante et une donnée d'élé-
ment d'image mémorisée du bloc de la zone de recherche pour produire un élément binaire de signe indiquant le signe du
résultat de la soustraction et des éléments binaires d'am-
plitude indiquant l'amplitude du résultat de la soustrac-
tion; et des moyens formant porte ( 72) pour effectuer une addition modulo 2 de l'élément binaire de signe et de chacun desdits éléments binaires d'amplitude pour fournir la différence
absolue de la soustraction.
12 Dispositif selon la revendication 11, dans lequel les-
dits moyens calculant une valeur d'estimation ( 12) compren-
nent des moyens de sommation ( 12) pour fournir une somme des données de sortie des moyens de calcul ( 64), et lesdits moyens de sommation ( 12) comprennent une pluralité d'étages
d'additionneurs complets ( 104) connectés selon une struc-
ture en arbre de telle manière que la donnée de sortie d'un additionneur complet d'un étage soit fournie à une entrée
d'un additionneur complet d'un étage suivant, et que l'élé-
ment binaire de signe issu des moyens de soustraction soit fourni à une entrée de report d'un additionneur complet de
l'élément binaire de poids faible dans chacun desdits éta-
ges. 13 Dispositif selon la revendication 3, dans lequel ledit bloc de l'image individuelle courante comprend des éléments d'image disposés en Q lignes et P colonnes, Q et P étant des nombres entiers, lesdits éléments de traitement étant agencés en P groupements linéaires (LA) correspondant aux 142 - P colonnes, chacun desdits groupements linéaires comprenant
Q/M éléments de traitement montés en cascade et des troi-
sièmes moyens de mémorisation (DL) pour mémoriser R données différentes dans la zone de recherche comprenant le bloc de l'image individuelle de référence, et la somme de R et Q étant égale au nombre d'éléments d'image dans une colonne
de ladite zone de recherche.
14 Dispositif selon la revendication 13, dans lequel cha-
cun desdits troisièmes moyens de mémorisation (DL) comprend des moyens pour recevoir des données de la zone de recherche par l'intermédiaire d'un élément de traitement d'une colonne
précédente et pour transférer les données de la zone de re-
cherche à un élément de traitement d'une colonne correspon-
dante.
Dispositif selon la revendication 13, dans lequel ledit élément de traitement (PE) peut fonctionner pour transférer des données du bloc de l'image individuelle courante et des données du bloc de l'image individuelle de référence dans
des directions orthogonales entre elles.
16 Dispositif selon la revendication 13, dans lequel ledit élément de traitement (PE) peut fonctionner pour transférer des données du bloc de l'image individuelle courante et des données du bloc de l'image individuelle de référence dans la même direction et pour transférer les données du bloc de l'image individuelle courante à un élément de traitement
d'une colonne voisine sans passer par un des troisièmes moy-
ens de mémorisation.
17 Dispositif selon la revendication 3, dans lequel lesdits 143 - moyens de calcul ( 64) peuvent fonctionner pour effectuer les calculs à une première cadence N fois plus grande que
la cadence à laquelle les données du bloc de l'image indi-
viduelle de référence sont transférées.
18 Dispositif selon la revendication 3, dans lequel les-
dits moyens de calcul ( 64) peuvent fonctionner pour effec-
tuer les calculs à une deuxième cadence N fois plus grande que la cadence à laquelle les données du bloc de l'image
individuelle de référence sont transférées.
19 Dispositif selon la revendication 17, dans lequel cha-
cun desdits éléments de traitement (PE) comporte des moyens de sélection ( 60, 62) pour sélectionner séquentiellement
un ensemble de données dans les premiers moyens de mémori-
sation et de données dans les deuxièmes moyens de mémorisa-
tion à la première cadence.
Dispositif selon la revendication 18, dans lequel cha-
cun desdits éléments de traitement (PE) comporte des moyens de sélection ( 60, 62) pour sélectionner séquentiellement
un ensemble de données dans les premiers moyens de mémori-
sation et de données dans les deuxièmes moyens de mémori-
sation à la deuxième cadence.
21 Dispositif selon la revendication 1, dans lequel chacun desdits premiers moyens de mémorisation mémorise des données
différentes d'éléments d'image du bloc de l'image indivi-
duelle courante, et chacun desdits deuxièmes moyens de mémo-
risation mémorise des données différentes d'éléments d'image du bloc de l'image individuelle de référence; et dans lequel chacun desdits éléments de traitement (PE) comprend 144 - en outre des moyens de décalage (SR) pour transférer des
données d'éléments d'image des deuxièmes moyens de mémori-
sation tout en maintenant les données d'éléments d'image dans lesdits premiers moyens de mémorisation pour chaque calcul de la valeur d'estimation. 22 Dispositif selon la revendication 1 ou 2, dans lequel
lesdits premiers moyens de mémorisation comprennent un pre-
mier élément de mémorisation ( 505 a) pour mémoriser un pre-
mier bloc de référence de l'image individuelle courante, et un deuxième élément de mémorisation ( 505 b) pour mémoriser
un deuxième bloc de référence pour l'image individuelle cou-
rante; et chacun desdits éléments de traitement (PE) comporte
des moyens de sélection ( 506) pour sélectionner alternati-
vement les données du premier bloc de référence et les don-
nées du deuxième bloc de référence pour transfert aux moyens
de calcul pour que les moyens de calcul effectuent les cal-
culs prédéterminés tant sur les données du premier bloc de référence et les données du bloc de l'image individuelle
de référence que sur les données du deuxième bloc de réfé-
rence et les données du bloc de l'image individuelle de ré-
férence.
23 Dispositif selon la revendication 1, dans lequel les-
dits moyens de détermination ( 3) comprennent: des premiers moyens formant registre ( 614) pour mémoriser une donnée de valeur d'estimation minimale; des moyens de comparaison ( 613) pour comparer une donnée de valeur d'estimation courante reçue des moyens de calcul
d'une valeur d'estimation ( 12) à la donnée de valeur d'esti-
mation minimale;
des moyens de calcul ( 711) pour calculer un vecteur dépla-
- diquant un déplacement entre le premier bloc et le deuxième
bloc avec une notation vectorielle ayant une composante ho-
rizontale et une composante verticale; des deuxièmes moyens formant registre ( 710) pour mémoriser un vecteur déplacement comme candidat au rôle de vecteur mouvement;
des moyens de priorité ( 615) sensibles aux moyens de com-
paraison détectant qu'une donnée de valeur d'estimation cou-
rante est égale en valeur à la donnée de valeur d'estimation
minimale, pour déterminer laquelle des deux données de va-
leur d'estimation a la priorité la plus élevée, lesdits moy-
ens de priorité comportant des moyens ( 626, 627, 632) pour déterminer qu'une donnée de valeur d'estimation ayant un
vecteur déplacement associé dont la somme des valeurs abso-
lues des composantes horizontale et verticale est plus pe-
tite, a une priorité plus élevée; et des moyens d'actualisation ( 616) sensibles aux moyens de comparaison pour actualiser la donnée de valeur d'estimation minimale avec la donnée de valeur d'estimation courante et
pour actualiser le contenu des deuxièmes moyens formant re-
gistre avec une donnée de sortie des moyens pour calculer
un vecteur déplacement.
24 Dispositif selon la revendication 23, dans lequel les-
dits moyens de priorité ( 615) comprennent:
des troisièmes moyens formant registre ( 624) pour mémori-
ser une donnée de priorité pour la donnée courante de valeur d'estimation;
des moyens d'actualisation de priorité ( 625) pour actua-
liser la donnée de priorité dans les troisièmes moyens for-
mant registre par une valeur prédéterminée pour chaque cal-
cul du vecteur déplacement; 146 -
des quatrièmes moyens formant registre ( 627) pour mémori-
ser une donnée de priorité associée à la donnée de valeur
d'estimation minimale dans les premiers moyens formant re-
gistre; et des moyens de comparaison ( 626) pour comparer la donnée de priorité mémorisée dans les troisièmes moyens formant
registre à la donnée de priorité mémorisée dans les quatriè-
mes moyens formant registre; et lesdits moyens d'actualisation ( 616) actualisent la donnée mémorisée dans les quatrièmes moyens formant registre avec la donnée mémorisée dans les troisièmes moyens formant
registre en réponse aux moyens de comparaison.
Dispositif selon la revendication 1, dans lequel les-
dits éléments de traitement sont agencés en groupement ( 10) et ledit groupement fait sortir par décalage des données du bloc de l'image individuelle de référence à chaque calcul
de la valeur d'estimation, et fait également sortir par dé-
calage des données du bloc de l'image individuelle courante; et dans lequel ledit dispositif comprend en outre:
des moyens formant mémoire tampon ( 260, 270; 282) sensi-
bles auxdits moyens de détermination pour mémoriser des don-
nées d'un bloc de l'image individuelle de référence lié au vecteur mouvement déterminé; et des moyens de traitement supplémentaires ( 250) recevant les données du bloc de l'image individuelle courante issues dudit groupement et les données issues des moyens formant
mémoire tampon pour effectuer un traitement de mise en cor-
respondance de blocs pour déterminer un autre vecteur mou-
vement d'une autre précision.
26 Dispositif selon la revendication 25, comprenant en 147 - outre d'autres moyens formant mémoire tampon ( 28) prévus
entre ledit groupement et lesdits moyens de traitement sup-
plémentaires pour mémoriser les données du bloc de l'image
individuelle courante.
27 Dispositif selon la revendication 25, dans lequel les-,
dits moyens formant mémoire tampon ( 260, 270; 282) mémori-
sent un bloc de recherche incluant un bloc de l'image indi-
viduelle de référence lié au vecteur mouvement et des don-
nées d'éléments d'image périphériques de celui-ci, et ledit
élément de traitement supplémentaire ( 250) calcule un vec-
teur mouvement à précision fractionnaire, et lesdits moyens
de détermination ( 3) calculent un vecteur mouvement-à pré-
cision entière.
28 Dispositif selon la revendication 1, dans lequel ladite pluralité d'éléments de traitement (PE), lesdits moyens de
calcul d'une valeur d'estimation et lesdits moyens de déter-
mination forment une première structure de traitement pour recevoir des données d'une première image individuelle de
référence, et dans lequel ledit dispositif comprend en ou-
tre: une deuxième structure de traitement ( 1003, 1004; 1150, 1160) ayant la même structure que la première structure de traitement pour recevoir des données d'une deuxième image individuelle de référence, lesdites première et deuxième structures de traitement recevant les même données du bloc de l'image individuelle courante; des premiers moyens de mémorisation ( 1013; 1152) recevant et mémorisant des données d'un bloc de la première image individuelle de référence lié au premier vecteur mouvement déterminé par la première structure de traitement; des deuxièmes moyens de mémorisation ( 1014; 1162) recevant 148 - et mémorisant des données d'un bloc de la deuxième image
individuelle de référence issues de ladite deuxième struc-
ture de traitement; des moyens d'interpolation ( 1005; 1170) pour recevoir des données issues desdits premiers et deuxièmes moyens de mémo- risation pour produire des données d'un troisième bloc de
l'image individuelle de référence par interpolation des don-
nées reçues;
des moyens de détection de vecteur mouvement ( 1022) sensi-
bles auxdites données du bloc de l'image individuelle cou-
rante et auxdites données du troisième bloc de l'image indi-
viduelle de référence pour calculer une valeur d'estimation
indiquant une corrélation entre ledit bloc de l'image indi-
viduelle courante et ledit troisième bloc de l'image indi-
viduelle de référence; et
des moyens de décision ( 1024) sensibles aux valeurs d'es-
timation associées aux vecteurs mouvement reçus desdites première et deuxième structures de traitement et à la valeur d'évaluation issue desdits moyens de détection de vecteur
mouvement pour produire un vecteur mouvement final.
29 Dispositf selon la revendication 28, dans lequel les-
dits moyens de décision ( 1024) comportent des moyens ( 1035, 1036) pour trouver une valeur minimale parmi les valeurs d'estimation et la valeur d'évaluation et sélectionner le vecteur mouvement correspondant à la valeur minimale comme
étant le vecteur mouvement final.
Dispositif selon la revendication 28, dans lequel les-
dits moyens de détection de vecteur mouvement ( 1024) compor-
tent des moyens pour détecter le vecteur mouvement du bloc de l'image individuelle courante pour le troisième bloc de 149 - l'image individuelle de référence par traitement de mise
en correspondance de blocs.
31 Dispositif selon la revendication 28, dans lequel les-
dits moyens de détection de vecteur mouvement ( 1024) reçoi-
vent lesdites données du bloc de l'image individuelle cou-
rante par l'intermédiaire de l'une desdites première et deu-
xième structures de traitement.
32 Dispositif selon la revendication 28, comprenant en outre: des troisièmes moyens de traitement ( 1153) recevant les données du bloc de l'image individuelle courante issues de
ladite première structure de traitement ( 1151) et les don-
nées d'une première image individuelle de référence ( 1152)
pour calculer un vecteur mouvement et une valeur d'estima-
tion du bloc de l'image individuelle courante pour la pre-
mière image individuelle courante pour fournir les données
obtenues du vecteur mouvement calculé et de la valeur d'es-
timation calculée auxdits moyens de décision ( 1170; 1124); et des quatrièmes moyens de traitement ( 1113) recevant les données de l'image individuelle courante issues de ladite deuxième structure de traitement ( 1161) et les données de la deuxième image individuelle de référence issues desdits deuxièmes moyens de mémorisation ( 1163) pour calculer un
vecteur mouvement et la valeur d'estimation du bloc de l'i-
mage individuelle courante pour la deuxième image indivi-
duelle de référence pour fournir les données obtenues du
vecteur mouvement calculé et de la valeur d'estimation cal-
culée auxdits moyens de décision.
33 Dispositif pour obtenir un vecteur mouvement pour un bloc de référence ayant des éléments d'image en Q lignes
et P colonnes dans une image individuelle courante par trai-
- tement de mise en correspondance de blocs dans une zone de
recherche de taille prédéterminée dans une image individuel-
le de référence, ladite zone de recherche incluant une fenê-
tre de recherche ayant la même largeur que celle du bloc de référence et lesdits P et Q étant des nombres entiers, comprenant: des groupements linéaires (LA) disposés en P colonnes, chacun desdits groupements linéaires comprenant:
Q/M éléments de traitement en cascade (PE) comprenant cha-
cun des premiers moyens de mémorisation de données ( 25; 75) pour mémoriser M données différentes d'éléments d'image du bloc de référence, des deuxièmes moyens de mémorisation de
données ( 26; 73) pour mémoriser M données différentes d'élé-
ments d'image de la fenêtre de recherche, et des moyens de calcul ( 64) pour effectuer des calculs prédéterminés sur les données mémorisées dans les premiers et deuxièmes moyens de mémorisation, lesdits N et M étant des nombres entiers et N étant un multiple entier de M; et des troisièmes moyens de mémorisation de données (DL) pour mémoriser R données différentes d'éléments d'image de la
zone de recherche, la somme de R et de Q étant égale au nom-
bre d'éléments d'image d'une colonne de ladite zone de re-
cherche.
34 Dispositif selon la revendication 33, dans lequel les-
dits groupements linéaires (LA) sont montés en série pour
transférer les données du bloc de référence par l'intermé-
diaire des premiers moyens de mémorisation ( 25; 75) et pour
transférer les données de la zone de recherche par l'inter-
médiaire des deuxièmes moyens de mémorisation ( 26; 73) et
des troisièmes moyens de mémorisation (DL).
Dispositif pour obtenir un vecteur mouvement utilisé 151 -
dans un codage à prédiction compensé en mouvement par l'in-
termédiaire d'un traitement de mise en correspondance de blocs exécuté sur une image individuelle courante et une image individuelle de référence, comprenant: des premiers moyens de mémorisation ( 505 a) pour mémoriser
des données d'éléments d'image d'un premier bloc de référen-
ce de ladite image individuelle courante; des deuxièmes moyens de mémorisation ( 505 b) pour mémoriser
des données d'éléments d'image d'un deuxième bloc de réfé-
rence de l'image individuelle courante;
des troisièmes moyens de mémorisation ( 505 c) pour mémori-
ser des données d'éléments d'image d'un bloc de la fenêtre de recherche de l'image individuelle de référence associée aux premier et deuxième blocs de référence; des moyens produisant des valeurs d'estimation ( 507; 12)
pour effectuer des calculs prédéterminés tant sur les don-
nées d'éléments d'image des premiers moyens de mémorisation et les données d'éléments d'image des troisièmes moyens de
mémorisation que sur les données d'éléments d'image des deu-
xièmes moyens de mémorisation et les données d'éléments d'i-
mage des troisièmes moyens de mémorisation, pour produire des valeurs d'estimation indiquant des corrélations entre le premier bloc de référence et le bloc de la fenêtre de recherche, et entre le deuxième bloc de référence et le bloc de la fenêtre de recherche; et des moyens ( 3) sensibles aux moyens produisant la valeur d'estimation pour exécuter une opération de détection pour
détecter des vecteurs mouvement en parallèle pour les pre-
mier et deuxième blocs de référence.
* 36 Dispositif selon la revendication 35, dans lequel les-
dits premier et deuxième blocs de référence sont voisins
l'un de l'autre dans ladite image individuelle courante.
152 - 37 Dispositif pour obtenir un vecteur mouvement utilisé
dans un codage à prédiction compensé en mouvement par l'in-
termédiaire d'un traitement de mise en correspondance de blocs exécuté sur une image individuelle courante et une zone de recherche dans une image individuelle de référence,
ladite zone de recherche comportant une fenêtre de recher-
che, comprenant: un groupement de processeurs ( 10) comprenant une pluralité
d'éléments de traitement (PE) dont chacun mémorise des don-
nées d'éléments d'image du bloc de référence et des données d'éléments d'image de la fenêtre de recherche et effectuant des calculs prédéterminés sur les données d'éléments d'image du bloc de référence et les données d'éléments d'image de
la fenêtre de recherche, chacun desdits éléments de traite-
ment pouvant fonctionner pour décaler des données dans un seul sens; des premiers moyens ( 3) sensibles à des données de sortie
des éléments de traitement pour détecter un vecteur mouve-
ment à précision entière pour le bloc de référence; et une unité de traitement ( 25) recevant au moins un type
des données du bloc de référence et des données de la fenê-
tre de recherche issues dudit groupement de processeurs pour détecter un vecteur mouvement à précision fractionnaire pour
le bloc de référence.
38 Dispositif pour détecter un vecteur mouvement utilisé
dans un codage à prédiction compensé en mouvement par l'in-
termédiaire d'un traitement de mise en correspondance de blocs exécuté sur une image individuelle courante et une image individuelle de référence, comprenant: des moyens de recherche ( 1, 613, 614) pour chercher une valeur minimale d'une fonction d'estimation pour un vecteur
déplacement utilisé comme indication pour chercher le vec-
teur mouvement dans le traitement de mise en correspondance de blocs; 153 - des moyens de détection ( 615) sensibles auxdits moyens
de recherche et détectant que plusieurs fonctions d'estima-
tion fournissent la même valeur d'estimation minimale, pour détecter une fonction d'estimation associée à un vecteur déplacement dont la somme des valeurs absolues des compo- santes horizontale et verticale est la plus petite, a la priorité la plus élevée; et des moyens ( 616, 710) sensibles aux moyens de recherche
et aux moyens de détection pour détecter le vecteur mouve-
ment parmi les vecteurs déplacement, le vecteur mouvement étant lié à la fonction d'estimation fournissant la valeur minimale ou fournissant la valeur minimale et la priorité
la plus élevée.
39 Dispositif pour détecter un vecteur mouvement par l'in-
termédiaire d'un traitement de mise en correspondance de blocs exécuté sur une image individuelle courante et sur une image individuelle de référence, comprenant: des premiers moyens de mémorisation ( 15; 75) prévus pour chaque élément d'image d'un bloc de référence de l'image individuelle courante pour mémoriser les données d'image correspondantes; des deuxièmes moyens de mémorisation ( 26; 73) prévus pour chaque élémentd'image d'un bloc de fenêtre de recherche d'une zone de recherche de l'image individuelle de référence
pour mémoriser les données d'éléments d'image correspondan-
tes;
des moyens d'estimation ( 64, 12) pour effectuer des cal-
culs prédéterminés sur les données desdits premiers moyens de mémorisation et les données desdits deuxièmes moyens de mémorisation pour produire une valeur d'estimation indiquant une corrélation entre le bloc de référence et le bloc de la fenêtre de recherche; et 154 -
des moyens de détection ( 3) sensibles auxdits moyens d'es-
timation pour détecter un vecteur mouvement pour le bloc de référence, lesdits moyens d'estimation pouvant fonctionner pour effectuer lesdits calculs pour chaque décalage des données de la valeur d'un élément d'image dans lesdits deuxièmes moyens de mémorisation tout en conservant les données dans
lesdits premiers moyens de mémorisation.
40 Dispositif selon la revendication 39, dans lequel les-
dits moyens d'estimation ( 64, 12) comprennent des moyens de calcul ( 64) prévus pour une première pluralité d'éléments d'image du bloc de référence et pour une deuxième pluralité d'éléments d'image du bloc de la fenêtre de recherche pour effectuer lesdits calculs prédéterminés, et des moyens de sélection ( 60, 62) prévus en correspondance avec lesdits
moyens de calcul pour sélectionner des données desdits pre-
miers et deuxièmes moyens de mémorisation pour les fournir
aux moyens de calcul correspondants.
41 Dispositif pour détecter un vecteur mouvement par l'in-
termédiaire d'un traitement de mise en correspondance de blocs exécuté sur une image individuelle courante et une image individuelle de référence, comprenant:
une pluralité de moyens de détection de mouvement à pré-
diction ( 1011, 1012; 1151, 1161), chacun pour détecter un
vecteur mouvement d'un bloc de référence dans l'image indi-
viduelle courante selon une valeur d'estimation obtenue par l'intermédiaire du traitement de mise en correspondance de blocs exécuté sur des données du bloc de référence et d'une zone de recherche dans l'image individuelle de référence, chacun desdits moyens de détection de vecteur mouvement à - prédiction dans un sens recevant des données de différentes images individuelles de référence d'autres tels moyens; une pluralité de moyens formant mémoires tampons ( 1013,
1014; 1152, 1162) prévus en correspondance avec chacun des-
dits moyens de détection de vecteur mouvement à prédiction dans un sens, chacun pour mémoriser des données d'une image de référence partielle associée au vecteur mouvement détecté
par les moyens correspondants de détection de vecteur mou-
vement à prédiction dans un sens dans l'image individuelle 1 de référence;
des moyens d'interpolation ( 1020) pour recevoir et combi-
ner les données de l'image de référence partielle issue de ladite pluralité de moyens formant mémoires tampons pour produire des données d'image de référence interpolée; des moyens de détection de vecteur mouvement interpolé ( 1022) pour exécuter le traitement de mise en correspondance
de blocs sur les données dudit bloc de référence et les don-
nées de l'image de référence interpolée pour produire une valeur d'estimation indiquant le résultat du traitement de mise en correspondance de blocs; et des moyens de détermination ( 1024) sensibles à la valeur d'estimation des moyens de détection de vecteur mouvement interpolé et aux valeurs d'estimation associées aux vecteurs mouvement issus de la pluralité de moyens de détection de vecteur mouvement à prédiction dans un sens, pour produire un vecteur mouvement final à partir des vecteurs mouvement détectés. 42 Dispositif selon la revendication 41, comprenant en outre une pluralité de moyens de traitement ( 1153, 1163) prévus en correspondance avec ladite pluralité de moyens de détection de vecteur mouvement à prédiction dans un sens 156 -
( 1151, 1161) pour exécuter le traitement de mise en corres-
pondance de blocs sur les données dudit bloc de référence
et les données de l'image individuelle de référence partiel-
le mémorisée dans des moyens correspondants formant mémoire tampon pour produire un vecteur mouvement et une valeur d'estimation pour fourniture auxdits moyens de détermination
( 1024).
43 Dispositif selon la revendication 41, dans lequel les-
dites données du bloc de référence sont fournies auxdits
moyens de détection de vecteur mouvement interpolé par l'in-
termédiaire d'un des moyens de ladite pluralité de moyens de détection de vecteur mouvement à prédiction dans un sens
( 1011, 1012).
44 Procédé pour obtenir un vecteur mouvement par l'inter-
médiaire d'un traitement de mise en correspondance de blocs exécuté sur une image individuelle courante et une image individuelle de référence, comprenant les étapes consistant
à:
mémoriser les données d'un bloc de référence de l'image
individuelle courante dans des premiers éléments de mémori-
sation; mémoriser les données d'un bloc de fenêtre de recherche
de l'image individuelle de référence dans des deuxièmes élé-
ments de mémorisation;
effectuer des calculs prédéterminés sur les données mémo-
risées dans lesdits premiers et deuxièmes éléments de mémo-
risation pour produire une valeur d'estimation indiquant une corrélation entre le bloc de référence et le bloc de la fenêtre de recherche; décaler les données dans lesdits deuxièmes éléments de 157 -
mémorisation dans un sens pour charger les données d'un au-
tre bloc de la fenêtre de recherche dans lesdits deuxièmes éléments de mémorisation; répéter les étapes d'effectuer et de décaler jusqu'à ce que tous les blocs de la fenêtre de recherche dans une zone de recherche ayant une relation avec ledit bloc de référence aient été soumis à l'estimation; et
déterminer le vecteur mouvement selon les valeurs d'esti-
mation. Procédé selon la revendication 44, dans lequel l'étape d'effectuer comprend les étapes consistant à: sélectionner séquentiellement une pluralité d'ensembles de données dans lesdits premiers et'deuxièmes éléments de mémorisation, et
effectuer les calculs au moyen de calculateurs prévus cha-
cun pour la pluralité d'ensembles, chacun desdits calcula-
teurs effectuant séquentiellement les calculs sur la plura-
lité d'ensembles.
FR9308277A 1992-07-06 1993-07-06 Dispositif de detection de vecteur mouvement pour la compensation des mouvements dans une image animee. Expired - Fee Related FR2693290B1 (fr)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP4178399A JPH0630399A (ja) 1992-07-06 1992-07-06 動きベクトル検出方法および検出装置
JP21596692 1992-08-13
JP10543293A JP3084170B2 (ja) 1992-08-13 1993-05-06 動きベクトル検出装置

Publications (2)

Publication Number Publication Date
FR2693290A1 true FR2693290A1 (fr) 1994-01-07
FR2693290B1 FR2693290B1 (fr) 1995-07-28

Family

ID=27310482

Family Applications (1)

Application Number Title Priority Date Filing Date
FR9308277A Expired - Fee Related FR2693290B1 (fr) 1992-07-06 1993-07-06 Dispositif de detection de vecteur mouvement pour la compensation des mouvements dans une image animee.

Country Status (3)

Country Link
US (1) US5400087A (fr)
DE (1) DE4322343C2 (fr)
FR (1) FR2693290B1 (fr)

Families Citing this family (83)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH07115646A (ja) * 1993-10-20 1995-05-02 Sony Corp 画像処理装置
US5659364A (en) * 1993-12-24 1997-08-19 Matsushita Electric Industrial Co., Ltd. Motion vector detection circuit
JPH07250328A (ja) 1994-01-21 1995-09-26 Mitsubishi Electric Corp 動きベクトル検出装置
DE19549500C2 (de) * 1994-01-21 2000-05-25 Mitsubishi Electric Corp Bewegungsvektor-Ermittlungseinrichtung
DE19549371C2 (de) * 1994-01-21 1997-11-27 Mitsubishi Electric Corp Bewegungsvektor-Ermittlungseinrichtung
JPH0865685A (ja) * 1994-08-23 1996-03-08 Nec Corp 動きベクトル検出回路
US5619268A (en) * 1995-01-17 1997-04-08 Graphics Communication Laboratories Motion estimation method and apparatus for calculating a motion vector
US5712799A (en) * 1995-04-04 1998-01-27 Chromatic Research, Inc. Method and structure for performing motion estimation using reduced precision pixel intensity values
GB2301971B (en) * 1995-06-06 1999-10-06 Sony Uk Ltd Video compression
JP2798120B2 (ja) * 1995-08-04 1998-09-17 日本電気株式会社 動き補償フレーム間予測方法及び動き補償フレーム間予測装置
JPH0965339A (ja) * 1995-08-18 1997-03-07 Mitsubishi Electric Corp 画像ブロック動き検出装置
WO1997016926A1 (fr) * 1995-10-31 1997-05-09 Sarnoff Corporation Procede et appareil de determination des conditions ambientes a partir d'une sequence d'images
WO1997016921A1 (fr) * 1995-10-31 1997-05-09 Sarnoff Corporation Procede et appareil pour produire une image de reference a partir d'une sequence d'images
KR0177985B1 (ko) * 1995-11-17 1999-05-15 김광호 프로세서의 벡터 데이터 조정 장치
US5889891A (en) * 1995-11-21 1999-03-30 Regents Of The University Of California Universal codebook vector quantization with constrained storage
KR0151922B1 (ko) * 1995-12-12 1998-10-15 양승택 필드 및 프레임 움직임 추정 장치
US5682204A (en) * 1995-12-26 1997-10-28 C Cube Microsystems, Inc. Video encoder which uses intra-coding when an activity level of a current macro-block is smaller than a threshold level
US6049362A (en) * 1996-02-14 2000-04-11 International Business Machines Corporation Dual prime motion estimation system and method
US5768537A (en) * 1996-02-22 1998-06-16 International Business Machines Corporation Scalable MPEG2 compliant video encoder
JPH1079947A (ja) * 1996-09-03 1998-03-24 Mitsubishi Electric Corp 動きベクトル検出装置
JP3019787B2 (ja) 1996-09-20 2000-03-13 日本電気株式会社 動きベクトル検出装置
US6611559B1 (en) * 1996-09-24 2003-08-26 Matsushita Electric Industrial Co., Ltd. Apparatus and method of detecting motion vectors by calculating a correlation degree between each candidate block
US6058142A (en) * 1996-11-29 2000-05-02 Sony Corporation Image processing apparatus
GB2327827B (en) * 1996-11-29 1999-06-30 Sony Corp Image processing apparatus
US6151632A (en) * 1997-03-14 2000-11-21 Microsoft Corporation Method and apparatus for distributed transmission of real-time multimedia information
US6584226B1 (en) * 1997-03-14 2003-06-24 Microsoft Corporation Method and apparatus for implementing motion estimation in video compression
AU1941797A (en) * 1997-03-17 1998-10-12 Mitsubishi Denki Kabushiki Kaisha Image encoder, image decoder, image encoding method, image decoding method and image encoding/decoding system
JPH10327415A (ja) * 1997-05-22 1998-12-08 Mitsubishi Electric Corp 動きベクトル検出装置
JP2976932B2 (ja) * 1997-06-09 1999-11-10 日本電気株式会社 画像照合回路および画像照合集積回路
JPH118856A (ja) * 1997-06-17 1999-01-12 Mitsubishi Electric Corp 画像符号化方法及びその装置
US6212237B1 (en) * 1997-06-17 2001-04-03 Nippon Telegraph And Telephone Corporation Motion vector search methods, motion vector search apparatus, and storage media storing a motion vector search program
EP0896300B1 (fr) * 1997-08-07 2002-01-30 Matsushita Electric Industrial Co., Ltd. Dispositif et méthode de détection de vecteur de mouvement
JPH11112991A (ja) * 1997-10-08 1999-04-23 Sharp Corp 動きベクトル検出装置
JPH11168727A (ja) 1997-12-02 1999-06-22 Mitsubishi Electric Corp 動きベクトル検出装置
JPH11259662A (ja) * 1998-01-09 1999-09-24 Hewlett Packard Co <Hp> 画像フレ―ムの移動検出方法および装置
JPH11346369A (ja) * 1998-06-01 1999-12-14 Nec Corp 動ベクトル検出回路
JP4026238B2 (ja) * 1998-07-23 2007-12-26 ソニー株式会社 画像復号装置及び画像復号方法
US6233236B1 (en) * 1999-01-12 2001-05-15 Mcdata Corporation Method and apparatus for measuring traffic within a switch
US7382736B2 (en) * 1999-01-12 2008-06-03 Mcdata Corporation Method for scoring queued frames for selective transmission through a switch
JP2000270328A (ja) * 1999-03-17 2000-09-29 Mitsubishi Electric Corp 動きベクトル検出装置
JP2000308064A (ja) * 1999-04-22 2000-11-02 Mitsubishi Electric Corp 動きベクトル検出装置
KR100549919B1 (ko) * 2000-12-15 2006-02-06 주식회사 케이티 소요클럭사이클수 감축을 위한 초대규모 집적회로 장치
JP2002232911A (ja) * 2001-02-01 2002-08-16 Mitsubishi Electric Corp 動きベクトル検出装置及び動きベクトル検出方法
CN1301491C (zh) * 2001-03-13 2007-02-21 伊强德斯股份有限公司 视觉装置、联动式计数器及图象检测器
KR100413770B1 (ko) * 2001-09-19 2004-01-03 삼성전자주식회사 완전 탐색블록 정합회로 및 완전 탐색블록 정합방법
KR100412501B1 (ko) * 2001-11-30 2003-12-31 삼성전자주식회사 움직임 보상을 위한 화소값 선택 장치 및 방법
DE10302003B4 (de) * 2002-02-26 2011-06-16 Thomson Licensing S.A. Verfahren und Schaltung zur Bestimmung des Rauschanteils in einem Videosignal
WO2004012459A1 (fr) * 2002-07-26 2004-02-05 Matsushita Electric Industrial Co., Ltd. Procede de codage d'images animees, procede de decodage d'images animees, et support d'enregistrement
JP4462823B2 (ja) * 2002-11-20 2010-05-12 ソニー株式会社 画像信号の処理装置および処理方法、それに使用される係数データの生成装置および生成方法、並びに各方法を実行するためのプログラム
JP2004179687A (ja) * 2002-11-22 2004-06-24 Toshiba Corp 動画像符号化/復号化方法及び装置
JP4003128B2 (ja) * 2002-12-24 2007-11-07 ソニー株式会社 画像データ処理装置および方法、記録媒体、並びにプログラム
GB2397957A (en) * 2003-01-30 2004-08-04 Qinetiq Ltd Target detection
JP4671696B2 (ja) * 2004-01-14 2011-04-20 パナソニック株式会社 動きベクトル検出装置
US20050163221A1 (en) * 2004-01-14 2005-07-28 Matsushita Electric Industrial Co., Ltd. Motion vector detecting device
US20050238102A1 (en) * 2004-04-23 2005-10-27 Samsung Electronics Co., Ltd. Hierarchical motion estimation apparatus and method
TWI253024B (en) * 2004-07-20 2006-04-11 Realtek Semiconductor Corp Method and apparatus for block matching
JP3880985B2 (ja) * 2004-08-05 2007-02-14 松下電器産業株式会社 動きベクトル検出装置および動きベクトル検出方法
TWI243600B (en) * 2004-09-17 2005-11-11 Primax Electronics Ltd Selected area comparison method with high-operational efficient
US20060259737A1 (en) * 2005-05-10 2006-11-16 Telairity Semiconductor, Inc. Vector processor with special purpose registers and high speed memory access
US20070150697A1 (en) * 2005-05-10 2007-06-28 Telairity Semiconductor, Inc. Vector processor with multi-pipe vector block matching
CN101300849B (zh) * 2005-11-01 2011-07-06 三叉微系统(远东)有限公司 数据处理系统
JP4793070B2 (ja) * 2006-04-12 2011-10-12 ソニー株式会社 動きベクトル探索方法及び装置
US20080031333A1 (en) * 2006-08-02 2008-02-07 Xinghai Billy Li Motion compensation module and methods for use therewith
KR100874949B1 (ko) 2006-11-15 2008-12-19 삼성전자주식회사 단일 명령 다중 자료 프로세서 및 그것을 위한 메모리어레이 구조
EP1927949A1 (fr) * 2006-12-01 2008-06-04 Thomson Licensing Réseau d'éléments de traitement avec registres locaux
EP1927950A1 (fr) * 2006-12-01 2008-06-04 Thomson Licensing Réseau d'éléments de traitement avec registres locaux
TWI469642B (zh) * 2006-12-04 2015-01-11 Nat Inst Chung Shan Science & Technology Compression of image data
US20090074310A1 (en) * 2007-09-19 2009-03-19 Chung Shan Institute Of Science And Technology, Armaments Bureau, M.N.D. Image data compression method
US20110173596A1 (en) * 2007-11-28 2011-07-14 Martin Vorbach Method for facilitating compilation of high-level code for varying architectures
JP5171539B2 (ja) * 2007-11-29 2013-03-27 キヤノン株式会社 共鳴トンネル構造体
US8477847B2 (en) * 2007-12-17 2013-07-02 Vixs Systems, Inc. Motion compensation module with fast intra pulse code modulation mode decisions and methods for use therewith
US8189668B2 (en) * 2007-12-18 2012-05-29 Vixs Systems, Inc. Video codec with shared intra-prediction module and method for use therewith
US8213512B2 (en) * 2008-05-28 2012-07-03 Cyberlink Corp. Determining an intermediate image
CN101477412B (zh) * 2008-06-27 2011-12-14 北京希格玛和芯微电子技术有限公司 子像素级精度的运动感知方法
FR2939207A1 (fr) * 2008-12-02 2010-06-04 Thales Sa Procede de filtrage cinematique temporel multidimensionnel de plots radar, de tour d'antenne a tour d'antenne
TWI399094B (zh) * 2009-06-30 2013-06-11 Silicon Integrated Sys Corp 自適應移動補償內插法與其裝置
US8654852B2 (en) * 2010-06-07 2014-02-18 Himax Technologies Ltd. Circuit for performing motion estimation and motion compensation
TWI571828B (zh) * 2013-01-02 2017-02-21 奇高電子股份有限公司 光學導航方法以及相關裝置
US20150146784A1 (en) * 2013-11-26 2015-05-28 Vixs Systems Inc. Motion compensation with moving window
WO2019072368A1 (fr) 2017-10-09 2019-04-18 Huawei Technologies Co., Ltd. Fenêtre d'accès à une mémoire limitée pour affinement de vecteur de mouvement
US11199561B2 (en) * 2018-12-31 2021-12-14 Robert Bosch Gmbh System and method for standardized evaluation of activity sequences
US11012708B1 (en) * 2019-12-04 2021-05-18 Amazon Technologies, Inc. Low-latency motion search for video encoder
US11601656B2 (en) * 2021-06-16 2023-03-07 Western Digital Technologies, Inc. Video processing in a data storage device

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4777530A (en) * 1984-11-07 1988-10-11 Sony Corporation Apparatus for detecting a motion of a picture of a television signal
GB2214751A (en) * 1988-02-01 1989-09-06 Plessey Co Plc Video signal coding
WO1989008891A1 (fr) * 1988-03-14 1989-09-21 Bell Communications Research, Inc. Circuit de mise en oeuvre d'algorithme de correspondance de bloc
JPH01295379A (ja) * 1988-05-23 1989-11-29 Fujitsu Ltd ブロツクマツチング型動き検出回路
US4937666A (en) * 1989-12-04 1990-06-26 Bell Communications Research, Inc. Circuit implementation of block matching algorithm with fractional precision
EP0395293A1 (fr) * 1989-04-26 1990-10-31 BRITISH TELECOMMUNICATIONS public limited company Estimateur de mouvement
EP0415737A2 (fr) * 1989-08-29 1991-03-06 Sony Corporation Circuits de détection de mouvement pour images vidéo
EP0479511A2 (fr) * 1990-09-29 1992-04-08 Victor Company Of Japan, Ltd. Système de codage/décodage par prédiction d'un signal d'image à compensation de mouvement

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB8722612D0 (en) * 1987-09-25 1987-11-04 British Telecomm Motion estimator
US5072293A (en) * 1989-08-29 1991-12-10 U.S. Philips Corporation Method of estimating motion in a picture signal
JPH0453389A (ja) * 1990-06-21 1992-02-20 Graphics Commun Technol:Kk 動ベクトル検出装置
DE4023449C1 (fr) * 1990-07-24 1992-01-23 Ant Nachrichtentechnik Gmbh, 7150 Backnang, De
GB2252468B (en) * 1991-02-04 1994-10-19 Sony Broadcast & Communication Television standards converters
US5276513A (en) * 1992-06-10 1994-01-04 Rca Thomson Licensing Corporation Implementation architecture for performing hierarchical motion analysis of video images in real time

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4777530A (en) * 1984-11-07 1988-10-11 Sony Corporation Apparatus for detecting a motion of a picture of a television signal
GB2214751A (en) * 1988-02-01 1989-09-06 Plessey Co Plc Video signal coding
WO1989008891A1 (fr) * 1988-03-14 1989-09-21 Bell Communications Research, Inc. Circuit de mise en oeuvre d'algorithme de correspondance de bloc
JPH01295379A (ja) * 1988-05-23 1989-11-29 Fujitsu Ltd ブロツクマツチング型動き検出回路
EP0395293A1 (fr) * 1989-04-26 1990-10-31 BRITISH TELECOMMUNICATIONS public limited company Estimateur de mouvement
EP0415737A2 (fr) * 1989-08-29 1991-03-06 Sony Corporation Circuits de détection de mouvement pour images vidéo
US4937666A (en) * 1989-12-04 1990-06-26 Bell Communications Research, Inc. Circuit implementation of block matching algorithm with fractional precision
EP0479511A2 (fr) * 1990-09-29 1992-04-08 Victor Company Of Japan, Ltd. Système de codage/décodage par prédiction d'un signal d'image à compensation de mouvement

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
KUN-MIN YANG ET AL.: "A family of VLSI designs for motiom compensation block-matching algorithm", IEEE TRANSACTIONS ON CIRCUITS AND SYSTEM, vol. 36, no. 10, October 1989 (1989-10-01), pages 1317 - 1325 *
PATENT ABSTRACTS OF JAPAN vol. 14, no. 84 (P - 1007) 16 February 1990 (1990-02-16) *

Also Published As

Publication number Publication date
FR2693290B1 (fr) 1995-07-28
DE4322343C2 (de) 1996-10-02
US5400087A (en) 1995-03-21
DE4322343A1 (de) 1994-01-13

Similar Documents

Publication Publication Date Title
FR2693290A1 (fr) Dispositif de détection de vecteur mouvement pour la compensation des mouvements dans une image animée.
JP7253258B2 (ja) 動的視覚センサ用ブロックマッチングオプティカルフローとステレオ視
US4245248A (en) Motion estimation and encoding of video signals in the transform domain
FR2674653A1 (fr) Procede et dispositif de detection de bord pour un systeme de traitement d&#39;image.
FR2651399A1 (fr) Procede et dispositif d&#39;estimation et de codage hierarchise du mouvement de sequences d&#39;images.
EP0341769B1 (fr) Dispositif pour interpoler des images par estimation et compensation de mouvement et système convertisseur de standards de télévision constitué à partir d&#39;un tel dispositif
CN105191309A (zh) 用于下一代视频编码的内容自适应预测距离分析器和分层运动估计系统
FR2461405A1 (fr) Systeme de codage et de decodage d&#39;un signal visiophonique numerique
US20040120401A1 (en) Motion estimation engine with parallel interpolation and search hardware
EP1603341B1 (fr) Procédé et dispositif pour les systèmes d&#39;interpolation d&#39;images par estimation et compensation de mouvement
EP0135405B1 (fr) Procédé et dispositif de détection de points en mouvement dans une image de télévision pour systèmes de télévision numérique de compression de débit à rafraîchissement conditionnel
EP0717372B1 (fr) Procédé de sélection de vecteurs de mouvement et dispositif de traitement d&#39;images mettant en oeuvre ledit procédé
EP0722251B1 (fr) Procédé d&#39;interpolation d&#39;images
EP0712070B1 (fr) Procédé de production d&#39;un paramètre de correction d&#39;erreur associé à la mise en oeuvre d&#39;opérations modulaires selon la méthode de Montgomery
EP0286192B1 (fr) Procédé et dispositif d&#39;estimation de mouvement dans une séquence d&#39;images
EP0294282B1 (fr) Procédé d&#39;interpolation temporelle d&#39;images et dispositif pour la mise en oeuvre de ce procédé
EP0691065B1 (fr) Codage/decodage compatibles sous-bandes d&#39;images de television
FR2879391A1 (fr) Procede, dispositif et systeme de traitement d&#39;images par estimation de mouvement
WO1995004963A1 (fr) Dispositif electronique de calcul d&#39;une transformee de fourier et procede pour minimiser la taille des chemins de donnees internes d&#39;un tel dispositif
US6526157B2 (en) Image processing apparatus, image processing method and transmission medium
EP0123573A1 (fr) Procédé de codage adaptatif, et de décodage, d&#39;une image de télévision, et dispositifs pour la mise en oeuvre de ce procédé
WO2020157733A1 (fr) Procédé dynamique d&#39;imagerie tridimensionnelle
EP0407273A1 (fr) Dispositif de calcul d&#39;une prédiction pour un traitement d&#39;images
Frías-Velázquez et al. Hierarchical stack filtering: a bitplane-based algorithm for massively parallel processors
WO2001057803A1 (fr) Procede et dispositif de traitement de sequences d&#39;images avec masquage

Legal Events

Date Code Title Description
ST Notification of lapse

Effective date: 20090331