FR3015163A1 - Procede d'estimation d'un debit de codage d'une image d'une sequence d'images, procede de codage, dispositif et programme d'ordinateur correspondants. - Google Patents

Procede d'estimation d'un debit de codage d'une image d'une sequence d'images, procede de codage, dispositif et programme d'ordinateur correspondants. Download PDF

Info

Publication number
FR3015163A1
FR3015163A1 FR1362827A FR1362827A FR3015163A1 FR 3015163 A1 FR3015163 A1 FR 3015163A1 FR 1362827 A FR1362827 A FR 1362827A FR 1362827 A FR1362827 A FR 1362827A FR 3015163 A1 FR3015163 A1 FR 3015163A1
Authority
FR
France
Prior art keywords
image
coding
residue
rate
encoding
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
FR1362827A
Other languages
English (en)
Other versions
FR3015163B1 (fr
Inventor
Thibaud Biatek
Mickael Raulet
Olivier Deforges
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.)
Telediffusion de France ets Public de Diffusion
Original Assignee
Telediffusion de France ets Public de Diffusion
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 Telediffusion de France ets Public de Diffusion filed Critical Telediffusion de France ets Public de Diffusion
Priority to FR1362827A priority Critical patent/FR3015163B1/fr
Priority to PCT/EP2014/072604 priority patent/WO2015090682A1/fr
Priority to EP14790557.4A priority patent/EP3085087A1/fr
Publication of FR3015163A1 publication Critical patent/FR3015163A1/fr
Application granted granted Critical
Publication of FR3015163B1 publication Critical patent/FR3015163B1/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/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/18Methods 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 a set of transform coefficients
    • 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/115Selection of the code volume for a coding unit prior to coding
    • 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/124Quantisation
    • H04N19/126Details of normalisation or weighting functions, e.g. normalisation matrices or variable uniform quantisers
    • 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/172Methods 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 picture, frame or field
    • 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/196Methods 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 being specially adapted for the computation of encoding parameters, e.g. by averaging previously computed encoding parameters
    • 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
    • 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/132Sampling, masking or truncation of coding units, e.g. adaptive resampling, frame skipping, frame interpolation or high-frequency transform coefficient masking
    • 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/136Incoming video signal characteristics or properties
    • H04N19/14Coding unit complexity, e.g. amount of activity or edge presence estimation
    • 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/149Data rate or code amount at the encoder output by estimating the code amount by means of a model, e.g. mathematical model or statistical model
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Computing Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)

Abstract

L'invention concerne un procédé d'estimation d'un débit de codage d'une image (100) d'une séquence d'images mettant en œuvre un modèle de débit selon une approche dite ρ-domaine tel que R(p) = θ(1 - p), où : - R désigne ledit débit, - p désigne un pourcentage de coefficients nuls dans au moins un résidu de codage de ladite image, après transformation (107a) et quantification (107b) dudit résidu, ledit résidu étant obtenu par différence entre un bloc de ladite image et une prédiction dudit bloc, θ désigne un paramètre de pente dudit modèle de débit. Selon l'invention, un tel procédé d'estimation comprend une étape de calcul dudit paramètre de pente θ tenant compte d'une surface dudit ou desdits résidu(s) de codage codé(s) pour ladite image.

Description

Procédé d'estimation d'un débit de codage d'une image d'une séquence d'images, procédé de codage, dispositif et programme d'ordinateur correspondants. 1. Domaine de l'invention Le domaine de l'invention est celui du codage de séquences d'images et de la compression de séquences vidéo, notamment, mais non exclusivement, dans le contexte des standards HEVC/H.265 (pour « High Efficiency Video Coding ») et SHVC (pour « Scalable-High Efficiency Video Coding ») établis par les organismes de normalisation tels que le 1TU-T Video Coding Expert Group (VCEG) et le 1.SOPEC Motion Picture Expert Group (MPEG). Plus précisément, l'invention concerne l'estimation et la régulation du débit de données en sortie d'un encodeur vidéo, mises en oeuvre dans le cadre d'une telle compression. 2. Art antérieur et ses inconvénients La compression d'une séquence vidéo consiste à réduire la quantité de données nécessaires pour la représenter, tout en cherchant à minimiser les phénomènes de perte d'informations, et donc de qualité. Lors d'une telle compression, il est nécessaire d'adapter le débit de données en sortie du système d'encodage, pour tenir compte par exemple des contraintes du réseau sur lequel elles doivent être transmises, ou de la taille du support de données sur lequel elles doivent être stockées. Cette adaptation de débit doit également tenir compte de la qualité de restitution de la séquence vidéo que l'on souhaite atteindre pour le flux vidéo décodé. Pour ce faire, des stratégies de régulation de débit, visant à moduler la quantité d'informations en sortie de l'encodeur pour obtenir un débit et une qualité optimaux, sont classiquement mises en oeuvre. Elles permettent de contrôler certains paramètres de l'encodage pour obtenir un flux qui respecte un ensemble de contraintes imposées. Un des principaux enjeux d'une telle régulation de débit est donc de trouver un modèle reliant les paramètres de l'encodage au débit des données en sortie de l'encodeur. Plus particulièrement, dans les techniques de codage prédictif connues, de telles stratégies de régulation de débit agissent le plus souvent sur le paramètre de quantification (ou QP, pour « quantization parameter »), mis en oeuvre lors d'une étape de quantification des résidus de la prédiction. On rappelle en effet que le codage vidéo, tel que proposé par exemple dans le standard MPEG-4 AVC (pour « Advanced Video Coding ») ou dans le standard HEVC, met en oeuvre les étapes suivantes : Les images sont tout d'abord divisées en blocs de taille variable, en fonction de la complexité du mouvement à représenter ; Ces blocs sont ensuite prédits les uns par rapport aux autres, par prédiction spatiale et/ou temporelle. Les informations relatives aux modes de prédiction utilisés et les vecteurs de mouvement sont conservées pour être transmis dans le flux, ou bitstream, final ; Les résidus sont alors formés, par différence entre les blocs d'origine et leur prédiction : B/ocRésidu = BIOCoriginal BIOCprédit Le signal résidu de la prédiction subit ensuite un ensemble de traitements visant à en retirer autant de redondances que possible, à savoir une transformation, pour le faire passer dans le domaine fréquentiel, suivie d'une quantification ; Le flux final, ou bitstream, est ensuite formé en respectant la structure normative, un codage entropique permettant de compresser les informations dans le bitstream. C'est donc en agissant sur la valeur du paramètre de quantification (QP), utilisé lors de l'étape de quantification des résidus de la prédiction, qu'il est possible de faire varier la quantité d'informations perdues lors du codage, et par conséquent de faire varier le débit et la qualité obtenus à la sortie de l'encodeur.
Il est donc particulièrement intéressant d'identifier un modèle liant le paramètre de quantification QP et le débit. Différents modèles de la relation entre le QP et le débit ont été étudiés dans la littérature. Parmi ceux-ci, Z. He et al proposent, dans « Optimum Bit Allocation and Accurate Rate Control for Video Coding via p-Domain Source Modeling », IEEE Transactions on Circuits and Systems for Video Technology, Vol. 12, No. 10, Oct. 2002, une approche intéressante pour la régulation de débit tant du point de vue de la précision de sa représentation que de sa faible complexité en termes algorithmiques. Cette approche, appelée p-domaine, relie un paramètre p, défini comme étant le pourcentage de coefficients nuls dans un macrobloc, ou dans une image, après transformation et quantification, avec le débit R. Selon cette approche du p-domaine, la relation entre le paramètre p et le débit offre un aspect très linéaire, et peut être approchée par la formule : R(p) = 0(1 - p). La droite représentée par cette équation passe par le point (1; 0). En effet, quand p vaut 1, tous les coefficients du macrobloc ou de l'image sont nuls, et le débit R est égal à 0. Pour caractériser cette relation, il est donc suffisant de déterminer la pente 0 de la droite. A ce jour, les techniques connues proposant une estimation de cette pente 0 reposent toutes sur la mise en oeuvre de mesures permettant d'approcher au mieux la valeur de 0, qui varie d'une image à l'autre, selon son contenu. Dans « Stratégies d'encodage pour codeur vidéo scalable » (Thèse), 1NSA Rennes, 2009, Y. Pitrey propose deux approches, dans le contexte des standards MPEG-4-AVC et SVC, pour déterminer la valeur de la pente 0. Selon une première approche, chaque image est encodée deux fois : la première passe est utilisée pour initialiser le modèle de débit R-p, en établissant un paramètre de pente 0 ; la valeur optimale du paramètre de quantification QP est ensuite choisie grâce au modèle de débit ; une seconde passe d'encodage encode définitivement l'image en utilisant le paramètre de quantification QP choisi pour atteindre le débit visé. Un inconvénient de cette première approche d'encodage en deux passes est que la phase de pré-encodage nécessaire pour initialiser le modèle de débit induit une forte augmentation du temps d'encodage : elle pénalise donc fortement la rapidité du mécanisme, et introduit une complexité en termes de calculs. Selon une seconde approche, qui exploite les corrélations entre images successives, l'encodage est réalisé en une seule passe, et le contrôle de débit sur l'image en cours s'appuie sur les informations obtenues après l'encodage des images précédentes. Plus précisément, pour la régulation de débit d'une image en cours, la pente 0 du modèle de débit R-p est initialisée à une valeur calculée sur une image précédente choisie comme référence pour le modèle de débit, à savoir l'image qui possède le comportement le plus proche de celui de l'image en cours de régulation.
Cette valeur de 0 est ensuite corrigée, au fur et à mesure de l'encodage, grâce au feedback des valeurs de 0 mesurées sur les images précédemment codées. Si cette seconde approche présente l'avantage d'induire un temps d'encodage réduit par rapport à la première approche ci-dessus, grâce à la suppression de la première passe d'encodage, ainsi qu'un coût très faible en termes de complexité de calculs, elle induit cependant une diminution de la précision de la régulation de débit. En effet, les changements de contenu entre images successives, même minimes, introduisent un biais dans le calcul du paramètre de quantification optimal. En outre, en cas de changement d'activité trop important entre images successives (grandes variations de mouvement et de détails), les résultats obtenus selon cette seconde approche sont moins performants que selon la première approche. Il existe donc un besoin d'une technique de régulation du débit fondée sur une approche du p-domaine qui ne présente pas ces différents inconvénients de l'art antérieur. Notamment, il existe un besoin d'une telle technique qui permette d'estimer la valeur de la pente 0 du modèle de débit R-p de façon précise et déterministe. Il existe également un besoin d'une telle technique qui permette, par rapport aux méthodes connues, de réaliser l'encodage des images en une seule passe d'encodage, tout en permettant une meilleure précision dans la régulation du débit. Plus généralement, il existe un besoin d'une technique d'estimation précise et déterministe de la complexité de codage d'une image à coder, reposant sur une telle approche dite p-domaine. 3. Exposé de l'invention L'invention répond à ce besoin en proposant un procédé d'estimation d'un débit de codage d'une image d'une séquence d'images mettant en oeuvre un modèle de débit selon une approche dite p-domaine tel que R(p) = 0(1 - p), où : R désigne le débit, p désigne un pourcentage de coefficients nuls dans au moins un résidu de codage de l'image, après transformation et quantification du résidu, le résidu étant obtenu par différence entre un bloc de l'image et une prédiction du bloc, 0 désigne un paramètre de pente dudit modèle de débit. Selon l'invention, un tel procédé d'estimation comprend une étape de calcul du paramètre de pente 0 tenant compte d'un multiple d'une surface du ou des résidu(s) de codage codé(s) pour l'image. Ainsi, l'invention repose sur une approche tout à fait nouvelle et inventive de l'estimation de la complexité de codage d'une image à coder, pouvant notamment, mais non exclusivement, être appliquée à la régulation de débit en sortie d'un encodeur vidéo, par exemple conforme au standard HEVC ou SHVC. En effet, alors que les mécanismes connus d'estimation de débit reposant sur une approche dite p-domaine reposaient tous sur une évaluation empirique du paramètre de pente 0 du modèle débit-p R(p) = 0(1 - p), mettant en oeuvre un ensemble de mesures, le procédé d'estimation de débit de l'invention repose au contraire sur un calcul précis et déterministe de ce paramètre de pente 0. En effet, comme exposé plus en détail dans la suite de ce document, les inventeurs de la présente demande de brevet ont établi la démonstration, dans le contexte d'un codage vidéo de type HEVC, d'un lien direct entre le paramètre de pente 0 et la surface d'un résidu de codage, ou plus généralement, de l'image à encoder. Notamment, un tel lien entre le paramètre de pente 0 et la surface d'un résidu de codage, ou plus généralement, de l'image à encoder peut être un lien de proportionnalité. Dans ce cas, le paramètre de pente 0 est calculé sous forme d'un multiple de cette surface. On notera que par surface de l'image, on entend ici, et dans l'ensemble de ce document, la somme des résolutions de chacune des composantes de l'image dans l'espace de décomposition choisi. Ainsi, dans l'espace YUV par exemple, la surface de l'image correspond à la somme des résolutions de chacune des composantes de chrominance et de luminance de l'image.
Un tel procédé d'estimation de débit, mis en oeuvre dans un codeur de type HEVC/H.265 ou SHVC, permet avantageusement d'atteindre une compression optimale dès la première passe de codage, et de réduire sensiblement la complexité algorithmique d'un tel codeur.
Selon une première caractéristique de l'invention, p désignant un pourcentage de coefficients nuls dans un résidu de taille NxN de l'image après transformation et quantification du résidu, le paramètre de pente 0 est déterminé, lors de l'étape de calcul, sous la forme 0 = 4 * N2. Ainsi, les inventeurs de la présente demande de brevet ont établi une formulation du modèle R-p au niveau d'un résidu de codage de l'image, dans laquelle le paramètre de pente 0 dépend de la taille du résidu. Dans le cas d'un codage vidéo de type HEVC ou SHVC, dans lequel les résidus sont des macroblocs de NxN pixels où N vaut 4, 8, 16 ou 32, le paramètre de pente 0 peut ainsi être très simplement calculé sous la forme 0 = 4 * N2. Le procédé d'estimation de débit de l'invention offre ainsi une formulation précise et déterministe du modèle de débit R-p, au niveau d'un résidu, et permet donc une simplification de la complexité algorithmique par rapport aux procédés de régulation de débit de l'art antérieur. Selon une autre caractéristique de l'invention, un tel procédé d'estimation comprend en outre une étape d'estimation du débit de codage au niveau du résidu telle que : R(p) = 4 * N2 * (1 - p) + A, où A désigne un paramètre d'ajustement dépendant d'une distribution de coefficients dans le résidu. Il est ainsi possible d'affiner le modèle de débit R-p, pour obtenir une estimation plus précise du débit, en introduisant un tel paramètre d'ajustement. Selon un autre mode de réalisation de l'invention, p désignant un pourcentage de coefficients nuls dans l'image de surface S après transformation et quantification, le paramètre de pente 0 est déterminé, lors de l'étape de calcul, sous la forme 0 = 4 * S. En effet, sous l'hypothèse que tous les résidus d'une image sont codés, la relation obtenue au niveau résidu peut avantageusement être étendue à une image, ou frame (trame), entière, et permet de calculer simplement le paramètre de pente 0.
Ainsi, dans le cadre d'un codage vidéo de type HEVC ou SHVC, les inventeurs de la présente demande de brevet ont établi que ce paramètre de pente s'exprimait sous la forme du quadruple de la surface de l'image. Selon une variante de réalisation de l'invention, p désignant un pourcentage de coefficients nuls dans l'image de surface S après transformation et quantification, le paramètre de pente 0 est déterminé, lors de l'étape de calcul, sous la forme 0 = 4 * (1 - rskip) * S, où rskip désigne un taux de skip dans l'image. Par référence aux standards HEVC ou SHVC, le taux de skip rskip désigne ici, et dans l'ensemble de ce document, la surface totale couverte par les unités de codage CU (pour « Coding Units ») dont le flag cu_skip_flag vaut '1', divisée par la surface totale de l'image. En effet, les inventeurs ont mis en évidence que, lors du codage d'une image, tous les résidus de codage ne sont pas codés : lorsque la prédiction est suffisamment bonne, le résidu peut être nul. Dans ce cas, lors du codage de l'image, le macrobloc associé peut ne pas être compressé : on dit alors qu'il est « skippé ». L'invention propose donc avantageusement d'affiner le modèle de débit R-p, en exprimant le paramètre de pente 0, non pas à partir de la surface totale de l'image, mais à partir de la surface nonskippée de l'image. Une telle formulation permet d'obtenir une précision accrue du modèle de débit. Selon une caractéristique additionnelle des deux modes de réalisation précités, un tel procédé d'estimation comprend en outre une étape d'estimation du débit de codage au niveau de l'image telle que : R(p) = 0 * (1 - p) AF, Où AF désigne un paramètre d'ajustement dépendant d'une distribution des résidus de codage pour l'image. A nouveau, un tel paramètre d'ajustement permet d'améliorer encore l'estimation du débit. L'invention concerne également un procédé de codage d'une séquence d'images comprenant une étape de découpage de chacune des images en au moins un bloc d'image, et une phase d'encodage comprenant des étapes de : prédiction de chacun des blocs, délivrant un bloc prédit ; pour chacun des blocs, formation d'un résidu de codage par différence entre le bloc d'image et le bloc prédit ; transformation et quantification des résidus de codage ; le procédé de codage mettant en oeuvre un mécanisme d'estimation d'un débit de codage des images à partir d'un modèle de débit selon une approche dite p-domaine tel que R(p) = 0(1 - p), où R désigne le débit, p désigne un pourcentage de coefficients nuls dans au moins un résidu de codage de l'image, après transformation et quantification du résidu, et 0 désigne un paramètre de pente du modèle de débit. Selon l'invention, un tel procédé de codage comprend une étape de calcul du paramètre de pente 0 tenant compte d'une surface du ou des résidu(s) de codage encodé(s) pour l'image. Selon un aspect de l'invention, un tel paramètre de pente 0 est notamment calculé sous forme d'un multiple d'une surface du ou des résidu(s) de codage encodé(s) pour l'image.
Selon un autre aspect de l'invention, pour chacun de ces blocs, un tel procédé de codage met en oeuvre une unique itération de la phase d'encodage. Ainsi, le procédé de codage vidéo de l'invention permet, par rapport aux procédés de codage vidéo antérieurs reposant sur une régulation de débit selon une approche dite p-domaine, de ne réaliser qu'une passe d'encodage, le paramètre de pente 0 pouvant être directement calculé, sans qu'il soit nécessaire de l'évaluer au cours d'une première passe d'initialisation de l'encodage. En supprimant une passe d'encodage, le procédé de codage de l'invention permet d'améliorer significativement les délais de latence des encodeurs de l'art antérieur. En outre, par rapport aux approches de l'art antérieur qui proposaient une régulation de débit reposant déjà sur une unique passe d'encodage, le procédé de l'invention permet une estimation plus précise du paramètre de pente 0. L'invention concerne encore un dispositif de codage d'une séquence d'images comprenant un module de découpage de chacune des images en au moins un bloc d'image, et un module d'encodage comprenant : un module de prédiction de chacun des blocs, délivrant un bloc prédit ; un module de transformation d'un résidu de codage formé par différence entre le bloc d'image et le bloc prédit ; un module de quantification du résidu de codage. Un tel dispositif de codage comprend des moyens de régulation d'un débit de codage des images à partir d'un modèle de débit selon une approche dite p-domaine tel que R(p) = 0(1 - p), où R désigne le débit, p désigne un pourcentage de coefficients nuls dans au moins un résidu de codage de l'image, après transformation et quantification du résidu, et 0 désigne un paramètre de pente du modèle de débit. Selon l'invention, les moyens de régulation comprennent un module de calcul du paramètre de pente 0 tenant compte d'une surface du ou des résidu(s) de codage encodé(s) pour l'image, et chacun des blocs est encodé par un unique passage dans le module d'encodage. Plus généralement, l'invention concerne un dispositif de codage présentant en combinaison tout ou partie des caractéristiques exposées dans l'ensemble de ce document. L'invention concerne également des programmes d'ordinateur comportant des instructions pour la mise en oeuvre d'un procédé de régulation ou d'un procédé de codage tels que décrits précédemment lorsque le programme est exécuté par un processeur.
L'invention concerne enfin des supports d'enregistrement lisibles par un ordinateur sur lequel est enregistré un programme d'ordinateur comprenant des instructions pour l'exécution des étapes du procédé de régulation ou du procédé de codage tels que décrits précédemment. 4. Liste des figures D'autres buts, caractéristiques et avantages de l'invention apparaîtront plus clairement à la lecture de la description suivante, donnée à titre de simple exemple illustratif, et non limitatif, en relation avec les figures, parmi lesquelles : la figure 1 illustre l'architecture d'un codeur vidéo de l'art antérieur permettant de délivrer un flux vidéo conforme au standard HEVC ; les figures 2A et 2B présentent une comparaison entre le modèle R-p de l'invention et des résultats de simulation pour différents résidus issus de bitstreams de référence ; la figure 3 illustre une comparaison entre le modèle R-p selon un premier mode de réalisation de l'invention et des résultats de simulation pour différentes images de classe A à E; la figure 4 illustre une comparaison entre le modèle R-p selon un deuxième mode de réalisation de l'invention et des résultats de simulation pour différentes images de classe A à E; la figure 5 illustre une première variante de réalisation du codeur de la figure 1, dans lequel une régulation de débit au niveau résidu est mise en oeuvre conformément à un mode de réalisation de l'invention ; la figure 6 illustre une structure de trames en configuration Random Access, avec ordre d'encodage, conforme au standard HEVC ; la figure 7 illustre une deuxième variante de réalisation du codeur de la figure 1, dans lequel une régulation de débit au niveau frame est mise en oeuvre conformément à un mode de réalisation de l'invention. 5. Description détaillée de modes de réalisation de l'invention Le principe général de l'invention repose sur un calcul précis et déterministe du paramètre de pente 0 dans un modèle de débit R-p d'une approche dite p-domaine mis en oeuvre dans le cadre d'un mécanisme d'estimation de la complexité du codage d'une image. Un tel principe s'applique notamment avantageusement, mais non exclusivement, à la régulation du débit de données en sortie d'un encodeur vidéo. En effet, les inventeurs de la présente demande de brevet ont établi que, dans le cadre d'un codage vidéo de type HEVC ou SHVC par exemple, ce paramètre de pente 0 pouvait être simplement calculé à partir d'une surface du ou des résidus codés de l'image, et notamment, dans le mode de réalisation décrit ci-après, comme le quadruple de cette surface. Plus généralement, l'invention permet d'estimer la complexité de codage d'une image à coder ou d'un résidu de codage, dans le cadre d'un codage vidéo de type prédictif.
On présente désormais, en relation avec les figures, un mode de réalisation de l'invention dans le contexte particulier du codage vidéo décrit dans le standard HEVC tel que défini par le ITU-T Video Coding Experts Group et par le 1SOPEC Moving Picture Experts Group. L'invention n'est bien sûr pas limitée à ce type de codage vidéo, et peut notamment être étendue au codage vidéo échelonnable, ou scalable, de type SHVC, et plus généralement à tout autre type de codage vidéo prédictif dans lequel le paramètre de pente 0 pourra être directement associé à la taille des résidus de codage d'une image. Le standard HEVC a été conçu pour répondre à toutes les applications existantes du standard H. 264/MPEG-4 AVC, en permettant une résolution vidéo accrue et une utilisation accrue des architectures de traitement parallèles. La figure 1 illustre l'architecture d'un codeur vidéo permettant de produire un flux vidéo présentant une structure et une syntaxe conformes au standard HEVC, et apte à mettre en oeuvre le procédé de régulation de débit de l'invention. Un tel codeur vidéo est connu de l'art antérieur, mais on en rappelle son principe de fonctionnement pour mieux illustrer le principe de l'invention. On pourra se référer, pour une description détaillée du mode de fonctionnement d'un tel codeur vidéo au document « Overview of the High Efficiency Video Coding (HEVC) standard » de Gary J. Sullivan et al., IEEE Transactions on Circuits and Systems for Video Technology, Vol. 22, No. 12, December 2012. En résumé, un tel codeur vidéo procède de la manière suivante. Chaque image 100 est découpée en régions en forme de blocs, appelées CTU pour Coding Tree Units composées de CTB pour Coding Tree Blocks, un par composante colorimétrique. Le découpage exact en blocs est transmis au décodeur. Chaque CTU est elle-même subdivisée en unités de codage appelées CUs (pour « Coding Units », composées de CBs pour « Coding Blocks », à savoir un par composante colorimétrique), elles-mêmes divisées en unités de prédiction appelées PUs (pour « Prediction Units », composées de PB pour « Prediction Blocks », un par composante colorimétrique) et en unités de transformation appelées TUs (pour « Transform Units », composées de TB pour « Transform Blocks », un par composante colorimétrique).
La première image d'une séquence vidéo (et chaque image utilisée comme point d'accès aléatoire à la séquence vidéo) est codée en utilisant le mode de prédiction intra (i.e. une prédiction spatiale à partir d'autres régions de la même image, mais sans utiliser d'autres images de la séquence). C'est le bloc référencé 101 qui estime quel mode de prédiction intra est optimal, tandis que le bloc référencé 102 réalise la prédiction à partir de ce mode optimal. Pour toutes les autres images de la séquence, ou entre les différents points d'accès aléatoires à la séquence, on utilise, pour la plupart des blocs, une prédiction temporelle inter-images. Ainsi, le bloc référencé 103 estime le ou les vecteurs de mouvement optimaux (à partir du buffer 110 contenant les images précédemment encodées) ; le bloc référencé 104 applique alors ces mouvements en faisant une compensation de mouvement pour la prédiction. Pour ces deux types de prédiction intra et inter, les informations importantes relatives aux prédictions sont conservées et transmises (par l'intermédiaire des signaux de données référencés 105 et 106) pour être encodées et placées dans le bitstream. Le codeur et le décodeur génèrent des signaux de prédiction inter identiques, en appliquant une compensation de mouvement à partir des vecteurs de mouvement, et d'informations relatives aux modes de prédiction utilisés, qui sont transmis dans le bitstream. Le résidu de la prédiction inter ou intra (appliquée à chaque PB d'un bloc PU) est formé par différence entre le bloc d'origine et sa prédiction. Plus la prédiction est précise, et moins le résidu ainsi formé contient d'énergie. Il est ensuite transformé par une transformée linéaire spatiale (appliquée à chaque TB d'un bloc TU). Les coefficients de la transformée sont ensuite mis à l'échelle, quantifiés (bloc référencé 107). Le résidu ainsi transformé et quantifié 108 est conservé pour être encodé et transmis dans le bitstream. Afin que le décodeur puisse reproduire les mêmes images de référence utilisées pour la prédiction temporelle, l'encodeur intègre un bloc de quantification et transformation inverses 109. Le partitionnement en blocs peut créer des artefacts et des différences de niveau visibles lors des phases de transformation et de quantification, ce qui peut impacter négativement la précision de la prédiction. Pour pallier ce problème des étapes de filtrages des blocs reconstruits destinées au buffer des images de référence sont mises en oeuvre. Une première étape de pré-analyse 111 détermine les filtres optimaux à appliquer, puis ces filtres sont appliqués dans le bloc référencé 112. Les informations référencées 113 relatives au choix des filtres sont conservées pour être encodées et transmises dans le bitstream. Lors de l'encodage, un bloc de contrôle 114 gère les CTUs et les modes de prédictions à appliquer. Les informations relatives à cette gestion sont également conservées dans le flux référencé 115 pour l'encodage et l'insertion dans le bitstream final. Enfin le bitstream 116 est formé en respectant la structure normative du flux HEVC. Un codeur entropique 117 CABAC (Codage Binaire Arithmétique avec Adaptation de Contexte) est utilisé pour compresser toutes les données conservées (à savoir les données référencées 115, 108, 105, 113 et 106).
La quantification des coefficients issus de la transformée, mise en oeuvre dans le bloc référencé 107 sur la figure 1, constitue une étape très importante du processus d'encodage vis à vis de la problématique de l'invention, car elle permet de faire varier le débit nécessaire pour coder le signal en ajustant la quantité de données perdues. En pratique, c'est sur le paramètre de quantification QP (pour Quantization Parameter) que l'on agit pour faire varier la quantité d'informations perdues. En effet, l'opération de quantification conduit à l'annulation des coefficients dont les valeurs ne sont pas significatives dans le signal transformé. Un des principaux enjeux de la régulation de débit est donc de trouver un modèle reliant les paramètres de l'encodage au débit des données en sortie de l'encodeur vidéo de la figure 1. La présente invention propose une régulation de débit reposant sur une approche dite p-domaine, qui est intéressante tant du point de vue de la précision de sa représentation que de sa faible complexité en termes algorithmiques. On rappelle qu'un processus de régulation de débit se déroule généralement en quatre temps: tout d'abord, les contraintes à appliquer au flux sont déterminées en fonction du contexte envisagé ; les ressources disponibles sont ensuite calculées et réparties entre les différents niveaux du flux ; la valeur du paramètre de quantification est choisie en accord avec les ressources à respecter ; les données sont encodées en utilisant le QP choisi et les ressources disponibles sont mises à jour. L'approche de la régulation de débit dite p-domaine, mise en oeuvre dans l'invention, repose sur une expression de la relation entre la valeur du paramètre de quantification et le débit en sortie de l'encodeur. En partant du standard HEVC, les inventeurs de la présente demande de brevet ont établi une formulation du modèle R-p, tout d'abord au niveau du résidu. Cette relation dépend de la taille NxN du résidu, et d'un paramètre d'ajustement qui dépend de la distribution des coefficients dans le résidu. On a alors : R = 4 *N2 * (1 - p) + A (4) Cette première relation peut être avantageusement utilisée dans le cadre d'un mécanisme de régulation de débit au niveau du résidu. Le paramètre d'ajustement A peut être négligé en première approche. Cependant, pour des raisons de complexité algorithmique, il est souvent raisonnable d'envisager une régulation de débit, non pas au niveau du résidu, mais au niveau d'une image. Les inventeurs ont donc étendu la relation (4) ci-dessus à une frame (trame) entière, en considérant, selon une première variante de réalisation, que tous les résidus d'une image sont codés. Le signal vidéo étant défini par des composantes colorimétriques, une frame est classiquement composée de plusieurs composantes, par exemple les composantes YUV. Si l'on considère plus généralement le cas d'une composante C de l'image (C pouvant, dans un cas particulier, être l'une des composantes Y, U ou V), la relation (4) peut alors être sommée sur cette composante C de l'image, en désignant par RZ l'ensemble des résidus dans cette composante C : = Ri (5) iERZ En remplaçant dans l'équation (5) la formulation du débit établie dans l'équation (4), on obtient la relation suivante : = 4 * (1 - pi) * Ni2 + (6) iERZ iERZ pi représentant le pourcentage de coefficients nuls dans le résidu i après transformée et quantification, il peut être remplacé par le nombre de coefficients nuls (Z,) dans le résidu i divisé par le nombre total de coefficients (N,2) dans ce même résidu i. On obtient alors : *1\42 1\1,2 (7) iERZ iERZ iERZ En remplaçant cette formule (7) dans l'équation (6), on obtient alors : = 4 * (I N? - Z-)+ iERZ (8) iERZ iERZ Dans cette équation (8), on retrouve donc l'expression de la surface totale couverte par les résidus Sc pour la composante C (ZieRzNi2) ainsi que la quantité totale de coefficients nuls Zc pour la composante C (ZieRzZi), et un coefficient d'ajustement global AFc pour la composante C (ZieRz Ai). On a alors la relation suivante : Rc = 4 * (Sc - Zc) + 3,FC (9) Afin d'obtenir la relation sur la frame totale, on somme sur toutes les composantes C de l'ensemble de Composantes de l'image : RFrame E RC (10) CE Composantes Si l'on prend l'exemple d'une image décomposée dans l'espace des composantes YUV, on obtient, en remplaçant dans l'équation (10) chacune des composantes Rc=Ry, Rc=Ru, Rc=Rv, par l'expression obtenue dans l'équation (9) : RFrame = 4 * ((Sy + Sv) - (Zy Zv)) (LFY + Fu + ( 1 1 ) RFrame = 4 * (STotale ZTotale) AFTotale (12) En ré-exprimant le pourcentage de coefficients nuls dans l'image, après les étapes de transformation et de quantification, p = ZTotale/STotale on obtient la relation finale ci-dessous. RFrame = 4 * STotale * (1 - p) 3,FTotale (13) Cette relation dépend de la surface de l'image STotaie (à savoir la somme des surfaces de chaque composante, plus simplement désignée par S dans la suite de ce document), et d'un paramètre d'ajustement global qui dépend de la distribution de la totalité des résidus sur chaque composante AFTotale (plus simplement désigné par AF dans la suite de ce document). En effet, lors du mécanisme de codage des coefficients transformés, plusieurs informations capitales sont signalées, telles que la valeur absolue (si >1, si >2), le signe, la position, etc. Dans le standard HEVC, ces informations sont signalées à travers les éléments de syntaxe suivants : - transform_skip_flag - last_sig_coeff_x_prefix - last_sig_coeff_y_prefix - last_sig_coeff_x_suffix - last_sig_coeff_y_suffix - coded_sub_block_flag - sig_coeff_flag - coeff_abs_level_greaterl_flag - coeff_abs_level_greater2_flag - coeff_sign_flag - coeff_abs_level_remaining Ces éléments de syntaxe ont des conditions de signalisation qui dépendent de la distribution des coefficients. Par exemple les deux résidus suivants présentés dans les tableaux 1 et 2 ci-dessous n'auront pas le même coût en termes de bits, alors qu'ils contiennent les mêmes coefficients : 3 -2 0 1 0 0 0 0 0 0 1 0 0 0 0 0 -1 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 3 0 0 1 0 0 0 0 -2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 -1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 TABLEAU 1 TABLEAU 2 Les simulations réalisées ont permis d'observer la réalité du modèle établi par l'équation (13). Les figures 2A et 2B présentent les courbes du débit R en fonction du paramètre p, après codage entropique de type CABAC, respectivement pour des images de classe A (figure 2A) et de classe B (figure 2B). On rappelle en effet que les séquences de références sont réparties en classes. Ces classes sont composées par des séquences de résolutions spécifiques et de contenu spécifique (dans certains cas). La classe A contient deux séquences de résolution 2500x1600, les deux séquences contenant beaucoup de mouvements. La classe B contient 6 séquences de résolution 1920x1080 avec du contenu varié (travelling, plans fixes, avec ou sans changements de plan). Pour plus d'informations sur cette notion de classe, on pourra se référer au document JCTVC-00022 élaboré par la "Joint Collaborative Team on Video Coding (JCTVC) of 1TU-T SG 16 WP 3 and 1SOPEC JTC 1/SC 29/WG 11" lors du 15ème meeting qui s'est déroulé à Genève, en Suisse, du 23 octobre au 1er novembre 2013. Sur les figures 2A et 2B, les droites référencées 20, 21, 22 et 23 représentent le modèle théorique du débit R en fonction du paramètre p obtenu selon la méthode de calcul de l'invention, en considérant le paramètre de pente 0 égal à 4*N2, pour des résidus de codage de taille 4x4 (droite référencée 20), 8X8 (droite référencée 21), 16x16 (droite référencée 22), 32x32 (droite référencée 23), et en négligeant le coefficient d'ajustement A. Les nuages de points représentent quant à eux les valeurs du débit mesurées sur des résidus issus de bitstreams de référence, respectivement de taille 4x4, 8x8, 16x16 et 32x32. Ces bitstreams de référence correspondent aux séquences issues des classes citées précédemment encodées à l'aide du logiciel de référence, en configuration Random-Access et pour quatre valeurs de QP fixées (22, 27, 32 et 37). On rappelle que le logiciel de référence HM est composé d'un encodeur et d'un décodeur utilisés pour les tests de conformité et d'interopérabilité. Les bitstreams de référence sont des flux, encodés avec le logiciel de référence, et mis à disposition par la BBC (marque déposée) pour pouvoir par exemple tester les décodeurs. Des bitstreams sont disponibles et couvrent pour chaque séquence les huit configurations (All-Intra, All-Intra 10, Low-Delay P, Low-Delay P 10, Low-Delay B, Low-Delay B 10, Random-Access et Random Access 10), pour quatre QP différents (22, 27, 32 et 37). Dans le cadre des présents travaux, les inventeurs ont utilisé la version HM11 du logiciel de référence précité, tel que défini à l'occasion du 13' meeting de la «Joint Collaborative Team on Video Coding (JCT-VC) of 1TU-T SG16 WP3 and 1SOPEC JTC1/SC29/WG11 », qui s'est tenu à Incheon, en Corée du Sud, du 18 au 26 avril 2013, et décrit dans le document JCTVC- M1010.
On notera par ailleurs qu'une mesure de la valeur moyenne du coefficient d'ajustement A pour les courbes des figures 2A et 2B donne les valeurs moyennes de déviations listées dans le tableau 3 ci-dessous, pour les différentes tailles de résidus : Taille Moyen 4x4 -0.11 bits 8x8 -1.15 bits 16x16 -2.75 bits 32x32 -6.35 bits Moyenne -2.59 bits TABLEAU 3 La figure 3 illustre l'évolution du débit R en fonction du paramètre p, non plus au niveau d'un résidu, mais au niveau d'une trame, pour différentes images de classe A à E. En effet, pour réaliser une économie en termes de calculs, il est parfois préférable d'effectuer le contrôle de débit au niveau des images et d'encoder chaque macrobloc avec la même valeur du paramètre de quantification QP.
Ainsi, les droites référencées 30 à 34 illustrent le modèle théorique du débit R en fonction du paramètre p, obtenu selon la méthode de calcul de l'invention, selon laquelle le paramètre de pente 0=4S, où S est la surface totale de l'image, et en négligeant le paramètre d'ajustement A F, et ce, respectivement pour des images de classe A, B, C, D et E. En effet, on rappelle que les séquences de test sont réparties en 5 classes de résolutions et contenus variés (A : 2560x1600, B : 1920x1080, C : 832x480, D : 416x240 et E : 1280x720). Les nuages de points concentrés autour des droites référencées 30 à 34 représentent quant à eux les valeurs mesurées sur des frames issues des bitstreams de référence précités pour ces différentes classes A à E. On peut noter que le modèle de débit R-p illustré par les courbes référencées 30 à 34 est donc assez proche de la réalité, mais ne s'avère pas aussi précis que le modèle de débit au niveau résidu illustré sur les figures 2A et 2B. En effet, lors de l'encodage d'une trame, un nombre non-négligeable de résidus ne sont pas codés : la prédiction étant parfaite, les résidus sont en effet nuls, ce qui provoque le « skip » (i.e. la non-compression) de certaines unités élémentaires de codage dans l'image, ou CU pour « Coding Unit ». Afin d'évaluer la pente du p-domaine de façon plus précise, une variante de réalisation de l'invention repose sur une approche permettant de l'estimer de façon plus précise, et donc de déplacer les droites référencées 30 à 34 de la figure 3 vers les nuages de points associés, selon les propriétés de la trame. Dans cette variante de réalisation, on ne considère pas la surface totale de la trame comme étant la surface codée, mais on prend en compte au contraire la surface non-skippée dans l'image. Cette approche se traduit par l'équation suivante, où rskip représente le taux de skip dans l'image : S' = (1 - rskip) * S (14) En utilisant cette approche dans l'équation (13), on obtient en remplaçant S par S': R = 4 * (1 - rskip) * S * (1 - p) + F (15) Cette formulation du modèle de débit R-p permet d'obtenir une précision significative, et sensiblement accrue par rapport aux techniques antérieures. La figure 4 présente une comparaison de valeurs théoriques obtenues par l'équation (15) et de valeurs mesurées pour la pente 0 du modèle de débit R-p, en fonction du taux de skip rskip. Plus précisément, les droites référencées 40 à 44 représentent l'évolution de la pente 0=4 * (1 - rskip) * S en fonction du taux de skip rskip pour des images de classe A à E respectivement. Les nuages de points concentrés autour de ces droites représentent les valeurs correspondantes mesurées pour la pente 0, pour les mêmes images. En pratique, le taux de skip rskip, le paramètre p et le débit généré en sortie de l'encodeur ont été mesurés lors du décodage de chaque frame, et ce pour toutes les séquences. Pour chaque intervalle de skip-rate de 1%, la pente de la droite est estimée par régression linéaire. Ces valeurs estimées sont ensuite comparées aux valeurs de pente déterminées à l'aide de l'équation (15).
Le tableau 4 ci-dessous permet d'observer la précision moyenne obtenue dans l'estimation de pente à l'aide de la méthode de l'invention. Cette précision est accrue sur la plage correspondant aux cas les plus fréquents en pratique (à savoir +50% de skip).
Classe Après CABAC A 92.49% B 92.93% C 91.60% D 90.49% E 90.14% Moyenne 91.53% TABLEAU 4 Le procédé de régulation de débit de l'invention permet donc, par rapport aux méthodes connues de l'art antérieur mettant en oeuvre une régulation de débit en deux passes d'encodage, d'éliminer une première passe d'encodage. Il permet également d'estimer la pente du p-domaine de façon plus précise dans le cadre d'une régulation en une passe. La figure 5 illustre une architecture modifiée du codeur vidéo de la figure 1 pour mettre en oeuvre une régulation de débit au niveau CTU, conformément au principe de l'invention exposé ci-avant.
Sur cette figure 5, tous les blocs et signaux portant les mêmes références numériques que sur la figure 1 sont identiques aux blocs et signaux correspondants de cette figure, et l'on pourra se référer à la description de la figure 1 pour en comprendre le fonctionnement. L'architecture du codeur de la figure 5 diffère de celle de la figure 1 en ce que le bloc de transformée-quantification 107 est scindé en un premier bloc référencé 107a opérant la transformation des résidus, et un second bloc référencé 107b opérant leur quantification. Le bloc référencé 118 reçoit le budget attribué pour le codage, ainsi que la taille du résidu, en provenance du bloc de contrôle référencé 114. A partir de l'équation (4) proposée ci-avant, il calcule la valeur du paramètre p, qu'il transmet au bloc référencé 119.
Le bloc référencé 119 calcule alors, à partir de la valeur de p reçue du bloc référencé 118, le paramètre de quantification QP approprié. Le bloc référencé 107b procède alors à la quantification du résidu transformé par le bloc référencé 107a à partir du paramètre de quantification QP déterminé par le bloc référencé 119. On présente désormais, en relation avec la figure 6, un exemple de calcul du taux de skip rskip- Sur cette figure, on présente une suite de vingt-et-une trames, ou frames, en configuration Random-Access. On rappelle que la configuration Random-Access est le cas d'usage pour la diffusion : les images sont placées dans l'ordre de décodage dans le bitstream (qui est différent de l'ordre d'affichage). Des images RAP (Ramdom-Access Point pictures) apparaissent régulièrement dans le bitstream afin de pouvoir reprendre le décodage du programme en cours. La valeur numérique associée à chacune de ces trames indique l'ordre d'encodage (et donc de décodage) de ces différentes images.
Ces images sont regroupées en Groupes d'Images (ou GOP, pour Groups of Pictures): ainsi, les images numérotées de 1 à 8 constituent un premier GOP ; les images référencées de 9 à 16 constituent un deuxième GOP ; etc. En l'espèce, il s'agit de GOP hiérarchiques, comprenant chacun plusieurs images Inter, sauf lors du rafraîchissement où la première image du GOP dans l'ordre d'encodage est nécessairement une image Intra (RAP). On rappelle qu'une image lem n'utilise que la prédiction spatiale, et permet notamment d'initialiser le codage d'une séquence (RAP), car elle est codée indépendamment des autres images ; une image Inter utilise la prédiction intra et inter image et exploite donc les redondances spatiales dans l'image, et temporelles dans les séquences d'images.
Dans l'exemple de GOP hiérarchiques de la figure 6, les images sont encodées en niveaux temporels successifs selon une structure pyramidale basée sur des images Inter. Ainsi, dans le premier GOP de la figure 6, la frame 1 est une image Inter unidirectionnelle, et les frames numérotées 2 à 8 sont des images Inter bidirectionnelles.
Dans le cadre de l'invention, différentes méthodes de détermination du taux de skip peuvent être mises en oeuvre. A titre d'exemple, on peut utiliser un modèle de prévision par moyenne mobile permettant de prédire le taux de skip rskip d'une trame n à partir des taux de skip rSkip mesurés sur les trames précédemment encodées. L'initialisation pour le premier GOP pourra être telle que décrite dans le Tableau 5 ci-dessous, avec le POC (pour « Picture Order Count ») qui numérote la position de la frame dans le GOP : POC 8 4 2 1 3 6 7 5 I à QP22 0,82 0,78 0,72 0,5 0,5 0,72 0,5 0,5 I à QP27 0,71 0,58 0,49 0,26 0,26 0,49 0,26 0,26 I à QP32 0,6 0,43 0,33 0,14 0,14 0,33 0,14 0,14 I à QP37 0,5 0,32 0,22 0,08 0,08 0,22 0,08 0,08 TABLEAU 5 Ainsi, dans la configuration de la figure 6, en utilisant une moyenne mobile, le taux de skip rskip de la trame numérotée 15 peut être prédit par rapport aux frames précédemment encodées selon l'équation : 3 * rskip [13] + 2 * rskip [12] + 1 * rskip [8] rskip [151 -6 (16) De même, pour la trame numérotée 14, le taux de skip peut être prédit selon l'équation : 2 * rskip [1 + 1 * rskip [6] rskip [141 - 3 Selon un autre mode de réalisation, dans un schéma de codage vidéo scalable tel que SHVC par exemple, le taux de skip rskip de la couche de rehaussement peut être déterminé à partir du taux de skip rskip mesuré sur la couche de base. Selon encore une autre approche, le taux de skip rskip peut être déterminé en se basant sur la corrélation entre une image et ses plus proches voisines, ce qui peut donner une indication sur la proportion de l'image qui est immobile, et qui pourrait être skippée. Ainsi, la mesure du taux de skip rskip durant l'encodage peut être effectuée de façon simple, en utilisant un compteur : pour une trame donnée, lorsqu'une unité de codage CU est skippée (i.e. non compressée car le résidu est nul), ce compteur est incrémenté avec la surface de cette unité de codage CU skippée, et ce, en tenant (17) compte des 3 composantes YUV caractéristiques de l'espace colorimétrique employé. Lorsque l'encodage de la frame est terminé, la valeur Sskip mémorisée dans le compteur, correspondant à la surface totale skippée pour cette trame, est divisée par la surface totale de l'image SFrame afin d'obtenir le rskip. Le compteur est alors remis à zéro pour la trame suivante. La formule de calcul du rskip est alors la suivante : S Skip rskip (18) SFrame A titre d'exemple, pour une configuration avec une résolution 1920x1080 en progressif avec un ratio de pixel 4:2:0 (représentant le ratio d'échantillonnage des composantes colorimétriques, 4:2:0 équivaut à un ratio de 1,5), et une surface skippée Sskip = 1500000 échantillons mesurée sur une frame, on obtient : 1500000 r k, - - 48.22% (19) s P 1920 * 1080 * 1.5 D'autres méthodes de mesure du taux de skip rskip peuvent bien sûr être mises en oeuvre dans le cadre du procédé de régulation de débit de l'invention. La figure 7 illustre une variante de l'architecture du codeur de la figure 1, permettant de mettre en oeuvre une régulation de débit au niveau frame, selon le principe de l'invention.
Tous les éléments portant les mêmes références numériques que sur la figure 1 sont identiques dans leur principe et dans leur fonctionnement à ce qui a été décrit précédemment en relation avec la figure 1, et ne seront donc pas décrits ici à nouveau plus en détail. L'architecture du codeur vidéo de la figure 7 diffère de celle du codeur de la figure 1 par les éléments décrits ci-après. Au fur et à mesure de l'encodage des CTUs, un compteur de la surface skippée est incrémenté. Lorsqu'un cu_skip_flag=1 est signalé, la surface correspondante est ajoutée au compteur, qui est mis à jour dans le bloc référencé 118. Une fois l'encodage d'une frame terminé, le bloc référencé 119 reçoit la valeur du compteur en provenance du bloc référencé 118 et la divise par la surface totale de l'image (i.e. la somme des surfaces des composantes) afin de déterminer la valeur du paramètre rskip. La valeur du ratio rskip est transmise à une base de données 120 des rskip par frame (selon le niveau hiérarchique de la frame dans le GOP). Le bloc référencé 121 détermine le r,k,p pour la frame suivante, par exemple par moyenne mobile (comme exposé ci-avant en relation avec la figure 6), en utilisant la base de données 120. Il transmet la valeur ainsi déterminée au bloc référencé 122, qui reçoit également du bloc référencé 114 le budget alloué au codage et la surface totale de l'image. Le bloc référencé 122 peut alors déduire la valeur du paramètre p à partir de l'équation (15) au niveau frame, et la transmet au bloc référencé 123. Le bloc référencé 123 détermine alors la valeur du paramètre de quantification QP, et la transmet au contrôleur 114, qui, à son tour, la communique au bloc de quantification référencé 107. Le procédé de régulation de débit de l'invention permet de réduire sensiblement la complexité de l'encodeur vidéo par rapport aux méthodes de l'art antérieur. Notamment, il permet de diviser par deux le temps de latence d'un encodeur double passe. Il permet par ailleurs d'accroître sensiblement la précision, la qualité ou le débit, selon les contraintes fixées, d'un encodeur simple passe. L'ensemble des principes et caractéristiques décrits ci-avant en relation avec le standard HEVC peuvent bien sûr être étendus à d'autres types de codage vidéo, et plus particulièrement au standard de codage vidéo scalable SHVC.

Claims (15)

  1. REVENDICATIONS1. Procédé d'estimation d'un débit de codage d'une image (100) d'une séquence d'images mettant en oeuvre un modèle de débit selon une approche dite p-domaine tel que R(p) = 0(1 - p), où : R désigne ledit débit, p désigne un pourcentage de coefficients nuls dans au moins un résidu de codage de ladite image, après transformation (107a) et quantification (107b) dudit résidu, ledit résidu étant obtenu par différence entre un bloc de ladite image et une prédiction dudit bloc, 0 désigne un paramètre de pente dudit modèle de débit, caractérisé en ce qu'il comprend une étape de calcul dudit paramètre de pente 0 tenant compte d'une surface dudit ou desdits résidu(s) de codage codé(s) pour ladite image.
  2. 2. Procédé d'estimation selon la revendication 1, caractérisé en ce que lors de ladite étape de calcul, ledit paramètre de pente 0 est calculé sous forme d'un multiple de ladite surface dudit ou desdits résidu(s) de codage codé(s) pour ladite image.
  3. 3. Procédé d'estimation selon l'une quelconque des revendications 1 et 2, caractérisé en ce que, p désignant un pourcentage de coefficients nuls dans un résidu de taille NxN de ladite image après transformation et quantification dudit résidu, le paramètre de pente 0 est déterminé, lors de ladite étape de calcul, sous la forme 0 = 4 *N2.
  4. 4. Procédé d'estimation selon la revendication 3, caractérisé en ce qu'il comprend en outre une étape d'estimation dudit débit de codage au niveau dudit résidu telle que : R(p) = 4 * N2 * (1 - p) + A, où A désigne un paramètre d'ajustement dépendant d'une distribution de coefficients dans ledit résidu.
  5. 5. Procédé d'estimation selon l'une quelconque des revendications 1 et 2, caractérisé en ce que, p désignant un pourcentage de coefficients nuls dans ladite image de surface S après transformation et quantification, le paramètre de pente 0 est déterminé, lors de ladite étape de calcul, sous la forme 0 = 4 * S.
  6. 6. Procédé d'estimation selon l'une quelconque des revendications 1 et 2, caractérisé en ce que, p désignant un pourcentage de coefficients nuls dans ladite image de surface S après transformation et quantification, le paramètre de pente 0 est déterminé, lors de ladite étape de calcul, sous la forme 0 = 4 * (1 - rskip) * S, où rskip désigne un taux de skip dans ladite image.
  7. 7. Procédé d'estimation selon l'une quelconque des revendications 5 et 6, caractérisé en ce qu'il comprend en outre une étape d'estimation dudit débit de codage au niveau de ladite image telle que : R(p) = 0 * (1 - p) +'F, Où AF désigne un paramètre d'ajustement dépendant d'une distribution desdits résidus de codage pour ladite image.
  8. 8. Procédé de codage d'une séquence d'images comprenant une étape de découpage de chacune desdites images en au moins un bloc d'image, et une phase d'encodage comprenant des étapes de : prédiction (102) de chacun desdits blocs, délivrant un bloc prédit ; pour chacun desdits blocs, formation d'un résidu de codage par différence entre ledit bloc d'image et ledit bloc prédit ; transformation et quantification (107 ; 107a, 107b) desdits résidus de codage ; ledit procédé de codage mettant en oeuvre un mécanisme d'estimation d'un débit de codage desdites images à partir d'un modèle de débit selon une approche dite p- domaine tel que R(p) = 0(1 - p), où R désigne ledit débit, p désigne un pourcentage de coefficients nuls dans au moins un résidu de codage de ladite image, après transformation et quantification dudit résidu, et 0 désigne un paramètre de pente dudit modèle de débit, caractérisé en ce qu'il comprend une étape de calcul dudit paramètre de pente 0 tenant compte d'une surface dudit ou desdits résidu(s) de codage encodé(s) pour ladite image.
  9. 9. Procédé de codage selon la revendication 8, caractérisé en ce que, lors de ladite étape de calcul, ledit paramètre de pente 0 est calculé sous forme d'un multiple de ladite surface dudit ou desdits résidu(s) de codage codé(s) pour ladite image.
  10. 10. Procédé de codage selon l'une quelconque des revendications 8 et 9, caractérisé en ce que, pour chacun desdits blocs, il met en oeuvre une unique itération de ladite phase d'encodage.
  11. 11. Dispositif de codage d'une séquence d'images comprenant un module de découpage de chacune desdites images en au moins un bloc d'image, et un module d'encodage comprenant : un module de prédiction (102) de chacun desdits blocs, délivrant un bloc prédit ; un module de transformation (107a) d'un résidu de codage formé par différence entre ledit bloc d'image et ledit bloc prédit ; un module de quantification (107b) dudit résidu de codage ; ledit dispositif de codage comprenant des moyens d'estimation d'un débit de codage desdites images à partir d'un modèle de débit selon une approche dite p-domaine tel que R(p) = 0(1 - p), où R désigne ledit débit, p désigne un pourcentage de coefficients nuls dans au moins un résidu de codage de ladite image, après transformation et quantification dudit résidu, et 0 désigne un paramètre de pente dudit modèle de débit, caractérisé en ce que lesdits moyens de régulation comprennent un module de calcul dudit paramètre de pente 0 tenant compte d'une surface dudit ou desdits résidu(s) de codage encodé(s) pour ladite image, et en ce que chacun desdits blocs est encodé par un unique passage dans ledit module d'encodage.
  12. 12. Programme d'ordinateur comportant des instructions pour la mise en oeuvre d'un procédé d'estimation selon l'une quelconque des revendications 1 à 7 lorsque ledit programme est exécuté par un processeur.
  13. 13. Programme d'ordinateur comportant des instructions pour la mise en oeuvre d'un procédé de codage selon l'une quelconque des revendications 8 à 10 lorsque ledit programme est exécuté par un processeur.
  14. 14. Support d'enregistrement lisible par un ordinateur sur lequel est enregistré un programme d'ordinateur comprenant des instructions pour l'exécution des étapes du procédé d'estimation selon l'une quelconque des revendications 1 à 7.
  15. 15. Support d'enregistrement lisible par un ordinateur sur lequel est enregistré un programme d'ordinateur comprenant des instructions pour l'exécution des étapes du procédé de codage selon l'une quelconque des revendications 8 à 10.5
FR1362827A 2013-12-17 2013-12-17 Procede d'estimation d'un debit de codage d'une image d'une sequence d'images, procede de codage, dispositif et programme d'ordinateur correspondants. Active FR3015163B1 (fr)

Priority Applications (3)

Application Number Priority Date Filing Date Title
FR1362827A FR3015163B1 (fr) 2013-12-17 2013-12-17 Procede d'estimation d'un debit de codage d'une image d'une sequence d'images, procede de codage, dispositif et programme d'ordinateur correspondants.
PCT/EP2014/072604 WO2015090682A1 (fr) 2013-12-17 2014-10-22 Procédé d'estimation d'un débit de codage d'une image d'une séquence d'images, procédé de codage, dispositif et programme d'ordinateur correspondants
EP14790557.4A EP3085087A1 (fr) 2013-12-17 2014-10-22 Procédé d'estimation d'un débit de codage d'une image d'une séquence d'images, procédé de codage, dispositif et programme d'ordinateur correspondants

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
FR1362827A FR3015163B1 (fr) 2013-12-17 2013-12-17 Procede d'estimation d'un debit de codage d'une image d'une sequence d'images, procede de codage, dispositif et programme d'ordinateur correspondants.

Publications (2)

Publication Number Publication Date
FR3015163A1 true FR3015163A1 (fr) 2015-06-19
FR3015163B1 FR3015163B1 (fr) 2017-04-28

Family

ID=50489240

Family Applications (1)

Application Number Title Priority Date Filing Date
FR1362827A Active FR3015163B1 (fr) 2013-12-17 2013-12-17 Procede d'estimation d'un debit de codage d'une image d'une sequence d'images, procede de codage, dispositif et programme d'ordinateur correspondants.

Country Status (3)

Country Link
EP (1) EP3085087A1 (fr)
FR (1) FR3015163B1 (fr)
WO (1) WO2015090682A1 (fr)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10223810B2 (en) 2016-05-28 2019-03-05 Microsoft Technology Licensing, Llc Region-adaptive hierarchical transform and entropy coding for point cloud compression, and corresponding decompression
US11297346B2 (en) 2016-05-28 2022-04-05 Microsoft Technology Licensing, Llc Motion-compensated compression of dynamic voxelized point clouds
US10694210B2 (en) 2016-05-28 2020-06-23 Microsoft Technology Licensing, Llc Scalable point cloud compression with transform, and corresponding decompression

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5440344A (en) * 1992-04-28 1995-08-08 Mitsubishi Denki Kabushiki Kaisha Video encoder using adjacent pixel difference for quantizer control
US5532940A (en) * 1993-11-24 1996-07-02 Intel Corporation Process, apparatus and system for selecting quantization levels for encoding video signals
EP1615444A2 (fr) * 2004-07-08 2006-01-11 QUALCOMM Incorporated Techniques efficaces pour la régulation de débit dans le codage vidéo
US20110299593A1 (en) * 2009-03-13 2011-12-08 Martin Pettersson Methods of and Arrangements for Processing an Encoded Bit Stream
US8126283B1 (en) * 2005-10-13 2012-02-28 Maxim Integrated Products, Inc. Video encoding statistics extraction using non-exclusive content categories

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5440344A (en) * 1992-04-28 1995-08-08 Mitsubishi Denki Kabushiki Kaisha Video encoder using adjacent pixel difference for quantizer control
US5532940A (en) * 1993-11-24 1996-07-02 Intel Corporation Process, apparatus and system for selecting quantization levels for encoding video signals
EP1615444A2 (fr) * 2004-07-08 2006-01-11 QUALCOMM Incorporated Techniques efficaces pour la régulation de débit dans le codage vidéo
US8126283B1 (en) * 2005-10-13 2012-02-28 Maxim Integrated Products, Inc. Video encoding statistics extraction using non-exclusive content categories
US20110299593A1 (en) * 2009-03-13 2011-12-08 Martin Pettersson Methods of and Arrangements for Processing an Encoded Bit Stream

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
ZHIHAI HE ET AL: "p-domain bit allocation and rate control for real time video coding", PROCEEDINGS 2001 INTERNATIONAL CONFERENCE ON IMAGE PROCESSING. ICIP 2001 - THESSALONIKI, GREECE, OCT. 7 - 10, 2001; [INTERNATIONAL CONFERENCE ON IMAGE PROCESSING], INSTITUTE OF ELECTRICAL AND ELECTRONICS ENGINEERS, NEW YORK, NY, vol. 3, 7 October 2001 (2001-10-07), pages 546 - 549, XP010563404, ISBN: 978-0-7803-6725-8, DOI: 10.1109/ICIP.2001.958172 *

Also Published As

Publication number Publication date
WO2015090682A1 (fr) 2015-06-25
EP3085087A1 (fr) 2016-10-26
FR3015163B1 (fr) 2017-04-28

Similar Documents

Publication Publication Date Title
US6782132B1 (en) Video coding and reconstruction apparatus and methods
CN103250182B (zh) 用于色调映射hdr数据视频流的方法和系统
FR2889004A1 (fr) Procede et dispositif de traitement d'une sequence d'images numeriques a scalabilite spatiale ou en qualite
US20150312575A1 (en) Advanced video coding method, system, apparatus, and storage medium
US11743475B2 (en) Advanced video coding method, system, apparatus, and storage medium
FR2881898A1 (fr) Procede et dispositif de codage d'une image video en mode inter ou intra
FR2932637A1 (fr) Procede et dispositif de codage d'une sequence d'images
FR2925819A1 (fr) Procede de codage double passe par macrobloc
FR2951345A1 (fr) Procede et dispositif de traitement d'une sequence video
FR3015163A1 (fr) Procede d'estimation d'un debit de codage d'une image d'une sequence d'images, procede de codage, dispositif et programme d'ordinateur correspondants.
FR2886787A1 (fr) Procede et dispositif de codage et de decodage d'une sequence d'images
EP3350996A1 (fr) Procede d'encodage d'image et equipement pour la mise en oeuvre du procede
FR3026261A1 (fr) Procede de codage et de decodage d'images integrales, dispositif de codage et de decodage d'images integrales et programmes d'ordinateur correspondants
EP2716045B1 (fr) Procédé de codage et de décodage d'images, dispositif de codage et de décodage d'images et programmes d'ordinateur correspondants
US20130177075A1 (en) Weighted Prediction Method and Apparatus in Quantization Matrix Coding
EP1511319A1 (fr) Filtre pour l'extraction du grain de film
FR2996093A1 (fr) Procede de codage et decodage d'images, dispositifs de codage et decodage et programmes d'ordinateur correspondants
FR2933837A1 (fr) Procede de codage, procede et dispositif de transcodage et flux de donnees image codees.
EP2633687B1 (fr) Codage et décodage vidéo a partir d'un épitome
FR2959093A1 (fr) Procede et dispositif de prediction d'une information de complexite de texture contenue dans une image
FR2990319A1 (fr) Procede de codage et de decodage d'un ensemble de blocs d'image et dispositifs correspondants
KR20180113868A (ko) 카메라 영상의 복호화 정보 기반 영상 재 부호화 방법 및 이를 이용한 영상 재부호화 시스템
FR3041851A1 (fr) Procede d'allocation de debit, dispositif, codeur et programme d'ordinateur associes
FR2956552A1 (fr) Procede de codage ou de decodage d'une sequence video, dispositifs associes
WO2024042286A1 (fr) Lissage hors boucle de codage d'une frontière entre deux zones d'image

Legal Events

Date Code Title Description
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

PLFP Fee payment

Year of fee payment: 8

PLFP Fee payment

Year of fee payment: 9

PLFP Fee payment

Year of fee payment: 10

PLFP Fee payment

Year of fee payment: 11