FR2685108A1 - Procede de detection de vecteur mouvement. - Google Patents

Procede de detection de vecteur mouvement. Download PDF

Info

Publication number
FR2685108A1
FR2685108A1 FR9200747A FR9200747A FR2685108A1 FR 2685108 A1 FR2685108 A1 FR 2685108A1 FR 9200747 A FR9200747 A FR 9200747A FR 9200747 A FR9200747 A FR 9200747A FR 2685108 A1 FR2685108 A1 FR 2685108A1
Authority
FR
France
Prior art keywords
search
block
value
summation
pixels
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
FR9200747A
Other languages
English (en)
Other versions
FR2685108B1 (fr
Inventor
Choi Keon-Young
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.)
Samsung Electronics Co Ltd
Original Assignee
Samsung Electronics Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Samsung Electronics Co Ltd filed Critical Samsung Electronics Co Ltd
Publication of FR2685108A1 publication Critical patent/FR2685108A1/fr
Application granted granted Critical
Publication of FR2685108B1 publication Critical patent/FR2685108B1/fr
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/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
    • 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
    • G06T7/238Analysis of motion using block-matching using non-full search, e.g. three-step search
    • 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
    • H04N19/533Motion estimation using multistep search, e.g. 2D-log search or one-at-a-time search [OTS]

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)
  • Image Analysis (AREA)

Abstract

Procédé de détection de vecteur mouvement en temps réel pour augmenter la vitesse de détection de mouvement en utilisant un processeur de signal numérique (PR) dans un système de traitement d'image. Il est possible de réduire le temps de calcul en faisant meilleur usage d'une particularité d'un circuit intégré DSP en effectuant une détection de mouvement avec le procédé de détection en trois étapes, c'est-à-dire, ce que l'on appelle un procédé de recherche grossière/fine pour rechercher de façon grossière dans une première étape et rechercher de façon précise dans des deuxième et troisième étapes en supposant que la mesure de la distorsion entre chaque bloc est faible dans une zone de recherche.

Description

PROCEDE DE DETECTION DE VECTEUR MOUVEMENT
La présente invention se rapporte d'une manière générale à un procédé de compensation de mouvement dans un système de traitement d'une image en mouvement tel qu'un visiophone, un système de visioconférence et un poste de télévision haute définition (HDTV), et plus particulièrement à un procédé pour détecter un vecteur mouvement, dans lequel la vitesse d'une recherche à trois étapes dans un algorithme de correspondance de bloc (appelé
dans la suite BMA) est augmentée.
D'une manière générale, sont connues différentes sortes de systèmes de traitement d'image en mouvement comme les systèmes de visioconférence et les visiophones Dans le visiophone, une image comprend une plus grande partie de l'espace constituée par une image fixe telle qu'une image d'arrière plan, et de plus, les objets principaux à
représenter sont le visage et le buste d'un être humain.
Par conséquent, la corrélation entre deux images qui se suivent est très élevée puisqu'il ne se produit qu'un
changement mineur entre les trames d'image.
En utilisant une telle particularité des images à traiter dans le visiophone, une modulation par impulsion et codage de la différence entre trames (appelé dans la suite
DPCM) a été proposée pour réduire la redondance temporelle.
Afin d'augmenter l'efficacité de la prédiction de la DPCM entre trames, il est décrit une DPCM entre trames, compensée en mouvement, qui peut prédire un changement en fonction du mouvement d'un objet Par conséquent, parmi les différentes DPCM entre trames compensées en mouvement, le BMA qui détecte un mouvement dans un bloc unitaire est
largement utilisé.
Un procédé de codage composite combinant la DPCM entre trames avec un procédé de transformation cosinus discrète (appelé dans la suite DCT) détecte une différence entre un bloc de trame d'image courant destiné à être codé et un bloc de trame d'image précédent, par le procédé DCT Le procédé de codage composite a une configuration telle que
représentée à la figure 1.
En faisant référence à la figure 1, un dispositif de formatage il divise une image d'entrée d'une trame unitaire en un certain nombre de blocs d'une taille donnée pour effectuer par ce moyen un formatage de l'image d'entrée Un soustracteur 21 reçoit les blocs de trames séquentiellement en série de manière à détecter une différence entre l'information de trame précédente et l'information de trame courante Un premier compresseur de données 12 comprime la donnée de sortie du soustracteur 21 d'abord par le procédé DCT Un deuxième compresseur de données 13 quantifie la sortie du premier compresseur de données 12 pour comprimer davantage par ce moyen la sortie du soustracteur 21 Un troisième compresseur de données 14 effectue un codage de longueur variable en ce qui concerne la donnée quantifiée en utilisant une particularité statistique de la donnée quantifiée. Dans le même temps, un expanseur 17 expanse le signal d'image de sortie du second compresseur de données 13 en effectuant une DCT inverse Une mémoire de trame 19 restaure l'information de trame précédente pour la mémoriser et elle produit une donnée de bloc compensée en mouvement, par une commande donnée Un filtre boucle 18
filtre la donnée de bloc compensée en mouvement.
Un additionneur 22 additionne les données de bloc compensées en mouvement filtrées issues du filtre 18 au signal d'image expansé issu de l'expanseur de données 17, de manière à restaurer la trame précédente et à la mémoriser dans la mémoire de trame 19 Dans ce cas, la mémoire de trame 19 reçoit une information de position 52 issue d'un détecteur de mouvement 20 L'information de position 52 est un vecteur mouvement indiquant une position relative d'un bloc dans la trame précédente qui est similaire à un bloc dans la trame courante, comme cela est
montré à la figure 3.
Un multiplexeur 15 transmet l'information de quantification Sl issue du deuxième compresseur de données 13 et l'information de position 52 issue du détecteur de mouvement 20 en fonction d'un format lié à l'extrémité émission et à l'extrémité réception Une mémoire tampon 16 transmet le résultat de sortie du multiplexeur 15 à l'extrémité réception et produit un signal de commande CC pour réguler le degré de compression de données pour le deuxième compresseur de données 13 de manière à ce qu'il
soit approprié pour sa vitesse d'entrée/sortie.
En recevant un signal de différence et un vecteur mouvement pendant la mémorisation de l'information de trame précédente, l'extrémité réception restaure un bloc courant en remplaçant une partie en mouvement de l'information de trame précédente par un signal de différence et un vecteur mouvement, et par conséquent une image en mouvement continu
peut être extraite.
En se basant sur le procédé de codage composite, le procédé BMA et une mesure de distorsion seront décrits dans la suite Le BMA représente une étape pour la détection d'un bloc de la trame précédente qui est pour la plus grande partie similaire à un bloc devant être codé dans une trame courante C'est-à-dire que cette étape consiste à comparer un bloc de trame courant devant être codé avec un bloc de position de recherche respectif dans une zone de recherche prédite dans une trame d'image précédente pour
détecter par ce moyen le bloc le plus similaire.
Dans le codeur composite, la fonction du module BMA est de détecter un vecteur mouvement correct, et ainsi un mode de recherche à trois étapes est largement utilisé comme procédé pour réaliser facilement un matériel et pour réduire la complexité de calcul pour un système en temps réel. Comme cela est représenté à la figure 4, la recherche à trois étapes comprend trois étapes et elle est une sorte de recherche grossière/fine pour rechercher de manière grossière dans une première étape et rechercher de manière fine dans des deuxième et troisième étapes dans l'hypothèse o la mesure de distorsion entre chaque bloc est faible
dans une zone de recherche.
Pour calculer la mesure de distorsion, il existe quatre fonctions qui sont la NCCF (fonction de corrélation croisée normalisée), la MSE (erreur quadratique moyenne), la MAE (moyenne de l'erreur absolue) et la MNAE (nombre moyen de bits nécessaires pour coder en binaire l'erreur absolue) Parmi les quatre fonctions, la MSE est largement utilisée en raison de sa méthode de calcul simple M N MSE (i ô) = 1 2 2 l I(m, n, t:)-I (m+i, n+j, t-z l 2 MN m= 1 n=i
( 1)
dans laquelle, M et N indiquent la taille des blocs et I(m+i, n+j, t-T) indique une intensité de luminosité d'un (m, n)ième élément d'image d'un bloc d'image précédent qui est à une distance de (i, j) d'un bloc courant devant être
codé.
Il faut un temps prédéterminé, comme cela est décrit ci-dessous, pour calculer une mesure de distorsion en utilisant un processeur de signal numérique (dans la suite
appelé DSP).
Pour calculer l'équation ( 1), une différence entre les mième et nième pixels mémorisés d'abord et une différence entre les blocs respectifs correspondants Mx N est élevée au
carré et ensuite cumulée par une instruction SQRA.
L'instruction SQRA est une instruction générale pour cumuler une valeur après élévation au carré dans laquelle l'élévation au carré et le cumul sont faits dans un seul cycle de l'instruction De plus, le nombre des cycles d'instruction qui est nécessaire peut être exprimé comme suit: M x N x 25 x 4 = l OOMN (cycles) ( 2) dans laquelle, le nombre 25 est une quantité de pixels à rechercher comme cela est montré à la figure 4 (dans ce cas, 9 éléments indiqués par "o" dans la première étape et 8 éléments indiqués comme chacun des " x " et " O " dans les deuxième et troisième étapes), et le nombre 4 est un
nombre de cycles requis pour une opération.
Le résultat de l'équation ( 2) signifie que 3 cycles par pixel sont nécessaires pour mémoriser la différence et un cycle pour exécuter l'instruction de SQRA Par exemple, en calculant la mesure de distorsion d'un bloc de dimension 16 x 16 en utilisant un circuit intégré DSP de TMS 320 C 25 fabriqué par Texas Instruments Company, le temps de traitement peut être exprimé par: 16 x 16 x 25 x 4 x 100 (nsec/cycle) = 2,560 gsec ( 3) Selon la réglementation H 261 du CCITT (Comité Consultatif International Télégraphique et Téléphonique) pour le visiophone, il est souhaitable qu'une image d'entrée ait une taille de 1/4 de CIF et que la résolution spatiale soit telle montrée dans le tableau 1 en cas de traitement de dix images par seconde, et qu'un macro- bloc comprenne une composante de luminance Y de 16 x 16 et des signaux de différence de couleur R-Y, B-Y de 8 x 8 Par conséquent, la durée d'un bloc de pixels et d'un macro-bloc pendant laquelle un macro-bloc constitué de 16 x 24 pixels peut être traité, peut être exprimée par les équations ( 4)
et ( 5).
Tableau 1
Résolution horizontale Résolution verticale (pixels/ligne) (lignes/image) Format Signal de Signal de Signal de Signal de d'image luminance différence luminance différence de couleur de couleur
1 CIF 352 176 288 144
1/4 CIF 176 88 144 72
Fp = ( 176 x 144 + 88 x 72) (pixels/trame) x 10 (trames/sec) = 380,16 lKpixels/secl ( 4) TB = 384/Fp = 1010,1 (gsec) ( 5) Par conséquent, la donnée d'entrée à traiter est reçue à 380,16 Kpixels/sec et un temps alloué pour le traitement du macro-bloc comprenant 384 pixels est limité à 1010,1 gsec Par conséquent, il est à noter qu'au moins plus de trois modules DSP sont nécessaires pour réaliser le visiophone en temps réel, de manière à rechercher l'information de mesure de distorsion d'un macro-bloc à l'intérieur du temps de traitement d'un macro-bloc Puisque la vitesse de détection du mouvement détermine le nombre d'éléments DSP qui est requis, la vitesse de détection du mouvement est très importante pour réaliser un détecteur de mouvement lorsque ceci est considéré d'un point de vu économique aussi bien que pour la simplicité de la
structure matérielle en réduisant la taille du matériel.
Actuellement, il est connu un détecteur de mouvement en temps réel qui utilise deux circuits intégrés DSP, TMS 320 C 25, en réduisant le temps de traitement et en utilisant de plus le procédé de sous-échantillonnage BMA à trois étapes. Le détecteur de mouvement est décrit dans la thèse de maîtrise intitulée "Réalisation d'un détecteur de mouvement en temps réel en utilisant un élément DSP" soumise à l'institut coréen des Sciences et de la Technologie par
Ki-hwan KIM en 1990.
Cependant, le procédé classique ci-dessus est déraisonnable lorsque l'on considère le mode de fonctionnement du DSP Puisque chaque valeur est élevée au carré et cumulée immédiatement après mémorisation d'une différence entre des pixels correspondants des trames courante et précédente, la particularité de fonctionnement de l'élément DSP, qui effectue une addition et un cumul après exécution d'une multiplication, ne peut pas être utilisée pleinement, et par conséquent, ceci n'est pas
efficace du point de vue de la vitesse de fonctionnement.
L'objectif de la présente invention est par conséquent de créer un procédé de détection de vecteur mouvement pour augmenter la vitesse de traitement d'un BMA (algorithme de
correspondance de bloc) à trois étapes.
Selon l'un des aspects de la présente invention il est proposé un procédé de détection d'un vecteur mouvement, dans un système de traitement d'image comportant un moyen de calcul pour effectuer la sommation et le cumul après multiplication, dans lequel la donnée composante de luminance d'un macro-bloc courant est reçue et une adresse initiale d'une zone de recherche est-produite de manière à détecter le vecteur mouvement, qui comprend les étapes de: élévation au carré de la valeur de luminosité de chaque pixel dudit macro-bloc courant et addition des résultats élevés au carré pour produire une première valeur de sommation; réception de la donnée de zone de recherche d'une trame précédente correspondant à ladite adresse initiale; établissement d'un nombre donné de positions de recherche à des intervalles réguliers entre les pixels dans une zone de recherche de ladite trame précédente; établissement des blocs de la même taille que celle dudit macro-bloc courant sur les positions respectives de recherche de manière à établir des sections de calcul indépendantes sur des zones comprenant tous les blocs, et élévation au carré et addition des valeurs de luminosité des pixels correspondant aux positions de recherche en ce qui concerne chacune desdites sections de calcul indépendantes, pour obtenir par ce moyen des valeurs de calcul indépendantes; addition desdites valeurs indépendantes qui correspondent aux blocs respectifs de chaque position de recherche pour produire une deuxième valeur de sommation; multiplication du macro-bloc courant par la valeur de luminosité des pixels respectifs correspondant aux blocs respectifs dans chaque position de recherche, addition du résultat multiplié pour produire une troisième valeur de sommation et multiplication par deux du résultat additionné; addition de ladite première valeur de sommation à ladite deuxième valeur de sommation pour chaque position de recherche et soustraction de celles-ci du résultat doublé de manière à sélectionner à partir de là une valeur minimale; et détermination d'une position de recherche de bloc ayant la valeur minimale comme vecteur mouvement dans le cas de l'achèvement de la recherche à trois étapes et de retour, ou dans le cas contraire rebouclage à ladite quatrième étape après établissement d'un nombre donné de positions de recherche à un certain intervalle entre les pixels plus étroit que celui de l'étape précédente sur la position de recherche d'un bloc
ayant ladite valeur minimale.
Les caractéristiques et avantages de l'invention
ressortiront d'ailleurs de la description qui va suivre à
titre d'exemple en référence aux dessins annexés, sur lesquels: la figure 1 est une vue d'un codeur-décodeur vidéo auquel la présente invention peut être appliquée; la figure 2 est un schéma de structure d'un macro-bloc; la figure 3 est une vue de la détection d'un vecteur mouvement par un procédé d'algorithme de correspondance de bloc; la figure 4 est une vue donnée à titre d'exemple du procédé de recherche à trois étapes; la figure 5 est une vue donnée à titre d'exemple d'une partie à recouvrement pendant le calcul de S(bij)2, selon la présente invention; la figure 6 est un diagramme de calcul indépendant dans une première étape; la figure 7 est un diagramme de calcul indépendant dans une seconde étape; la figure 8 est un diagramme de calcul indépendant dans une troisième étape; la figure 9 est un schéma blocs d'un détecteur de mouvement selon la présente invention; la figure 10 est un organigramme représentant le calcul de détection de mouvement selon la présente invention; la figure 11 est un organigramme représentant un fonctionnement de sous programme d'un algorithme de correspondance de bloc selon la présente invention; et la figure 12 est un organigramme représentant le fonctionnement d'un algorithme de correspondance de bloc à trois étapes selon la présente invention. En supposant que I(m, n, t) est ak et I(m+i;, n+j, t- T) est bkl dans l'équation ( 1) pour calculer une mesure de distorsion MSE, l'équation ( 1) peut être réécrite comme: MSE(i, j) (a 1 M N - i ô) ZY' (ak-bkl)2
M'N K 1
( 6)
dans laquelle, 1 représente un index de position de recherche de 1,, 25 La sommation Z est effectuée de manière unidimensionnelle pour tous les pixels des blocs k,
(o, kc = 1, Mx N).
Puisqu'une particularité de fonctionnement de l'élément DSP est d'exécuter la sommation et le cumul après multiplication comme cela a été décrit dans ce qui précède, l'équation ( 6) peut être mise sous la forme de l'équation ( 7) suivante pour utilisation, de manière raisonnable, de
la particularité de fonctionnement du DSP.
MSE(i,j) = MN l (ak)2 + (bkl)2-2 ak'bkll M'N ( 7) Une instruction MAC dans l'élément DSP exécute une multiplication et une addition dans un seul cycle, simultanément Par conséquent, le cycle d'instruction pour le calcul d'une MSE en utilisant l'instruction MAC peut s'exprimer comme suit; M'N premier terme 2 (ak)2;Mx Nxl=M-N cycles K= 1 second terme 2 (bkl)2;Mx Nx 25 xl= 25 M*N cycles KMN troisième terme 2 akbkl;Mx Nx 25 = 25 M N cycles K= 1 o, Mx N est le nombre de pixels dans le bloc correspondant et la valeur numérique 25 est la quantité des positions de recherche En calculant chacun des termes séparément, il faut 51 x Mx N cycles au total pour calculer la MSE, et ceci représente environ 51 % des l O Ox Mx N cycles calculés dans l'équation ( 2) décrite ci-dessus Par
conséquent, 49 % du temps de traitement peut être éliminé.
Il est à noter que puisque le calcul du troisième terme est indépendant, le troisième terme ne peut pas être réduit davantage Cependant, dans le calcul du second terme, le temps de traitement peut être réduit en traitant une partie de calcul redondante (c'est-à-dire, une partie à recouvrement pendant le calcul) effectivement, puisque il se produit toujours des parties de calcul redondantes à chaque recherche de position Par exemple, la partie de calcul redondante des positions de recherche 1 et 5 à la figure 5 se trouve dans une zone entourée par une ligne en
pointillés.
Lorsque la position de recherche est 1 (c'est-à-dire, 1 = 1), un bloc de trame d'image précédent correspondant à un bloc courant est une partie bk 5 et un bloc de trame précédent correspondant au bloc courant au droit d'une position de recherche 5 est le bloc entouré d'une ligne en pointillés Même s'il est nécessaire de calculer les équations E(bkl)2 et S(bk 5)2, une fois que la partie à recouvrement est calculée, la durée de calcul ensuite peut être réduite puisqu'il est seulement nécessaire que la partie non à recouvrement soit ajoutée au résultat du
calcul de la partie à recouvrement.
Puisque la réglementation H 261 du CCITT recommande une il taille de bloc de 16 x 16 pour la détection de mouvement de la composante de luminance dans un visiophone, dans le mode de réalisation, les tailles de bloc M et N sont fixées à 16, respectivement, pour calculer la MSE et le temps de traitement est calculé sous la condition d'une taille de
bloc de 16 x 16.
Dans la première étape de recherche dans laquelle les intervalles de pixels sont de 4 dans le bloc, la zone de recherche entière est divisée en 25 parties destinées à être mises en oeuvre indépendamment, comme cela est montré
à la figure 6.
Dans un bloc correspondant à chaque position de recherche, la valeur calculée de E(bkl)2 (o 1 = 1, 2, ) du second terme est obtenu en faisant la sommation M (bk), des valeurs de calcul des neuf parties sec indépendantes respectives (o, "sec" représente chaque
section de recherche).
Par conséquent, la durée totale requise pour calculer le second terme dans la première étape s'exprime comme la sommation de l'instruction SQRA pour additionner et élever au carré un élément d'image correspondant de chaque partie, et le nombre de cycles de sommation requis pour additionner les valeurs des neuf parties correspondant aux blocs dans chacune des positions de recherche, au nombre de cycles requis pour effectuer l'instruction SAC pour mémoriser la valeur additionnée En outre, le temps total est exprimé par; T ( (bk 2) = PL+S (cycles) ( 8) sec o, PL indique le nombre de cycles requis pour l'opération d'élévation au carré et de cumul et S indique le nombre de cycles requis pour l'opération de mémorisation Par conséquent, un total de 601 cycles est
requis à la figure 6.
Le nombre des parties de coin est 16, (c'est-à-dire, Sl, 52, 54, 55, 56, 57, 59, 510, 516, 517, 519, 520, 521, 522, 524, 525) et le nombre des parties de bord est 8 (c'est-à-dire, 53, 58, Sul, 512, 514, 515, 518, 523) et le nombre de pixels, auquel un est ajouté, d'une partie centrale 513 est 65 Par conséquent, le résultat du calcul de nombre de cycles s'exprime par: 17 x 16 + 33 x 8 + 65 xl = 601 cycles. En plus, 10 cycles sont nécessaires pour ajouter les neuf parties de bloc correspondant à chacune des positions de recherche Par exemple, le calcul du second terme pour la position de recherche 1 est effectué en additionnant les neuf parties 51, 52, 53, 56, 57, 58, Sl, 512, 513 de la figure 6 et le calcul du second terme pour la position de recherche 5 est effectué en additionnant les neuf parties
57, 58, 59, 512, 513, 514, 517, 518 et 519.
Puisque le nombre des positions de recherche est 9 dans la première étape et que 10 cycles sont requis pour additionner les valeurs des neuf parties pour une position de recherche, le nombre total de cycles pour additionner toutes les valeurs résultantes de toutes les positions de recherche sera de 90 Par conséquent, la durée totale de calcul du second terme dans la première étape sera de 691 cycles. Dans la seconde étape, une zone de recherche entière est divisée en un nombre de 25 parties destinées à être calculées de manière indépendante comme cela est montré à la figure 7 et le temps de calcul total est calculé de la même manière que pour la première étape, comme suit: 5 x 16 + 25 x 8 + 144 x 1 = 424 cycles;
x 8 = 80 cycles.
Par conséquent, le temps de calcul total est obtenu comme étant de 504 cycles en additionnant 424 cycles et 80 cycles. Dans la troisième étape, une zone de recherche est divisée en 25 parties destinées à être calculées indépendamment comme cela est montré à la figure 8, et le temps de calcul total est calculé de la même manière, comme suit: 1 x 16 + 14 x 8 + 196 x 1 = 324 cycles x 8 = 80 cycles Le temps de calcul total est obtenu comme étant de 404
cycles en additionnant 324 cycles et 80 cycles.
Finalement, il faut 1599 cycles pour effectuer un calcul du second terme M(bkl)2 (o, 1 = 1, 2,, 25) puisque la première étape prend 691 cycles et que les deuxième et troisième étapes prennent, respectivement, 504
cycles et 404 cycles.
Comme cela a été décrit ci-dessus, le temps de calcul de la MSE pour un bloc standard de 16 x 116 est obtenu par l'équation suivante: 16 x 16 premier terme 2 (ak)2 = 25 cycles K= 1 16 x 16 second terme (bkl)2 = 1599 cycles K= 1 16 x 16 troisième terme 2 ak-bkl = 6400 cycles K= 1 o, 1 = 1, 2,, 25 Le nombre total de cycles du résultat ci- dessus est 32,2 % des 25 600 cycles calculés
par l'équation ( 2), c'est-à-dire 10 Ox Mx N = 100 x 16 x 16.
Par conséquent, le calcul de la MSE selon la présente invention peut réduire le temps de calcul de 66,8 % par
comparaison avec le procédé de calcul classique.
Lorsque le temps nécessaire pour effectuer le BMA de recherche à trois étapes est plus petit que le temps alloué au processeur BMA comme cela est décrit ci-dessus, le détecteur de mouvement en temps réel 20 peut être réalisé par un seul circuit intégré DSP (processeur BMA). En faisant référence à la figure 10, un calcul du détecteur de mouvement 20 utilisant un seul circuit intégré DSP est représenté Une mémoire de données à circuit intégré du processeur BMA et une mémoire externe sont initialisées à une valeur de départ par une interruption de réinitialisation par mise sous tension et certaines valeurs constantes requises pour calculer le BMA sont produites et mémorisées. Après exécution du programme d'initialisation, le détecteur de mouvement 20 exécute le programme BMA par une interruption utilisateur et il se tient dans un état de marche à vide jusqu'à ce qu'une interruption utilisateur suivante soit reçue à nouveau Le détecteur de mouvement 20
répète le programme BMA de la même manière.
En faisant référence à la figure 11, le programme BMA est représenté en détail Lorsqu'une interruption utilisateur est produite, une composante de luminance de macro-bloc mémorisée dans une mémoire tampon d'entrée IB connectée à une borne d'entrée du processeur BMA, PR, et à la division de formatage 11, est reçue comme unité de bloc
et mémorisée dans une mémoire interne.
Après le calcul d'une adresse initiale d'une zone de bloc de recherche de trame d'image précédente devant être amenée, un vecteur mouvement est trouvé par les première, seconde et troisième étapes dans l'ordre, et transmis au multiplexeur 15 par l'intermédiaire d'un verrou LA connecté à une borne du processeur BMA PR Un bloc prédit est détecté à partir de la mémoire de trame précédente par le vecteur mouvement et amené jusqu'à une mémoire tampon de sortie OB connectée à l'autre extrémité du processeur BMA, PR Après filtrage du bloc dans le filtre boucle 18, une différence entre le bloc et un bloc de trame courant est détectée dans le soustracteur 21 Lors de l'achèvement des opérations ci- dessus dans l'ordre, le détecteur de mouvement 20 demeure dans un état de marche à vide jusqu'à
ce qu'une prochaine interruption utilisateur soit produite.
En faisant référence à la figure 12, chaque étape de l'exécution du BEA est décrite comme suit D'abord, une adresse initiale de zone de recherche devant être amenée à partir d'une mémoire de trame précédente est déterminée pour exécuter la première étape, après mémorisation d'un M@N résultat en calculant le premier terme: 2 (a)2 de K= 1 l'équation de MSE En d'autres termes, l'adresse initiale de chaque zone de recherche comprend des blocs de recherche correspondant aux numéros de 9 vecteurs menus qui sont séparés d'un macro-bloc courant par 4 pixels La donnée de zone de recherche est reçue à partir de l'adresse
initiale et mémorisée dans la mémoire interne.
M*N Ensuite, la valeur 2 (bk) 2 est calculée et mémorisée en ce qui concerne chacune des vingt-cinq parties comme cela est montré à la figure 6 Puis la valeur MIN 2 (bkl) 2 dans laquelle 1 = 1, 2,, 25) calculée au K= 1
droit de chaque position de recherche et mémorisée.
MN Après obtention de la valeur 2 E ak 1 bk au droit de K= 2. chaque position de recherche, la valeur MN M MSE( 2 (ak) 2 2 akjbkl + rà (bkl) 2) est calculée pour chacune
K= 1 K=l.
des neuf positions de recherche Après exécution des étapes décrites cidessus, la valeur de MSE minimale des neuf
valeurs de MSE est obtenue comme étant une valeur de MSE.
Les deuxième et troisième étapes d'obtention de la MSE sont effectuées de la même manière que pour la première étape Mais une forme d'une partie différente de la première étape est formée, comme montré aux figures 1 i et 12, pour calculer E(bkl)2, puisque le vecteur menu a un intervalle de 2 et 1 pixels, respectivement, dans les
deuxième et troisième étapes.
De plus, puisque la valeur de MSE minimale est utilisée comme vecteur menu pour l'étape suivante, le nombre de nouveaux vecteurs menus qui doivent être formés
est huit et ainsi le calcul de la MSE est effectué 8 fois.
En conclusion, il est possible de réduire le temps de fonctionnement en faisant un meilleur usage d'une particularité d'un circuit intégré DSP en effectuant une détection de mouvement avec le procédé de détection en trois étapes Par conséquent, un détecteur de mouvement en temps réel peut être réalisé par un circuit intégré DSP unique; en outre, il est économique de réduire la quantité
de matériel pour obtenir la même efficacité.
Bien que l'invention ait été particulièrement montrée et décrite en seréférant à des modes de réalisation préférés de celle-ci, il sera compris aisément par les personnes expérimentées dans cette technique que des modifications dans la forme et dans des détails peuvent être effectuées sans sortir de l'esprit et du domaine de l'invention.

Claims (3)

REVENDICATIONS
1 Procédé de détection d'un vecteur mouvement, dans un système de traitement d'image comportant un moyen de calcul pour effectuer la sommation et le cumul après multiplication, dans lequel la donnée composante de luminance d'un macro-bloc courant est reçue et une adresse initiale d'une zone de recherche est produite de manière à détecter le vecteur mouvement, qui comprend les étapes de: élévation au carré de la valeur de luminosité de chaque pixel dudit macro-bloc courant et addition des résultats élevés au carré pour produire une première valeur de sommation; réception de la donnée de zone de recherche d'une trame précédente correspondant à ladite adresse initiale; établissement d'un nombre donné de positions de recherche à des intervalles réguliers entre les pixels dans une zone de recherche de ladite trame précédente; établissement de blocs de la même taille que celle dudit macro-bloc courant dans les positions de recherche de manière à élever au carré une valeur de luminosité des pixels dans le bloc établi et à additionner les résultats élevés au carré pour produire une deuxième valeur de sommation; multiplication du macro-bloc courant par la valeur de luminosité des pixels respectifs correspondant aux blocs respectifs dans chaque position de recherche, addition du résultat multiplié pour produire une troisième valeur de sommation et multiplication par deux du résultat additionné; addition de ladite première valeur de sommation à ladite deuxième valeur de sommation pour chaque position de recherche et soustraction de celles-ci du résultat doublé de manière à sélectionner à partir de là une valeur minimale; et détermination d'une position de recherche de bloc ayant la valeur minimale comme vecteur mouvement dans le cas de l'achèvement de la recherche à trois étapes et de retour, ou dans le cas contraire rebouclage à ladite quatrième étape après établissement d'un nombre donné de positions de recherche à un certain intervalle entre les pixels plus étroit que celui de l'étape précédente sur la position de recherche d'un bloc ayant ladite valeur minimale.
2 Procédé selon la revendication 1, caractérisé en ce que ladite étape d'établissement de bloc comprend les étapes de: établissement des blocs de la même taille que celle dudit macro-bloc courant sur les positions respectives de recherche de manière à établir des sections de calcul indépendantes sur des zones comprenant tous les blocs, et élévation au carré et addition des valeurs de luminosité des pixels correspondant aux positions de recherche en ce qui concerne chacune desdites sections de calcul indépendantes, pour obtenir par ce moyen des valeurs de
calcul indépendantes; et.
addition desdites valeurs indépendantes qui correspondent aux blocs respectifs de chaque position de recherche.
3 Procédé de détection d'un vecteur mouvement, dans un système de traitement d'image comportant un moyen de calcul pour effectuer la sommation et le cumul après multiplication, dans lequel la donnée composante de luminance d'un macrobloc courant est reçue et une adresse initiale d'une zone de recherche est produite de manière à détecter le vecteur mouvement, qui comprend les étapes de: élévation au carré de la valeur de luminosité de chaque pixel dudit macro-bloc courant et addition des résultats élevés au carré pour produire une première valeur de sommation; réception de la donnée de zone de recherche d'une trame précédente correspondant à ladite adresse initiale; établissement d'un nombre donné de positions de recherche à des intervalles réguliers entre les pixels dans une zone de recherche de ladite trame précédente; établissement des blocs de la même taille que celle dudit macro-bloc courant sur les positions respectives de recherche de manière à établir des sections de calcul indépendantes sur des zones comprenant tous les blocs, et élévation au carré et addition des valeurs de luminosité des pixels correspondant aux positions de recherche en ce qui concerne chacune desdites sections de calcul indépendantes, pour obtenir par ce moyen des valeurs de calcul indépendantes; addition desdites valeurs indépendantes qui correspondent aux blocs respectifs de chaque position de recherche. multiplication du macro-bloc courant par la valeur de luminosité des pixels respectifs correspondant aux blocs respectifs dans chaque position de recherche, addition du résultat multiplié pour produire une troisième valeur de sommation et multiplication par deux du résultat additionné; addition de ladite première valeur de sommation à ladite seconde valeur de sommation pour chaque position de recherche et soustraction de celles-ci du résultat doublé de manière à sélectionner à partir de là une valeur minimale; et détermination d'une position de recherche de bloc ayant la valeur minimale comme vecteur mouvement dans le cas de l'achèvement de la recherche à trois étapes et de retour, ou dans le cas contraire rebouclage à ladite quatrième étape après établissement d'un nombre donné de positions de recherche à un certain intervalle entre les pixels plus étroit que celui de l'étape précédente sur la position de recherche d'un bloc ayant ladite valeur minimale.
FR9200747A 1991-12-14 1992-01-24 Procede de detection de vecteur mouvement. Expired - Fee Related FR2685108B1 (fr)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1019910023005A KR940010241B1 (ko) 1991-12-14 1991-12-14 이동 벡터 검출 방법

Publications (2)

Publication Number Publication Date
FR2685108A1 true FR2685108A1 (fr) 1993-06-18
FR2685108B1 FR2685108B1 (fr) 1994-09-23

Family

ID=19324817

Family Applications (1)

Application Number Title Priority Date Filing Date
FR9200747A Expired - Fee Related FR2685108B1 (fr) 1991-12-14 1992-01-24 Procede de detection de vecteur mouvement.

Country Status (4)

Country Link
US (1) US5173772A (fr)
KR (1) KR940010241B1 (fr)
DE (1) DE4206280C2 (fr)
FR (1) FR2685108B1 (fr)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0825778A2 (fr) * 1996-08-22 1998-02-25 Cirrus Logic, Inc. Méthode d'estimation de mouvement
EP0773688A3 (fr) * 1995-11-13 1999-01-20 Tektronix, Inc. Méthode pour l'estimation du mouvement

Families Citing this family (28)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
SE469866B (sv) * 1991-04-12 1993-09-27 Dv Sweden Ab Metod för estimering av rörelseinnehåll i videosignaler
JP3068304B2 (ja) * 1992-01-21 2000-07-24 日本電気株式会社 動画像符号化方式および復号化方式
JPH05236466A (ja) * 1992-02-25 1993-09-10 Nec Corp 動き補償フレーム間予測画像符号化装置及び方法
US5461423A (en) * 1992-05-29 1995-10-24 Sony Corporation Apparatus for generating a motion vector with half-pixel precision for use in compressing a digital motion picture signal
KR0166724B1 (ko) * 1993-05-08 1999-03-20 김광호 반화소정확도를 갖는 동벡터추정방법 및 그 장치
KR950014343B1 (ko) * 1993-05-20 1995-11-24 한국방송공사 고화질 티브(hdtv)의 화상데이타 움직임 추정방법 및 그 장치
JP2636674B2 (ja) * 1993-05-25 1997-07-30 日本電気株式会社 動画像の動きベクトル検出装置
DE19549500C2 (de) * 1994-01-21 2000-05-25 Mitsubishi Electric Corp Bewegungsvektor-Ermittlungseinrichtung
JPH07250328A (ja) 1994-01-21 1995-09-26 Mitsubishi Electric Corp 動きベクトル検出装置
US6160900A (en) * 1994-02-04 2000-12-12 Canon Kabushiki Kaisha Method and apparatus for reducing the processing time required in motion vector detection
US5537155A (en) * 1994-04-29 1996-07-16 Motorola, Inc. Method for estimating motion in a video sequence
US5572248A (en) 1994-09-19 1996-11-05 Teleport Corporation Teleconferencing method and system for providing face-to-face, non-animated teleconference environment
KR0178231B1 (ko) * 1995-08-10 1999-05-01 배순훈 계층적인 움직임 추정 기법을 이용하는 움직임 벡터 검출 방법 및 장치
US5706059A (en) * 1994-11-30 1998-01-06 National Semiconductor Corp. Motion estimation using a hierarchical search
US5689589A (en) * 1994-12-01 1997-11-18 Ricoh Company Ltd. Data compression for palettized video images
KR100414629B1 (ko) * 1995-03-29 2004-05-03 산요덴키가부시키가이샤 3차원표시화상생성방법,깊이정보를이용한화상처리방법,깊이정보생성방법
US5926221A (en) * 1995-08-18 1999-07-20 Texas Instruments Incorporated Method and apparatus for improved video coding using a center-biased orthogonal search technique and a zero block predictor module
US5790133A (en) * 1996-02-27 1998-08-04 Hewlett-Packard Company Method of rapidly displaying large data records retrieved by deep memory digital oscilloscopes and logic analyzers
US6008851A (en) * 1996-05-23 1999-12-28 The Regents Of The University Of California Method and apparatus for video data compression
KR100209413B1 (ko) * 1996-05-23 1999-07-15 전주범 블럭-기반 비디오 신호 부호화 시스템에 이용하기 위한그리드 결정방법
US6014181A (en) * 1997-10-13 2000-01-11 Sharp Laboratories Of America, Inc. Adaptive step-size motion estimation based on statistical sum of absolute differences
US6097851A (en) * 1998-03-31 2000-08-01 Agilent Technologies Low latency correlation
TW376659B (en) * 1998-05-21 1999-12-11 Nat Science Council Motion estimator using 3-step hierarchical search block-matching algorithm
US6259737B1 (en) * 1998-06-05 2001-07-10 Innomedia Pte Ltd Method and apparatus for fast motion estimation in video coding
KR20010045766A (ko) * 1999-11-08 2001-06-05 오길록 상태천이도를 이용하여 제어부를 구현한 움직임 추정 장치
US20060159170A1 (en) * 2005-01-19 2006-07-20 Ren-Wei Chiang Method and system for hierarchical search with cache
US8179967B2 (en) * 2005-07-05 2012-05-15 Stmicroelectronics S.A. Method and device for detecting movement of an entity provided with an image sensor
US8300015B2 (en) * 2005-07-05 2012-10-30 Stmicroelectronics S.A. Method of detecting the movement of an entity equipped with an image sensor and device for implementing same

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO1986002181A1 (fr) * 1984-09-28 1986-04-10 Motorola, Inc. Processeur de signaux numeriques pour miltiplication/accumulation en un seul cycle
EP0373291A2 (fr) * 1988-12-16 1990-06-20 Mitsubishi Denki Kabushiki Kaisha Processeur de signal numérique

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0290085B1 (fr) * 1987-05-06 1996-03-20 Philips Patentverwaltung GmbH Système pour la transmission d'images vidéo
EP0330455A3 (fr) * 1988-02-22 1990-07-04 Kabushiki Kaisha Toshiba Dispositif de codage d'images

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO1986002181A1 (fr) * 1984-09-28 1986-04-10 Motorola, Inc. Processeur de signaux numeriques pour miltiplication/accumulation en un seul cycle
EP0373291A2 (fr) * 1988-12-16 1990-06-20 Mitsubishi Denki Kabushiki Kaisha Processeur de signal numérique

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
NATIONAL TELECOMMUNICATIONS CONFERENCE,NEW ORLEANS (US) , NOVEMBER 29-DECEMBER 3,1981 ;IEEE ,NEW YORK (US) pages G5.3.1 - G5.3.5. T. KOGA ET AL. 'MOTION-COMPENSATED INTERFRAME CODING FOR VIDEO-CONFERENCING' *

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0773688A3 (fr) * 1995-11-13 1999-01-20 Tektronix, Inc. Méthode pour l'estimation du mouvement
EP0825778A2 (fr) * 1996-08-22 1998-02-25 Cirrus Logic, Inc. Méthode d'estimation de mouvement
EP0825778A3 (fr) * 1996-08-22 1998-06-10 Cirrus Logic, Inc. Méthode d'estimation de mouvement

Also Published As

Publication number Publication date
DE4206280A1 (de) 1993-07-01
DE4206280C2 (de) 1995-06-01
US5173772A (en) 1992-12-22
KR940010241B1 (ko) 1994-10-22
KR930015828A (ko) 1993-07-24
FR2685108B1 (fr) 1994-09-23

Similar Documents

Publication Publication Date Title
FR2685108A1 (fr) Procede de detection de vecteur mouvement.
US8494306B2 (en) Method and an apparatus for creating a combined image
US8374444B2 (en) Method and apparatus for providing higher resolution images in an embedded device
EP0675652B1 (fr) Procédé et circuit d'estimation de mouvement entre images à deux trames entrelacées, et dispositif de codage de signaux numériques comprenant un tel circuit
EP0369854B1 (fr) Procédé et circuit de traitement par bloc de signal bidimensionnel d'images animées
FR2782592A1 (fr) Dispositif et procede de compression de donnees d'images recues a partir d'un capteur d'images a configuration bayer, et systeme utilisant ce dispositif
US11423514B2 (en) Image processing noise reduction
US20110129012A1 (en) Video Data Compression
JP4561649B2 (ja) 画像圧縮装置、画像圧縮プログラム及び画像圧縮方法、hdr画像生成装置、hdr画像生成プログラム及びhdr画像生成方法、並びに画像処理システム、画像処理プログラム及び画像処理方法
FR2650718A1 (fr) Dispositif de transformation d'une information de mouvement en un signal de detection de mouvement a la frequence trame et au nombre de lignes souhaites pour un recepteur de television haute definition
AU5190698A (en) Method for the transmission of video images
US20070269120A1 (en) Video image compression using model plus difference image
CN116847087A (zh) 视频处理方法、装置、存储介质及电子设备
KR100441963B1 (ko) 장면전환 검출방법
TWI390959B (zh) 視頻訊號處理裝置,視頻訊號處理方法及視頻訊號處理程式
FR2927758A1 (fr) Procede et dispositif de codage-decodage d'images video successives selon un flux video principal en pleine resolution et selon un flux video secondaire en qualite reduite
CN1255769C (zh) 照相机的静止图像捕获方法
EP1297494B1 (fr) Procede et dispositif de traitement de sequences d'images avec masquage
EP0391760B1 (fr) Dispositif de conversion de fréquence trame pour un récepteur de télévision haute définition, et procédé de détection du mouvement dans une image de télévision codée
FR3022724A1 (fr) Procede de codage et de decodage d'images, dispositif de codage et de decodage d'images et programmes d'ordinateur correspondants
FR2735258A1 (fr) Dispositif de decodage d'un flux de donnees
WO2010109133A1 (fr) Procede et dispositif de stockage d'une partie d'un flux video.
Spampinato et al. DCT Domain Best Shot System
JPH07203455A (ja) フレームレート検出変換装置
KR100229792B1 (ko) 적응적인 부호화 모드 결정 기능을 갖는 개선된영상부호화시스템

Legal Events

Date Code Title Description
ST Notification of lapse

Effective date: 20091030