FR2872989A1 - Procede et dispositif pour choisir un vecteur mouvement pour le codage d'un ensemble de blocs - Google Patents
Procede et dispositif pour choisir un vecteur mouvement pour le codage d'un ensemble de blocs Download PDFInfo
- Publication number
- FR2872989A1 FR2872989A1 FR0451448A FR0451448A FR2872989A1 FR 2872989 A1 FR2872989 A1 FR 2872989A1 FR 0451448 A FR0451448 A FR 0451448A FR 0451448 A FR0451448 A FR 0451448A FR 2872989 A1 FR2872989 A1 FR 2872989A1
- Authority
- FR
- France
- Prior art keywords
- blocks
- sets
- size
- image
- motion
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/50—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
- H04N19/503—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
- H04N19/51—Motion estimation or motion compensation
- H04N19/56—Motion estimation with initialisation of the vector search, e.g. estimating a good candidate to initiate a search
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/20—Analysis of motion
- G06T7/207—Analysis of motion for motion estimation over a hierarchy of resolutions
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/20—Analysis of motion
- G06T7/223—Analysis of motion using block-matching
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/189—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the adaptation method, adaptation tool or adaptation type used for the adaptive coding
- H04N19/19—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the adaptation method, adaptation tool or adaptation type used for the adaptive coding using optimisation based on Lagrange multipliers
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/50—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
- H04N19/503—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
- H04N19/51—Motion estimation or motion compensation
- H04N19/53—Multi-resolution motion estimation; Hierarchical motion estimation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/10—Image acquisition modality
- G06T2207/10016—Video; Image sequence
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/20—Special algorithmic details
- G06T2207/20016—Hierarchical, coarse-to-fine, multiscale or multiresolution image processing; Pyramid transform
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/20—Special algorithmic details
- G06T2207/20021—Dividing image into blocks, subimages or windows
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)
- Compression, Expansion, Code Conversion, And Decoders (AREA)
Abstract
La présente invention concerne un procédé et un dispositif (100) d'estimation hiérarchique de mouvement destiné à choisir un vecteur mouvement (111) parmi une pluralité de vecteurs mouvem ent pour un ensemble de blocs (108) d'une image d'origine (101) divisée en blocs. Un calcul (102) d'une fonction d'énergie (105) sur l'ensemble de blocs (108) pour chacun des vecteurs mouvement est réalisé. Ce calcul (102) met en oeuvre une sous -étape de calcul (103) d'une contrainte lagrangienne (113) adaptée à la taille de l'ensemble de blocs (108). Un choix (107) d'un vecteur mouvement (111) est réalisé en minimisant la fonction d'énergie (105) sur ledit ensem ble de blocs (108).
Description
La présente invention concerne un procédé d'estimation hiérarchique de
mouvement destiné au domaine de la compression d'image. Ce procédé permet de choisir un vecteur mouvement pour un ensemble de bloc dans une image divisée en blocs et présentant une réso lution dite d'origine.
Le contexte de l'invention est la compression, notamment de vidéo, basée sur des schémas de codage par blocs, de type MPEG -2, MPEG-4, partie 2 ou 10. Ces schémas de compression opèrent sur des entités de base appelées macroblocs. Dan s la suite, le terme bloc pourra désigner des groupes de taille quelconque de blocs plus petits et donc notamment pourra désigner des macroblocs. Cependant l'invention peut aussi être mise en oeuvre dans tout schéma de codage vidéo utilisant un champ de vec teurs mouvement décrit par blocs.
Dans le domaine de la compression d'image, le vecteur mouvement Inter a pour but de mettre à profit les redondances temporelles du signal vidéo pour le compresser. Le principe est donc de prédire le contenu d'une image pui s de coder uniquement l'erreur faite sur cette prédiction. Les normes MPEG mettent en oeuvre des techniques de compensation de mouvement dans l'image pour optimiser la réduction des redondances temporelles. Plusieurs étapes sont alors à distinguer: l'estimation de mouvement, la compensation de mouvement et le codage. Ainsi qu'indiqué ci -dessus, l'invention concerne l'estimation de mouvement.
En règle générale, le mouvement dans une séquence vidéo ne peut pas se modéliser par un seul vecteur. A chaque macrob loc de l'image, on associe donc une information de mouvement. L'opération d'estimation de mouvement permet de déterminer le macrobloc dans l'image de référence qui ressemble le plus au macrobloc à coder. Cet algorithme de recherche n'est pas normalisé et son efficacité a une influence fondamentale sur la performance du codeur mais aussi sur sa complexité.
La méthode la plus utilisée est le block -matching: le macrobloc est 30 comparé avec les macroblocs pointés par les vecteurs testés dans la zone de recherche de l'image de référence. Le vecteur est, dans le cas du standard MPEG-2, déterminé avec une précision d'un demi -pixel. La sélection est faite sur le macrobloc minimisant la différence du point de vue de la somme des valeurs absolues des différences entre les valeurs de pixels, ci-après dénommée distorsion, et éventuellement du coût de codage du champ de vecteurs. De telles méthodes sont coûteuses en temps de calcul car la recherche se fait sur la totalité de l'image à la résolution d'origine. De plus, la procédure d'estimation étant mono - résolution, elle converge généralement vers un champ de vecteurs qui correspond à un minimum local de la fonction assurant le compromis distorsion/coût de codage.
La présente invention propose un procédé d'estimation de mouvement qui n'engendre pas les défauts évoqués ci -dessus. Ainsi, un procédé d'estimation de mouvement selon l'invention permet d'obtenir une estimation de mouvement nécessitant un moindre temps de calcul et à moindre coût de codage car un minimum plus proch e du minimum global est atteint.
La présente invention concerne un procédé d'estimation hiérarchique de mouvement destiné à choisir un vecteur mouvement parmi une pluralité de vecteurs mouvement pour un ensemble de blocs d'une image d'origine divisée en blocs, le dit procédé comprenant une étape de calcul d'une fonction d'énergie sur l'ensemble de blocs pour chacun des vecteurs mouvement, ladite étape de calcul mettant en oeuvre une sous -étape de calcul d'une contrainte lagrangienne adaptée à la taille de l' ensemble de blocs, et une étape de choix d'un vecteur mouvement minimisant la fonction d'énergie sur ledit ensemble de blocs.
En effet, l'approche à large échelle ainsi que proposée par l'invention permet de faire une analyse plus globale, en faisant une analyse sur un ensemble de blocs. L'utilisation d'une contrainte lagrangienne adaptée à la taille de l'ensemble de blocs permet de diminuer la quantité de calcul.
Selon une réalisation d e l'invention, l'étape de calcul met en oeuvre 30 une sous-étape de calcul de la distorsion sur une image de résolution inférieure 2872989 3 correspondant à l'ensemble de blocs et obtenue à l'aide d'une sous -étape de diminution de la résolution à partir de l'image d'ori gine.
L'approche à large échelle, complétée d'une approche multi - résolution, permet de diminuer encore le s calculs puisque la distorsion n'est 5 calculée que sur une image de résolution inférieure.
Dans une autre réalisation, des coefficients utilisés dans la sous - étape de diminution de la résolution sont utilisés dans la sous -étape de calcul de la contrainte lagrangienne.
Dans ce cas, la contrainte lagrangienne est alors adaptée en fonction 10 des caractéristiques des filtres utilisés pour générer l'image de résolution inférieure.
Selon une réalisation de l'invention, le procédé est itéré sur une suite d'ensembles de blocs de taille décroissante, en donnant comme vecteurs mouvement aux ensembles de blocs voisins d'un ensemble de blocs dit courant les vecteurs mouvement choisis à l'itération précédente dans des ensembles de blocs de taille supérieure incluant les ensembles de blocs voisins.
Cette approche hiérarchique itérative, multi-échelle, permet d'atteindre un minimum local plus proche du minimum global que ce qu'il est permis de faire avec une approche mono -échelle et/ou mono -résolution et donc, notamment, d'optimiser le coût de codage sur l'ensemble de blocs. En effet, l'itération de l'invention sur des ensembles de blocs de plus en plus petits permet d'optimiser la détermination d'un minimum sur l'ensemble de l'image. L'obtention d'un minimum loc al est alors moins probable.
Selon une réalisation de l'invention, les tailles décroissantes des 25 ensembles de blocs sont de 2 "*2" blocs, avec une itération sur n.
Cette réalisation est particulièrement utile pour le codage MPEG où les blocs sont notamment regroupés en macroblocs, qui peuvent aussi être regroupés entre eux, notamment en groupes de 2 "x2" blocs. Par exemple, l'ensemble de blocs de départ de l'itération peut être de la plus grande taille 2" de blocs possible dans l'image à coder, 1 'ensemble suivant dans la suite étant 2872989 4 de taille 2n -1 et ainsi de suite. Selon le procédé de l'invention, un vecteur mouvement est alors choisi pour l'ensemble de taille 2 n qui correspond à quatre ensembles de taille 2 n1 de l'itération suivante. Puis un v ecteur mouvement est déterminé selon l'invention pour chaque ensemble de taille 2 Ces ensembles sont parcourus à la suite par un balayage classique, par exemple de gauche à droite et de haut en bas. Puis c'est le tour des ensembles de taille 2 n-2 et ainsi de suite.
Selon une réalisation de l'invention, la taille de l'image obtenue à l'aide de la sous-étape de diminution de la résolution est de la taille de 10 l'ensemble de blocs suivant dans la suite d'ensembles de blocs.
L'invention concerne également un dispositif pour mettre en oeuvre le procédé tel que décrit auparavant.
L'invention concerne également une image compressée obtenue en mettant en oeuvre un procédé selon l'invention.
D'autres caractéristiques et avantages de la présente invention apparaîtront à la lecture de la description de différents modes de réalisation, la description étant faite avec référence aux dessins ci annexés dans lesquels: Fig. 1 est un schéma d'un dispositif selon l'invention.
Fig. 2a à Fig. 2c présentent une structure multi -échelle.
Fig. 3 illustre le fonctionnement de l'invention pour un ensemble de blocs B. Fig. 4a à Fig. 4c présentent une structure multi -résolution.
La figure 5 représente les blocs voisins d'un bloc pour le calcul d'un 25 coût de codage.
Comme représenté sur la figure 1, un dispositif 100 selon l'invention inclut un module de calcul 102 d'une fonction d'énergie 105 sur un ensemble de blocs 108 d'une image d'origine 101 pour chacun des vecteurs mouvement. La fonction d'énergie, représentée par un e unique référence 105 pour des raisons 2872989 5 de clarté, est cependant calculée pour plusieurs vecteurs mouvement pour un même ensemble de blocs. Ainsi, autant de valeurs de la fonction d'énergie, référencée 105, sont mémorisées que de vecteurs mouvement sont év alués.
En effet, afin de réaliser l'estimation de mouvement, on cherche donc à identifier un champ de mouvement par ensemble de blocs 108. Pour chaque ensemble de blocs 108 de l'image courante, on cherche à identifier un vecteur mouvement qui assure une bonne prédiction de l'ensemble de blocs 108 courant tout en limitant son coût de codage. Pour cela, on détermine une fonction d'énergie 105 qui se décompose classiquement en deux termes: un terme lié à la mesure de la qualité de prédiction temporelle et un terme lié au coût de codage du mouvement.
Classiquement, pour un bloc b de l'image courante, l'énergie liée à la mesure de la qualité de prédiction temporelle se base sur l'erreur de compensation de mouvement. On utilise la somme des valeurs absolues des différences, dite SAD qui est calculée ainsi: SADb (u) = EIICOurante(x,y) Iref(x+ux,Y+uy)I où (courante est l'image courante, I ref est l'image de référence, (x,y) l'adresse du pixel, (u x,uy) les composantes du vecteur mouvement u.
L'énergie liée au coût de codage est déterminé e, conformément au 20 standard MPEG, selon l'équation suivante: Cb(u)=ii.R(u mb) avec 2 coefficient de pondération lagrangien, R(...) la fonction coût de codage d'un vecteur, m b le vecteur mouvement servant de prédiction pour le codage du vecteur du bloc b. mb peut, par exemple, être calculé comme le vecteur médian des trois vecteurs qui l'entourent.
Le problème d'estimation de mouvement est donc abordé comme un problème de minimisation de la fonction: E (SADb (u) + Cb (u)) 2872989 6 Le calcul sur la totalité des blocs nécessite un grand nombre de calcul et, ainsi qu'exposé auparavant, ne permet pas d'atteindre un minimum proche du minimum global, notamment pour le coût de codage.
Pour éviter ces inconvénients, l'invention utilise une approche multi - 5 échelle. Ainsi qu'illustré sur les figures 2b et 2c, à une échelle k>0, un ensemble de blocs B contient 2 kx2k blocs b NxN de l'échelle k=0.
Ainsi que représenté sur la figure 3, les voisins de l'ensemble de blocs B sont notés N (i=1,...,8) à une échelle donnée k. Les ensembles de blocs B et Ni possèdent chacun un vecteur. Les blocs de taille NxN à l'échelle 0 de B sont notés et ses blocs de taille NxN voisins à l'échelle 0 sont notés n Selon l'invention, la minimisation est effectuée pour l'ensemble de blocs et est avantageusement suivie d'autres choix de vecteurs mouvement à des échelles plus petites, ainsi des minimisations d'une fonction d'énergie sont effectuées de l'échelle la plus élevée jusqu'à l'échelle O. Le champ de mouvement obtenu à une échelle donnée sert alors d'initialisation pour l'échelle suivante. Pour faire la minimisation sur une image à une échelle donnée, le principe consiste à prendre les ensembles de blocs un par un, par exemple avec un balayage de gauche à droite et de haut en bas, et de c hoisir pour chaque ensemble de blocs le vecteur qui assure la valeur de la fonction d'énergie minimale.
Le fait d'affecter à un ensemble de blocs un vecteur u a un impact sur l'ensemble de blocs lui-même mais aussi sur les ensembles de blocs voisins à cause de l'utilisation d'un vecteur mouvement des ensembles de blocs voisins pour le codage du vecteur mouvement d'un ensemble de blocs donné. C'est donc le rôle du calcul de la fonction d'énergie de permettre d'évaluer cet impact et de le minimiser.
D'une part, le terme correspondant au coût de codage du mouvement dans la fonction d'énergie est dénommé énergie contextuelle dans la suite. Cette énergie prend en compte le coût de codage pour l'ensemble de blocs considéré mais aussi pour ses voisins.
Ainsi, en se rapportant à la figure 3, l'énergie contextuelle d'un ensemble de bloc B pour un vecteur u est égale à KxK 4K+4 ECB (u) _ E Cb, (u) + E Cn, (Vn, lu) Avec V le vecteur du bloc n, Cb(x), le coût de codage pour le bloc b c B du vecteur x qui s'exprime sous la forme suivante Cb (x) _ À..R(x mb) , Cn(x/u), le coût de codage pour le bloc n c N du vecteur x sachant que le vecteur de l'ensemble de blocs B est u, qui s'exprime sous la forme suivante Cn (x l u) = À.R(x mn (u)) avec m n(u) le vecteur mouvement prédicteur du bloc n sachant que le vecteur de l'ensemble de blocs B est u.
Pour les blocs bK+1 et bKxK inclus dans l'ensemble de blocs B, le vecteur mouvement est u. Donc pour ces blocs C b(u)=X.R(0) est indépendant de u.
Pour les blocs n1 à n3K+2 et n4K+4, le vecteur mouvement est indépendant de u. En effet, soit leurs trois blocs voisins, ainsi que défini dans la norme et illustrés en hachuré sur la figure 5 pour un bloc b, ne contiennent pas u, soit l'un contient u et les deux autre s, un même vecteur v. Donc le médian des trois, vecteur mouvement par définition, correspond à v.
On obtient alors le résultat suivant: K 4K+3 ECB (u) = y + E Cbr (u) + C,, , (V,= lu) i=1 i=3K+3 < avec y indépendant de u.
Les termes de l'équation s'explicitent de la façon suivante Cb, (u) _ 2.R (u VNZ) Cl (u) Cb(u) = ).R(u VNZ) Cela donne finalement (K-1).LR(u-VNZ)+R(VN, - u)]±R(u - med (u, VN2,VN3)) + R(VN6 - med (VN6, VNq,u + R(VN, - med (VN, , u, VNS)) Ainsi, quelle que soit l'échelle de l'ensemble de blocs B, seulement cinq valeurs sont à calculer en plus du coefficient X qui est calculé une unique fois pour chaque échelle puisqu'il est indépendant du vecteur u. Il n'est pas nécessaire de calcul er y puisque ce terme est indépendant de u. Donc, quel que soit le vecteur mouvement testé, seule la partie droite de la somme de l'équation ci-dessus varie. Ainsi, l'invention permet de diminuer la quantité de calculs à effectuer. Ainsi, le calcul de l'énergie liée au codage des vecteurs mouvement met en oeuvre un calcul d'une contrainte lagrangienne X déterminée pour la taille de l'ensemble de blocs, c'est-à-dire à l'échelle considérée.
Pour l'échelle la plus petite, à savoir k=0, correspondant à un seul bloc, l'énergie contextuelle s'exprime de la façon suivante: R(u - med(VN4,VN2, VN3)) + o R(VN, med(u,VN3,VN9))+ o ECB (u) _ 2. R(VN6 med(VN,2,VN4,u)) + _.eca (u) R(VN, -med(VN76,u,VN,)) D'autre part, en théorie, l'énergie liée à l'erreur de compensation de mouvement est la somme des SAD sur tous les blocs de l'échelle 0 de l'ensemble de blocs B. Afin de réduire la charge des calculs, l'invention réalise Cn3K+3 (u) = Â..R (VN6 - med (VN6,u Cn3K+4 (u) = / 1. . R ( V N, - u) Cn4K+2 (u) = À.R(VN7 u) Cn4K+ 3 (u)=...R(VN, med(VN,,u,VNs)) ECB(u)=y+1.
= y + 2.ecB (u) 2872989 9 une approche multi-résolution. Une image de résolution différente de la résolution d'origine est alors construite pour l'image courante et pour l'image de référence. On note que lorsque l'invention est itérée sur une pluralité de résolutions, une pyramide d'images mufti -résolution est construite. Ainsi qu'illustré sur la figure 4, dans cette pyramide, un bloc de taille NxN au niveau k sur la figure 4b ou sur la figure 4c correspond à un groupe de 2 kx2k b focs de taille NxN au niveau 0 sur la figure 4a. Donc à un ensemble de blocs de l'échelle 0 on peut faire correspondre un bloc NxN de l'échelle k.
Afin de mettre en oeuvre le calcul de la distorsion sur des images de résolution différentes, le module de cal cul 102 est en relation avec un sous-module de calcul 110 de la distorsion 104 sur une image 106 correspondant à l'ensemble de blocs 108 et obtenue à l'aide de l'action d'un sous -module de diminution 109 de la résolution à partir de l'image d'origine 101.
L'image de résolution inférieure 106 est, par exemple, obtenue par un filtrage passe-bas d'au moins l'ensemble de blocs 108 issu de l'image 101 de résolution d'origine puis un sous -échantillonnage d'un facteur 2. Ainsi, par exemple, un bloc de taille NxN d ans l'image de résolution inférieure correspond à un ensemble 108 de blocs de taille NxN dans l'image de résolution d'origine 101.
En effet, ainsi qu'illustré sur la figure 4, ce cas correspond au cas où la diminution de résolution est telle que la taille de l'ensemble de blocs 108 est diminuée par la diminution de résolution de façon à être égale à la taille suivante dans une suite de tailles d'ensembles de blocs. Une telle suite de taille est utilisée pour itérer un procédé selon l'invention.
L'invention propose de dégager un lien entre les distorsions obtenues indépendamment pour les deux résolutions afin d'utiliser le calcul sur l'image à la résolution inférieure pour le calcul à la résolution d'origine.
Au sujet des sommes des valeurs absolues des dif férences, une relation d'approximation est ainsi découverte selon l'invention entre la SAD sur 30 un bloc de taille NxN de l'image de résolution inférieure, ce bloc correspondant 2872989 10 à un ensemble de blocs dans l'image de résolution d'origine, et la somme des SAD des blocs de taille NxN dans l'image de résolution d'origine.
On considère que le signal image x servant dans le calcul de la SAD est considéré comme un signal décorrélé et distribué selon une gaussienne. 5 x ' N(,u, a) Le signal y résultant du filtrage passe-bas, supposé linéaire, puis du sous-échantillonnage de ce signal donne un signal décorrélé aux propriétés statistiques suivantes: ( y-N,u, eaz(i,j) où a(i, j) constituent les coefficients du filtre passe -bas utilisé pour construire l'image de résolution inférieure. A titre d'exemple, le filtre peut être le suivant: a(0,0) = 0.0625 a(0,1) = 0.125 a(0,2) = 0.0625 a(1, 0) = 0.125 a(1,1) = 0.25 a(1,2) = 0.125 a(2,0) = 0.0625 a(2,1) = 0. 125 a(2,2) = 0.0625 On peut ainsi considérer que la SAD d'un bloc d'une résolution 15 donnée k est liée à la SAD des blocs correspondant de la résolution supérieure k-1 par la formule suivante: 4 a2(i,j) .SADk(u/2k)-ESADM-'(u/2k-') i,l Appliquée de façon itérative, le calcul de la SAD sur un bloc de taille NxN sur l'image de résolution inférieure permet alors d'approximer la somme 20 des SAD des blocs de taille NxN correspondant dans l'image de taille d'origine selon la formule suivante: 4 Ea2(i,j) SAD k(ul2k)=ESAD.(u)où SAD est la SAD des m blocs sur l'image de résolution d'origine.
2872989 11 Le facteur 4 provient du fait qu'un bloc d'un niveau donné a quatre correspondants dans le niveau inférieur.
Le dispositif inclut un module de choix d'un premier vecteur mouvement minimisant la fonction d'énergie, obtenue en faisant la somme des énergies correspondant au coût de codage du mouvement et à l'erreur de compensation du mouvement sur ledit ensemble de blocs.
Le vecteur u, pour l'ensemble de blocs B est alors le vecteur mouvement qui minimise la fonction k 4 VEa2(i,j) .SADk(u/2k)+Â.ec(u) Concrètement, la recherche du vecteur optimal va donc consister à rechercher le vecteur minimisant la fonction: SADk(u/2k)+À.k.ecBk (u) avec = 1k i 4, I E a 2 (i, j)
V
Ainsi une contrainte lagrangienne 113, correspondant à x k, est calculée dans un sous -module de calcul 103 qui reçoit avantageusement les coefficients 112 des filtres servant à générer l'image de résolut ion inférieure 106. Cette nouvelle forme de la contrainte lagrangienne 113 adaptée à la taille de l'ensemble de blocs permet ainsi une grande simplification des calculs tout en assurant l'atteinte d'un minimum proche du minimum global sur l'im age puisque la minimisation des fonctions d'énergie peut d'abord être réalisée à une grande échelle, puis, lorsque le procédé selon l'invention est itéré sur plusieurs tailles d'ensembles de blocs, sur un maillage de plus en plus petit. Selon l'invention, la distorsion est avantageusement calculée pour chaque taille d'ensemble de blocs sur une image de l'ensemble de blocs de résolution inférieure. Cela permet de diminuer considérablement la quantité de calcul.
2872989 12 Alors, l'invention permet de mener l'optimisa tion à partir de l'échelle la plus grossière en itérant le procédé selon l'invention sur une suite de tailles décroissantes d'ensembles de blocs, par exemple de taille 2 nx2n avec une itération sur n. Un balayage causal est utilisé pour parcourir chacun des ensembles.
L'invention n'est pas limitée aux modes de réalisation décrits et l'homme du métier reconnaîtra l'existence de diverses variantes de réalisation.
Claims (11)
1 Procédé d'estimation hiérarchique de mouvement destiné à choisir un vecteur mouvement (111) parmi une pluralité de vecteurs mouvement pour un ensemble de blocs (108) d'une image (101) d'origine divisée en blocs, le dit procédé comprenant une étape de calcul (102) d'une fonction d'énergie (105) sur l'ensemble de blocs (108) pour chacun des vecteurs mouvement, ladite étape de calcul (102) mettant en oeuvre une sous-étape de calcul (103) d'une contrainte lagrangienne (113) adaptée à la taille de l'ensemble de blocs (108), une étape de choix (107) d'un vecteur mouvement (111) minimisant la fonction d'énergie (105) sur ledit ensemble de blocs (108).
2 Procédé selon la revendication 1, dans lequel l'étape de calcul (102) met en oeuvre une sous -étape de calcul (110) de la distorsion (104) sur une image de résolution inférieure (106) correspondant à l'ensemble de blocs (108) et obtenue à l'aide d'une sous -étape de diminution de la résolution (109) à partir de l'image d'origine (101).
3 Procédé selon la revendication 2, dans lequel des coefficients (112) utilisés dans la sous-étape de diminution de la résolution (109) sont utilisés dans la sous-étape de calcul (103) de la contrainte lagrangienne (113).
4 Procédé selon l'une des revendications 1 à 3, itéré sur une suite d'ensembles de blocs de taille décroissante, en donnant comme vecteurs mouvement aux ensembles de blocs voisins d'un ensemble de blocs dit courant les vecteurs mouvement choisis à l'itéra tion précédente dans des ensembles de blocs de taille supérieure incluant les ensembles de blocs voisins.
2872989 14 Procédé selon la revendication 4, dans lequel les tailles décroissantes des ensembles de blocs (108) sont de 2n*2n blocs, avec une itération sur n.
6 Procédé selon l'une des revendications 4 et 5, dans lequel la taille de l'image (106) obtenue à l'aide de la sous-étape de diminution de la résolution (109) est de la taille de l'ensemble de blocs suivant dans la suite d'ensembles de blocs.
7 - Procédé de codage d'images, caractérisé en ce qu'il comporte une phase d'estimation de mouvement hiérarchique selon le procédé de la revendication 1.
8 Dispositif (100) pour une estimation hiérarchique de mouvement destiné à choisir un vecteur mouvement (111) parmi une'plùralité de vecteurs mouvement pour un ensemble de blocs (108) d'une image d'origine (101) divisée en blocs, le dit dispositif (101) comprenant un module de calcul (102) pour calculer une fonction d'énergie (105) sur l'ensemble de blocs (108) pour chacun des vecteurs mouvement, ledit module de calcul (102) met en oeuvre un sous-module de calcul (103) d'une contrainte lagrangienne (113) adaptée à la taille de l'ensemble de blocs (108), un module (107) pour choisir un vecteur mouvement (111) minimisant la fonction d'énergie (105) sur ledit ensemble de blocs (108).
9 Dispositif (100) selon la revendication 8, dans lequel le module de calcul (102) met en oeuvre un sous-module de calcul (110) de la distorsion (104) sur une image de résolution inférieure (106) correspondant à l'ensemble de blocs (108) et obtenue à l'aide d'un sous- module de diminution de la résolution (109) à partir de l'image d'origine (101).
2872989 15 Dispositif selon l'une des revendications 6 et 7, incluant des moyens pour itérer le choix d'un vecteur mouvement (111) sur une suite d'ensembles de blocs de taille décroissante en donnant comme vecteurs mouvement aux ensembles de blocs voisins d'un ensemble de blocs dit courant les vecteurs mouvement choisis à l'itération précédente dans des ensembles de blocs de taille supérieu re incluant les ensembles de blocs voisins.
11 Dispositif selon la revendication 10, dans lequel les tailles décroissantes des ensembles de blocs (108) sont de 2'2" blocs, avec une 10 itération sur n.
12 Dispositif selon l'une des revendications 10 et 11, dans lequel la taille de l'image (106) obtenue dans le sous-module de diminution de la résolution (109) est de la taille de l'ensemble de blocs suivant dans la suite d'ensembles de blocs.
Priority Applications (7)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
FR0451448A FR2872989A1 (fr) | 2004-07-06 | 2004-07-06 | Procede et dispositif pour choisir un vecteur mouvement pour le codage d'un ensemble de blocs |
EP05105974.9A EP1617675B1 (fr) | 2004-07-06 | 2005-06-30 | Procédé et dispositif pour choisir un vecteur de mouvement pour le codage d'un ensemble de blocs |
US11/174,175 US20060008005A1 (en) | 2004-07-06 | 2005-07-01 | Method and device for choosing a motion vector for the coding of a set of blocks |
CNB2005100821822A CN100571387C (zh) | 2004-07-06 | 2005-07-04 | 针对块集合的编码选择运动矢量的方法与设备 |
KR1020050060260A KR101192060B1 (ko) | 2004-07-06 | 2005-07-05 | 블록 세트의 코딩을 위한 모션 벡터를 선택하는 방법 및장치 |
MXPA05007304A MXPA05007304A (es) | 2004-07-06 | 2005-07-05 | Metodo y dispositivo para seleccionar un vector de movimiento para la codificacion de un conjunto de bloques. |
JP2005198127A JP4887009B2 (ja) | 2004-07-06 | 2005-07-06 | ブロックセットの符号化のために動きベクトルを選択する方法及び装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
FR0451448A FR2872989A1 (fr) | 2004-07-06 | 2004-07-06 | Procede et dispositif pour choisir un vecteur mouvement pour le codage d'un ensemble de blocs |
Publications (1)
Publication Number | Publication Date |
---|---|
FR2872989A1 true FR2872989A1 (fr) | 2006-01-13 |
Family
ID=34949757
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
FR0451448A Pending FR2872989A1 (fr) | 2004-07-06 | 2004-07-06 | Procede et dispositif pour choisir un vecteur mouvement pour le codage d'un ensemble de blocs |
Country Status (7)
Country | Link |
---|---|
US (1) | US20060008005A1 (fr) |
EP (1) | EP1617675B1 (fr) |
JP (1) | JP4887009B2 (fr) |
KR (1) | KR101192060B1 (fr) |
CN (1) | CN100571387C (fr) |
FR (1) | FR2872989A1 (fr) |
MX (1) | MXPA05007304A (fr) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2010070128A1 (fr) * | 2008-12-19 | 2010-06-24 | Thomson Licensing | Procédé d'estimation de mouvement multi-résolution |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4620607B2 (ja) * | 2006-02-24 | 2011-01-26 | 株式会社モルフォ | 画像処理装置 |
CN102342104B (zh) | 2009-03-06 | 2015-07-01 | 汤姆森特许公司 | 预测图像数据块的方法、实现所述方法的解码和编码设备 |
TWI566586B (zh) | 2009-10-20 | 2017-01-11 | 湯姆生特許公司 | 一序列形象的現時區塊之寫碼方法和重建方法 |
CN102215387B (zh) * | 2010-04-09 | 2013-08-07 | 华为技术有限公司 | 视频图像处理方法以及编/解码器 |
Family Cites Families (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2980810B2 (ja) * | 1994-04-20 | 1999-11-22 | 株式会社グラフィックス・コミュニケーション・ラボラトリーズ | 動きベクトル探索方法と装置 |
JPH0846968A (ja) * | 1994-08-03 | 1996-02-16 | Nippon Telegr & Teleph Corp <Ntt> | 階層的動ベクトル検出方法および装置 |
JPH08223578A (ja) * | 1995-02-13 | 1996-08-30 | Nippon Telegr & Teleph Corp <Ntt> | 動きベクトル探索方法および装置 |
WO1997017797A2 (fr) * | 1995-10-25 | 1997-05-15 | Sarnoff Corporation | Appareil et procede d'evaluation du mouvement de blocs de longueur variable fondee sur une quadripartition |
US6160846A (en) * | 1995-10-25 | 2000-12-12 | Sarnoff Corporation | Apparatus and method for optimizing the rate control in a coding system |
EP1152621A1 (fr) * | 2000-05-05 | 2001-11-07 | STMicroelectronics S.r.l. | Procédé et système d'estimation de mouvement |
EP1320831A2 (fr) * | 2000-09-12 | 2003-06-25 | Koninklijke Philips Electronics N.V. | Procede de videocodage |
KR100642043B1 (ko) * | 2001-09-14 | 2006-11-03 | 가부시키가이샤 엔티티 도코모 | 부호화 방법, 복호 방법, 부호화 장치, 복호 장치, 화상 처리 시스템, 및 저장 매체 |
US7164800B2 (en) * | 2003-02-19 | 2007-01-16 | Eastman Kodak Company | Method and system for constraint-consistent motion estimation |
-
2004
- 2004-07-06 FR FR0451448A patent/FR2872989A1/fr active Pending
-
2005
- 2005-06-30 EP EP05105974.9A patent/EP1617675B1/fr not_active Ceased
- 2005-07-01 US US11/174,175 patent/US20060008005A1/en not_active Abandoned
- 2005-07-04 CN CNB2005100821822A patent/CN100571387C/zh not_active Expired - Fee Related
- 2005-07-05 KR KR1020050060260A patent/KR101192060B1/ko active IP Right Grant
- 2005-07-05 MX MXPA05007304A patent/MXPA05007304A/es active IP Right Grant
- 2005-07-06 JP JP2005198127A patent/JP4887009B2/ja not_active Expired - Fee Related
Non-Patent Citations (4)
Title |
---|
HAO BI ET AL: "Motion compensated transform coding of video using hierarchical displacement field and global rate-distortion optimization", PROCEEDINGS OF THE INTERNATIONAL CONFERENCE ON IMAGE PROCESSING (ICIP) LAUSANNE, SEPT. 16 - 19, 1996, NEW YORK, IEEE, US, vol. VOL. 1, 16 September 1996 (1996-09-16), pages 267 - 270, XP010202382, ISBN: 0-7803-3259-8 * |
KOSSENTINI F ET AL: "PREDICTIVE RD OPTIMIZED MOTION ESTIMATION FOR VERY LOW BIT-RATE CODING", IEEE JOURNAL ON SELECTED AREAS IN COMMUNICATIONS, IEEE INC. NEW YORK, US, vol. 15, no. 9, December 1997 (1997-12-01), pages 1752 - 1763, XP000726013, ISSN: 0733-8716 * |
SCHWARZ H ET AL: "An Improved H.26L Coder Using Lagrangian Coder Control", ITU TELECOMMUNICATIONS STANDARDIZATION SECTOR STUDY GROUP 16, XX, XX, 18 October 2001 (2001-10-18), pages 1 - 8, XP002268624 * |
SUBRAMANIAN P ET AL: "Reduced-complexity rate-distortion optimization of multiresolution motion field and prediction residual", PROCEEDINGS. INTERNATIONAL CONFERENCE ON IMAGE PROCESSING (CAT. NO.97CB36144) IEEE COMPUT. SOC LOS ALAMITOS, CA, USA, vol. 2, 26 October 1997 (1997-10-26) - 29 October 1997 (1997-10-29), pages 799 - 802 vol.2, XP002317431, ISBN: 0-8186-8183-7 * |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2010070128A1 (fr) * | 2008-12-19 | 2010-06-24 | Thomson Licensing | Procédé d'estimation de mouvement multi-résolution |
FR2940492A1 (fr) * | 2008-12-19 | 2010-06-25 | Thomson Licensing | Procede d'estimation de mouvement multi-resolutions |
Also Published As
Publication number | Publication date |
---|---|
JP4887009B2 (ja) | 2012-02-29 |
MXPA05007304A (es) | 2006-01-26 |
CN1719899A (zh) | 2006-01-11 |
US20060008005A1 (en) | 2006-01-12 |
CN100571387C (zh) | 2009-12-16 |
KR20060049852A (ko) | 2006-05-19 |
EP1617675A2 (fr) | 2006-01-18 |
JP2006025431A (ja) | 2006-01-26 |
KR101192060B1 (ko) | 2012-10-17 |
EP1617675B1 (fr) | 2014-10-15 |
EP1617675A3 (fr) | 2006-03-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Jayasankar et al. | A survey on data compression techniques: From the perspective of data quality, coding schemes, data type and applications | |
EP1604529B1 (fr) | PROCEDES ET DISPOSITIFS DE CODAGE ET DE DECODAGE D&rsquo;UNE SEQUENCE D&rsquo;IMAGES PAR DECOMPOSITION MOUVEMENT/TEXTURE ET CODAGE PAR ONDELETTES | |
FR2894421A1 (fr) | Procede et dispositif de decodage d'un flux video code suivant un codage hierarchique | |
WO1991003797A1 (fr) | Procede et dispositif d'estimation et de codage hierarchise du mouvement de sequences d'images | |
EP3318061B1 (fr) | Procede d'encodage d'image et equipement pour la mise en oeuvre du procede | |
EP0418952B1 (fr) | Dispositif de codage d'informations bidimensionnelles et dispositif de décodage correspondant | |
EP3707900A1 (fr) | Procede de formation d'une sequence d'images de sortie a partir d'une sequence d'images d'entree, procede de reconstruction d'une sequence d'images d'entree a partir d'une sequence d'images de sortie, dispositifs, equipement serveur, equipement client et programmes d'ordinateurs associes | |
EP2289171B1 (fr) | Procède de traitement de donnees numeriques | |
Huang et al. | Deep learning-based quantitative steganalysis to detect motion vector embedding of HEVC videos | |
FR2872989A1 (fr) | Procede et dispositif pour choisir un vecteur mouvement pour le codage d'un ensemble de blocs | |
Zhang et al. | Distributed lossless coding techniques for hyperspectral images | |
EP1413140A1 (fr) | Procede d'estimation de mouvement entre deux images avec gestion des retournements de mailles et procede de codage correspondant | |
EP2633686B1 (fr) | Codage video echelonnable a partir d'un epitome hierarchique | |
WO2018002474A1 (fr) | Procédé de codage intra d'une image numérique et procédé de décodage correspondant | |
EP3632103B1 (fr) | Procédés et dispositifs de codage et de décodage d'un flux de données représentatif d'au moins une image | |
EP1714498B1 (fr) | Procede de recherche de la directon de prediction en codage video intra-image | |
HUE033524T2 (en) | Procedure for compressing data | |
Ayyoubzadeh et al. | Lossless compression of mosaic images with convolutional neural network prediction | |
EP2160837B1 (fr) | Sélection de fonctions de décodage distribuée au décodeur | |
Mukati et al. | Low-complexity ℓ∞-compression of light field images with a deep-decompression stage | |
WO2000014969A1 (fr) | Procede d'estimation du mouvement entre deux images | |
FR2959093A1 (fr) | Procede et dispositif de prediction d'une information de complexite de texture contenue dans une image | |
EP0348320B1 (fr) | Procédé de segmentation d'images électroniques animées, sur critère de mouvement de blocs d'image, utilisant un procédé de détection de contours | |
FR3143246A1 (fr) | Procédé et dispositif de codage et décodage d’images. | |
FR3143247A1 (fr) | Procédé et dispositif de codage et décodage de séquences d’images. |