FR2872975A1 - Procede et dispositif pour choisir un mode de codage - Google Patents
Procede et dispositif pour choisir un mode de codage Download PDFInfo
- Publication number
- FR2872975A1 FR2872975A1 FR0451447A FR0451447A FR2872975A1 FR 2872975 A1 FR2872975 A1 FR 2872975A1 FR 0451447 A FR0451447 A FR 0451447A FR 0451447 A FR0451447 A FR 0451447A FR 2872975 A1 FR2872975 A1 FR 2872975A1
- Authority
- FR
- France
- Prior art keywords
- blocks
- coding
- subset
- energy function
- mode
- 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/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/134—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
- H04N19/136—Incoming video signal characteristics or properties
- H04N19/14—Coding unit complexity, e.g. amount of activity or edge presence estimation
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/102—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
- H04N19/103—Selection of coding mode or of prediction mode
-
- 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/134—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
- H04N19/146—Data rate or code amount at the encoder output
- H04N19/147—Data rate or code amount at the encoder output according to rate distortion criteria
-
- 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/169—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
- H04N19/17—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
- H04N19/176—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a block, e.g. a macroblock
-
- 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/60—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
- H04N19/61—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding in combination with predictive coding
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
Abstract
La présente invention concerne un procédé et un dispositif pour choisir un mode de codage (112) parmi une pluralité de modes de codage pour un sous-ensemble de blocs (109) inclus dans un ensemble de blocs (101). Une fonction d'énergie (105) sur l'ense mble de blocs (101) pour chacun des modes de codage est calculée (102) et des éléments de calcul (103) de la fonction d'énergie (105) sont mémorisés pour au moins le sous -ensemble de blocs (109). Un premier mode de codage (107), minimisant la fonction d'én ergie (105) sur l'ensemble de blocs (101) est choisi.La fonction d'énergie (110) sur le sous -ensemble de blocs (109) pour chacun des modes de codage est ensuite calculée (108) en utilisant les éléments de calcul (103) mémorisés pour le sous -ensemble de blocs (109) et en mettant en oeuvre une estimation (113), sur un voisinage dudit sous -ensemble (109), d'un coût de codage pour les modes de codage distincts du premier mode de codage (107). Le choix (111) d'un mode de codage (112) minimisant la fonction d'éne rgie (110) sur le sous-ensemble (109) est alors réalisé.
Description
La présente invention concerne un procédé pour choisir les modes de codage
des blocs d'une image divisée en blocs, parmi une pluralité de modes de codage de compression d'image. Le procédé consiste à choisir itérativement un mode de codage pour coder un en semble de blocs puis à affiner ce choix sur
des sous-ensembles de blocs du-dit ensemble de blocs. L'affinage peut se reproduire de façon itérative sur les sous -ensembles ainsi traités.
Le contexte de l'invention est donc 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. Dans 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. Ces schémas mettent en oeuvre un procédé de décision de codage qui a pour but de choisir pour chaque macrobloc le mode de codage qui apparaît le mieux adapté. Ce choix peut se faire a posteriori, c'e st-à-dire en évaluant tous les modes possibles, notamment par le calcul de coût de codage et de distorsion. Le mode de codage présentant le meilleur compromis débit - distorsion est alors choisi. Les procédés connus de décision de codage opèrent de façon causale: une fois une décision prise pour un macrobloc, on passe au macrobloc suivant. Ceci se fait dans l'ordre de balayage de l'image.
Les procédés connus ne prennent ainsi pas en compte l'impact des décisions sur les macroblocs futurs. Cela a des conséqu ences négatives sur la carte des modes choisis sur l'ensemble d'une image qui peut présenter une certaine inhomogénéité. Les effets de blocs sont alors visibles. Cela entraîne également des conséquences négatives sur le coût de codage puisque le coût de codage d'un macrobloc est généralement très dépendant du choix des modes de codage des macroblocs voisins, notamment situés au -dessus et à gauche dans le cas d'un balayage de gauche à droite et de haut en bas. La décision prise sur un macrobloc peut être la meilleure pour ce macrobloc, mais comme elle affecte les macroblocs suivants, elle peut avoir pour conséquence de choisir une décision non optimale pour des macroblocs ultérieurs. Des approches à plusieurs itérations permettant de reconsidérer les décision s prises précédemment peuvent être utilisées. La quantité de calcul est alors élevée. De plus, ces approches permettent d'éviter une décision non optimale pour les macroblocs ultérieurs seulement en adoptant une stratégie de relaxation dite stochastique qui implique une quantité de calcul incompatible avec, notamment, un codage vidéo.
D'autres approches basées sur le calcul d'un jeu de modes de codage sur un ensemble de macroblocs suppose de considérer toutes les combinaisons possibles de modes de codage, c e qui est évidemment 10 extrêmement coûteux en temps de calcul.
La présente invention propose un procédé de décision de codage qui n'engendre pas les défauts évoqués ci -dessus. Ainsi, un procédé de décision de codage selon l'invention permet d'obtenir une i mage compressée de meilleure qualité par rapport à la solution classique évoquée ci -dessus, tout en optimisant le coût de codage.
La présente invention concerne un procédé pour choisir un mode de codage pour coder un sous -ensemble de blocs inclus dans un e nsemble de blocs, parmi une pluralité de modes de codage de compression d'images divisées en blocs, ledit procédé incluant les étapes de calcul d'une fonction d'énergie sur ledit ensemble de blocs pour chacun des modes de codage, de mémorisation d'éléments de calcul de ladite fonction d'énergie pour au moins le sous-ensemble de blocs, de choix d'un premier mode de codage minimisant la fonction d'énergie sur ledit ensemble de blocs, de calcul de la fonction d'énergie sur ledit sous-ensemble de blocs pour chacun des modes de codage, ledit calcul de la fonction d'énergie utilisant les éléments de calcul mémorisés pour le sous-ensemble de blocs et mettant en oeuvre une étape d'estimation, sur un voisinage dudit sous-ensemble, d'un coût de codage pour les modes de codage distincts du premier mode de codage, de choix d'un second mode de codage minimisant la fonction d'énergie sur le sous -ensemble.
En effet, l'approche mufti -échelle proposée par l'invention utilise un choix d'un mode de codage pour un ensemble de blo cs pour décider ensuite du mode de codage pour un sous -ensemble de l'ensemble de blocs. Cela permet d'homogénéiser la décision sur l'ensemble de blocs. Cette approche permet également d'approcher du minimum global sur l'ensemble des blocs de la fonction d'énergie et donc, notamment, d'optimiser le coût de codage sur l'ensemble de blocs. Il va de soi que les premier et second modes de codage peuvent être distincts ou être les mêmes, étant donné qu'un même mode de codage peut minimiser la fonction d'énergie p our l'ensemble de blocs et pour le sous-ensemble de blocs.
Dans un mode de réalisation, l'ensemble de blocs est un groupe de 2"*2" blocs, le sous-ensemble étant un groupe de 2 "-1*2"-1 blocs.
Cette réalisation est particulièrement avantageuse dans le cadre des codages d'images, notamment selon les standards 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.
Dans un mode de réalisation, le voisinage est le groupe des blo cs audessous et à droite du sous -ensemble de blocs.
Cette réalisation est particulièrement avantageuse dans le cadre des 20 codages d'images, notamment selon les standards MPEG, où les blocs sont balayés, pour le codage, de gauche à droite et de haut en bas.
Dans un mode de réalisation, les éléments de calcul sont une distorsion et un coût de codage pour chaque sous -ensemble de blocs.
Cette caractéristique reflète la nature d'une fonction d'énergie ainsi que calculée selon l'invention. La distorsion représent e l'erreur observée entre l'image codée et l'image d'origine non codée. Le coût de codage représente généralement le nombre de bits nécessaires au codage de l'image. Ces éléments de calcul sont mémorisés afin de pouvoir être rappelés par l'étape de calcul de la fonction d'énergie pour le sous ensemble de macroblocs.
Dans un mode de réalisation, l'étape de choix d'un mode de codage inclut une sous-étape de choix d'un paramètre du mode de codage.
Cette caractéristique permet d'élargir l'application de l'inven tion à un choix de paramètres propres au mode de codage, par exemple le choix d'un vecteur.
Dans un mode de réalisation, le procédé selon l'invention est itéré sur une suite de sous -ensembles d'ensembles de blocs.
Cette réalisation est particulièrement uti le pour le codage MPEG. L'ensemble de blocs peut être par exemple de la plus grande taille 2 n de blocs possible dans l'image à coder, le sous -ensemble suivant étant de taille 2 1. Selon le procédé de l'invention, un mode de codage est alors choisi pour qu atre sous-ensembles. Puis chaque sous -ensemble de taille 2 n-1 devient l'ensemble de blocs, le sous-ensemble étant alors de taille 2 n-2 et ainsi de suite.
L'invention concerne également un dispositif pour mettre en oeuvre le procédé tel que décrit auparavan t.
L'invention concerne également une image compressée obtenue en mettant en oeuvre itérativement un procédé selon l'invention (en partant d'un découpage en blocs de très grande taille typiquement 128*128 pixels - de l'image complète).
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'inve ntion.
Fig. 2a et Fig. 2b présentent le rôle d'un voisinage d'un bloc ou d'un macrobloc dans le calcul d'un coût de codage.
Fig. 3 illustre le fonctionnement de l'invention sur un ensemble de macroblocs.
Fig. 4 représente une fonction d'énergie à différent es échelles.
Fig. 5a à Fig.5c illustre le déroulement d'un procédé selon l'invention sur un ensemble de macroblocs.
Comme représenté sur la figure 1, un dispositif 100 selon l'invention inclut un module de calcul 102 pour calculer une fonction d'énergie 105 sur un ensemble 101 de blocs pour chacun des modes de codage. Une mémoire 104 permet de mémoriser des éléments de calcul 103 de la fonction d'énergie 105 pour au moins un sous -ensemble de blocs 109.
La fonction d'énergie, représentée par une unique réf érence 105 pour des raisons de clarté, est calculée pour plusieurs modes de codage. Ainsi, autant de valeurs de la fonction d'énergie, référencée 105, sont mémorisées que de modes de codage sont évalués.
Le dispositif 100 inclut un module 106 pour choisir un mode de codage, dit premier mode de codage 107, minimisant la fonction d'énergie 105 15 sur ledit ensemble de blocs 101.
Le choix d'un mode de codage consiste à rechercher l'ensemble des modes de codage M et l'ensemble de leurs paramètres associés P minimi sant la fonction d'énergie 105, notée E dans les équations: minM,p E(M,P/Icur, lref) où Icur désigne l'image courante, I ref désigne les images servant de références pour la prédiction temporelle, M={m 1,m2,...,mN} est l'ensemble des modes de codage des N mac roblocs, mi pouvant prendre ses valeurs parmi l'ensemble de Q modes de codage autorisés T={t t,t2,...,tQ}, P est l'ensemble des paramètres associés en chaque site s à son mode ms. Il peut s'agir de la direction de prédiction spatiale pour le mode de codage ln tra, de vecteurs de mouvement ou de coefficients de pondération bidirectionnelle pour un mode Inter.
La fonction d'énergie E est une somme de fonctions élémentaires sur l'ensemble des blocs. Comme signalé précédemment, ces fonctions 30 élémentaires dépendent du voisinage du bloc.
Ainsi que représenté sur la figure 2a, dans un schéma de codage réalisé avec un balayage de gauche à droite et de haut en bas, comme par exemple un schéma de codage MPEG -4 partie 10, la fonction élémentaire calculée sur le bloc 200 d épend des modes de codage choisis dans le voisinage constitué par les blocs 201 à 204. De manière complémentaire, ainsi que représenté sur la figure 2b, chacune des fonctions élémentaires calculée pour les blocs 206 à 209 dépendent, notamment, du mode de c odage choisi pour le bloc 205.
La somme de fonctions élémentaires s'écrit alors: E(M,Pllcur, Iref)=ESES Es(ms, ps(ms)Imr,pr(mr), rEVs, Icur, Iref) où S est l'ensemble des positions (ou sites) des N macroblocs de l'image et Vs désigne le voisinage du site s, par exemple les blocs 201 à 204 sur la figure 2a.
La fonction Es peut prendre plusieurs formes. Dans une approche a 15 posteriori, elle peut prendre la forme suivante, dont la notation a été simplifiée en ne faisant plus apparaître les dépendances conditio nnelles: Es(m)=D(m,p(m))+X.C(m,p(m)) où D est une mesure de distorsion et C est une mesure de coût de codage, X est un paramètre déterminé ou calculé, classiquement en fonction du 20 pas de quantification du bloc.
Le choix du premier mode de codage 107 sur 1 'ensemble des blocs est déterminé par le mode minimisant la fonction E s(m) ci-dessus.
Les éléments de calcul D et C, référencés 103 sur la figure 1 sont mémorisés pour chaque sous -ensemble de blocs, pour chaque mode évalué.
Selon l'invention au moins les éléments de calcul 103 pour les blocs du sous - ensemble 109 pour lequel un mode de codage 112 doit être choisi sont mémorisés.
Le dispositif 100 a donc ensuite la possibilité de s'intéresser à un sousensemble 109 de l'ensemble 101 de blocs.
II inclut ainsi un module de calcul 108 pour calculer la fonction d'énergie 110 sur ledit sous -ensemble 109 de blocs pour chacun des modes de codage m.
La figure 3 illustre ensuite le fonctionnement de l'invention. Un premier mode de codage a été choisi pour l'ensemble d e blocs 301. C'est, par exemple, pour le sous-ensemble 309 de 4x4 blocs, que la fonction d'énergie 110 est ensuite calculée. N'importe quel autre sous -ensemble, par exemple celui de taille 3x3 et noté 303 sur la figure 3, de l'ensemble 301 peut également être sélectionné selon le procédé de l'invention. Toutes autres tailles, par exemple 3x2 etc., peuvent également être mise en oeuvre dans l'invention.
Selon la figure 1, le module de calcul 108 de la fonction d'énergie 110 fait appel aux éléments de calcul 103 mémorisés pour le sous -ensemble 109 de blocs. Le module de calcul 108 inclut aussi un module d'estimation 113 pour estimer, sur un voisinage du sous -ensemble, un coût de codage pour les modes de codage distincts du premier mode de codage 107.
Selon la figure 3, le voisinage du sous -ensemble est le voisinage 302 défini par les blocs situés en bas et à droite du sous -ensemble 309 de blocs.
En effet, ainsi qu'illustré sur la figure 2b, le changement de mode pour un bloc 205 situé en un site s joue aussi sur l'énergie des blocs futurs 206 à 209. Les blocs futurs sont notés F s dans les équations. Si en un site s, un mode m est remplacé par un mode m', la variation d'énergie qui en résulte est la suivante: DE=Es(m',ps(m'))-Es(m,ps(m))+ErE Fs(Er(mr,pr(mr)Im',ps(m'))- Er(mr,pr(mr)/m,ps(m))) Les deux premiers termes représentent le changement de la fonction d'énergie en dépendance avec les blocs passés, le troisième terme représente le changement de la fonction d'énergie engendré sur la fonction d'énergie des futurs blocs.
Dans les approches causales mono -échelles classiques, le choix du mode de codage est alors réalisé en mesurant la variation de la fonction d'énergie du macrobloc s, c'est -à-dire les deux premiers termes sans prendre en compte les variations d'é nergie intervenant sur les blocs futurs.
On observe que pour des pas de quantification faibles à moyens dans l'image divisée en blocs, on peut considérer que l'impact pour un bloc d'un changement de mode d'un bloc antérieur du voisinage ne porte pas sur la distorsion mais uniquement sur le coût de codage. En effet, un bloc reconstruit après déquantification n'est pas trop éloigné du bloc source pour les plages de pas de quantification faibles à moyens. Dans ce cas, la distorsion n'a pas besoin d'être recalculée. Ainsi, pour chaque sous ensemble de blocs, les distorsions pour chaque mode sont calculées dès l'échelle la plus grossière. Dans ce cas, la mémorisation des éléments de calcul 103 permet de faire appel aux éléments de calcul 103 représentant la disto rsion D facilement sans avoir à les recalculer.
Le fait de travailler sur des sous -ensembles de blocs et d'avoir nécessairement le même mode à l'intérieur d'un sous -ensemble engendre que le coût de codage ne change pas pour les blocs situés à l'intérieur d u sous-ensemble de blocs. On observe donc que pour une échelle donnée, les variations de coût de codage générées par le changement de mode de codage pour le sous-ensemble 309 de blocs ne sont sensibles que pour les blocs situés au voisinage 302 du sous-ensemble 309. Cela permet de diminuer considérablement la quantité de calculs effectuée puisque seules les variations de coût de codage pour les blocs du voisinage 302 du sous ensemble 309 de blocs sont calculées. Les autres coûts de codage pour les blocs int ernes au sous-ensemble sont en effet mémorisés ainsi que vu précédemment en tant qu'élément de calcul 103. En effet, si on se reporte à la figure 3, un calcul classique des coûts de codage engendre 16+9 calculs alors que l'invention permet de n'en réaliser que 9.
Le dispositif inclut enfin un module 111 pour choisir un mode de codage 112 minimisant la fonction d'énergie 110 calculée par le module de calcul 108 sur le sous-ensemble 109.
L'approche multi-échelle proposée selon l'invention permet de s'approcher plus facilement de l'optimisation du codage sur l'image. En effet, une approche multi-échelle permet de lisser la fonction à minimiser de façon d'autant plus importante que le procédé est réalisé avec un ensemble de blocs de grande échelle.
Ainsi, à une échelle suffisamment élevée pour l'ensemble de blocs de départ pour le procédé, la fonction devient convexe et l'atteinte du minimum global se fait aisément.
La figure 4 illustre cela dans le cas simple d'une fonction d'énergie calculée sur une seule dime nsion, pour une pluralité de modes représentés en abscisses. Ainsi, on remarque que la courbe 401 de la fonction d'énergie à l'échelle la plus petite présente plusieurs minima. Ainsi si l'on part d'une mauvaise initialisation lors de la minimisation de la fonction d'énergie, on risque de tomber dans un minimum local. La courbe 402 représente une échelle intermédiaire qui présente en plus du minimum global des minima locaux moins prononcés. La courbe 401 représente l'échelle la plus importante, cette courbe 401 ne présente plus qu'un minimum que l'on est assuré d'atteindre. Ainsi qu'illustré sur cette dernière figure, pour déterminer le meilleur jeu de modes de codage sur une image divisées en blocs, il faut minimiser une fonction d'énergie à plusieurs dimensions, notamment le nombre de blocs de l'image, le nombre de modes par blocs, l'espace de prédiction spatio -temporelle, en trouvant la configuration assurant le minimum de la fonction d'énergie. Lorsqu'on utilise l'approche causale, donc à petite échelle, o n aboutit à l'obtention d'un minimum local qui peut être éloigné du minimum global de la fonction d'énergie. Ainsi, l'invention permet de s'approcher plus près de la minimisation de la fonction d'énergie pour le codage d'une image entière puisqu'il est pos sible de définir l'ensemble de blocs comme étant l'image entière.
En référence à la figure 5, le procédé selon l'invention est avantageusement itéré sur une pluralité d'échelles pour l'ensemble et le sous - 30 ensemble de blocs afin d'obtenir une optimisation du jeu de modes de codage sur la totalité d'une image. Selon cette itération le sous -ensemble d'une étape précédente devient l'ensemble de l'étape suivante et ainsi de suite. Avantageusement, l'échelle la plus grossière est l'image entière.
Selon ce principe d'itération, la minimisation de la fonction d'énergie est calculée sur une première échelle représentée sur la figure 5a par un ensemble 500 de blocs de 8x8 blocs. Pour cette première échelle, les sous - ensembles 501 à 504 sont de taille 4x4. Pour la sec onde échelle représentée sur la figure 5b, les sous-ensembles 501 à 504 de l'échelle précédente sont devenus chacun un ensemble de blocs pour réaliser un procédé selon l'invention. Les sous-ensembles sont cette fois, les groupes 505 à 520 de 2x2 blocs. Enfin dans la troisième échelle, les sous -ensembles sont cette fois, les blocs 521 eux-mêmes. Ainsi les blocs sont regroupés par sous -ensembles de 2 x2'1 blocs. Les blocs de chaque sous ensemble ont nécessairement tous le même mode de codage.
L'invention permet de mener l'optimisation à partir de l'échelle la plus grossière. Un balayage causal est utilisé pour parcourir chacun des sous ensembles au sein d'un ensemble. On recherche selon l'invention pour chaque sous-ensemble à une échelle K donnée le mode qui gé nère l'énergie la plus faible. Par exemple, sur la figure 5, l'ensemble 500 d'échelle K+ 1 est utilisé pour déterminer le mode qui génère l'énergie la plus faible pour chacun des sous - ensembles 501 à 504 d'échelle K à la suite. Une fois l'échelle K traitée, on dispose pour l'échelle inférieure K -1 d'une carte des modes initiale pour chaque nouvel ensemble d'échelle K. Pour chaque sous -ensemble d'échelle K-1, on recherche alors le mode qui assure la baisse d'énergie la plus forte. Une fois l'échelle K-1 traitée on passe à l'échelle K-2 et ainsi de suite jusqu'à l'échelle 0 où, par exemple, un seul bloc constitue le sous -ensemble.
L'invention peut également être appliquée pour optimiser la fonction d'énergie en fonction des paramètres des modes de codage. Deux approches peuvent être considérées. Soit les paramètres de chaque sous -ensemble de blocs peuvent être différents. Ainsi le mode de codage d'un sous ensemble est par exemple le mode Inter avec un paramètre vecteur mouvement pour chaque sous-ensemble de blocs. Soit on opère pour un paramètre P donné de la même manière que pour les modes en traitant à chaque échelle un sous -ensemble P n du paramètre P. Dans les deux cas, l'estimation du paramètre P et si nécessaire des Pn peut être faite de façon totalement i ndépendante. Par exemple on peut mener une estimation de mouvement mufti -échelle sur l'ensemble de l'image préalablement à la mise en oeuvre du dispositif de décision de codage. Cette solution présente l'avantage d'être moins coûteuse en calcul que la solut ion d'estimation simultanée des ensembles M n et Pn.
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 comme par exemple la possibilité d'envisager différents typ es de voisinage pour le calcul des coûts de codage des blocs voisins. On peut aussi noter que les coûts de codage peuvent être estimés par un calcul rigoureux ou par un calcul d'approximation utilisant des techniques d'approche connues.
Claims (11)
12 REVENDICATIONS
1 Procédé pour choisir un mode de codage (112), parmi une pluralité de modes de codage de compression d'images divisées en blocs, pour 5 coder un sous-ensemble de blocs (109) inclus dans un ensemble de blocs (101), le procédé incluant les étapes de: calcul (102) d'une fonction d'énergie (105) sur l'ensemble de blocs (101) pour chacun des modes de codage, mémorisation (104) d'éléments de calcul (103) de la fonction 10 d'énergie (105) pour au moins le sous -ensemble de blocs (109), choix (106) d'un premier mode de codage (107) minimisant la fonction d'énergie (105) sur l'ensemble de blocs (101), calcul (108) de la fonction d'énergie (110) sur le sous -ensemble de blocs (109) pour chacun des modes de codage, le calcul de la fonction d'énergie (110) utilisant les éléments de calcul (103) mémorisés pour le sous - ensemble de blocs (109) et mettant en oeuvre une étape d'estimation (113), sur un voisinage du sous-ensemble (109), d'un coût de codage pour les modes de codage distincts du premier mode de codage et, choix (111) d'un second mode de codage (112) minimisant la fonction 20 d'énergie (110) sur le sous -ensemble (109).
2 Procédé selon la revendication 1, dans lequel l'ensemble de blocs (101) est un groupe de 2n-2n blocs, le sous-ensemble (109) étant un groupe de 2"-1*2n-1 blocs.
3 Procédé selon l'une quelconque des revendications 1 et 2, dans lequel le voisinage est le groupe des blocs (101) au -dessous et à droite du sous-ensemble de blocs (109).
4 Procédé selon l'une quelconque des revendications 1 à 3, dans lequel les éléments de calcul (103) sont une distorsion et un coût de codage pour chaque sous-ensemble de blocs (109).
5 Procédé selon l'une quelconque des revendications 1 à 4, dans lequel l'étape de choix d'un mode de codage inclut une sous -étape de choix d'un paramètre du mode de codage.
6 Procédé selon l'une quelconque des revendications 1 à 5, itéré 10 sur une suite de sous-ensembles d'ensembles de blocs.
7 Dispositif destiné à réaliser un choix d'un mode de codage (112) parmi une pluralité de modes de codage pour un sous -ensemble de blocs (109) inclus dans un ensemble de blocs (101), le dispositif incluant: un module de calcul (102) pour calculer une fonction d'énergie (105) sur l'ensemble de blocs (101) pour chacun des modes de codage, une mémoire (104) pour mémoriser des éléments de calcul (103) de la fonction d'énergie (105) pour au moins le sous -ensemble de blocs (109), un module (106) pour choisir un premier mode de codage (107) minimisant la fonction d'énergie (105) sur l'ensemble de blocs (10 1), un module (108) de calcul pour calculer la fonction d'énergie (110) sur le sous-ensemble de blocs (109) pour chacun des modes de codage, ledit module (108) de calcul de la fonction d'énergie (110) faisant appel aux éléments de calcul (103) mémorisés pour le sous-ensemble de blocs (109) et incluant un module d'estimation (113) pour estimer, sur un voisinage du sous -ensemble (109), un coût de codage pour les modes de codage distincts du premier mode de codage, un module (111) pour choisir un second mode d e codage (112) minimisant la fonction d'énergie (110) sur le sous -ensemble (109).
2872975 14 8 Dispositif selon la revendication 7, dans lequel l'ensemble de blocs (101) est un groupe de 2"*2" blocs, le sous-ensemble (109) étant un groupe de 2"-1*2"-i blocs.
9 Dispositif selon l'une quelconque des revendications 7 et 8, dans lequel le voisinage est le groupe des blocs au-dessous et à droite du sous-ensemble de blocs (109).
Dispositif selon l'une quelconque des revendications 7 à 9, dans 10 lequel les éléments de calcul (103) sont une distorsion et un coût de codage pour chaque sous-ensemble de blocs (109).
11 Dispositif selon l'une quelconque des revendications 7 à 10, dans lequel au moins un des modules -pour choisir un made de codage inclut un 15 sous-module pour choisir un paramètre du mode de codage. 1 12 Procédé de codage d'une image vidéo mettant en oeuvre une pluralité de modes de codage, caractérisé en ce qu'il comporte une phase de choix de mode de codage selon le procédé de la revendication 1.
Priority Applications (9)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
FR0451447A FR2872975A1 (fr) | 2004-07-06 | 2004-07-06 | Procede et dispositif pour choisir un mode de codage |
EP05105967A EP1615172B1 (fr) | 2004-07-06 | 2005-06-30 | Procédé et dispositif pour choisir un mode de codage |
ES05105967T ES2319663T3 (es) | 2004-07-06 | 2005-06-30 | Metodo y dispositivo para seleccionar un modo de codificacion. |
DE602005012184T DE602005012184D1 (de) | 2004-07-06 | 2005-06-30 | Verfahren und Vorrichtung zur Auswahl einer Kodierungsart |
US11/174,165 US8059722B2 (en) | 2004-07-06 | 2005-07-01 | Method and device for choosing a mode of coding |
CN200510082188XA CN1719900B (zh) | 2004-07-06 | 2005-07-01 | 选择编码模式的方法和设备 |
KR1020050060071A KR101177939B1 (ko) | 2004-07-06 | 2005-07-05 | 코딩 모드를 선택하기 위한 방법 및 디바이스 |
MXPA05007303A MXPA05007303A (es) | 2004-07-06 | 2005-07-05 | Metodo y dispositivo para seleccionar un modo de codificacion. |
JP2005198126A JP4880255B2 (ja) | 2004-07-06 | 2005-07-06 | 符号化モードを選択する方法及び装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
FR0451447A FR2872975A1 (fr) | 2004-07-06 | 2004-07-06 | Procede et dispositif pour choisir un mode de codage |
Publications (1)
Publication Number | Publication Date |
---|---|
FR2872975A1 true FR2872975A1 (fr) | 2006-01-13 |
Family
ID=34949756
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
FR0451447A Pending FR2872975A1 (fr) | 2004-07-06 | 2004-07-06 | Procede et dispositif pour choisir un mode de codage |
Country Status (9)
Country | Link |
---|---|
US (1) | US8059722B2 (fr) |
EP (1) | EP1615172B1 (fr) |
JP (1) | JP4880255B2 (fr) |
KR (1) | KR101177939B1 (fr) |
CN (1) | CN1719900B (fr) |
DE (1) | DE602005012184D1 (fr) |
ES (1) | ES2319663T3 (fr) |
FR (1) | FR2872975A1 (fr) |
MX (1) | MXPA05007303A (fr) |
Families Citing this family (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4563981B2 (ja) * | 2006-10-23 | 2010-10-20 | 日本電信電話株式会社 | 映像符号化方法、映像符号化装置、映像符号化プログラムおよびそのプログラムを記録したコンピュータ読み取り可能な記録媒体 |
US9125807B2 (en) | 2007-07-09 | 2015-09-08 | Incept Llc | Adhesive hydrogels for ophthalmic drug delivery |
WO2010044757A1 (fr) * | 2008-10-17 | 2010-04-22 | Agency For Science, Technology And Research | Procédé permettant de coder une image numérique, codeur et élément de programme informatique |
JP5890182B2 (ja) | 2009-02-12 | 2016-03-22 | インセプト エルエルシー | ヒドロゲルプラグによる薬物送達 |
US8961501B2 (en) | 2010-09-17 | 2015-02-24 | Incept, Llc | Method for applying flowable hydrogels to a cornea |
US9635383B2 (en) * | 2011-01-07 | 2017-04-25 | Texas Instruments Incorporated | Method, system and computer program product for computing a motion vector |
US10230956B2 (en) | 2012-09-26 | 2019-03-12 | Integrated Device Technology, Inc. | Apparatuses and methods for optimizing rate-distortion of syntax elements |
US10277907B2 (en) | 2012-10-25 | 2019-04-30 | Integrated Device Technology, Inc. | Rate-distortion optimizers and optimization techniques including joint optimization of multiple color components |
US20140219331A1 (en) * | 2013-02-06 | 2014-08-07 | Magnum Semiconductor, Inc. | Apparatuses and methods for performing joint rate-distortion optimization of prediction mode |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP0615384A2 (fr) * | 1993-03-11 | 1994-09-14 | General Instrument Corporation Of Delaware | Compression adaptive de données vidéo numériques |
FR2846835A1 (fr) * | 2002-11-05 | 2004-05-07 | Canon Kk | Codage de donnees numeriques combinant plusieurs modes de codage |
Family Cites Families (14)
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> | 動きベクトル探索方法および装置 |
US5686963A (en) * | 1995-12-26 | 1997-11-11 | C-Cube Microsystems | Method for performing rate control in a video encoder which provides a bit budget for each frame while employing virtual buffers and virtual buffer verifiers |
US6633611B2 (en) * | 1997-04-24 | 2003-10-14 | Mitsubishi Denki Kabushiki Kaisha | Method and apparatus for region-based moving image encoding and decoding |
JP3570863B2 (ja) | 1997-08-05 | 2004-09-29 | 三菱電機株式会社 | 動画像復号化装置および動画像復号化方法 |
US6711211B1 (en) * | 2000-05-08 | 2004-03-23 | Nokia Mobile Phones Ltd. | Method for encoding and decoding video information, a motion compensated video encoder and a corresponding decoder |
US6654502B1 (en) * | 2000-06-07 | 2003-11-25 | Intel Corporation | Adaptive early exit techniques in image correlation |
US7079579B2 (en) * | 2000-07-13 | 2006-07-18 | Samsung Electronics Co., Ltd. | Block matching processor and method for block matching motion estimation in video compression |
EP2819411B1 (fr) * | 2001-09-14 | 2018-08-29 | NTT DoCoMo, Inc. | Procédé de codage et de décodage |
WO2003043347A1 (fr) * | 2001-11-16 | 2003-05-22 | Ntt Docomo, Inc. | Procede de codage d'image, procede de decodage d'image, codeur et decodeur d'image, programme, signal de donnees informatiques et systeme d'emission d'image |
CN1206864C (zh) * | 2002-07-22 | 2005-06-15 | 中国科学院计算技术研究所 | 结合率失真优化的码率控制的方法及其装置 |
CN1934871B (zh) * | 2003-08-25 | 2011-08-10 | 新加坡科技研究局 | 在视频编码中对帧间预测进行模式判定的方法和系统 |
JP2005268879A (ja) | 2004-03-16 | 2005-09-29 | Matsushita Electric Ind Co Ltd | 画像符号化方法およびその装置 |
-
2004
- 2004-07-06 FR FR0451447A patent/FR2872975A1/fr active Pending
-
2005
- 2005-06-30 DE DE602005012184T patent/DE602005012184D1/de active Active
- 2005-06-30 ES ES05105967T patent/ES2319663T3/es active Active
- 2005-06-30 EP EP05105967A patent/EP1615172B1/fr active Active
- 2005-07-01 CN CN200510082188XA patent/CN1719900B/zh active Active
- 2005-07-01 US US11/174,165 patent/US8059722B2/en active Active
- 2005-07-05 MX MXPA05007303A patent/MXPA05007303A/es active IP Right Grant
- 2005-07-05 KR KR1020050060071A patent/KR101177939B1/ko active IP Right Grant
- 2005-07-06 JP JP2005198126A patent/JP4880255B2/ja active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP0615384A2 (fr) * | 1993-03-11 | 1994-09-14 | General Instrument Corporation Of Delaware | Compression adaptive de données vidéo numériques |
FR2846835A1 (fr) * | 2002-11-05 | 2004-05-07 | Canon Kk | Codage de donnees numeriques combinant plusieurs modes de codage |
Also Published As
Publication number | Publication date |
---|---|
US20060039479A1 (en) | 2006-02-23 |
ES2319663T3 (es) | 2009-05-11 |
MXPA05007303A (es) | 2006-05-25 |
US8059722B2 (en) | 2011-11-15 |
EP1615172B1 (fr) | 2009-01-07 |
EP1615172A1 (fr) | 2006-01-11 |
JP4880255B2 (ja) | 2012-02-22 |
CN1719900A (zh) | 2006-01-11 |
CN1719900B (zh) | 2010-06-09 |
KR101177939B1 (ko) | 2012-08-28 |
DE602005012184D1 (de) | 2009-02-26 |
JP2006025430A (ja) | 2006-01-26 |
KR20060049842A (ko) | 2006-05-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
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 | |
EP3225029B1 (fr) | Procede d'encodage d'image et equipement pour la mise en oeuvre du procede | |
EP3318061B1 (fr) | Procede d'encodage d'image et equipement pour la mise en oeuvre du procede | |
FR2872975A1 (fr) | Procede et dispositif pour choisir un mode de codage | |
EP3571834B1 (fr) | Génération adaptative d'une image à grande gamme dynamique d'une scène, à partir d'une pluralité d'images obtenues par lecture non destructive d'un capteur d'image | |
EP2347590B1 (fr) | Prediction d'une image par compensation en mouvement en avant | |
EP2281396A1 (fr) | Procede de codage d ' image avec synthese de texture | |
WO2001043446A1 (fr) | Procede d'estimation de mouvement entre deux images avec gestion des retournements de mailles et procede de codage correspondant | |
WO2018002474A1 (fr) | Procédé de codage intra d'une image numérique et procédé de décodage correspondant | |
WO2020058594A1 (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 | |
FR2955995A1 (fr) | Procede et dispositif de traitement d'une sequence video | |
WO2005088979A1 (fr) | Procede de recherche de la directon de prediction en codage video intra-image | |
WO2016051083A1 (fr) | Procédé de transcodage de données vidéo à fusion d'unités de codage, programme informatique, module de transcodage et équipement de télécommunications associés | |
EP3815369A1 (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 | |
FR2872989A1 (fr) | Procede et dispositif pour choisir un vecteur mouvement pour le codage d'un ensemble de blocs | |
WO2010063898A1 (fr) | Dispositif d'encodage d'un flux d'images numeriques et dispositif de decodage correspondant avec approximation du voisinage d'un bloc par le voisinage elargi du bloc | |
FR2957744A1 (fr) | Procede de traitement d'une sequence video et dispositif associe | |
FR2929431A1 (fr) | Procede et dispositif de classification des echantillons representatifs d'un signal numerique d'image | |
EP3922017A1 (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 | |
FR2916931A1 (fr) | Procede de selection d'une donnee de codage et dispositif de codage implementant ledit procede | |
FR3088511A1 (fr) | Procede de decodage d’au moins une image, procede de codage, dispositifs, signal et programmes d’ordinateur correspondants. | |
EP4078959A1 (fr) | Procede d'encodage d'une image numerique en vue de sa compression | |
FR3143246A1 (fr) | Procédé et dispositif de codage et décodage d’images. | |
FR3144361A1 (fr) | Procédé amélioré d’apprentissage sensible à la quantification pour un réseau de neurones | |
FR3143247A1 (fr) | Procédé et dispositif de codage et décodage de séquences d’images. |