FR2908007A1 - Procede de codage d'une sequence d'images - Google Patents
Procede de codage d'une sequence d'images Download PDFInfo
- Publication number
- FR2908007A1 FR2908007A1 FR0654652A FR0654652A FR2908007A1 FR 2908007 A1 FR2908007 A1 FR 2908007A1 FR 0654652 A FR0654652 A FR 0654652A FR 0654652 A FR0654652 A FR 0654652A FR 2908007 A1 FR2908007 A1 FR 2908007A1
- Authority
- FR
- France
- Prior art keywords
- block
- coding
- intra
- modes
- macroblock
- 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
- 230000000694 effects Effects 0.000 title claims abstract description 22
- 238000000034 method Methods 0.000 title claims abstract description 22
- 238000007906 compression Methods 0.000 title description 3
- 230000006835 compression Effects 0.000 title description 3
- 238000004364 calculation method Methods 0.000 claims description 14
- 238000005192 partition Methods 0.000 claims description 4
- 238000000638 solvent extraction Methods 0.000 claims description 3
- 238000005457 optimization Methods 0.000 description 2
- 230000009466 transformation Effects 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 1
- 238000013144 data compression Methods 0.000 description 1
- 238000005259 measurement Methods 0.000 description 1
- 230000000717 retained effect Effects 0.000 description 1
- 210000000952 spleen Anatomy 0.000 description 1
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/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/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
- H04N19/11—Selection of coding mode or of prediction mode among a plurality of spatial predictive coding modes
-
- 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/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/50—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
- H04N19/593—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving spatial prediction techniques
-
- 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
Le procédé est caractérisé en ce que, pour la détermination du mode de codage d'un macrobloc (1, 3, 4) constitué de blocs d'image, il effectue une présélection (2) du ou de modes de codage intra prédictifs directionnels des blocs du macrobloc selon les étapes suivantes :- calcul des activités gradient d'un bloc (2) dans les directions de prédiction,- présélection du ou des modes de codage intra directionnel (2) du bloc dont les directions correspondent à l'activité ou aux activités gradient de valeur minimum.
Description
L'invention concerne un procédé de codage d'une séquence d'images,
exploitant en particulier le mode de prédiction intra.
Le domaine est celui de la compression vidéo pour le stockage ou la transmission de données. On s'intéresse en particulier aux schémas de compression par blocs dans le cadre d'opérations de codage du type MPEG4. Le standard H264/MPEG4 part 10 définit 9 modes de prédiction io intra pour les blocs d'image de dimensions 4x4, 4 lignes de 4 pixels. La figure 1 représente ces différents modes de prédiction. Il définit également 4 modes de prédiction pour des blocs de dimension 16x16, modes de prédiction horizontal, vertical, mode DC et mode plan effectuant une interpolation bilinéaire de valeurs de pixels en fonction de la position dans la 15 ligne et la colonne du pixel à prédire. Pour ces 4 modes de prédiction, le calcul des coefficients DCT est effectué sur des blocs de résidus de taille 4x4. Le mode DC ou mode 2 sur la figure 1 est aussi appelé par la suite mode de codage intra prédictif DC, les autres modes, modes de codage intra directionnels prédictifs. 20 Pour la version MPEG 4 part 10 high profile , la prédiction et le codage DCT peuvent également être appliqués sur des blocs de résidus, blocs courants moins blocs prédits, de taille 8x8. On pourra se référer aux documents décrivant les nouveaux outils relatifs aux extensions FRExt, de l'anglais Fidelity Range Extensions, du standard de codage vidéo 25 H264/MPEG4-AVC, pour une explication plus complète de ces modes. Les modes de prédiction intra font référence à des valeurs de luminance de pixels de blocs voisins ou même du bloc courant pour le mode DC. Ces valeurs de prédiction, positionnées aux emplacements (i, j) des pixels du bloc courant sur lesquels elles agissent, constituent un bloc de 30 prédiction, les emplacements non concernés étant affectés de la valeur luminance nulle. Le bloc de résidus sur lequel est appliqué la transformation 2908007 2 cosinus discrète est obtenu, dans le mode de prédiction intra, par la différence entre le bloc de luminance courant et le bloc de prédiction intra retenu. Pour effectuer le codage en mode intra, dans le standard MPEG4 5 part 10, un macrobloc courant 16x16 est découpé en 4 blocs 8x8, en 16 blocs 4x4 et un test de chacun des modes de codage intra est effectué sur chacun des blocs. Il est d'autre part nécessaire de reconstruire une partie du macrobloc courant, celui qui est donc en cours de codage, pour définir les blocs de prédiction intra 4x4, pour effectuer cette sélection. Un choix est effectué parmi les 9 blocs de prédiction calculés pour un bloc 4x4 du macrobloc courant selon des critères connus tels que le coût de codage et la distorsion pour définir la meilleure prédiction. Un critère de sélection connu est le critère a posteriori basé débit-distorsion, représenté par exemple par l'équation suivante : J =sse + X rate avec sse, somme des erreurs au carré, A un coefficient et rate le nombre exact de bits utilisés pour le codage d'un bloc. Dans cette équation : Nù1 2 sse(s,r) = (sy(i,i)ùry(i,i)) i, j=0 avec N la taille du bloc à encoder en nombre de lignes ou de colonnes, i et j les indices relatifs à la ligne et colonne du bloc, sy et ry les valeurs de luminance du bloc courant source et du bloc prédit décodé ou reconstruit. y indique que les mesures sont effectuées sur les composantes luminance.
L'algorithme de décision relatif au choix de codage intra pour le macrobloc de taille 16x16 est relativement simple et ne nécessite pas de puissance de calcul importante, les modes intra testés étant appliqués sur le seul macrobloc. Il en est différemment des blocs 4x4 et 8x8, qui doivent être reconstruits pour pouvoir exploiter les blocs voisins du bloc testé. Le calcul du critère de sélection du mode de codage d'un bloc, celui donnant le 2908007 3 meilleur compromis taux/distorsion, doit être effectué pour l'ensemble des modes de prédiction et est donc très consommateur en termes de puissance de calcul et de temps de traitement de l'unité centrale. La complexité des calculs, dus en partie aux problèmes de récursivité, réduit l'efficacité des 5 circuits de traitement ou nécessite des circuits complexes et coûteux à mettre en oeuvre. Une solution consiste à effectuer deux passes, une première passe basée sur un critère a priori pour sélectionner les meilleurs prédicteurs, par exemple un calcul du type SATD, acronyme de l'anglais io Sum of Absolute Transform Differences et consistant à calculer, pour un bloc de résidus relatif à un bloc prédit, une transformation donnant des coefficients puis la somme de la valeur absolue de ces coefficients. Une deuxième passe permet d'affiner la recherche en exploitant un critère plus élaboré pour les modes retenus lors de la première passe. Ce type de 15 solution n'est cependant pas satisfaisant car il est toujours nécessaire de tester les 9 modes de prédiction pour les blocs de taille 4x4 et les blocs de taille 8x8 et l'économie en termes de coût de calcul ou temps de traitement est limitée, le traitement se faisant en deux passes. La complexité est encore plus grande pour la version high profile .
20 Un des buts de l'invention est de pallier les inconvénients précités. L'invention a pour objet un procédé de codage d'une séquence d'images exploitant des modes de codage intra directionnels prédictifs privilégiant différentes directions de prédiction, pour le codage d'un bloc 25 d'une image, caractérisé en ce que, pour la détermination du mode de codage d'un macrobloc constitué de blocs d'image, il effectue une présélection du ou de modes de codage intra prédictifs directionnels des blocs du macrobloc selon les étapes suivantes : - calcul des activités gradient d'un bloc dans les directions de 30 prédiction, 2908007 4 - présélection du ou des modes de codage intra directionnel du bloc dont les directions correspondent à l'activité ou aux activités gradient de valeur minimum. Selon une mise en oeuvre particulière, la présélection est 5 également effectuée sur le mode de codage intra prédictif DC, une activité DC est affectée au bloc qui est une moyenne pondérée des activités gradient dans les différentes directions de prédiction pour le bloc et ce mode est présélectionné si l'activité est inférieure à l'activité gradient de valeur minimum. io Selon une mise en oeuvre particulière, les modes de codage comportent également des modes de codage inter images, un mode de codage intra non prédictif et un mode de codage intra prédictif DC. Selon une mise en oeuvre particulière, l'étape de calcul de l'activité gradient d'un bloc est effectuée à partir d'une fenêtre de 15 convolution 2D se déplaçant dans le bloc. Selon une mise en oeuvre particulière, les fenêtres de convolution, pour les différentes directions spatiales, sont les suivantes : 0 -1 0 0 0 0 0 0 -1 -1 0 0 Do = 0 0 0 Dl = -1 0 1 D3 = 0 0 0 D4 = 0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 -1 0 0 0 0 0 -1 0 0 0 1 20 D5 = 0 0 0 D6 = -1 0 0 D~ = 0 0 0 D8 = -1 0 0 0 0 1 0 0 1 1 0 0 0 0 0 Selon une mise en oeuvre particulière, la détermination du mode de codage est effectuée à partir d'un critère de sélection coût/distorsion. Selon une mise en oeuvre particulière, pour le codage d'un 25 macrobloc de taille 16x16, le procédé comporte - une étape de préanalyse pour le calcul de chacune des énergies directionnelles relatives à chacun des blocs de dimensions 4x4 et à chacun des blocs de dimension 8x8 du macrobloc, 2908007 5 - une étape de présélection de modes de codage intra prédictifs correspondant aux modes de codage intra directionnels relatifs aux énergies les plus faibles, pour chacun des blocs 4x4 et pour chacun des blocs 8x8, - une étape de sélection de modes de codage intra prédictif par 5 bloc en fonction de la valeur d'un critère coût/distorsion J calculé pour chacun de leurs modes présélectionnés, - une étape de sélection de mode pour le macrobloc en fonction de la valeur d'un critère de sélection J calculé pour le macrobloc 16x16 en prenant en compte les critères calculés pour les modes sélectionnés des 10 blocs constituant le macrobloc, la valeur minimale définissant le partitionnement du macrobloc et les modes de codage intra des partitions. Selon une mise en oeuvre particulière, le critère de sélection coût/distorsion J est égal à: J=sse+2^,•rate 15 avec sse, somme des erreurs au carré entre le bloc courant et le bloc prédit, A un coefficient et rate le nombre exact de bits utilisés pour le codage d'un bloc. Selon une mise en oeuvre particulière: Nù1 2 sse(s,r) = (sy(i,i)ùry(i,i)) i, j=0 20 avec N la taille du bloc à encoder en nombre de lignes ou de colonnes, i et j les indices relatifs à la ligne et colonne du bloc, sy et ry les valeurs de luminance du bloc courant source et du bloc prédit décodé ou reconstruit. L'invention concerne également un dispositif de codage mettant 25 en oeuvre le procédé de codage d'une séquence d'images précédemment décrit, caractérisé en ce qu'il comporte un circuit de préanalyse pour la détermination du mode de codage d'un macrobloc, comprenant un circuit de calcul de gradients de blocs du macrobloc.
2908007 6 L'idée de l'invention est de déterminer, pour un bloc, la direction correspondant à la plus forte énergie, le mode intra choisi étant alors celui dont le bloc prédit correspond à cette direction. En effet, la probabilité d'avoir une prédiction la plus proche du bloc est plus grande dans la 5 direction la moins porteuse d'informations différentes, c'est à dire d'énergie la plus faible. Ces énergies sont par exemple définies à partir des valeurs de gradient. Des fenêtres de convolution sont exploitées, chaque fenêtre privilégiant une direction dans le bloc correspondant à une direction parmi io celles relatives aux modes de codage intra proposés par la norme MPEG4. Ces fenêtres permettent de calculer les énergies directionnelles et en particulier la direction possédant la plus forte énergie. Grâce à l'invention, il n'est plus nécessaire de tester l'ensemble des prédicteurs et donc d'effectuer des calculs complexes et longs pour 15 définir un mode de prédiction intra. D'autres particularités et avantages de l'invention apparaîtront clairement dans la description suivante donnée à titre d'exemple non limitatif, et faite en regard des figures annexées qui représentent ; 20 -la figure 1, les différents modes de prédiction pour le codage intra de blocs 4x4, - la figure 2 un organigramme du procédé de codage. Le procédé de codage selon l'invention met en oeuvre un 25 algorithme d'analyse qui permet de réduire le nombre de prédicteurs 4x4 et 8x8 à tester. Il est basé sur une analyse de gradients dans les différentes directions pour déterminer une direction privilégiée d'un bloc de pixels. Pour ce faire, une solution consiste à effectuer des calculs à partir des matrices suivantes. Il s'agit en fait de 8 fenêtres ou noyaux de convolution 2D définis 30 selon les 8 directions précédemment décrites pour la prédiction des modes intra, le mode DC étant exclu.
2908007 Do = D5 = D1= D6 = 7 D3 = D~ = D4 = D8 = 5 0 -1 0 0 0 0 0 1 0 0 -1 0 0 0 0 0 0 1 0 0 0 -1 0 1 0 0 0 0 0 0 -1 0 0 0 0 1 o o -1 0 0 0 1 0 0 0 -1 0 0 0 0 1 0 0 -1 0 0 0 0 0 0 0 1 0 0 1 -1 0 0 0 0 0 Les énergies directionnelles Eo à E$ sont calculées selon l'expression : N-1,N-1 Ed = L(Y*Dd)(i,j) i=o,i=o 10 I et j sont les index des pixels contenus dans la sous-partition ou bloc à encoder, Y est la valeur de luminance d est l'index correspondant aux différentes directions de prédiction, 0 à 8 représentées à la figure 1, 15 * est l'opérateur de convolution. Ed est donc la sommation des NxN convolutions. Par exemple, pour la direction d = 1 et pour le pixel (1, 1) du bloc courant, c'est à dire ligne i=1, colonne j=1, la valeur calculée est la luminance du pixel (1, 2) moins la luminance du pixel (1, 0). L'ensemble des 20 valeurs calculées sur le bloc donne Ed. Il y a donc 16 sommations pour les blocs de dimensions 4x4 et 64 sommations pour les blocs de dimensions 8x8. S'agissant de masques inversés, la valeur d'énergie Ed la plus faible qui correspond donc à la plus faible activité gradient dans cette 25 direction d, définit la direction d et donc le prédicteur à exploiter pour le calcul du codage intra.
2908007 8 Il est possible, plutôt que de ne conserver qu'un seul prédicteur, de sélectionner p prédicteurs donnant les valeurs d'énergie les plus faibles puis de les tester de manière classique, pour n'en conserver qu'un seul. Un premier algorithme de présélection consiste à sélectionner 5 systématiquement, parmi ces p prédicteurs, celui correspondant au mode DC. Par exemple, l'histogramme du bloc source de l'image donnant les valeurs d'énergies Ed du bloc en fonction des modes d de prédiction intra est exploité en forçant la valeur de E2 à zéro. La probabilité de sélection du mode DC est en effet plus grande que celle des autres modes lors de la io mise en oeuvre de l'algorithme de décision de mode de codage intra, par exemple l'algorithme d'optimisation taux/distorsion connu sous l'appellation RDO pour rate distortion optimization . Un bon compromis entre le nombre de calculs à effectuer et la perte engendrée par un moindre choix, consiste à présélectionner les modes 15 correspondant aux 3 énergies les plus faibles parmi les 9 directions disponibles en imposant, parmi les 3 modes, le mode DC. Parmi ces 3 modes, celui sélectionné sera celui donnant la plus faible valeur du critère de sélection J. Un second algorithme de présélection consiste à attribuer une 20 valeur d'énergie particulière au mode DC. Cette valeur est choisie égale à la moyenne pondérée de tous les modes dans chacune des directions, donc excepté D2. d=8 Eavr - g L(Ed) avec d # 2 E2 = Eavr x 0,8125.
25 Cette pondération, par exemple d'un coefficient 0,8125, calculé de manière empirique, permet de favoriser le mode DC lorsque les énergies directionnelles ont des valeurs voisines, la probabilité d'avoir une valeur E2 plus faible que les autres énergies étant plus grande. Et, dans le cas d'énergies uniformes, c'est à dire dans le cas où aucune orientation claire d=0 2908007 9 n'apparaît, l'exploitation du mode de prédiction intra DC paraît le plus pertinent. La figure 2 représente un organigramme du procédé selon 5 l'invention. Un macrobloc courant, de taille 16x16 pixels, de l'image à coder est pris en compte à l'étape 1. Une préanalyse, étape 2, est effectuée sur ce macrobloc. Cette préanalyse consiste à calculer les énergies directionnelles Ed, y compris l'énergie EDc, comme indiqué précédemment, sur les 4 blocs 10 8x8 et les 16 blocs 4x4 composant le macrobloc. N-1,N1 Ed = L(Y*Dd)(i,J) i=oj=o d=8 _ (0,8125)- E(Ed) avec d # 2 8 d=0 Les 2 modes de prédiction directionnelle donnant la plus faible valeur d'énergie ainsi que le mode DC sont par exemple choisis pour chacun 15 des blocs, à savoir 4 x 3 prédictions pour les blocs de taille 8x8 et 16 x 3 prédictions pour les blocs de taille 4x4. L'étape suivante 3 effectue un calcul du critère de sélection J pour chacun des modes d intra retenus à l'étape précédente, appelés modd. Les blocs prédits relatifs aux différents modes intra, mode DC ou modes 20 directionnels, sont définis par exemple au chapitre 8.5 intitulé intra prediction du document relatif à la norme H264 et référencé ISO/IEC 14496-10 ou au chapitre 8.3 intitulé intra prediction process du document ITU-T Rec. H264 (2006). Ces blocs prédits sont exploités pour le calcul du critère de sélection. Cette étape fournit donc une valeur de J pour 25 chacun des 4 blocs 8x8 et chacun des 16 blocs 4x4 du macrobloc. J(modd) = sse(s, predmodd) + 2intra blockcos tmodd 2908007 10 - sse est la somme des erreurs au carré, c'est à dire des différences au carré, pixel à pixel, entre la luminance des pixels du bloc source s et du bloc prédit predmodd pour le mode d. -blockcostmodd correspond au coût de codage du bloc pour le mode 5 d, le paramètre - Àintra est une valeur de coefficient prédéfinie permettant de pondérer le coût et la distorsion de codage lors d'un codage en mode modd. Cette étape effectue ensuite une sélection des modes d correspondant à la plus faible valeur de J, soit un mode d pour chacun des io blocs 8x8 et un mode d pour chacun des blocs 4x4. L'étape 4 qui suit récupère ces 4 + 16 modes et les valeurs de J associées aux modes d sélectionnés ; Elle compare, dans une première phase, la somme des valeurs de J des 16 blocs 4x4 à celle des 4 blocs 8x8. Le mode intra choisi pour le macrobloc, pour cette première phase, qui 15 définit à la fois le partitionnement du macrobloc et le mode des blocs de la partition, est celui donnant la plus faible valeur de J pour l'ensemble du macrobloc. Une deuxième phase consiste à comparer le mode intra ainsi sélectionné et relatif aux prédictions sur des blocs 4x4 ou 8x8 du macrobloc, aux modes de codage intra 16x16 relatifs aux prédictions sur l'ensemble du 20 macrobloc 16x16, pour sélectionner le mode de codage intra le plus efficace. Une étape ultérieure, non représentée sur la figure, consiste à comparer à nouveau ce mode de codage intra aux autres modes de codage mis en oeuvre par le codeur tels que les modes de codage de type inter, pour le choix final du mode de codage du macrobloc.
25 Il serait bien sûr également possible de traiter le mode de codage intra prédictif 16x16 du macrobloc à partir des fenêtres de convolution et donc en même temps que les modes de codage intra prédictifs 4x4 et 8x8, en exploitant les fenêtres correspondant aux directions horizontales et verticales dans le cas ou seules ces directions sont exploitées, c'est à dire 30 dans la version high profile de la norme. Le mode plan peut être traité séparément, par exemple en pondérant la somme des énergies dans les 2908007 11 directions horizontale et verticale mais de manière moindre que pour le mode DC. L'invention concerne également un dispositif de codage mettant 5 en oeuvre le procédé de codage précédemment décrit. Ce dispositif comporte un circuit de préanalyse pour la détermination du mode de codage intra d'un macrobloc. Ce circuit comprend des moyens de calcul de gradients de blocs du macrobloc pour effectuer les calculs des activités gradient des blocs dans les différentes directions. Le circuit de préanalyse 10 présélectionne, pour chaque bloc, par exemple les 2 modes intra directionnels donnant l'activité de gradient la plus faible ainsi que le mode intra DC. Il effectue un calcul classique basé sur le critère coût/distorsion, pour ces modes présélectionnés, pour déterminer le mode intra du macrobloc à comparer aux autres modes mis en oeuvre par le codeur.
15 L'invention a été décrite pour des blocs de taille 4x4 et 8x8 constituant un macrobloc de taille 16x16. Elle s'applique cependant à tout type de bloc dont la taille correspond à une des tailles de bloc choisies pour la définition des modes de codage intra directionnels prédictifs. L'invention 20 peut aussi bien s'appliquer à des blocs de luminance qu'à des blocs de chrominance. Les applications concernent la compression de données, les standards concernés sont le standard MPEG4 part 10 et tous les standards à venir exploitant le mode de codage intra directionnel prédictif. 25
Claims (10)
1. Procédé de codage d'une séquence d'images exploitant des modes de codage intra directionnels prédictifs privilégiant différentes directions de prédiction, pour le codage d'un bloc d'une image, caractérisé en ce que, pour la détermination du mode de codage d'un macrobloc (1, 3, 4) constitué de blocs d'image, il effectue une présélection (2) du ou de modes de codage intra prédictifs directionnels des blocs du macrobloc selon les étapes suivantes : - calcul des activités gradient d'un bloc (2) dans les directions de prédiction, - présélection du ou des modes de codage intra directionnel (2) du bloc dont les directions correspondent à l'activité ou aux activités gradient de valeur minimum.
2. Procédé selon la revendication 1, caractérisé en ce que la présélection est également effectuée sur le mode de codage intra prédictif DC (2), en ce qu'une activité DC est affectée au bloc qui est une moyenne pondérée des activités gradient dans les différentes directions de prédiction pour le bloc et en ce que ce mode est présélectionné si l'activité est inférieure à l'activité gradient de valeur minimum.
3. Procédé selon la revendication 1, caractérisé en ce que les modes de codage comportent également des modes de codage inter images, un mode de codage intra non prédictif et un mode de codage intra prédictif DC (2).
4. Procédé selon la revendication 1, caractérisé en ce que l'étape de calcul de l'activité gradient d'un bloc est effectuée à partir d'une fenêtre de convolution 2D se déplaçant dans le bloc.
5. Procédé selon la revendication 4, caractérisé en ce que les fenêtres de convolution, pour les différentes directions spatiales, sont les suivantes : 2908007 0 -1 0 0 0 0 D 0 = 0 0 0 D1 = -1 0 1 D3= 0 1 0 0 0 0 0 0 -1 0 0 0 1 0 0 -1 0 0 D4= 0 0 0 0 0 1 -0 -1 0 - 0 0 0_ D5= 0 0 0 D6= -1 0 0 0 0 1 _0 0 1 _ 0 -1 0 0 0 1 D,=0 0 0 D8= -1 0 0 1 0 0 0 0 0
6. Procédé selon la revendication 1, caractérisé en ce que la détermination du mode de codage est effectuée à partir d'un critère de sélection coût/distorsion.
7. Procédé selon la revendication 1, pour le codage d'un macrobloc de taille 16x16, caractérisé en ce qu'il comporte - une étape de préanalyse (2) pour le calcul de chacune des énergies directionnelles relatives à chacun des blocs de dimensions 4x4 et à chacun des blocs de dimension 8x8 du macrobloc, - une étape de préselection (2) de modes de codage intra prédictifs correspondant aux modes de codage intra directionnels relatifs aux énergies les plus faibles, pour chacun des blocs 4x4 et pour chacun des blocs 8x8, - une étape de sélection (3) de modes de codage intra prédictif par bloc en fonction de la valeur d'un critère coût/distorsion J calculé pour chacun de leurs modes présélectionnés, - une étape de sélection de mode pour le macrobloc en fonction de la valeur d'un critère de sélection J (3) calculé pour le macrobloc 16x16 en prenant en compte les critères calculés pour les modes sélectionnés des blocs constituant le macrobloc, la valeur minimale définissant le partitionnement du macrobloc et les modes de codage intra des partitions.
8. Procédé selon la revendication 6, caractérisé en ce que le critère de sélection coût/distorsion J est égal à: J=sse+•rate 2908007 14 avec sse, somme des erreurs au carré entre le bloc courant et le bloc prédit, X un coefficient et rate le nombre exact de bits utilisés pour le codage d'un bloc.
9. Procédé selon la revendication 7, caractérisé en ce que: N-1 2 sse(s,r)= E(sy(i, j)-ry(i,_0) i, j=0 avec N la taille du bloc à encoder en nombre de lignes ou de colonnes, i et j les indices relatifs à la ligne et colonne du bloc, sy et ry les valeurs de luminance du bloc courant source et du bloc prédit décodé ou reconstruit.
10. Dispositif de codage pour la mise en oeuvre du procédé selon l'une des revendications précédentes, caractérisé en ce qu'il comporte un circuit de préanalyse pour la détermination du mode de codage d'un macrobloc, comprenant un circuit de calcul de gradients de blocs du macrobloc.
Priority Applications (6)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
FR0654652A FR2908007A1 (fr) | 2006-10-31 | 2006-10-31 | Procede de codage d'une sequence d'images |
CN200780040296.8A CN101529916B (zh) | 2006-10-31 | 2007-10-26 | 利用帧内编码选择的视频编码 |
PCT/EP2007/061571 WO2008052950A1 (fr) | 2006-10-31 | 2007-10-26 | Codage video avec selection du mode de codage intra |
JP2009533872A JP5065404B2 (ja) | 2006-10-31 | 2007-10-26 | イントラ符号化選択によるビデオ符号化 |
EP07821931A EP2078424A1 (fr) | 2006-10-31 | 2007-10-26 | Codage video avec selection du mode de codage intra |
US12/312,117 US8325804B2 (en) | 2006-10-31 | 2007-10-26 | Video encoding with intra encoding selection |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
FR0654652A FR2908007A1 (fr) | 2006-10-31 | 2006-10-31 | Procede de codage d'une sequence d'images |
Publications (1)
Publication Number | Publication Date |
---|---|
FR2908007A1 true FR2908007A1 (fr) | 2008-05-02 |
Family
ID=38273155
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
FR0654652A Pending FR2908007A1 (fr) | 2006-10-31 | 2006-10-31 | Procede de codage d'une sequence d'images |
Country Status (6)
Country | Link |
---|---|
US (1) | US8325804B2 (fr) |
EP (1) | EP2078424A1 (fr) |
JP (1) | JP5065404B2 (fr) |
CN (1) | CN101529916B (fr) |
FR (1) | FR2908007A1 (fr) |
WO (1) | WO2008052950A1 (fr) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2009080133A1 (fr) * | 2007-12-21 | 2009-07-02 | Telefonaktiebolaget Lm Ericsson (Publ) | Sélection adaptative de mode intra |
EP2280548A1 (fr) * | 2009-07-30 | 2011-02-02 | Thomson Licensing | Procédé de décodage d'un flux de données codées représentatif d'une séquence d'images et procédé de codage d'une séquence d'images |
Families Citing this family (35)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8023562B2 (en) | 2007-09-07 | 2011-09-20 | Vanguard Software Solutions, Inc. | Real-time video coding/decoding |
US8467451B2 (en) * | 2007-11-07 | 2013-06-18 | Industrial Technology Research Institute | Methods for selecting a prediction mode |
CN101605255B (zh) * | 2008-06-12 | 2011-05-04 | 华为技术有限公司 | 一种视频编解码的方法及装置 |
WO2010102935A1 (fr) * | 2009-03-09 | 2010-09-16 | Thomson Licensing | Estimation du mode de prédiction pour le mode de codage intra |
TWI442777B (zh) * | 2009-06-23 | 2014-06-21 | Acer Inc | 空間性錯誤隱藏方法 |
WO2011047542A1 (fr) * | 2009-10-22 | 2011-04-28 | 浙江大学 | Système de codage/décodage d'images et de vidéos à base de prédiction dans le domaine spatial |
WO2011100347A2 (fr) * | 2010-02-09 | 2011-08-18 | Vanguard Software Solutions, Inc. | Système et algorithmes de codage de séquences vidéo |
US8559512B2 (en) | 2010-05-05 | 2013-10-15 | Ceva D.S.P. Ltd. | Device, system, and method for predicting residual data for intra and inter frame encoding of image or video data |
US20110274169A1 (en) * | 2010-05-05 | 2011-11-10 | Paz Adar | Device, system, and method for spatially encoding video data |
CN101888549B (zh) * | 2010-06-18 | 2012-05-02 | 浙江大学 | 基于变换域信息的帧内4×4预测模式选择方法 |
KR101530284B1 (ko) * | 2010-07-16 | 2015-06-19 | 삼성전자주식회사 | 영상의 인트라 예측 부호화, 복호화 방법 및 장치 |
US9025661B2 (en) * | 2010-10-01 | 2015-05-05 | Qualcomm Incorporated | Indicating intra-prediction mode selection for video coding |
WO2012057528A2 (fr) * | 2010-10-26 | 2012-05-03 | ㈜휴맥스 | Procédé de codage et de décodage à prédiction intra adaptative |
CN104811713B (zh) | 2010-12-21 | 2018-01-02 | 株式会社Ntt都科摩 | 使用平面表达的增强帧内预测编码 |
US20130259121A1 (en) | 2010-12-27 | 2013-10-03 | Nec Corporation | Video encoding device, video decoding device, video encoding method, video decoding method, and program |
US9338476B2 (en) * | 2011-05-12 | 2016-05-10 | Qualcomm Incorporated | Filtering blockiness artifacts for video coding |
TWI487381B (zh) * | 2011-05-19 | 2015-06-01 | Nat Univ Chung Cheng | Predictive Coding Method for Multimedia Image Texture |
US9654785B2 (en) | 2011-06-09 | 2017-05-16 | Qualcomm Incorporated | Enhanced intra-prediction mode signaling for video coding using neighboring mode |
JP5823608B2 (ja) * | 2011-06-20 | 2015-11-25 | メディア テック シンガポール ピーティーイー.リミテッド | 方向性イントラ予測の方法及び装置 |
KR101821867B1 (ko) * | 2011-06-24 | 2018-01-24 | 미쓰비시덴키 가부시키가이샤 | 화상 복호 장치, 화상 복호 방법, 화상 부호화 장치, 화상 부호화 방법 및 기록 매체 |
US20130016769A1 (en) | 2011-07-17 | 2013-01-17 | Qualcomm Incorporated | Signaling picture size in video coding |
US9398300B2 (en) * | 2011-10-07 | 2016-07-19 | Texas Instruments Incorporated | Method, system and apparatus for intra-prediction in video signal processing using combinable blocks |
US9503750B2 (en) * | 2011-11-04 | 2016-11-22 | Futurewei Technologies, Inc. | Binarization of prediction residuals for lossless video coding |
WO2013074964A1 (fr) * | 2011-11-16 | 2013-05-23 | Vanguard Software Solutions, Inc. | Compression vidéo pour un codage vidéo haute efficacité |
US20140064366A1 (en) * | 2012-09-03 | 2014-03-06 | Texas Instruments Incorporated | Intra-Prediction Estimation Using Approximate Reconstructed Samples |
TW201419876A (zh) * | 2012-11-02 | 2014-05-16 | Ind Tech Res Inst | 具有方向性的預測模式的搜尋方法及搜尋裝置 |
US9106922B2 (en) | 2012-12-19 | 2015-08-11 | Vanguard Software Solutions, Inc. | Motion estimation engine for video encoding |
WO2015015404A2 (fr) * | 2013-07-29 | 2015-02-05 | Riversilica Technologies Pvt Ltd | Procédé et système de détermination d'une décision intra-mode dans un codage vidéo h.264 |
CN105391999B (zh) * | 2015-10-30 | 2018-08-17 | 北京奇艺世纪科技有限公司 | 一种编码模式判断方法和装置 |
KR20230057479A (ko) | 2015-11-11 | 2023-04-28 | 삼성전자주식회사 | 비디오 복호화 방법 및 그 장치 및 비디오 부호화 방법 및 그 장치 |
CN106101731B (zh) * | 2016-07-21 | 2019-06-21 | 北京奇艺世纪科技有限公司 | 图像无损压缩方法及装置 |
CN110710215A (zh) | 2017-09-08 | 2020-01-17 | 株式会社Kt | 视频信号处理方法及装置 |
CN109510983B (zh) * | 2018-10-26 | 2020-08-11 | 苏州龙盈软件开发有限公司 | 带宽压缩中复杂纹理的多模式选择预测方法 |
CN109640081B (zh) * | 2019-02-14 | 2023-07-14 | 深圳市网心科技有限公司 | 一种帧内预测方法、编码器、电子设备及可读存储介质 |
CN110677691B (zh) * | 2019-09-27 | 2022-09-13 | 腾讯科技(深圳)有限公司 | 视频编码、解码方法和装置、存储介质及电子装置 |
Family Cites Families (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1297148C (zh) * | 2001-08-28 | 2007-01-24 | 株式会社Ntt都科摩 | 动画图像编码传送系统、动画图像编码传送方法、该系统和方法使用的适合的编码装置、译码装置、编码方法、译码方法以及程序 |
JP2004304724A (ja) | 2003-04-01 | 2004-10-28 | Sony Corp | 画像処理装置とその方法、並びに符号化装置 |
EP1658728A1 (fr) * | 2003-08-26 | 2006-05-24 | Thomson Licensing | Procede et dispositif pour le decodage de blocs a codage inter-intra hybride |
CN1224270C (zh) * | 2003-09-30 | 2005-10-19 | 清华大学 | 用于宏块组结构的两阶段预测编码的帧内编码帧编码方法 |
JP4515886B2 (ja) | 2003-10-28 | 2010-08-04 | パナソニック株式会社 | 面内予測符号化方法 |
CN100534192C (zh) | 2003-10-28 | 2009-08-26 | 松下电器产业株式会社 | 帧内预测编码方法 |
JP4127818B2 (ja) * | 2003-12-24 | 2008-07-30 | 株式会社東芝 | 動画像符号化方法及びその装置 |
CN100536573C (zh) * | 2004-01-16 | 2009-09-02 | 北京工业大学 | 基于方向的dc预测方法及用于视频编码的帧内预测方法 |
JP2006005659A (ja) * | 2004-06-17 | 2006-01-05 | Canon Inc | 画像符号化装置及びその方法 |
US8369402B2 (en) | 2004-06-17 | 2013-02-05 | Canon Kabushiki Kaisha | Apparatus and method for prediction modes selection based on image formation |
CN100484249C (zh) * | 2005-09-25 | 2009-04-29 | 海信集团有限公司 | 视频帧间编码基于边缘方向的帧内预测方法 |
-
2006
- 2006-10-31 FR FR0654652A patent/FR2908007A1/fr active Pending
-
2007
- 2007-10-26 WO PCT/EP2007/061571 patent/WO2008052950A1/fr active Application Filing
- 2007-10-26 US US12/312,117 patent/US8325804B2/en not_active Expired - Fee Related
- 2007-10-26 CN CN200780040296.8A patent/CN101529916B/zh not_active Expired - Fee Related
- 2007-10-26 JP JP2009533872A patent/JP5065404B2/ja not_active Expired - Fee Related
- 2007-10-26 EP EP07821931A patent/EP2078424A1/fr not_active Withdrawn
Non-Patent Citations (6)
Title |
---|
ELLEN L. WALKER: "Class notes of the course CPSC 320-00 Computer Vision (Fall '04 12-week), Week 5 (Smoothing & Edge Detection)", 21 September 2004 (2004-09-21), Computer Science Department, Hiram College, Hiram, USA, pages 1 - 20, XP002444467, Retrieved from the Internet <URL:http://cs.hiram.edu/~walkerel/cs320/> [retrieved on 20070726] * |
HUNG-CHIH LIN ET AL: "Algorithms and DSP implementation of H.264/AVC", DESIGN AUTOMATION, 2006. ASIA AND SOUTH PACIFIC CONFERENCE ON JAN. 24, 2006, PISCATAWAY, NJ, USA,IEEE, 24 January 2006 (2006-01-24), pages 742 - 749, XP010901162, ISBN: 0-7803-9451-8 * |
JHING-FA WANG; JIA-CHING WANG; JANG-TING CHEN; AN-CHAO TSAI; ANAND PAUL: "A novel fast algorithm for intra mode decision in H.264/AVC encoders", PROCEEDINGS OF THE IEEE INTERNATIONAL SYMPOSIUM ON CIRCUITS AND SYSTEMS (ISCAS) 2006, 21 May 2006 (2006-05-21) - 24 May 2006 (2006-05-24), Island of Kos, Greece, IEEE,Piscataway, NJ, USA, pages 3498 - 3501, XP002444466 * |
JONGHO KIM ET AL: "Complexity Reduction Algorithm for Intra Mode Selection in H.264/AVC Video Coding", ADVANCED CONCEPTS FOR INTELLIGENT VISION SYSTEMS LECTURE NOTES IN COMPUTER SCIENCE;;LNCS, SPRINGER BERLIN HEIDELBERG, BE, vol. 4179, September 2006 (2006-09-01), pages 454 - 465, XP019043366, ISBN: 978-3-540-44630-9 * |
JUN SUNG PARK ET AL: "Fast selective intra mode decision in H.264/AVC", CONSUMER COMMUNICATIONS AND NETWORKING CONFERENCE, 2006. CCNC 2006. 2006 3RD IEEE LAS VEGAS, NV, USA 8-10 JAN. 2006, PISCATAWAY, NJ, USA,IEEE, 8 January 2006 (2006-01-08), pages 1068 - 1072, XP010893339, ISBN: 1-4244-0085-6 * |
PAN F ET AL: "FAST MODE DECISION ALGORITHM FOR INTRAPREDICTION IN H.264/AVC VIDEO CODING", IEEE TRANSACTIONS ON CIRCUITS AND SYSTEMS FOR VIDEO TECHNOLOGY, IEEE SERVICE CENTER, PISCATAWAY, NJ, US, vol. 15, no. 7, July 2005 (2005-07-01), pages 813 - 822, XP001233003, ISSN: 1051-8215 * |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2009080133A1 (fr) * | 2007-12-21 | 2009-07-02 | Telefonaktiebolaget Lm Ericsson (Publ) | Sélection adaptative de mode intra |
CN101971631B (zh) * | 2007-12-21 | 2013-03-27 | 艾利森电话股份有限公司 | 自适应帧内模式选择 |
US8670488B2 (en) | 2007-12-21 | 2014-03-11 | Telefonaktiebolaget Lm Ericsson (Publ) | Adaptive intra mode selection |
EP2280548A1 (fr) * | 2009-07-30 | 2011-02-02 | Thomson Licensing | Procédé de décodage d'un flux de données codées représentatif d'une séquence d'images et procédé de codage d'une séquence d'images |
US8520960B2 (en) | 2009-07-30 | 2013-08-27 | Thomson Licensing | Method for decoding a stream of coded data representative of a sequence of images and method for coding a sequence of images |
Also Published As
Publication number | Publication date |
---|---|
EP2078424A1 (fr) | 2009-07-15 |
WO2008052950A1 (fr) | 2008-05-08 |
JP2010508684A (ja) | 2010-03-18 |
US20100054331A1 (en) | 2010-03-04 |
CN101529916B (zh) | 2012-07-18 |
CN101529916A (zh) | 2009-09-09 |
US8325804B2 (en) | 2012-12-04 |
JP5065404B2 (ja) | 2012-10-31 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
FR2908007A1 (fr) | Procede de codage d'une sequence d'images | |
EP2105031B1 (fr) | Représentation de filtre adaptatif | |
JP5606625B2 (ja) | ビデオ符号化のための高度な動きモデルを使った参照処理 | |
EP4496311A2 (fr) | Procédé et dispositif de codage/décodage vidéo, et support de stockage | |
EP2446628B1 (fr) | Procédé de décodage d'images, dispositifs de décodage et programme d'ordinateur correspondants | |
EP2529553B1 (fr) | Encodeur vidéo, décodeur vidéo, procédé d'encodage vidéo et procédé de décodage vidéo, séparément pour chaque plan de couleur | |
FR2872973A1 (fr) | Procede ou dispositif de codage d'une sequence d'images sources | |
EP2775718B1 (fr) | Procédé, dispositif et programme permettant un codage et un décodage d'images | |
CN104380730A (zh) | 模式依赖帧内平滑的简化 | |
WO2007090780A1 (fr) | Derivation du mode de codage ou bitrame au niveau d'une paire de macroblocs video | |
EP2805501A1 (fr) | Simplification de mode lm | |
TW202315408A (zh) | 以區塊為基礎之預測技術 | |
EP2351373B1 (fr) | Codage et decodage avec elimination d'un ou plusieurs predicteurs predetermines | |
Chen et al. | Transform-domain intra prediction for H. 264 | |
WO2010149914A1 (fr) | Procedes de codage et de decodage d'images, dispositifs de codage et de decodage, et programme d'ordinateur correspondants | |
Soh et al. | Reduction of video compression artifacts based on deep temporal networks | |
EP2279621B1 (fr) | Procédé de codage, de décodage, codeur et décodeur | |
US20240129495A1 (en) | Method and apparatus for encoding/decoding image signal | |
EP1952637B1 (fr) | Procede et dispositif de codage d'une image video | |
EP2377323B1 (fr) | Prédiction d'images par repartionnement d'une portion de zone causale de référence, codage et decodage utilisant une telle prédiction | |
Chiang et al. | Fast intra mode decision and fast CU size decision for depth video coding in 3D-HEVC | |
Hu et al. | Deep inter prediction with error-corrected auto-regressive network for video coding | |
Yasin et al. | Review and evaluation of end-to-end video compression with deep-learning | |
Dong et al. | Temporal wavelet transform-based low-complexity perceptual quality enhancement of compressed video | |
He et al. | Fast mode decision and PU size decision algorithm for intra depth coding in 3D-HEVC |