FR3022723A1 - Procede de selection d'au moins un parametre de codage dans un encodeur video, sous une contrainte supplementaire de regularite. - Google Patents

Procede de selection d'au moins un parametre de codage dans un encodeur video, sous une contrainte supplementaire de regularite. Download PDF

Info

Publication number
FR3022723A1
FR3022723A1 FR1455665A FR1455665A FR3022723A1 FR 3022723 A1 FR3022723 A1 FR 3022723A1 FR 1455665 A FR1455665 A FR 1455665A FR 1455665 A FR1455665 A FR 1455665A FR 3022723 A1 FR3022723 A1 FR 3022723A1
Authority
FR
France
Prior art keywords
current
reconstructed
image portion
coding
module
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
FR1455665A
Other languages
English (en)
Other versions
FR3022723B1 (fr
Inventor
Tanou Julien Le
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
MK Systems USA Inc
Original Assignee
Envivio France SARL
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Envivio France SARL filed Critical Envivio France SARL
Priority to FR1455665A priority Critical patent/FR3022723B1/fr
Priority to US14/745,005 priority patent/US9888254B2/en
Publication of FR3022723A1 publication Critical patent/FR3022723A1/fr
Application granted granted Critical
Publication of FR3022723B1 publication Critical patent/FR3022723B1/fr
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/513Processing of motion vectors
    • H04N19/521Processing of motion vectors for estimating the reliability of the determined motion vectors or motion vector field, e.g. for smoothing the motion vector field or for correcting motion vectors
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods 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/103Selection of coding mode or of prediction mode
    • H04N19/107Selection of coding mode or of prediction mode between spatial and temporal predictive coding, e.g. picture refresh
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods 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/103Selection of coding mode or of prediction mode
    • H04N19/109Selection of coding mode or of prediction mode among a plurality of temporal predictive coding modes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods 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/103Selection of coding mode or of prediction mode
    • H04N19/11Selection of coding mode or of prediction mode among a plurality of spatial predictive coding modes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods 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/117Filters, e.g. for pre-processing or post-processing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods 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/12Selection from among a plurality of transforms or standards, e.g. selection between discrete cosine transform [DCT] and sub-band transform or selection between H.263 and H.264
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods 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/124Quantisation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods 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/13Adaptive entropy coding, e.g. adaptive variable length coding [AVLC] or context adaptive binary arithmetic coding [CABAC]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods 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/146Data rate or code amount at the encoder output
    • H04N19/147Data rate or code amount at the encoder output according to rate distortion criteria
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods 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/17Methods 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/176Methods 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/189Methods 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/19Methods 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/44Decoders specially adapted therefor, e.g. video decoders which are asymmetric with respect to the encoder
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/567Motion estimation based on rate distortion criteria
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/60Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
    • H04N19/61Methods 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)
  • Physics & Mathematics (AREA)
  • Discrete Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)

Abstract

Il est proposé un procédé de sélection, pour une portion d'image à coder courante et pour au moins un module de codage (0 à 6) compris dans un encodeur vidéo, d'au moins un paramètre de codage parmi un ensemble de paramètres de codage disponibles pour le au moins un module de codage. Le procédé est basé sur un modèle décisionnel définissant une minimisation, sous une contrainte de débit, d'une première mesure de distorsion entre des échantillons sources, compris dans la portion d'image à coder courante, et des échantillons reconstruits courants, compris dans une portion d'image reconstruite courante, obtenue à partir de la portion d'image à coder courante. Le modèle décisionnel définit la minimisation sous une contrainte supplémentaire de régularité, portant sur une seconde mesure de distorsion entre les échantillons reconstruits courants et des échantillons reconstruits précédents, appartenant à un voisinage de référence spatial et/ou temporel comprenant au moins une portion d'image reconstruite précédente, obtenue à partir d'au moins une portion d'image codée précédente.

Description

1 Procédé de sélection d'au moins un paramètre de codage dans un encodeur vidéo, sous une contrainte supplémentaire de régularité. 1. DOMAINE DE L'INVENTION Le domaine de l'invention est celui de la compression de données vidéo.
L'objectif de la compression vidéo est de réduire la quantité de données contenue dans une séquence vidéo, tout en préservant la qualité visuelle perçue d'origine ; et ainsi réduire les coûts de stockage et de transmission des données vidéo considérées. Les données vidéo contiennent une très grande redondance statistique, aussi bien dans le domaine temporel que dans le domaine spatial. Les techniques de compression exploitent cette redondance statistique, i.e. la corrélation entre les pixels composants une séquence d'images, en utilisant des mécanismes avancés de prédiction, afin de réduire la quantité de données à stocker ou transmettre. Plus précisément, l'invention concerne une technique de sélection, pour une portion d'image à coder courante et pour au moins un module de codage compris dans un encodeur vidéo, d'au moins un paramètre de codage parmi un ensemble de paramètres de codage disponibles pour ledit au moins un module de codage. 2. ARRIÈRE-PLAN TECHNOLOGIQUE Dans le cas du populaire encodeur vidéo hybride, on distingue principalement deux familles de prédiction (ou codage) : les méthodes dites de prédiction Intra et les méthodes dites de prédiction Inter. La prédiction Intra exploite la corrélation entre les pixels appartenant à un même voisinage spatial (i.e. au sein d'une même image, Intra image), tandis que la prédiction Inter exploite la corrélation entre les pixels appartenant à un même voisinage temporel (i.e. entre plusieurs images voisines temporellement, Inter image). Chaque image est traitée séquentiellement et généralement par bloc (le traitement par bloc est non limitatif et la présente description reste vraie pour n'importe qu'elle portion d'image). Pour chaque bloc, après prédiction Intra ou Inter des échantillons sources, les échantillons résiduels (issus de la différence entre les échantillons sources et prédits) sont successivement transformés, quantifiés et codés à l'aide d'un codage entropique.
3022723 2 La figure 1 présente un schéma bloc générique d'un exemple d'encodeur vidéo hybride connu (i.e. faisant partie de l'état de la technique). Les flèches pointillées référencées 11 et 12 représentent les critères d'optimisation (d'une part « R = RT » et d'autre part « M/N(D(s,n) », comme détaillé plus bas) utilisés par un module de 5 décision (aussi appelé « module décisionnel ») 10. Les flèches pointillées référencées DS0 à DS6 représentent les décisions de sortie envoyées aux différents modules de codage contrôlés par le module décisionnel 10. Chaque module de codage contrôlé par le module décisionnel est numéroté de 0 à 6, et la décision de sortie associée est indexée du même numéro, précédé de « DS ». Les flèches référencées 14 et 15 représentent des 10 informations secondaires fournies aux différents modules de codage contrôlés par le module décisionnel 10. Pour une séquence d'images à encoder, chaque portion d'image source (portion d'image à coder courante, dans une image à coder courante) traverse l'ensemble des modules de codage représentés. Les échantillons sources, s, sont tout d'abord prédits à 15 l'aide d'un circuit de prédiction 600 (comprenant dans cet exemple un module de prédiction Intra 4, un module de prédiction Inter 5 et un module de sélection 6). Le résultat de la prédiction est un ensemble d'échantillons prédits, p, que l'on soustrait aux échantillons sources s (par un module de soustraction 16), aboutissant à des échantillons résiduels r. Les échantillons résiduels sont successivement transformés (par un module 20 de transformation 0), quantifiés (par un module de quantification 1), codés à l'aide d'un codage entropique (par un module de codage entropique 2) puis transmis au décodeur. La boucle de décodage est reproduite à l'encodeur afin de reconstruire les échantillons codés, disponibles au décodeur, et de les utiliser comme référence pour la prédiction. Ainsi, les échantillons résiduels transformés quantifiés E (en sortie du module de 25 quantification 1) sont successivement dé-quantifiés (par un module de quantification inverse 7), dé-transformés (par un module de transformation inverse 8), sommés aux échantillons prédits (par un module d'addition 13) et éventuellement post-filtrés (par un module de filtrage de boucle 3). Les échantillons reconstruits résultants .§ sont ensuite stockés en mémoire (mémoire tampon, ou « buffer », 9) pour être utilisés lors de l'étape de prédiction.
3022723 3 Au cours du processus de compression, le module décisionnel 10 prend une décision pour au moins un des modules de codage traversés 0 à 6. Une prise de décision consiste à sélectionner au moins un paramètre de codage (aussi appelé « mode de codage ») parmi un ensemble de paramètres de codage disponibles pour le module de 5 codage considéré. Dans le cas du module de transformation 0, le module décisionnel peut être utilisé pour sélectionner par exemple la taille ou le type de transformée appliquée aux échantillons résiduels ; dans le cas du module de quantification 1, pour sélectionner par exemple les paramètres de quantification (par exemple, pas de quantification, seuil, zone morte (« dead zone »), matrices, etc.) ; dans le cas du module 10 de codage entropique 2, pour sélectionner le type de codage entropique ; dans le cas du module de filtrage de boucle 3, pour sélectionner par exemple les paramètres de filtrage de boucle (par exemple, force du filtre de déblocage (« deblocking »), offsets, classification dans le cas du filtre « sample adaptive offset (HEVC/H.265) », etc.) ; dans le cas du module de prédiction Intra 4, pour sélectionner par exemple le mode de 15 prédiction intra (par exemple « DC », « Planar », différents modes de prédiction angulaire, etc.); dans le cas du module de prédiction Inter 5, pour sélectionner par exemple les vecteurs mouvements et/ou prédicteurs de mouvement ; dans le cas du module de sélection 6, pour sélectionner par exemple le mode de prédiction (par exemple Intra/Inter) et/ou la taille de l'unité de prédiction.
20 En résumé, pour chaque bloc (ou portion d'image) de chaque image d'une séquence vidéo, de nombreuses décisions (sélections de paramètre de codage) doivent être réalisées par l'encodeur vidéo afin d'optimiser l'efficacité de codage de cette séquence vidéo. Le modèle décisionnel (aussi appelé « modèle de décision ») utilisé pour optimiser ces décisions (sélections de paramètre de codage) est laissé libre à 25 l'encodeur (non normalisé). Un modèle décisionnel de l'état de l'art, utilisé par le module décisionnel 10 et implémenté dans la majorité des encodeurs vidéo, se base sur l'optimisation du compromis Débit-Distorsion. L'objectif d'un tel modèle décisionnel est de minimiser la distorsion D sous une contrainte de débit RT, où la distorsion est une mesure de distance 3022723 4 entre les échantillons vidéos sources, s, et les échantillons vidéos reconstruits, g, par exemple : MIN (D (s, g)), sous la contrainte R = RT Diverses méthodes connues permettent de résoudre ce problème classique d'optimisation sous contrainte. Par exemple, si on utilise la méthode des multiplicateurs 5 de Lagrange, ce problème classique d'optimisation sous contrainte peut être réécrit sous la forme d'une unique minimisation, telle que : pour chaque bloc (ou portion d'image) de chaque image, pour au moins un module de codage et un ensemble de paramètres de codage, M = {mi}, i E {0, K - 1} , K > 2, associé à ce module de codage, on cherche le paramètre de codage optimal mopt 10 qui minimise : mopt = argminmem(1,72) tin, = D(s, gin) + ÀxR(Ein, ion,) (1) Où: Jin est le Lagrangien (ou coût de Lagrange) pour le paramètre de codage m ; D (s, 5m) est une mesure de distorsion entre les échantillons sources, s, et les échantillons reconstruits, gm, pour le paramètre de codage m ; 15 R(Ern, ion,) est une estimation du coût en bit des résidus transformés quantifiés, cm, et de l'information secondaire, lom, à transmettre au décodeur pour le paramètre de codage m ; est le multiplicateur de Lagrange, définissant un compromis entre distorsion et débit.
20 On comprends de l'équation (1) que pour un débit R cible et un paramètre de codage m, et quel que soit le type de mesure de distorsion D utilisée (en particulier n'importe quelle métrique avec des propriétés perceptuelles, par exemple basée sur une mesure de similarité des structures de l'image), le processus d'optimisation oriente les décisions pour rester au plus proche des échantillons sources uniquement.
25 Perceptuellement, pour la plupart des contenus vidéo, à cause de l'étape de quantification (i.e. étape avec perte de données), ce critère d'optimisation basé sur une minimisation de la distance aux caractéristiques de la source sans une contrainte additionnelle est insuffisant.
3022723 5 En effet, pour des blocs sources appartenant à des zones d'image aux caractéristiques similaires, i.e. des zones ayant une forte corrélation spatiale et/ou temporelle, le processus de compression basé sur le modèle décisionnel précédent peut aboutir à des blocs reconstruits avec des caractéristiques différentes et avec une perte 5 significative de corrélation entre les blocs reconstruits voisins spatialement et/ou temporellement. Les échantillons sont ainsi reconstruits de manière non régulière ou non lisse (« smooth » en anglais) spatialement et/ou temporellement. Ce phénomène est visuellement très désagréable ; en particulier temporellement à travers plusieurs images successives, où des artefacts de scintillement (« flickering » en anglais) ou d'autres 10 artefacts de perte de cohérence temporelle apparaissent. La combinaison du choix successif de différents paramètres de codage (avec des propriétés différentes) et la perte de l'information résiduelle résultant de la quantification explique ce phénomène. La prévention de cet artefact visuel a motivé la présente invention décrite ci- après. 15 3. OBJECTIFS DE L'INVENTION L'invention, dans au moins un mode de réalisation, a notamment pour objectif de pallier ces différents inconvénients de l'état de la technique. Plus précisément, dans au moins un mode de réalisation de l'invention, un objectif est d'améliorer l'efficacité de compression d'un encodeur vidéo, et la qualité 20 visuelle perçue des séquences vidéos encodées résultantes, en proposant un modèle décisionnel innovant pour optimiser les prises de décision de codage. On rappelle qu'une prise de décision consiste, pour un module décisionnel compris dans l'encodeur vidéo, à sélectionner au moins un paramètre de codage pour au moins un des modules de codage.
25 Au moins un mode de réalisation de l'invention a également pour objectif de fournir une telle technique qui soit simple à mettre en oeuvre et peu coûteuse. 4. EXPOSÉ DE L'INVENTION Dans un mode de réalisation particulier de l'invention, il est proposé un procédé de sélection, pour une portion d'image à coder courante et pour au moins un module de 30 codage compris dans un encodeur vidéo, d'au moins un paramètre de codage parmi un 3022723 6 ensemble de paramètres de codage disponibles pour ledit au moins un module de codage, le procédé étant basé sur un modèle décisionnel définissant une minimisation, sous une contrainte de débit, d'une première mesure de distorsion D entre des échantillons sources, compris dans ladite portion d'image à coder courante, et des 5 échantillons reconstruits courants, compris dans une portion d'image reconstruite courante, obtenue à partir de la portion d'image à coder courante. Le modèle décisionnel définit ladite minimisation sous une contrainte supplémentaire de régularité, portant sur une seconde mesure de distorsion D' entre lesdits échantillons reconstruits courants et des échantillons reconstruits précédents, appartenant à un voisinage de référence spatial 10 et/ou temporel comprenant au moins une portion d'image reconstruite précédente, obtenue à partir d'au moins une portion d'image codée précédente. Ainsi, la technique proposée repose sur une approche tout à fait nouvelle et inventive pour l'optimisation des décisions de codage (i.e. pour la sélection des paramètres de codage) : afin de satisfaire la qualité visuelle perçue des contenus vidéos 15 compressés, on complète les critères d'optimisation de l'état de l'art (i.e. la minimisation de la mesure de distorsion entre les échantillons source et les échantillons reconstruits, sous la contrainte de débit), avec une contrainte supplémentaire (dite « contrainte de régularité » , ou « smoothness constraint » en anglais) portant sur une mesure de distorsion entre les échantillons reconstruits courants et des échantillons reconstruits 20 précédents, appartenant à un voisinage spatial et/ou temporel de référence. La technique proposée permet d'améliorer l'efficacité de compression de l'encodeur vidéo, et la qualité visuelle perçue des séquences vidéo encodées. Elle permet une reconstruction régulière ("smooth" en anglais) des échantillons vidéo codés. En effet, en améliorant la cohérence et la consistance (spatiale et temporelle) des 25 échantillons reconstruits, elle réduit les artefacts visuels (tels que les artefacts de scintillement, ou « flickering »). Selon un aspect particulier de l'invention, ladite contrainte supplémentaire de régularité, portant sur la seconde mesure de distorsion D', est définie par : D' (gN, 'g) < D TI , avec D TI un seuil prédéterminé, g les échantillons reconstruits courants, et g N les 30 échantillons reconstruits précédents.
3022723 7 De cette façon, la contrainte supplémentaire de régularité est définie de manière simple. Selon une caractéristique particulière, le modèle décisionnel définit ladite minimisation comme suit, à l'aide de la méthode des multiplicateurs de Lagrange : pour chaque portion de chaque image, pour au moins un module de codage et un ensemble de paramètres de codage M = E {0, K - 1}, K > 2 associé à ce module de codage, on cherche le paramètre de codage optimal mopt qui minimise : mopt = ar gminmem (Ln) [ Jin = D (s , gm) + N, gin) + ÀxR(Ern, pin) où: D (s, gin) est une mesure de distorsion entre des échantillons sources, s, et des 10 échantillons reconstruits courants, pour le paramètre de codage m ; D'(SN, gin) est une mesure de distorsion entre des échantillons reconstruits précédents, g N , appartenant à un voisinage spatial et/ou temporel de référence, N, et les échantillons reconstruits courants, .§7n, pour le paramètre de codage m ; R(En' pin) est une estimation d'un coût en bit de résidus transformés quantifiés, 15 cm, et d'une information secondaire, pin, à transmettre à un décodeur pour le paramètre de codage m ; kt est un premier multiplicateur de Lagrange, définissant un compromis entre D (S, gin) et D'(gN,g,,,,) ; et est un second multiplicateur de Lagrange, définissant un compromis entre 20 D (s , gin) et D' (g N, gm) d'une part et R(En' ion,) d'autre part. Selon une caractéristique particulière, ledit au moins un paramètre de codage appartient au groupe comprenant : une taille ou un type de transformée appliquée à des échantillons résiduels, dans le cas où ledit au moins un module de codage est un module de transformation ; 25 des paramètres de quantification, dans le cas où ledit au moins un module de codage est un module de quantification ; un type de codage entropique, dans le cas où ledit au moins un module de codage est un module de codage entropique ; 5 3022723 8 des paramètres de filtrage de boucle, dans le cas où ledit au moins un module de codage est un module de filtrage de boucle ; un mode de prédiction intra, dans le cas où ledit au moins un module de codage est un module de prédiction intra ; 5 des vecteurs mouvements et/ou prédicteurs de mouvement, dans le cas où ledit au moins un module de codage est un module de prédiction inter ; un mode de prédiction et/ou une taille d'unité de prédiction, dans le cas où ledit au moins un module de codage est un module de sélection parmi plusieurs modules de prédiction.
10 Cette liste de paramètres de codage (et de modules de codage associés) n'est pas exhaustive. Selon une caractéristique particulière, le voisinage de référence comprend au moins une portion d'image reconstruite précédente appartenant au groupe comprenant : au moins une première portion d'image reconstruite précédente, obtenue à partir 15 d'une portion d'image codée précédente qui occupe dans une première image codée précédente une position identique à celle de la portion d'image à coder courante dans une image à coder courante ; au moins une deuxième portion d'image reconstruite précédente, qui occupe dans ladite première image codée précédente une position adjacente à celle de 20 ladite au moins une première portion d'image reconstruite précédente ; au moins une troisième portion d'image reconstruite précédente, obtenue à partir d'une portion d'image compensée en mouvement qui occupe dans une deuxième image codée précédente une position compensée en mouvement, à l'aide d'un vecteur mouvement, relativement à la position de la portion d'image à coder 25 courante dans une image à coder courante ; au moins une quatrième portion d'image reconstruite précédente, qui occupe dans ladite deuxième image codée précédente une position adjacente à celle de ladite au moins une troisième portion d'image reconstruite précédente ; au moins une cinquième portion d'image reconstruite précédente, obtenue à 30 partir d'une portion d'image codée précédente qui occupe dans ladite image 3022723 9 codée courante une position adjacente à celle de la portion d'image à coder courante. Le voisinage de référence peut comprendre une ou plusieurs de ces portions d'image reconstruites précédentes.
5 Selon une caractéristique particulière, le voisinage de référence comprend au moins deux portions d'image reconstruites précédentes, et la seconde mesure de distorsion D' est définie comme une somme pondérée d'une pluralité de mesures de distorsion intermédiaires, chaque mesure de distorsion intermédiaire étant associée à une desdites au moins deux portions d'image reconstruites précédentes et étant définie 10 comme une mesure de distorsion entre lesdits échantillons reconstruits courants, compris dans la portion d'image reconstruite courante, et des échantillons reconstruits précédents, appartenant à la portion d'image reconstruite précédente associée à ladite mesure de distorsion intermédiaire. Ainsi, avec un voisinage de référence comprenant plusieurs portions d'images 15 reconstruites précédentes, on améliore encore la reconstruction régulière ("smooth") des échantillons vidéo codés. Selon une caractéristique particulière, ladite somme pondérée est définie par un jeu de coefficients de pondération qui est variable d'un paramètre de codage à l'autre au sein dudit ensemble de paramètres de codage disponibles pour ledit au moins un module 20 de codage. Ainsi, on optimise les calculs en permettant de manière simple à chacun des paramètres de codage disponibles d'être associé à un voisinage de référence distinct. Dans un autre mode de réalisation de l'invention, il est proposé un produit programme d'ordinateur qui comprend des instructions de code de programme pour la 25 mise en oeuvre du procédé précité (dans l'un quelconque de ses différents modes de réalisation), lorsque ledit programme est exécuté sur un ordinateur. Dans un autre mode de réalisation de l'invention, il est proposé un médium de stockage lisible par ordinateur et non transitoire, stockant un programme d'ordinateur comprenant un jeu d'instructions exécutables par un ordinateur pour mettre en oeuvre le 30 procédé précité (dans l'un quelconque de ses différents modes de réalisation).
3022723 10 Dans un autre mode de réalisation de l'invention, il est proposé un dispositif de sélection, pour une portion d'image à coder courante et pour au moins un module de codage compris dans un encodeur vidéo, d'au moins un paramètre de codage parmi un ensemble de paramètres de codage disponibles pour ledit au moins un module de 5 codage, le dispositif de sélection comprenant des moyens de mise en oeuvre d'un modèle décisionnel définissant une minimisation, sous une contrainte de débit, d'une première mesure de distorsion D entre des échantillons sources, compris dans ladite portion d'image à coder courante, et des échantillons reconstruits courants, compris dans une portion d'image reconstruite courante, obtenue à partir de la portion d'image à coder 10 courante. Les moyens de mise en oeuvre du modèle décisionnel définissent ladite minimisation sous une contrainte supplémentaire de régularité, portant sur une seconde mesure de distorsion D' entre lesdits échantillons reconstruits courants et des échantillons reconstruits précédents, appartenant à un voisinage de référence spatial et/ou temporel comprenant au moins une portion d'image reconstruite précédente, 15 obtenue à partir d'au moins une portion d'image codée précédente.. Avantageusement, le dispositif de sélection comprend des moyens de mise en oeuvre des étapes qu'il effectue dans le procédé de sélection tel que décrit précédemment, dans l'un quelconque de ses différents modes de réalisation. 5. LISTE DES FIGURES 20 D'autres caractéristiques et avantages de l'invention apparaîtront à la lecture de la description suivante, donnée à titre d'exemple indicatif et non limitatif, et des dessins annexés, dans lesquels : la figure 1, déjà décrite en relation avec l'art antérieur, présente un schéma-bloc d'un encodeur vidéo hybride de l'état de l'art ; 25 la figure 2 présente un schéma-bloc d'un encodeur vidéo hybride selon un premier mode de réalisation particulier de l'invention ; la figure 3 présente un premier exemple de voisinage de référence ; la figure 4 présente un deuxième exemple de voisinage de référence ; la figure 5 présente un troisième exemple de voisinage de référence ; 30 la figure 6 présente un schéma-bloc d'un encodeur vidéo hybride selon un second mode de réalisation particulier de l'invention ; et 3022723 11 - la figure 7 présente la structure d'un module décisionnel (dispositif de sélection de paramètres de codage) selon un mode de réalisation particulier de l'invention. 6. DESCRIPTION DÉTAILLÉE Sur toutes les figures du présent document, les éléments et étapes identiques sont 5 désignés par une même référence numérique. Dans la suite de la description, on considère, à titre d'exemple uniquement et afin de faciliter la lecture, qu'une portion d'image est un bloc d'image, au sens par exemple d'un macro-bloc (« macroblock », MB) en MPEG-2/AVC-H.264, ou encore d'une unité de codage (« coding unit », CU) en HEVC-H.265. Il est clair que la présente 10 invention s'applique quelle que soit la nature de la portion d'image à coder. On présente maintenant, en relation avec la figure 2, un encodeur vidéo hybride selon un premier mode de réalisation particulier de l'invention. Il se distingue de l'encodeur connu de la figure 1 en ce que le module décisionnel (référencé 100 sur la figure 2) utilise un critère d'optimisation 15 supplémentaire, à savoir une contrainte supplémentaire de régularité (« smoothness constraint ») qui s'écrit par exemple : « D'(.1',,.§) < DT » (voir présentation détaillée ci-après). Ce critère d'optimisation supplémentaire, représenté sur la figure 2 par la flèche pointillée référencée 20, est donc utilisé en plus de ceux déjà utilisés par le module décisionnel 10 de la figure 1, à savoir « R = RT » et « MIN(D(s,.§))».
20 En effet, comme déjà mentionné plus haut, la technique proposée est basée sur l'hypothèse suivante : afin de satisfaire la qualité visuelle perçue des contenus vidéos compressés, une contrainte supplémentaire de régularité doit être considérée pour l'optimisation des décisions de codage (i.e. pour l'optimisation des sélections des paramètres de codage).
25 La contrainte supplémentaire de régularité porte sur une mesure de distorsion entre les échantillons reconstruits courants (i.e. reconstruits avec le paramètre de codage candidat courant et pour un bloc d'image à coder courant) et les échantillons reconstruits précédents appartenant à un voisinage spatial et/ou temporel de référence (i.e. appartenant à des blocs précédemment codés et reconstruits).
30 En d'autres termes, le module décisionnel 100 exécute un procédé de sélection, pour un bloc à coder courant et pour au moins un module de codage (0 à 6) compris dans 3022723 12 l'encodeur vidéo, d'au moins un paramètre de codage parmi un ensemble de paramètres de codage disponibles pour ce module de codage. Le procédé est basé sur un modèle décisionnel définissant une minimisation d'une première mesure de distorsion D (entre des échantillons sources, compris dans le bloc d'image à coder courant, et des 5 échantillons reconstruits courants, compris dans un bloc d'image reconstruit courant, obtenu à partir du bloc d'image à coder courant) : - sous une contrainte de débit, et - sous une contrainte supplémentaire de régularité, portant sur une seconde mesure de distorsion D' entre les échantillons reconstruits courants et des échantillons 10 reconstruits précédents, appartenant à un voisinage de référence comprenant au moins un bloc d'image reconstruit précédent, obtenu à partir d'au moins un bloc d'image codé précédent. La contrainte supplémentaire de régularité complète les critères d'optimisation de l'état de l'art (i.e. la minimisation de la mesure de distorsion entre les échantillons 15 source et reconstruits, ainsi que la contrainte de débit), de sorte que le problème d'optimisation devient : MiN(D (s, g)), sous les contraintes R = RT et D' (.§N, (2) avec D' une mesure de distorsion, DT un seuil sur cette mesure et sN les échantillons reconstruits précédents appartenant à un voisinage spatial et/ou temporel de 20 référence N. A l'aide de la méthode des multiplicateurs de Lagrange (exemple non limitatif, d'autres méthodes connues d'optimisation sous contrainte peuvent être utilisées), le problème d'optimisation peut être réécrit comme suit : pour chaque bloc de chaque image, pour au moins un module de codage et un 25 ensemble de paramètres de codage M = E {O, K - 1}, K > 2 associé à ce module de codage, on cherche le paramètre de codage optimal mopt qui minimise : mopt = argminmemUrn) [Ln = D(s, 42) + k(.xD'UN, 42) + ÀxR(C,' pin) où: D(s,g'in) est une mesure de distorsion entre les échantillons sources, s, et les échantillons reconstruits courants, gin, pour le paramètre de codage m ; (2) 3022723 13 D'(SN, gin) est une mesure de distorsion entre les échantillons reconstruits précédents, :S. N , appartenant à un voisinage spatial et/ou temporel de référence, N, et les échantillons reconstruits courants, gin, pour le paramètre de codage m ; R(E,72,19,2) est une estimation du coût en bit des résidus transformés quantifiés, 5 cm, et de l'information secondaire, pin, à transmettre au décodeur pour le paramètre de codage m ; kt est un premier multiplicateur de Lagrange, définissant un compromis entre D(s,g,n) et D'(gN, gin) ; et À est un second multiplicateur de Lagrange, définissant un compromis entre 10 distorsion (i.e. D (s, Sm) et D' (.'s N , .§,2)) et débit (i.e. R (cm, ion,)). La métrique D' peut être différente ou non de la métrique D. Elle peut être quelconque (par exemple, la somme des carrés des différences (SSD), la somme des différences absolues (SAD), différence moyenne de portion d'image (« image portion mean difference »), indice de similarité structurelle (« structural similarity index »), 15 etc.), et appliquée sur les composantes de luminance et/ou de chrominance. Avec le modèle décisionnel proposé, on comprend de l'équation (2) qu'une pénalité est naturellement attribuée aux paramètres de codage résultant en des échantillons reconstruits courants trop loin (au sens de D') des échantillons reconstruits précédents appartenant au voisinage de référence N. Cette pénalité assure une 20 reconstruction régulière (« smooth ») le long du voisinage jusqu'au bloc à coder courant. Pour chaque bloc à coder et pour chaque paramètre de codage m à évaluer pour un des modules de codage, le voisinage de référence N d'échantillons reconstruits peut être construit comme l'un des trois types de voisinages suivants (ou une combinaison de 25 plusieurs d'entre eux). Un premier type de voisinage (temporel) est composé d'un ou plusieurs blocs reconstruits précédents correspondant, pour au moins une image codée précédente, au bloc colocalisé dans ladite image codée précédente, et éventuellement à un ou plusieurs blocs adjacents à celui-ci (i.e. le bloc colocalisé) dans ladite image codée précédente.
3022723 14 Un exemple de voisinage de ce premier type est donné figure 3. Le bloc à coder courant 30 (hachuré) est compris dans l'image à coder courante 'I' (N) . Plus précisément, son angle supérieur gauche est en position (X,Y). Le voisinage temporel comprend des blocs reconstruits précédents, obtenus à partir de blocs codés précédents compris dans 5 les images codées précédentes f(N - 1) et r(N - 2), la flèche référencée 34 représentant l'ordre de codage. Plus précisément, le voisinage temporel comprend : - un bloc reconstruit précédent (référencé 31a) obtenu à partir du bloc codé précédent colocalisé dans l'image codée précédente f(N - 1) (c'est-à-dire occupant dans celle-ci une position identique à celle du bloc à coder courant 30 10 dans l'image à coder courante Î(N)), et huit autres blocs reconstruits précédents (référencés globalement 3 lb) adjacents dans l'image codée précédente Î(N - 1) au bloc reconstruit précédent référencé 31a ; - un bloc reconstruit précédent (référencé 32a) obtenu à partir du bloc codé précédent colocalisé dans l'image codée précédente î(N - 2) (c'est-à-dire 15 occupant dans celle-ci une position identique à celle du bloc à coder courant 30 dans l'image à coder courante î(N)), et huit autres blocs reconstruits précédents (référencés globalement 32b) adjacents dans l'image codée précédente î(N - 2) au bloc reconstruit précédent référencé 32a. Un deuxième type de voisinage (temporel) est composé d'un ou plusieurs blocs 20 reconstruits précédents correspondant, pour au moins une image codée précédente, au bloc compensé en mouvement dans ladite image codée précédente, et éventuellement à un ou plusieurs blocs adjacents à celui-ci (i.e. le bloc compensé en mouvement) dans ladite image codée précédente. Un exemple de voisinage de ce deuxième type est donné figure 4. Le bloc à 25 coder courant 40 (hachuré) est compris dans l'image à coder courante Î(N). Plus précisément, son angle supérieur gauche est en position (X,Y). Le voisinage temporel comprend des blocs reconstruits précédents, obtenus à partir de blocs codés précédents compris dans les images codées précédentes f(N - 1) et f(N - 2), la flèche référencée 44 représentant l'ordre de codage. Plus précisément, le voisinage temporel comprend : 3022723 15 - un bloc reconstruit précédent (référencé 41a) obtenu à partir du bloc compensé en mouvement dans l'image codée précédente î(N - 1) (c'est-à-dire occupant dans celle-ci une position compensée en mouvement (X+MVX, Y+MVY) à l'aide d'un vecteur mouvement MV = (MVX, MVY) (référencé 41c, dont les 5 composantes (MVX, MVY) sont signées) relativement à la position (X,Y) du bloc à coder courant 40 dans l'image à coder courante î(N)), et huit autres blocs reconstruits précédents (référencés globalement 41b) adjacents dans l'image codée précédente î(N - 1) au bloc reconstruit précédent référencé 41a ; - un bloc reconstruit précédent (référencé 42a) obtenu à partir du bloc compensé 10 en mouvement dans l'image codée précédente Î(N - 2) (c'est-à-dire occupant dans celle-ci une position compensée en mouvement (X+MVX', Y+MVY') à l'aide d'un vecteur mouvement MV' = (MVX', MVY') (référencé 42c, dont les composantes (MVX', MVY') sont signées) relativement à la position (X,Y) du bloc à coder courant 40 dans l'image à coder courante î(N)), et huit autres blocs 15 reconstruits précédents (référencés globalement 42b) adjacents dans l'image codée précédente î(N - 2) au bloc reconstruit précédent référencé 42a. Un troisième type de voisinage (spatial) est composé d'un ou plusieurs blocs reconstruits précédents correspondant à un ou plusieurs blocs déjà codés qui sont adjacents, dans l'image à coder courante, au bloc à coder courant.
20 Un exemple de voisinage de ce troisième type est donné figure 5. Le bloc à coder courant 50 (hachuré) est compris dans l'image à coder courante r(N). Le voisinage spatial comprend quatre blocs reconstruits précédents (référencés globalement 51), obtenus à partir de quatre blocs codés précédents qui occupent dans l'image codée courante î(N) des positions adjacentes à celle du bloc à coder courant 50 (position 25 supérieure gauche, position supérieure centre, position supérieure droite et position gauche). On note qu'en fonction de la structure de codage utilisée pour un groupe d'images à coder (GOP, pour « Group-Of-Picture » en anglais), en particulier en utilisant une structure de GOP dite bidirectionnelle, le voisinage temporel peut 30 appartenir aux images passées et/ou futures dans l'ordre d'affichage.
3022723 16 On présente maintenant, en relation avec la figure 6, un encodeur vidéo hybride selon un second mode de réalisation particulier de l'invention. Il se distingue de l'encodeur de la figure 2 (premier mode de réalisation de l'invention) en ce que le circuit de prédiction (référencé 600' sur la figure 6) comprend 5 un module de prédiction Intra 4, un module de prédiction Inter 5, un module de prédiction Skip 63, un module d'estimation de mouvement (ME) 64 et un module de sélection 6 (permettant de sélectionner un des trois modules de prédictions 4, 5 et 63). On suppose par exemple que l'encodeur vidéo est de type MPEG. Dans le cadre des standards vidéo MPEG, pour chaque bloc d'image (i.e. MB (« macroblock ») en 10 MPEG-2/AVC-H.264, ou CU (« coding unit ») en HEVC-H.265) de chaque image d'une séquence vidéo, une des étapes de codage consiste en une étape de prédiction, étape pour laquelle l'encodeur doit sélectionner de manière optimale un mode de prédiction de bloc parmi au moins deux modes de prédiction de bloc. Dans l'exemple de la figure 6, le module décisionnel 100 contrôle le circuit de 15 prédiction 600', notamment en envoyant la décision de sortie DS6 au module de sélection 6, afin que ce dernier sélectionne l'un des trois modules de prédictions 4, 5 et 63, c'est-à-dire sélectionne un mode de prédiction de bloc parmi trois modes de prédiction de bloc possibles : le mode Intra, le mode Inter et le mode Skip. En d'autres termes, pour le module de sélection 6, le module décisionnel 100 20 sélectionne un paramètre de codage qui est un mode de prédiction de bloc, parmi les trois modes de prédiction de bloc possibles précités. Le mode Intra utilise un voisinage spatial (Intra image) comme échantillons de référence pour la prédiction, et nécessite la transmission des résidus transformés quantifiés plus des informations secondaires (par exemple, index du mode de prédiction 25 intra, etc.). Le mode Inter utilise des référence(s) temporelle(s) pour la prédiction, i.e. des bloc(s) compensé(s) en mouvement en utilisant le(s) vecteur(s) mouvement(s) (MV) issu(s) du module d'estimation de mouvement (ME) 64, et nécessite la transmission des résidus transformés quantifiés plus des informations secondaires (par exemple, MV(s), 3022723 17 index(s) des images de référence, index(s) des prédicteur(s) de vecteur mouvement, etc.). Le mode Skip utilise des référence(s) temporelle(s) pour la prédiction, i.e. des bloc(s) compensé(s) en mouvement en utilisant les vecteur(s) mouvement(s) MV(s) 5 issu(s) d'une liste standardisée de prédicteurs de mouvement, et nécessite seulement la transmission d'informations secondaires (par exemple, index(s) des prédicteurs de mouvement). Aucun échantillon résiduel n'est transmis. De plus, il est important de noter que dans les standards MPEG on distingue en particulier trois types d'image (ou « frame » en anglais) : 10 - image I (« I-frame ») : image codée en utilisant une prédiction Intra et sans aucune référence à d'autres images précédemment codées ; image composée uniquement de blocs codés avec le mode Intra. - image P (« P-frame ») : image, dite Prédictive, codée en utilisant une prédiction Intra ou Inter, où la prédiction Inter est une prédiction temporelle 15 unidirectionnelle réalisée à partir d'une image de référence précédemment codée appartenant au passé dans l'ordre d'affichage ; image composée potentiellement de blocs codés en mode Intra, Inter ou Skip. - image B (« B-frame ») : image, dite Biprédictive, codée en utilisant une prédiction Intra ou Inter, où la prédiction Inter est une prédiction temporelle 20 bidirectionnelle réalisée à partir d'une ou plusieurs image(s) de référence appartenant au passé et/ou au futur dans l'ordre d'affichage ; image composée potentiellement de blocs codés en mode Intra, Inter ou Skip. A titre illustratif, on présente maintenant une application particulière du module décisionnel 100 de la figure 6, pour sélectionner le mode de prédiction de bloc optimal 25 (i.e. le paramètre de codage optimal) à envoyer au module de sélection 6, pour un bloc à coder courant B d'une image P. On considère donc le module de sélection 6, et l'ensemble des paramètres de codage associé (i.e. l'ensemble des modes de prédiction de bloc possibles), M = {Intra, Inter, Skip}. Le module décisionnel 100 se base sur le modèle décisionnel 3022723 18 présenté plus haut en relation avec la figure 2. Le paramètre de codage optimal mopt pour le bloc B est celui qui minimise: mopt - argminmEmUm) [ Jm = SSD (s, gm) + p.><SSDVN,gm) + ÀxR(Em, Pm) (3) où la somme des différences au carré (SSD) est utilisée comme métrique de distorsion pour D et D'. Les multiplicateurs de Lagrange kt et À appartiennent à le et 5 sont définis comme une fonction du paramètre de quantification (QP). Pour chacun des trois modes de prédiction de bloc possibles (i.e. chacun des trois paramètres de codage possibles), on construit un voisinage d'échantillons reconstruits de référence N : - pour le mode Intra, le voisinage N est composé de bloc(s) reconstruit(s) 10 précédent(s), à savoir : du bloc colocalisé (Bto), appartenant à la plus proche (temporellement à l'image courante) image codée de référence (image codée précédente) ; et des blocs haut (Bso) et gauche (13'1), spatialement adjacents au bloc à coder courant B . - pour le mode Inter, le voisinage N est composé de bloc(s) reconstruit(s) 15 précédent(s), à savoir : du bloc compensé en mouvement (B4), appartenant à la plus proche (temporellement à l'image courante) image codée de référence (image codée précédente), en utilisant le vecteur mouvement (MV) fourni par le module d'estimation de mouvement (ME) ; et des blocs haut (Bso) et gauche (B si), spatialement adjacents au bloc à coder courant B . 20 - pour le mode Skip, le voisinage N est composé de bloc(s) reconstruit(s) précédent(s), à savoir : du bloc compensé en mouvement (Bt2), appartenant à la plus proche (temporellement à l'image courante) image codée de référence (image codée précédente), en utilisant le vecteur mouvement (MV) fourni par une liste standardisée de prédicteurs de MV ; et des blocs haut (B50) et gauche 25 (B Si), spatialement adjacents au bloc à coder courant B . En conséquence, on définit SSD (g N, gm) comme une somme pondérée de SSD (aussi appelée « somme pondérée de mesures de distorsion intermédiaires »), telle que: 3022723 19 SSDCs'N, = wmt°xSSD(ge° , gin) + wmtlxSSD(:s'el , + wmt2xSSD(Se2 , Sm) où: + wms°xSSD(gBs° ,g.m) + wmslxSSD(es1 , Sm) Ei wmti I] wmsi {w,7} E le sont des facteurs de pondération pour le mode m et les blocs d'échantillons reconstruits de référence temporelle {Btt} {wrnil E le sont des facteurs de pondération pour le mode m et les blocs 5 d'échantillons reconstruits de référence spatiale {BsJ}. En particulier, on remarquera que : - en mode Intra : mt.2 vv ultra vv ultra vv inter = vv inter = n to = ip Wskt1 ip - en mode Skip Wsk = 0, et SSD(sBtZ, sskip) = 0 10 Puis pour chaque mode de prédiction de bloc possible (i.e. pour chacun des trois paramètres de codage possibles), le module décisionnel 100 calcule le coût de Lagrange Jin associé, en calculant chacun des trois termes de l'équation (3). Finalement le module décisionnel 100 sélectionne, pour le bloc à coder courant B, le mode de prédiction de bloc qui minimise la fonction de coût de Lagrange J.
15 A titre illustratif, on présente maintenant une autre application particulière du module décisionnel 100 de la figure 6, pour sélectionner le mode de prédiction de bloc optimal (i.e. le paramètre de codage optimal) à envoyer au module de sélection 6, pour un bloc à coder courant B d'une image B. Le même processus de décision que dans le cas d'une image P est mis en 20 oeuvre ; seule la construction du voisinage N pour chaque mode de prédiction de bloc possible (i.e. pour chacun des trois paramètres de codage possibles) diffère, tel que : - pour le mode Intra, le voisinage N est composé de bloc(s) reconstruit(s) précédent(s), à savoir : des blocs colocalisés bidirectionnels appartenant aux plus proches (temporellement à l'image courante, dans le passé et/ou le futur au sens 25 de l'ordre d'affichage) images codées de référence (images codées précédentes) ; et des blocs haut et gauche spatialement adjacents au bloc courant B. - pour le mode Inter, le voisinage N est composé de bloc(s) reconstruit(s) précédent(s), à savoir : des blocs compensés en mouvement bidirectionnels - en mode Inter : 3022723 20 appartenant aux plus proches (temporellement à l'image courante, dans le passé et/ou le futur au sens de l'ordre d'affichage) images codées de référence (images codées précédentes), en utilisant les MVs fournis par le module ME ; et des blocs haut et gauche spatialement adjacents au bloc courant B. 5 - pour le mode Skip, le voisinage N est composé de bloc(s) reconstruit(s) précédent(s), à savoir : des blocs compensés en mouvement bidirectionnels appartenant aux plus proches (temporellement à l'image courante, dans le passé et/ou le futur au sens de l'ordre d'affichage) images codées de référence, en utilisant les MVs fournis par une liste standardisée de prédicteurs de MV; et des 10 blocs haut et gauche spatialement adjacents au bloc courant B. La figure 7 présente la structure du module décisionnel 100 (aussi appelé « dispositif de sélection de paramètres de codage ») selon un mode de réalisation particulier de l'invention. Le module décisionnel 100 comprend une mémoire vive 73 (par exemple une 15 mémoire RAM), une unité de traitement 72, équipée par exemple d'un processeur, et pilotée par un programme d'ordinateur stocké dans une mémoire morte 71 (par exemple une mémoire ROM ou un disque dur). A l'initialisation, les instructions de code du programme d'ordinateur sont par exemple chargées dans la mémoire vive 73 avant d'être exécutées par le processeur de l'unité de traitement 72. L'unité de traitement reçoit en 20 entrée les critères d'optimisation (« M/N(D(s, g)) », « R = RT » et « D'(sN,'') < DT »). Elle délivre en sortie (75) les décisions de sortie DSO à DS6, selon les instructions du programme. Cette figure 7 illustre seulement une manière particulière, parmi plusieurs possibles, de réaliser le module décisionnel 100. En effet, la technique de l'invention se 25 réalise indifféremment : - sur une machine de calcul reprogrammable (un ordinateur PC, un processeur DSP ou un microcontrôleur) exécutant un programme comprenant une séquence d'instructions, ou - sur une machine de calcul dédiée (par exemple un ensemble de portes logiques 30 comme un FPGA ou un ASIC, ou tout autre module matériel).
3022723 21 Dans le cas où l'invention est implantée sur une machine de calcul reprogrammable, le programme correspondant (c'est-à-dire la séquence d'instructions) pourra être stocké dans un médium de stockage amovible (tel que par exemple une disquette, un CD-ROM ou un DVD-ROM) ou non, ce médium de stockage étant lisible 5 partiellement ou totalement par un ordinateur ou un processeur.

Claims (10)

  1. REVENDICATIONS1. Procédé de sélection, pour une portion d'image à coder courante et pour au moins un module de codage (0 à 6) compris dans un encodeur vidéo, d'au moins un paramètre de codage parmi un ensemble de paramètres de codage disponibles pour ledit au moins un module de codage, le procédé étant basé sur un modèle décisionnel définissant une minimisation, sous une contrainte de débit, d'une première mesure de distorsion D entre des échantillons sources, compris dans ladite portion d'image à coder courante, et des échantillons reconstruits courants, compris dans une portion d'image reconstruite courante, obtenue à partir de la portion d'image à coder courante, caractérisé en ce que le modèle décisionnel définit ladite minimisation sous une contrainte supplémentaire de régularité, portant sur une seconde mesure de distorsion D' entre lesdits échantillons reconstruits courants et des échantillons reconstruits précédents, appartenant à un voisinage de référence spatial et/ou temporel comprenant au moins une portion d'image reconstruite précédente, obtenue à partir d'au moins une portion d'image codée précédente.
  2. 2. Procédé selon la revendication 1, caractérisé en ce que ladite contrainte supplémentaire de régularité, portant sur la seconde mesure de distorsion D', est définie par : D'(gN, DT' , avec DT un seuil prédéterminé, g les échantillons reconstruits courants, et §N les échantillons reconstruits précédents.
  3. 3. Procédé selon l'une quelconque des revendications 1 et 2, caractérisé en ce que le modèle décisionnel définit ladite minimisation comme suit, à l'aide de la méthode des multiplicateurs de Lagrange : pour chaque portion de chaque image, pour au moins un module de codage et un ensemble de paramètres de codage M = {mi}, i E {O, K - 1},K > 2 associé à ce module de codage, on cherche le paramètre de codage optimal mopt qui minimise : Mopt = argmininemUn3 [Jin = D(s,42) + !Lx&(SN,42) + ÀxR(Ein, pin) où: D (s, in) est une mesure de distorsion entre des échantillons sources, s, et des échantillons reconstruits courants, gm, pour le paramètre de codage m ; 3022723 23 D'(SN, gin) est une mesure de distorsion entre des échantillons reconstruits précédents, :S. N , appartenant à un voisinage spatial et/ou temporel de référence, N, et les échantillons reconstruits courants, gin, pour le paramètre de codage m ; R (Em, pm) est une estimation d'un coût en bit de résidus transformés quantifiés, 5 cm, et d'une information secondaire, pm, à transmettre à un décodeur pour le paramètre de codage m ; kt est un premier multiplicateur de Lagrange, définissant un compromis entre D (S, Sm) et D'(gN, gin) ; et À est un second multiplicateur de Lagrange, définissant un compromis entre 10 D (s , .§m) et D' (g N , .§m) d'une part et R(Em, pm) d'autre part.
  4. 4. Procédé selon l'une quelconque des revendications 1 à 3, caractérisé en ce que ledit au moins un paramètre de codage appartient au groupe comprenant : une taille ou un type de transformée appliquée à des échantillons résiduels, dans le cas où ledit au moins un module de codage est un module de transformation 15 (0) ; des paramètres de quantification, dans le cas où ledit au moins un module de codage est un module de quantification (1) ; un type de codage entropique, dans le cas où ledit au moins un module de codage est un module de codage entropique (2) ; 20 des paramètres de filtrage de boucle, dans le cas où ledit au moins un module de codage est un module de filtrage de boucle (3) ; un mode de prédiction intra, dans le cas où ledit au moins un module de codage est un module de prédiction intra (4) ; des vecteurs mouvements et/ou prédicteurs de mouvement, dans le cas où ledit 25 au moins un module de codage est un module de prédiction inter (5) ; un mode de prédiction et/ou une taille d'unité de prédiction, dans le cas où ledit au moins un module de codage est un module de sélection (6) parmi plusieurs modules de prédiction.
  5. 5. Procédé selon l'une quelconque des revendications 1 à 4, caractérisé en ce que le voisinage de référence comprend au moins une portion d'image reconstruite précédente appartenant au groupe comprenant : 3022723 24 au moins une première portion d'image reconstruite précédente, obtenue à partir d'une portion d'image codée précédente qui occupe dans une première image codée précédente une position identique à celle de la portion d'image à coder courante dans une image à coder courante ; 5 au moins une deuxième portion d'image reconstruite précédente, qui occupe dans ladite première image codée précédente une position adjacente à celle de ladite au moins une première portion d'image reconstruite précédente ; au moins une troisième portion d'image reconstruite précédente, obtenue à partir d'une portion d'image compensée en mouvement qui occupe dans une deuxième 10 image codée précédente une position compensée en mouvement, à l'aide d'un vecteur mouvement, relativement à la position de la portion d'image à coder courante dans une image à coder courante ; au moins une quatrième portion d'image reconstruite précédente, qui occupe dans ladite deuxième image codée précédente une position adjacente à celle de 15 ladite au moins une troisième portion d'image reconstruite précédente ; au moins une cinquième portion d'image reconstruite précédente, obtenue à partir d'une portion d'image codée précédente qui occupe dans ladite image codée courante une position adjacente à celle de la portion d'image à coder courante. 20
  6. 6. Procédé selon l'une quelconque des revendications 1 à 5, caractérisé en ce que le voisinage de référence comprend au moins deux portions d'image reconstruites précédentes, et en ce que la seconde mesure de distorsion D' est définie comme une somme pondérée d'une pluralité de mesures de distorsion intermédiaires, chaque mesure de distorsion intermédiaire étant associée à une desdites au moins deux portions d'image 25 reconstruites précédentes et étant définie comme une mesure de distorsion entre lesdits échantillons reconstruits courants, compris dans la portion d'image reconstruite courante, et des échantillons reconstruits précédents, appartenant à la portion d'image reconstruite précédente associée à ladite mesure de distorsion intermédiaire.
  7. 7. Procédé selon la revendication 6, caractérisé en ce que ladite somme pondérée 30 est définie par un jeu de coefficients de pondération qui est variable d'un paramètre de 3022723 25 codage à l'autre au sein dudit ensemble de paramètres de codage disponibles pour ledit au moins un module de codage.
  8. 8. Produit programme d'ordinateur, comprenant des instructions de code de programme pour la mise en oeuvre du procédé selon au moins une des revendications 1 à 5 7, lorsque ledit programme est exécuté sur un ordinateur.
  9. 9. Médium de stockage (71) lisible par ordinateur et non transitoire, stockant un produit programme d'ordinateur selon la revendication 8.
  10. 10. Dispositif de sélection (100), pour une portion d'image à coder courante et pour au moins un module de codage compris dans un encodeur vidéo, d'au moins un 10 paramètre de codage parmi un ensemble de paramètres de codage disponibles pour ledit au moins un module de codage, le dispositif de sélection comprenant des moyens (71, 72, 73) de mise en oeuvre d'un modèle décisionnel définissant une minimisation, sous une contrainte de débit, d'une première mesure de distorsion D entre des échantillons sources, compris dans ladite portion d'image à coder courante, et des échantillons 15 reconstruits courants, compris dans une portion d'image reconstruite courante, obtenue à partir de la portion d'image à coder courante, caractérisé en ce que les moyens (71, 72, 73) de mise en oeuvre du modèle décisionnel définissent ladite minimisation sous une contrainte supplémentaire de régularité, portant sur une seconde mesure de distorsion D' entre lesdits échantillons reconstruits courants et des échantillons reconstruits 20 précédents, appartenant à un voisinage de référence spatial et/ou temporel comprenant au moins une portion d'image reconstruite précédente, obtenue à partir d'au moins une portion d'image codée précédente.
FR1455665A 2014-06-19 2014-06-19 Procede de selection d'au moins un parametre de codage dans un encodeur video, sous une contrainte supplementaire de regularite. Active FR3022723B1 (fr)

Priority Applications (2)

Application Number Priority Date Filing Date Title
FR1455665A FR3022723B1 (fr) 2014-06-19 2014-06-19 Procede de selection d'au moins un parametre de codage dans un encodeur video, sous une contrainte supplementaire de regularite.
US14/745,005 US9888254B2 (en) 2014-06-19 2015-06-19 Method for selecting at least one encoding parameter in a video encoder, with a supplementary smoothness constraint

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
FR1455665A FR3022723B1 (fr) 2014-06-19 2014-06-19 Procede de selection d'au moins un parametre de codage dans un encodeur video, sous une contrainte supplementaire de regularite.
FR1455665 2014-06-19

Publications (2)

Publication Number Publication Date
FR3022723A1 true FR3022723A1 (fr) 2015-12-25
FR3022723B1 FR3022723B1 (fr) 2018-06-29

Family

ID=51261144

Family Applications (1)

Application Number Title Priority Date Filing Date
FR1455665A Active FR3022723B1 (fr) 2014-06-19 2014-06-19 Procede de selection d'au moins un parametre de codage dans un encodeur video, sous une contrainte supplementaire de regularite.

Country Status (2)

Country Link
US (1) US9888254B2 (fr)
FR (1) FR3022723B1 (fr)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109819263B (zh) * 2017-11-22 2022-08-19 腾讯科技(深圳)有限公司 视频编码方法、装置、计算机设备及存储介质
CN113422950B (zh) * 2021-05-31 2022-09-30 北京达佳互联信息技术有限公司 训练方法和训练装置、图像数据处理方法和装置、电子设备及存储介质

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2013074365A1 (fr) * 2011-11-18 2013-05-23 Dolby Laboratories Licensing Corporation Optimisation de paramètres de filtre de déblocage

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2005022923A2 (fr) * 2003-08-26 2005-03-10 Thomson Licensing S.A. Procede et dispositif de reduction au minimum du nombre d'images de reference utilisees pour l'intercodage
US8036270B2 (en) * 2006-07-27 2011-10-11 Sharp Laboratories Of America, Inc. Intra-frame flicker reduction in video coding
US9020294B2 (en) * 2012-01-18 2015-04-28 Dolby Laboratories Licensing Corporation Spatiotemporal metrics for rate distortion optimization
WO2013109124A1 (fr) * 2012-01-19 2013-07-25 삼성전자 주식회사 Procédé et dispositif permettant de coder une vidéo afin de limiter la prédiction bidirectionnelle et la fusion de blocs, et procédé et dispositif permettant de décoder cette vidéo

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2013074365A1 (fr) * 2011-11-18 2013-05-23 Dolby Laboratories Licensing Corporation Optimisation de paramètres de filtre de déblocage

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
CHANGUEL N ET AL: "Predictive control for efficient statistical multiplexing of digital video programs", PACKET VIDEO WORKSHOP, 2009. PV 2009. 17TH INTERNATIONAL, IEEE, PISCATAWAY, NJ, USA, 11 May 2009 (2009-05-11), pages 1 - 9, XP031483137, ISBN: 978-1-4244-4651-3 *
SULLIVAN G J ET AL: "RATE-DISTORTION OPTIMIZATION FOR VIDEO COMPRESSION", IEEE SIGNAL PROCESSING MAGAZINE, IEEE SERVICE CENTER, PISCATAWAY, NJ, US, vol. 15, no. 6, 1 November 1998 (1998-11-01), pages 74 - 90, XP011089821, ISSN: 1053-5888, DOI: 10.1109/79.733497 *

Also Published As

Publication number Publication date
FR3022723B1 (fr) 2018-06-29
US9888254B2 (en) 2018-02-06
US20150373367A1 (en) 2015-12-24

Similar Documents

Publication Publication Date Title
CN111567051B (zh) 对视频数据使用解块滤波器的方法和设备
JP5044057B2 (ja) フィルタを選択する方法及び装置
KR100989296B1 (ko) 아티팩트 평가를 통한 향상된 이미지/비디오 품질
US9392280B1 (en) Apparatus and method for using an alternate reference frame to decode a video frame
WO2019242500A1 (fr) Procédé et appareil de codage et de décodage vidéo, dispositif informatique et support de stockage lisible
KR20210119549A (ko) 양방향 광 흐름을 위한 비트-폭 제어를 위한 방법 및 디바이스
US11206418B2 (en) Method of image encoding and facility for the implementation of the method
FR2881898A1 (fr) Procede et dispositif de codage d&#39;une image video en mode inter ou intra
FR2941581A1 (fr) Codage et decodage d&#39;une sequence d&#39;images video par zones d&#39;images
FR3022723A1 (fr) Procede de selection d&#39;au moins un parametre de codage dans un encodeur video, sous une contrainte supplementaire de regularite.
EP2716045B1 (fr) Procédé de codage et de décodage d&#39;images, dispositif de codage et de décodage d&#39;images et programmes d&#39;ordinateur correspondants
EP2761871A1 (fr) Estimation de mouvement au niveau du décodeur par mise en correspondance modèles
KR102489605B1 (ko) 조합된 인터 및 인트라 예측을 위한 시스템 및 방법
US20220141475A1 (en) Method and device for coding and decoding data corresponding to a video sequence
CN108769675B (zh) 基于两阶多假设预测的分布式视频自适应重构方法
KR20210153139A (ko) 비디오 코딩을 위한 모션 벡터 예측
EP3050298A1 (fr) Codage et décodage vidéo par héritage d&#39;un champ de vecteurs de mouvement
CN116347102B (zh) 视频编码方法、设备、非暂时性计算机可读存储介质
WO2010086562A1 (fr) Procede et dispositif de codage d&#39;images mettant en oeuvre des modes de codage distincts, procede et dispositif de decodage, et programmes d&#39;ordinateur correspondants
US20230011286A1 (en) Spatial neighbor based affine motion derivation
WO2024042286A1 (fr) Lissage hors boucle de codage d&#39;une frontière entre deux zones d&#39;image
KR20230013163A (ko) 조합된 인터 및 인트라 예측을 위한 시스템 및 방법
KR20140087137A (ko) 적응적 양 예측 방법 및 장치

Legal Events

Date Code Title Description
PLFP Fee payment

Year of fee payment: 2

PLSC Publication of the preliminary search report

Effective date: 20151225

PLFP Fee payment

Year of fee payment: 3

PLFP Fee payment

Year of fee payment: 4

PLFP Fee payment

Year of fee payment: 5

PLFP Fee payment

Year of fee payment: 7

TP Transmission of property

Owner name: MK SYSTEMS USA INC., US

Effective date: 20201210

TP Transmission of property

Owner name: MK SYSTEMS USA INC., US

Effective date: 20201216

PLFP Fee payment

Year of fee payment: 8

PLFP Fee payment

Year of fee payment: 9

PLFP Fee payment

Year of fee payment: 10