FR3041851A1 - ASSOCIATED FLOW ALLOCATION METHOD, DEVICE, ENCODER AND COMPUTER PROGRAM - Google Patents

ASSOCIATED FLOW ALLOCATION METHOD, DEVICE, ENCODER AND COMPUTER PROGRAM Download PDF

Info

Publication number
FR3041851A1
FR3041851A1 FR1559029A FR1559029A FR3041851A1 FR 3041851 A1 FR3041851 A1 FR 3041851A1 FR 1559029 A FR1559029 A FR 1559029A FR 1559029 A FR1559029 A FR 1559029A FR 3041851 A1 FR3041851 A1 FR 3041851A1
Authority
FR
France
Prior art keywords
rate
layer
quality
ratio
coding
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
FR1559029A
Other languages
French (fr)
Other versions
FR3041851B1 (en
Inventor
Thibaud Biatek
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
B Com SAS
Original Assignee
Telediffusion de France ets Public de Diffusion
B Com SAS
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, B Com SAS filed Critical Telediffusion de France ets Public de Diffusion
Priority to FR1559029A priority Critical patent/FR3041851B1/en
Priority to PCT/FR2016/052396 priority patent/WO2017051121A1/en
Publication of FR3041851A1 publication Critical patent/FR3041851A1/en
Application granted granted Critical
Publication of FR3041851B1 publication Critical patent/FR3041851B1/en
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/30Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using hierarchical techniques, e.g. scalability
    • 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/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/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/15Data rate or code amount at the encoder output by monitoring actual compressed data size at the memory before deciding storage at the transmission buffer
    • 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/177Methods 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 group of pictures [GOP]
    • 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/192Methods 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 the adaptation method, adaptation tool or adaptation type being iterative or recursive
    • H04N19/194Methods 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 the adaptation method, adaptation tool or adaptation type being iterative or recursive involving only two passes

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Physics & Mathematics (AREA)
  • Algebra (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Analysis (AREA)
  • Mathematical Optimization (AREA)
  • Pure & Applied Mathematics (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)

Abstract

L'invention concerne un procédé d'allocation de débit entre une première couche, dite couche de base et au moins une deuxième couche, dite couche d'amélioration, d'un codeur scalable apte à coder une séquence d'images numériques, à un débit global cible. Selon l'invention, le procédé comprend les étapes suivantes, mises en œuvre suite au codage d'un groupe d'images de la séquence (GOP(i)) : - obtention (E1) d'une mesure de qualité de codage de la couche d'amélioration pour le groupe d'images courant à partir d'une métrique prédéterminée ; - obtention (E2) d'un coût de codage effectif de la couche de base et d'un coût de codage effectif de la au moins une couche d'amélioration pour le groupe d'images courant : - calcul (E3) d'un ratio de débit entre une dite couche d'amélioration et le débit global à partir des coûts de codage estimés ; - estimation (E6) d'une fonction de performance au moins à partir du ratio de débit calculé, de la mesure de qualité obtenue pour le GOP courant et d'un modèle de courbe prédéterminé ; et Détermination (E8) d'un ratio de débit optimal dans un intervalle de ratio prédéterminé, à partir de la fonction de performance estimée et selon un critère de maximisation de la qualité de ladite au moins une couche d'amélioration.The invention relates to a rate allocation method between a first layer, called the base layer and at least a second layer, called the enhancement layer, of a scalable coder able to code a sequence of digital images, to a overall target bit rate. According to the invention, the method comprises the following steps, implemented following the coding of a group of images of the sequence (GOP (i)): obtaining (E1) a measurement of the coding quality of the enhancement layer for the current image group from a predetermined metric; obtaining (E2) an effective encoding cost of the base layer and an effective encoding cost of the at least one enhancement layer for the current image group; computing (E3) a rate ratio between a said enhancement layer and the overall rate from the estimated coding costs; estimating (E6) a performance function at least from the calculated throughput ratio, the quality metric obtained for the current GOP and a predetermined curve model; and determining (E8) an optimum rate ratio in a predetermined ratio range, from the estimated performance function and a quality-maximizing criterion of said at least one enhancement layer.

Description

Procédé d'allocation de débit, dispositif, codeur et programme d'ordinateur associés 1. Domaine de l'inventionFlow allocation method, device, encoder and associated computer program 1. Field of the invention

Le domaine de l'invention est celui du codage de séquences d'images numériques, en particulier de la régulation de débit entre plusieurs couches d'un schéma de codage échelonnable (pour « scalable », en anglais). L'invention peut notamment, mais non exclusivement, s'appliquer à la transmission de séquences d'images codées sur des canaux de transmission de capacités variées. 2. Présentation de l'art antérieurThe field of the invention is that of the coding of digital image sequences, in particular of the flow regulation between several layers of a scalable coding scheme (for "scalable", in English). The invention may especially, but not exclusively, apply to the transmission of coded picture sequences on transmission channels of various capacities. 2. Presentation of the prior art

On considère un codeur scalable, qui permet d'encoder un contenu selon plusieurs niveaux hiérarchiques, le décodage d'un niveau nécessitant le décodage préalable des niveaux sous-jacents. Cette dépendance s'explique par le fait que le codage scalable exploite les corrélations existantes entre les différentes déclinaisons du signal afin de réduire d'avantage les redondances et d'améliorer la compression. Dans le cas particulier du codage vidéo 2D scalable, le signal d'entrée est décliné en plusieurs versions dont les caractéristiques s'améliorent pour chaque couche (par exemple : définition, frame-rate, SNR (pour « Signal to Noise Ratio », en anglais), Color-Gamut, Dynamique, etc...).Consider a scalable encoder, which allows to encode content in several hierarchical levels, the decoding of a level requiring the prior decoding of the underlying levels. This dependence is explained by the fact that the scalable coding exploits the existing correlations between the various signal variations in order to reduce the redundancies and to improve the compression. In the particular case of 2D scalable video coding, the input signal is declined in several versions whose characteristics improve for each layer (for example: definition, frame-rate, SNR (for "Signal to Noise Ratio", in English), Color-Gamut, Dynamics, etc ...).

La Figure 1 illustre un exemple de codeur scalable vidéo C, connu de l'homme de métier, permettant d'encoder le signal source S en deux niveaux de qualité S-0 et S-l correspondant respectivement aux couches L-0 et L-l. Le codeur doit respecter des consignes de débit CD-0 pour la couche L-0 et CD-I pour la couche L-l. Ces deux débits cibles additionnés constituent un débit global DG et sont associés à un ratio de débit RD=CD-0/DG.FIG. 1 illustrates an example of a video scalable coder C, known to those skilled in the art, making it possible to encode the source signal S in two quality levels S-0 and S-1 respectively corresponding to the layers L-0 and L-1. The encoder must adhere to CD-0 rate guidelines for layer L-0 and CD-I for layer L-1. These two added target rates constitute an overall bit rate DG and are associated with a bit rate ratio RD = CD-0 / DG.

Une première unité de traitement T permet de transformer le signal S en autant de signaux S-0, S-l d'entrée que de couches de scalabilité disponibles dans le codeur scalable. Dans ce cas, le bloc de traitement T est constitué d'un premier bloc T-l qui génère le niveau le plus haut S-l, puis d'un second bloc T-0 qui dérive ensuite le niveau le plus bas S-0. Ces signaux d'entrée sont adaptés aux caractéristiques des couches de scalabilité. Par exemple, pour une scalabilité spatiale, un signal source au format UHD (« Ultra High Définition », en anglais) sera préalablement sous-échantillonné par un premier bloc de prétraitement T-0 pour créer un signal d'entrée HD (pour « High Définition », en anglais) S-0 adapté à la couche de base L-0. Pour une scalabilité temporelle, un signal source à 120 images par seconde sera réduit en une déclinaison à 60 images par seconde. Pour une scalabilité en color gamut, un signal source placé dans un espace couleur BT.2020 sera décliné en une version Rec.709 à l'aide d'un algorithme de color-mapping. Pour une scalabilité en bit-depth, un signal dont les canaux sont représentés sur lObits sera décliné en une version 8bits. Pour une scalabilité en dynamique, un signal HDR sera transformé en un signal SDR à l'aide d'un opérateur de tone-mapping. On comprend que ces prétraitements, connus de l'homme du métier, sont adaptés au type de scalabilité mis en oeuvre par le codeur.A first processing unit T makes it possible to transform the signal S into as many input signals S-0, S-1 as there are scalability layers available in the scalable encoder. In this case, the processing block T consists of a first block T-1 which generates the highest level S-1, then a second block T-0 which then drifts the lowest level S-0. These input signals are adapted to the characteristics of the scalability layers. For example, for spatial scalability, a source signal in UHD ("Ultra High Definition") format will be pre-sampled by a first preprocessing block T-0 to create an input signal HD (for "High High Definition"). Definition ", in English) S-0 adapted to the L-0 base layer. For temporal scalability, a source signal at 120 frames per second will be reduced to 60 frames per second. For a color gamut scalability, a source signal placed in a BT.2020 color space will be declined into a Rec.709 version using a color-mapping algorithm. For a scalability in bit-depth, a signal whose channels are represented on the bits will be declined into an 8 bits version. For dynamic scalability, an HDR signal will be transformed into an SDR signal using a tone-mapping operator. It is understood that these pretreatments, known to those skilled in the art, are adapted to the type of scalability implemented by the coder.

Les signaux d'entrée S-0 et S-l alimentent respectivement un codeur C-0 de la couche L-0 et le codeur C-l de la couche L-l. Ces codeurs sont pilotés par deux unités de contrôle de débit RC-0 pour le codeur de la couche L-0 et RC-1 pour le codeur de la couche L-l. Les codeurs et leurs unités de contrôle de débit communiquent en s'échangeant des informations de codage IRC-0 pour la couche L-0 et IRC-1 pour la couche L-l. Durant la compression de la couche L-0 des informations de codage IC-0 de la couche L-0 sont extraites et transmises à un bloc de traitement IT-0 qui va traiter afin de les rendre exploitables IC-1 par le codeur C-l. Ces informations de codage comprennent par exemple une information de distribution des résidus, des paramètres de quantification, un multiplicateur lagrangien, des informations relatives au débit et/ou la qualité des données codées, les images de références provenant de la couche inférieure ou des vecteurs de mouvement.The input signals S-0 and S-1 respectively supply a coder C-0 of the layer L-0 and the coder C-1 of the layer L-1. These encoders are controlled by two RC-0 rate control units for the L-0 layer coder and RC-1 for the L-1 layer coder. The encoders and their rate control units communicate by exchanging IRC-0 coding information for the L-0 and IRC-1 layer for the L-1 layer. During the compression of the L-0 layer coding information IC-0 of the L-0 layer are extracted and transmitted to a processing block IT-0 which will process in order to make them exploitable IC-1 by the coder C-1. Such coding information includes, for example, residue distribution information, quantization parameters, a Lagrangian multiplier, rate information and / or coded data quality, reference images from the lower layer or movement.

Le signal S-0 de la couche L-0, dite couche de base, est tout d'abord encodée par un codeur C-0 qui produit un train binaire Bs-0 indépendamment décodable. Durant ce premier encodage, des informations inter-couches IC-0 sont extraites (ex : informations sur les modes de prédiction utilisés, les vecteurs de mouvement, l'image codée-décodée locale, etc...) puis éventuellement mises à l'échelle, traitées et enfin transmises au codeur C-l de la couche supérieure L-l, dite couche d'amélioration ou de rehaussement.The signal S-0 of the layer L-0, called the base layer, is first encoded by a coder C-0 which produces an independently decodable bit stream Bs-0. During this first encoding, inter-layer information IC-0 is extracted (eg information on the prediction modes used, the motion vectors, the local coded-decoded image, etc.) and then eventually set to scale, processed and finally transmitted to the coder C1 of the upper layer L1, said enhancement layer or enhancement.

Le codeur C-l de la couche supérieure compresse à son tour le signal S-l correspondant à la couche L-l en exploitant ces informations inter-couches en plus des informations utilisées normalement. De la même façon, des informations inter-couches IC-1 sont extraites, traitées et transmises au codeur de la couche supérieure, le cas échéant. Le codeur C-l produit un train binaire Bs-1. Le train binaire Bs-1 ne pourra être correctement décodé que si les informations inter-couches ont été bien reconstruites au décodeur, donc uniquement si la couche inférieure a été décodée préalablement. Les deux trains binaires BS-0, Bs-1 peuvent être multiplexés par le bloc M afin de former un train binaire global BsT.The encoder C-1 of the upper layer, in turn, compresses the signal S-1 corresponding to the layer L-1 by exploiting this inter-layer information in addition to the information normally used. In the same way, IC-1 inter-layer information is extracted, processed and transmitted to the upper layer encoder, as appropriate. The encoder C-1 produces a bit stream Bs-1. The bitstream Bs-1 can only be correctly decoded if the inter-layer information has been well reconstructed at the decoder, therefore only if the lower layer has been previously decoded. The two bit streams BS-0, Bs-1 may be multiplexed by the block M to form a global bit stream BsT.

Ce processus d'encodage et la dépendance au décodage se répète pour toutes les couches supérieures existantes. Ce type de codeur fonctionne implicitement à un ratio de débit fixe, puisque les débits cibles CD-I et CD-0 imposés aux couches sont associés à un certain ratio CD-0/(CD-0+CD-l).This encoding process and decoding dependency is repeated for all existing upper layers. This type of encoder implicitly operates at a fixed rate ratio, since the CD-I and CD-0 target rates imposed on the layers are associated with a certain ratio CD-0 / (CD-0 + CD-1).

Ce procédé d'encodage évite le codage séparé, donc non-optimal, d'un signal en plusieurs niveaux d'informations. Les trains binaires ainsi produits peuvent être envoyés selon le besoin et la capacité de décodage et d'affichage du terminal final.This encoding method avoids the separate, therefore non-optimal, coding of a signal into several levels of information. The bit streams thus produced can be sent as needed and the decoding and display capacity of the terminal.

On connaît de la demande de brevet internationale publiée sous le numéro W02006/119436 un procédé de codage multi-couches et multi-passes qui ajuste la qualité de codage de chacune des couches de façon à ce que le débit de codage de la couche de base et celui de la couche de rehaussement satisfassent une relation mathématique, telle que par exemple une valeur de ratio de débit. Une première passe permet de collecter des paramètres caractéristiques des données à coder puis d'estimer les débits à allouer à chaque couche à partir des paramètres collectés. La deuxième passe met en application les débits estimés. Un ratio de débit fixe est imposé entre les couches. Par exemple, il est arbitrairement choisi égal à 1:1. 3. Inconvénients de l'art antérieurInternational patent application published under the number W02006 / 119436 discloses a multi-layer and multi-pass coding method which adjusts the coding quality of each of the layers so that the coding rate of the base layer and that of the enhancement layer satisfy a mathematical relationship, such as for example a flow ratio value. A first pass makes it possible to collect characteristic parameters of the data to be coded and then to estimate the bit rates to be allocated to each layer from the parameters collected. The second pass implements the estimated flow rates. A fixed rate ratio is imposed between the layers. For example, it is arbitrarily chosen equal to 1: 1. 3. Disadvantages of prior art

Un inconvénient de cette solution est qu'elle n'explicite pas comment déterminer le ratio de débit. Au mieux, il est contraint par une valeur arbitraire fixée a priori. 4. Objectifs de l'invention L'invention vient améliorer la situation. L'invention a notamment pour objectif de pallier ces inconvénients de l'art antérieur.A disadvantage of this solution is that it does not explain how to determine the rate ratio. At best, it is constrained by an arbitrary value fixed a priori. 4. Objectives of the invention The invention improves the situation. The invention particularly aims to overcome these disadvantages of the prior art.

Plus précisément, un objectif de l'invention est de proposer une solution qui permette de répartir un débit cible global de façon optimale entre les couches de scalabilité, de façon à maximiser la qualité de la séquence d'image codée. 5. Exposé de l'inventionMore precisely, an object of the invention is to propose a solution that makes it possible to distribute a global target bit rate optimally between the scalability layers, so as to maximize the quality of the coded picture sequence. 5. Presentation of the invention

Ces objectifs, ainsi que d'autres qui apparaîtront par la suite, sont atteints à l'aide d'un procédé d'allocation de débit entre une première couche, dite couche de base et au moins une deuxième couche, dite couche d'amélioration, d'un codeur scalable apte à coder une séquence d'images numériques, à un débit global cible.These objectives, as well as others that will appear later, are achieved by means of a flow allocation method between a first layer, called the base layer and at least a second layer, called the improvement layer. of a scalable coder capable of coding a sequence of digital images at a target overall rate.

Le procédé selon l'invention est particulier en ce qu'il comprend les étapes suivantes, mises en oeuvre suite au codage d'un groupe d'images de la séquence : obtention d'une mesure de qualité de codage de la couche d'amélioration pour le groupe d'images courant à partir d'une métrique prédéterminée ; obtention d'un coût de codage effectif de la couche de base et d'un coût de codage effectif de la au moins une couche d'amélioration pour le groupe d'images courant : calcul d'un ratio de débit entre une dite couche d'amélioration et le débit global à partir des coûts de codage estimés ; estimation d'une fonction de performance au moins à partir du ratio de débit calculé, de la mesure de qualité obtenue pour le GOP courant et d'un modèle de courbe prédéterminé ; et Détermination d'un ratio de débit optimal dans un intervalle de ratio prédéterminé, à partir de la fonction de performance estimée et selon un critère de maximisation de la qualité de ladite au moins une couche d'amélioration.The method according to the invention is particular in that it comprises the following steps, implemented following the coding of a group of images of the sequence: obtaining a measure of quality of coding of the improvement layer for the current image group from a predetermined metric; obtaining an effective coding cost of the base layer and an effective encoding cost of the at least one enhancement layer for the current image group: calculating a flow ratio between a said layer of improvement and overall throughput from estimated coding costs; estimating a performance function at least from the calculated throughput ratio, the quality metric obtained for the current GOP and a predetermined curve model; and Determining an optimum rate ratio in a predetermined ratio range from the estimated performance function and a quality-maximizing criterion of said at least one enhancement layer.

Avec l'invention, on estime à partir d'au moins un groupe d'images qui vient d'être encodé, l'évolution de la performance du codeur en fonction d'un ratio de débit entre les couches et on détermine, à partir de cette estimation et en vue du codage du groupe d'images suivant, le ratio de débit qui optimise la qualité du codage pour le débit global fixé.With the invention, it is estimated from at least one group of images that has just been encoded, the evolution of the performance of the encoder as a function of a flow ratio between the layers and is determined, from of this estimate and for the coding of the next group of images, the rate ratio that optimizes the quality of the coding for the overall fixed bit rate.

Ainsi, l'invention repose sur une approche tout à fait nouvelle et inventive de l'allocation de débit qui ne fixe pas a priori le ratio de débit entre les couches de codage, mais modélise les performances de codage en fonction du ratio de débit obtenu sur des groupes d'images précédemment encodés et en déduit la valeur optimale à mettre en oeuvre pour le groupe d'images suivant.Thus, the invention is based on an entirely new and inventive approach to bit rate allocation that does not a priori set the rate ratio between the coding layers, but models the coding performance as a function of the rate ratio obtained. on groups of images previously encoded and deduces the optimal value to implement for the next group of images.

Selon une caractéristique avantageuse de l'invention, l'étape d'estimation d'une fonction de performance comprend une détermination de paramètres du modèle de courbe prédéterminé à partir du ratio de débit calculé et de la mesure de qualité obtenue pour le groupe d'images courant et d'une pluralité de couples de valeurs de mesures de qualité et de ratio de débit préalablement obtenues.According to an advantageous characteristic of the invention, the step of estimating a performance function comprises a determination of parameters of the predetermined curve model from the calculated flow rate ratio and the quality measurement obtained for the group of current images and a plurality of pairs of values of quality measurements and flow rate previously obtained.

Par exemple les paramètres du modèle de courbe sont calculés selon une méthode de minimisation d'erreur de type moindres carrés. Le modèle de courbe utilisé peut être polynomial d'ordre 1 ou supérieur. Avantageusement, le modèle de courbe peut être choisi en fonction de résultats obtenus sur un ensemble représentatif de séquences de tests.For example, the parameters of the curve model are computed according to a least squares error minimization method. The curve model used can be polynomial of order 1 or higher. Advantageously, the curve model can be chosen according to results obtained on a representative set of test sequences.

La pluralité de couples de valeurs peut être issue de l'encodage de groupes d'images précédents ou bien d'une table de correspondance, préalablement construite à partir d'un ensemble représentatif de séquences de tests.The plurality of pairs of values can be derived from the encoding of previous groups of images or from a correspondence table, previously constructed from a representative set of test sequences.

Selon un autre aspect de l'invention, le procédé d'allocation de débit comprend en outre une étape de détermination d'au moins un intervalle de ratios autorisés. L'intervalle de ratios autorisés peut être fixe, pour une mise en oeuvre simple de l'invention.According to another aspect of the invention, the rate allocation method further comprises a step of determining at least one allowed ratio interval. The range of allowed ratios can be fixed, for a simple implementation of the invention.

Selon un autre aspect de l'invention, le procédé comprend une étape de mise à jour d'un débit restant à partir des coûts de codage obtenus et du débit global cible et l'étape de détermination détermine un premier intervalle de ratio en fonction de contraintes de débit-qualité sur la couche de base et du débit restant calculé. L'intervalle de débits autorisés peut varier au cours de l'encodage. Avantageusement, l'invention prend en compte des contraintes de débit et de qualité sur la couche de base et le débit cible restant pour déterminer l'intervalle de débits autorisé le plus adapté.According to another aspect of the invention, the method comprises a step of updating a remaining bit rate from the coding costs obtained and the target overall bit rate, and the determining step determines a first ratio interval as a function of quality-flow constraints on the base layer and the calculated remaining flow rate. The range of allowed bit rates may vary during encoding. Advantageously, the invention takes into account flow and quality constraints on the base layer and the remaining target flow rate to determine the most suitable authorized flow rate range.

Selon un autre aspect de l'invention, le procédé comprend une étape de mise à jour d'un débit restant à partir des coûts de codage obtenus et du débit global cible (DG), et l'étape de détermination détermine un deuxième intervalle de ratio en fonction de contraintes de débit qualité sur une dite couche d'amélioration et du débit restant calculé.According to another aspect of the invention, the method comprises a step of updating a remaining bit rate from the coding costs obtained and the overall target bit rate (DG), and the determining step determines a second slot. ratio as a function of quality flow constraints on a said improvement layer and the calculated remaining flow rate.

On procède de la même manière pour la ou les couches d'amélioration.The procedure is the same for the layer or layers of improvement.

Selon un autre aspect de l'invention, l'étape de détermination détermine une intersection du premier et du deuxième intervalles. L'intervalle de ratio de débit global autorisé ainsi obtenu prend ainsi en compte les contraintes de toutes les couches de scalabilité.According to another aspect of the invention, the determining step determines an intersection of the first and second intervals. The allowed total rate ratio interval thus obtained takes into account the constraints of all scalability layers.

Selon un autre aspect de l'invention, l'étape de détermination d'un intervalle de ratio comprend : une estimation d'une fonction débit-qualité à partir d'un modèle de courbe prédéterminé, et d'au moins les mesures de qualité et les coûts de codage obtenus pour le groupe d'images courant ; un calcul du débit associé à une dite contrainte de qualité à partir de la fonction débit qualité estimée ; et -un calcul du ratio de débit correspondant à ladite contrainte en fonction du débit restant calculé. A une contrainte de qualité, on fait correspondre un débit correspondant à l'aide d'une fonction débit-qualité estimée au fil de l'eau et on en déduit la borne correspondante de l'intervalle de ratios de débit autorisé.According to another aspect of the invention, the step of determining a ratio interval comprises: estimating a rate-quality function from a predetermined curve model, and at least the quality measurements. and the coding costs obtained for the current group of images; a calculation of the flow rate associated with a said quality constraint from the estimated quality flow function; and a calculation of the flow rate ratio corresponding to said constraint as a function of the calculated remaining flow rate. At a quality constraint, a corresponding flow rate is matched using a run-of-river quality-flow function and the corresponding limit of the allowed throughput ratio interval is derived.

Selon un autre aspect de l'invention, l'estimation d'une fonction débit-qualité comprend une détermination de paramètres du modèle de courbe prédéterminé à partir des mesures de débit et de qualité obtenues pour le groupe d'images courant et d'une pluralité de couples de valeurs de mesures de qualité et de débit préalablement obtenues.According to another aspect of the invention, the estimation of a rate-quality function comprises a determination of parameters of the predetermined curve model from the measurements of flow and quality obtained for the current group of images and a plurality of pairs of quality and flow measurement values previously obtained.

Avantageusement, l'estimation de la fonction débit qualité, comme celle de la fonction de performance, exploite une pluralité de valeurs de qualité et de débits préalablement obtenues, soit suite à l'encodage de groupes d'images précédents de la séquence, soit à partir d'un ensemble représentatif de séquences de tests, soit les deux. Elle se raffine donc au fur et à mesure de la progression de l'encodage. Les valeurs de qualité et débit collectées peuvent être stockées dans une mémoire de type buffer de taille prédéterminée ou bien dans une table de correspondance. L'un ou l'autre sont mis à jour au fur et à mesure de l'encodage.Advantageously, the estimation of the quality bit rate function, like that of the performance function, exploits a plurality of quality and bit rate values previously obtained, either following the encoding of previous groups of images of the sequence, or from a representative set of test sequences, or both. It is refined as and progressively the encoding progress. The collected quality and rate values can be stored in a buffer of a predetermined size or in a correspondence table. One or the other are updated as and when encoding.

Selon encore un autre aspect de l'invention, le procédé comprend une étape de mise à jour d'un débit restant à partir des coûts de codage obtenus et du débit global cible et une étape de calcul d'un débit cible de la couche de base et d'un débit cible de ladite au moins une couche d'amélioration pour un groupe d'image suivant en fonction du débit restant mis à jour et du ratio optimal de débit calculé.According to yet another aspect of the invention, the method comprises a step of updating a remaining bit rate from the coding costs obtained and the overall target bit rate and a step of calculating a target bit rate of the bit layer. base and a target rate of said at least one enhancement layer for a next image group according to the remaining updated rate and the calculated optimal flow rate ratio.

Dans un schéma mono-passe, le ratio optimal déterminé permet de calculer les consignes de débit à appliquer lors de l'encodage du GOP suivant.In a single-pass scheme, the determined optimal ratio is used to calculate the flow instructions to be applied when encoding the next GOP.

Selon encore un autre aspect de l'invention, le procédé comprend une étape de calcul d'un débit cible de la couche de base et d'un débit cible de ladite au moins une couche d'amélioration pour le groupe d'image suivant en fonction du débit restant mis à jour suite à un premier encodage du groupe d'images suivant et du ratio optimal de débit calculé.According to yet another aspect of the invention, the method comprises a step of calculating a target bit rate of the base layer and a target bit rate of said at least one enhancement layer for the next picture group by a function of the flow rate remaining updated following a first encoding of the next image group and the optimal ratio of calculated flow rate.

Dans un schéma multi-passes, lors de la deuxième passe, le ratio optimal calculé à partir des valeurs de qualité/débit obtenues suite à l'encodage du groupe d'images courant permet de calculer les consignes de débit à appliquer pour réencoder le GOP courant.In a multi-pass scheme, during the second pass, the optimal ratio calculated from the quality / flow values obtained following the encoding of the current image group makes it possible to calculate the flow instructions to be applied to re-encode the GOP. current.

Le procédé qui vient d'être décrit dans ses différents modes de réalisation est avantageusement mis en oeuvre par un dispositif d'allocation de débit entre une première couche, dite couche de base et au moins une deuxième couche, dite couche d'amélioration, d'un codeur scalable apte à coder une séquence d'images numériques, à un débit global cible.The method which has just been described in its various embodiments is advantageously implemented by a flow allocation device between a first layer, called the base layer and at least a second layer, called the improvement layer, a scalable coder capable of coding a sequence of digital images at a target overall rate.

Selon l'invention, un tel dispositif comprend les unités suivantes, apte à être mises en oeuvre suite au codage d'un groupe d'images de la séquence : évaluation d'une mesure de qualité de codage de la couche d'amélioration pour le groupe d'images courant à partir d'une métrique prédéterminée ; obtention d'un coût de codage effectif de la couche de base et d'un coût de codage effectif de la au moins une couche d'amélioration pour le groupe d'images courant : calcul d'un ratio de débit entre une dite couche d'amélioration et le débit global à partir des coûts de codage estimés ; estimation d'une fonction de performance à partir du ratio de débit calculé, de la mesure de qualité obtenue pour le groupe d'images courant et d'un modèle de courbe prédéterminé ; et détermination d'un ratio de débit optimal dans un intervalle de ratio prédéterminé, à partir de la fonction de performance estimée et selon un critère de maximisation de la qualité de ladite au moins une couche d'amélioration.According to the invention, such a device comprises the following units, which can be implemented following the coding of a group of images of the sequence: evaluation of a measurement of quality of coding of the improvement layer for the group of images running from a predetermined metric; obtaining an effective coding cost of the base layer and an effective encoding cost of the at least one enhancement layer for the current image group: calculating a flow ratio between a said layer of improvement and overall throughput from estimated coding costs; estimating a performance function from the calculated throughput ratio, the quality metric obtained for the current image group and a predetermined curve model; and determining an optimum rate ratio in a predetermined ratio range, from the estimated performance function and a quality-maximizing criterion of said at least one enhancement layer.

Bien sûr, le dispositif d'allocation de débit selon l'invention peut être agencé pour mettre en oeuvre, de façon indépendante ou en combinaison, l'ensemble des modes de réalisation qui viennent d'être décrits pour le procédé d'allocation de débit.Of course, the flow allocation device according to the invention can be arranged to implement, independently or in combination, all the embodiments described above for the flow allocation method. .

Corrélativement, l'invention concerne aussi un codeur scalable en couches, comprenant un premier codeur apte à encoder une première couche, dite couche de base d'une séquence d'images numérique à un premier débit et au moins un deuxième codeur apte à encoder une deuxième couche, dite couche d'amélioration de ladite séquence, à un deuxième débit, ledit codeur comprenant un premier module de contrôle de débit apte à contrôler le premier débit consommé par la couche de base et au moins un deuxième module de contrôle de débit apte à contrôler le deuxième débit consommé par une dite couche d'amélioration, caractérisé en ce qu'il comprend en outre un dispositif d'allocation de débit selon l'invention apte à allouer le premier débit au premier module et le deuxième débit au deuxième module. L'invention concerne encore un programme d'ordinateur comportant des instructions pour la mise en oeuvre des étapes d'un procédé d'allocation de débit tel que décrit précédemment, lorsque ce programme est exécuté par un processeur.Correlatively, the invention also relates to a scalable coder in layers, comprising a first coder capable of encoding a first layer, said base layer of a digital image sequence at a first rate and at least a second encoder capable of encoding a second layer, said enhancement layer of said sequence, at a second rate, said encoder comprising a first rate control module able to control the first rate consumed by the base layer and at least one second rate control module capable of to control the second rate consumed by a said improvement layer, characterized in that it further comprises a flow allocation device according to the invention adapted to allocate the first rate to the first module and the second rate to the second module . The invention also relates to a computer program comprising instructions for implementing the steps of a flow allocation method as described above, when this program is executed by a processor.

Ce programme peut utiliser n'importe quel langage de programmation. Il peut être téléchargé depuis un réseau de communication et/ou enregistrés sur un support lisible par ordinateur. L'invention se rapporte enfin à un support d'enregistrement, lisible par un processeur, intégré ou non au dispositif d'allocation de débit selon l'invention, éventuellement amovible, mémorisant respectivement un programme d'ordinateur mettant en oeuvre le procédé d'allocation de débit tel que décrit précédemment. 6. Liste des figures D'autres avantages et caractéristiques de l'invention apparaîtront plus clairement à la lecture de la description suivante d'un mode de réalisation particulier de l'invention, donné à titre de simple exemple illustratif et non limitatif, et des dessins annexés, parmi lesquels : la Figure 1 (déjà décrite) présente de façon schématique un codeur scalable à deux couches selon l'art antérieur ; la Figure 2 présente, de façon schématique les étapes d'un procédé d'allocation de débit selon l'invention ;This program can use any programming language. It can be downloaded from a communication network and / or recorded on a computer-readable medium. The invention finally relates to a recording medium, readable by a processor, integrated or not integrated with the flow allocation device according to the invention, possibly removable, respectively storing a computer program implementing the method of flow allocation as previously described. 6. List of Figures Other advantages and features of the invention will appear more clearly on reading the following description of a particular embodiment of the invention, given as a simple illustrative and non-limiting example, and attached drawings, among which: Figure 1 (already described) schematically shows a scalable coder with two layers according to the prior art; Figure 2 shows schematically the steps of a rate allocation method according to the invention;

La Figure 3 illustre le surcoût apporté par un schéma de codage scalable par rapport à un schéma de codage non scalable selon une métrique particulière ; la Figure 4 présente de façon schématique un codeur scalable à deux couches selon un premier mode de réalisation de l'invention ; la Figure 5 présente de façon schématique les étapes d'un procédé d'allocation de débit selon un deuxième mode de réalisation de l'invention ; les Figures 6A à 6D présentent des courbes de qualité globale en fonction du logarithme du débit pour trois séquences de tests ; la Figure 7 présente de façon schématique un codeur scalable à deux couches selon un deuxième mode de réalisation de l'invention ; la Figure 8 présente de façon schématique un codeur scalable à deux couches selon un troisième mode de réalisation, multi passes ; la Figure 9 présente un exemple de table de correspondance LUT d'une mesure de qualité de codage de la couche L-l en fonction du débit selon un quatrième mode de réalisation de l'invention ; les Figures 10A et 10B présentent des exemples de tables de correspondance de chacune des couches de scalabilité, entre une mesure de qualité de codage d'une couche de scalabilité et une mesure du débit utilisé selon un cinquième mode de réalisation de l'invention ; la Figure 11 illustre des résultats obtenus par le procédé d'allocation de débit selon le premier mode de réalisation de l'invention sur un jeu de 10 séquences ÜHD ; la Figure 12 illustre des résultats obtenus par le procédé d'allocation de débit selon le deuxième mode de réalisation de l'invention sur un jeu de 10 séquences ÜHD ; la Figure 13 illustre les contraintes de débit et de qualité imposées au codeur scalable selon le deuxième mode de réalisation de l'invention pour obtenir les résultats de la Figure 12 ; et la Figure 14 présente de façon schématique un exemple de structure matérielle d'un dispositif d'allocation de débit selon l'invention. 7. Description d'un mode de réalisation particulier de l'inventionFigure 3 illustrates the overhead provided by a scalable coding scheme with respect to a non-scalable coding scheme according to a particular metric; Figure 4 schematically shows a scalable two-layer encoder according to a first embodiment of the invention; Figure 5 schematically shows the steps of a rate allocation method according to a second embodiment of the invention; Figures 6A to 6D show overall quality versus logarithmic flow curves for three test sequences; Figure 7 schematically shows a scalable two-layer encoder according to a second embodiment of the invention; Figure 8 schematically shows a scalable two-layer encoder according to a third embodiment, multi-pass; FIG. 9 shows an example of a LUT correspondence table of a L-1 layer coding quality measurement as a function of the bit rate according to a fourth embodiment of the invention; FIGS. 10A and 10B show examples of correspondence tables of each of the scalability layers, between a scalability quality measurement of a scalability layer and a measurement of the bit rate used according to a fifth embodiment of the invention; Figure 11 illustrates results obtained by the rate allocation method according to the first embodiment of the invention in a set of 10 HD sequences; Figure 12 illustrates results obtained by the rate allocation method according to the second embodiment of the invention in a set of 10 HD sequences; Figure 13 illustrates the rate and quality constraints imposed on the scalable encoder according to the second embodiment of the invention to obtain the results of Figure 12; and Figure 14 schematically shows an example of a hardware structure of a rate allocation device according to the invention. 7. Description of a particular embodiment of the invention

Le principe général de l'invention repose sur l'estimation d'une fonction de performance du codage de la couche d'amélioration d'un codeur scalable pour au moins un groupe d'images GOP encodé. Cette fonction relie la qualité de codage obtenue à un ratio de débit donné entre la couche de base et la couche d'amélioration. A partir de cette fonction, l'invention détermine, pour le groupe d'images suivant à encoder, le ratio qui, selon l'évolution de la fonction de performance estimée, contribuera à maximiser le niveau de performance du codage.The general principle of the invention is based on the estimation of a performance function of the coding of the enhancement layer of a scalable coder for at least one group of encoded GOP images. This function links the obtained coding quality to a given bit rate ratio between the base layer and the enhancement layer. From this function, the invention determines, for the next group of images to be encoded, the ratio which, according to the evolution of the estimated performance function, will contribute to maximizing the level of performance of the coding.

Afin d'illustrer le plus simplement et clairement possible les différents modes de réalisation de l'invention proposée, on considère le cas d'un codage vidéo 2D scalable à deux couches.In order to illustrate as simply and clearly as possible the various embodiments of the proposed invention, the case of a scalable 2D video coding with two layers is considered.

Bien sûr l'invention n'est pas limitée à cet exemple et concerne tout codeur scalable, quel que soit le nombre de couches mis en oeuvre.Of course the invention is not limited to this example and concerns any scalable coder, regardless of the number of layers used.

On considère un signal source S représentatif d'une séquence de M images numériques, avec M entier non nul. La séquence est découpée en groupes d'images (GOP pour « Group of Pictures », en anglais).We consider a source signal S representative of a sequence of M digital images, with M nonzero integer. The sequence is divided into groups of images (GOP for "Group of Pictures" in English).

Dans la suite de la description, on considère un groupe d'images GOP(i) courant du signal S, avant son encodage par le codeur scalable C. GOP(i,l) et GOP(i,2) sont les déclinaisons de ce GOP dans les signaux d'entrée correspondants aux deux couches.In the remainder of the description, a group of GOP (i) images of the signal S, before its encoding by the scalable encoder C.sub.GOP (i, l) and GOP (i, 2), are considered to be the variations of this GOP in the input signals corresponding to both layers.

En relation avec la Figure 2, on décrit un procédé d'estimation d'un ratio de débit cible pour l'encodage d'une séquence d'images, suite à l'encodage d'au moins un groupe d'images de cette séquence, selon un premier mode de réalisation de l'invention. Ce procédé est avantageusement mis en oeuvre par le codeur C de la Figure 4.In relation with FIG. 2, a method is described for estimating a target bit rate ratio for encoding a sequence of images, following the encoding of at least one group of images of this sequence. according to a first embodiment of the invention. This method is advantageously implemented by the coder C of FIG.

Le codeur doit donc fournir deux trains binaires qui respectent un débit global DG tout en ayant le degré de liberté de choisir, lors de l'encodage, des ratios de débit compris dans l'intervalle IR = IF. On considère un débit global DG alloué au codeur scalable C pour encoder la séquence S. Ce codeur comprend deux couches L-0 et L-l. Le débit global est donc défini comme la somme du débit obtenu dans les deux couches: DG=DL^+DL_X (1) avec Dl_o débit atteint dans la couche L-0 et D^débit atteint dans la couche L-l.The encoder must therefore provide two bitstreams that respect a global bit rate DG while having the degree of freedom to choose, when encoding, rate ratios in the range IR = IF. A global bit rate DG allocated to the scalable coder C is considered for encoding the sequence S. This coder comprises two layers L-0 and L-1. The overall flow rate is therefore defined as the sum of the flow rate obtained in the two layers: DG = DL + DL_X (1) with D1_o flow rate reached in the L-0 layer and D ^ flow rate reached in the L-1 layer.

On définit un ratio de débit de la façon suivante :A flow rate ratio is defined as follows:

(2)(2)

On spécifie l'intervalle de ratio IR à respecter lors de l'encodage des couches L-0 et L-l, de la façon suivante :The IR ratio interval to be respected when encoding the L-0 and L-1 layers is specified as follows:

(3)(3)

La valeur du ratio entre les couches L-0 et L-l doit donc appartenir à cet intervalle. Dans ce premier mode de réalisation, l'intervalle est fixe. Par exemple, il est spécifié comme suit : IF = [0.35 - 25% , 0.35 + 25%] (4)The value of the ratio between the L-0 and L-1 layers must therefore belong to this interval. In this first embodiment, the interval is fixed. For example, it is specified as follows: IF = [0.35 - 25%, 0.35 + 25%] (4)

La valeur 0.35 est proche de la valeur moyenne constatée en utilisant les conditions de test (« common test conditions » en anglais) spécifiées par le groupe de normalisation MPEG (pour « Moving Picture Coding Expert Group », en anglais). De plus, c'est une valeur arbitraire communément utilisée dans l'industrie pour approximer le ratio de débit HD/UHD. Ici on laisse au codeur un degré de liberté de +-25% par rapport à ce ratio pour optimiser la compression.The value 0.35 is close to the average value found by using the test conditions ("common test conditions" in English) specified by the MPEG ("Moving Picture Coding Expert Group") standardization group. In addition, it is an arbitrary value commonly used in industry to approximate HD / UHD throughput ratio. Here the encoder is given a degree of freedom of + -25% compared to this ratio to optimize the compression.

Dans de précédents travaux décrits dans un article intitulé « Toward Optimal Bitrate Allocation in the Scalable HEVC Extension: Application to U HDTV », par Biatek et al, publié dans les Proceedings de la conférence ICCE-Berlin 2015, qui s'est tenue à Berlin du 6 au 9 Septembre 2015, l'inventeur a mis en évidence l'impact du ratio sur les performances de codage d'un schéma vidéo 2D scalable et le fait que le choix judicieux du ratio pouvait largement impacter les performances de codage. En effet, on peut observer sur la Figure 3 le surcoût apporté par le schéma scalable HD/UHD par rapport à l'encodage UHD HEVC simple mesuré avec la métrique de Bjôntegaard (BD-BR et BD-PSNR) en fonction du ratio de débit, sur un jeu de 10 séquences. Ces courbes illustrent le potentiel de gain qu'un ajustement de ratio de débit peut apporter. Par exemple, pour la séquence « StudioDancer », le fait de choisir un ratio de 0.3 entraîne un surcoût de débit d'environ 20% alors qu'un ratio de 0.5 ramènerait ce surcoût autour des 10%.In previous work described in an article titled "Toward Optimal Bitrate Allocation in the Scalable HEVC Extension: Application to U HDTV," by Biatek et al, published in the Proceedings of the ICCE-Berlin 2015 Conference, held in Berlin from 6 to 9 September 2015, the inventor highlighted the impact of the ratio on the coding performance of a scalable 2D video schema and the fact that the judicious choice of the ratio could have a large impact on coding performance. Indeed, it is possible to observe in Figure 3 the additional cost provided by the scalable HD / UHD scheme compared to the simple HEVC UHD encoding measured with the Bjôntegaard metric (BD-BR and BD-PSNR) as a function of the flow rate ratio. , on a set of 10 sequences. These curves illustrate the potential for gain that a rate ratio adjustment can bring. For example, for the "StudioDancer" sequence, choosing a ratio of 0.3 results in an additional flow cost of about 20% while a ratio of 0.5 would reduce this extra cost to around 10%.

Suite à l'encodage du groupe d'images courant GOP(i), on obtient en El une information Q1 représentative d'une mesure de qualité de codage du groupe d'images courant pour la couche L-l. Par exemple, cette mesure a été évaluée selon une métrique donnée (par exemple le PSNR, SSIM, etc...), connue de l'homme de métier. Cette mesure peut être faite localement par le dispositif d'allocation de débit mettant en oeuvre le procédé selon l'invention ou obtenue d'un autre module du codeur scalable, tel que par exemple le codeur C-l.Following the encoding of the current image group GOP (i), El is obtained with information Q1 representative of a coding quality measurement of the current group of images for the L-1 layer. For example, this measurement has been evaluated according to a given metric (for example the PSNR, SSIM, etc ...), known to those skilled in the art. This measurement can be made locally by the rate allocation device implementing the method according to the invention or obtained from another module of the scalable coder, such as for example the coder C-1.

Au cours d'une étape E2, on obtient une mesure d'un coût B0 de codage du GOP courant par le codeur C-0 et une mesure d'un coût B1 de codage du GOP courant par le codeur C-l. Ces coûts de codage s'expriment en nombre de bits consommés.During a step E2, a measurement of a coding cost B0 of the current GOP by the coder C-0 and a measurement of a coding cost B1 of the current GOP by the coder C-1 are obtained. These coding costs are expressed in the number of bits consumed.

En E3, le ratio effectif du GOP courant est calculé de la façon suivante :In E3, the effective ratio of the current GOP is calculated as follows:

(5)(5)

En E4, on calcule le débit DR à appliquer aux images restantes qui permettra de respecter la contrainte de débit global DG. Ce débit est calculé en fonction du nombre de bit déjà consommés BC, du coût global B0+B1 engendré par le GOP courant, de la fréquence image F, du nombre total d'images à encoder NT et du nombre d'images restantes NI.In E4, the DR rate to be applied to the remaining images is calculated which will make it possible to respect the overall flow constraint DG. This rate is calculated according to the number of bit already consumed BC, the overall cost B0 + B1 generated by the current GOP, the frame rate F, the total number of images to be encoded NT and the number of remaining images NI.

(6)(6)

En E5, le nombre de bits à consommer pour le GOP suivant BG est calculé en fonction de DR et de la taille de ce GOP NG(i+l).In E5, the number of bits to be consumed for the GOP following BG is calculated according to DR and the size of this GOP NG (i + 1).

(7)(7)

En E6, on estime une fonction de performance de codage Q(R), destinée à fournir une mesure de qualité Q du codage de la couche L-l en fonction du ratio de débit effectif Ri.In E6, a Q (R) coding performance function is estimated, intended to provide a quality measurement Q of the coding of the L-1 layer as a function of the effective rate ratio R 1.

De nombreuses méthodes plus ou moins complexes peuvent être utilisées pour estimer cette fonction. Dans ce premier mode de réalisation, une façon simple de modéliser cette fonction est d'exploiter les mesures de qualité et de débits obtenues après l'encodage du groupe d'images courant et des groupes précédents.Many more or less complex methods can be used to estimate this function. In this first embodiment, a simple way of modeling this function is to use the quality and bit rate measurements obtained after the encoding of the current image group and the preceding groups.

Pour le i-ième groupe d'images codé, on considère donc la qualité effective Qi et le ratio effectif Ri, calculés de la façon suivante :For the i-th coded group of images, we therefore consider the effective quality Qi and the effective ratio Ri, calculated as follows:

Qi=Ql (8)Qi = Ql (8)

Ri = B0/(B0+Bl) (9)Ri = B0 / (B0 + B1) (9)

Si l'on conserve en mémoire un buffer MP de K couples d'échantillons (Ri,Qi) avec K entier non nul, par exemple égal à 6 pour un buffer de 1 seconde et une fréquence de 48 images par seconde, mis à jour en E60 après l'encodage du groupe d'images courant, il est possible de modéliser la fonction de performance Q(R) en se basant sur ce buffer.If a buffer MP of K pairs of samples (Ri, Qi) with non-zero integer K is stored in memory, for example equal to 6 for a buffer of 1 second and a frequency of 48 images per second, updated in E60 after the encoding of the current image group, it is possible to model the performance function Q (R) based on this buffer.

Avantageusement, une façon simple de modéliser cette fonction est d'utiliser un modèle de courbe polynomial, de degré 1 par exemple : Q(R) = ax R + b (10)Advantageously, a simple way of modeling this function is to use a model of polynomial curve, of degree 1 for example: Q (R) = ax R + b (10)

En utilisant une méthode des moindres carrés totaux sur les mesures stockées en mémoire, il est possible d'estimer a et b en résolvant le système suivant :By using a total least squares method on the measurements stored in memory, it is possible to estimate a and b by solving the following system:

(U)(U)

(12)(12)

Plusieurs méthodes peuvent être utilisées pour résoudre ce système, par exemple utiliser une élimination de Gauss ou bien inverser la matrice A et calculer A~XY.Several methods can be used to solve this system, for example using a Gaussian elimination or invert the matrix A and calculate A ~ XY.

Au cours d'une étape E8, on exploite la fonction de performance obtenue Q(R) pour déterminer le point de la courbe qui maximise la qualité de codage de la couche L-l dans l'intervalle de ratio IR autorisé et récupéré en E7. Ce ratio optimal Ro est dont sélectionné de la façon suivante :During a step E8, the performance function obtained Q (R) is used to determine the point of the curve that maximizes the coding quality of the L-1 layer in the permitted IR ratio interval and recovered at E7. This optimal ratio Ro is selected as follows:

(13)(13)

Le procédé d'estimation de ratio est répété pour chaque nouveau groupe d'images encodé. En procédant de la sorte, le modèle décrit en Equation 10 peut être mis à jour après l'encodage d'un nouveau groupe d'images, au fil de l'eau, et le ratio optimal Ro à appliquer au groupe d'images suivant GOP(i+l) est calculé via l'Equation 13.The ratio estimation method is repeated for each new group of encoded images. By proceeding in this way, the model described in Equation 10 can be updated after the encoding of a new group of images, along the water, and the optimal ratio Ro to be applied to the next group of images GOP (i + l) is calculated via Equation 13.

On comprend en effet que l'encodage d'un nouveau groupe d'images fournit un nouveau couple de valeurs (Ri, Qi), par exemple stocké dans le buffer MP, qui contribue à raffiner l'estimation de la fonction de performance et donc la détermination du ratio optimal Ro à appliquer lors de l'encodage du GOP suivant GOP(i+l).It is understood that the encoding of a new group of images provides a new pair of values (Ri, Qi), for example stored in the MP buffer, which contributes to refining the estimate of the performance function and therefore the determination of the optimal ratio Ro to be applied during the encoding of the GOP according to GOP (i + 1).

En E9, on calcule les consignes de débits ou débits cibles JRC-0 et JRC-1 du groupe d'image suivant GOP(i+l) pour chacune des couches L-0 et L-l. Les budgets attribués à chacune des couches sont d'abord calculés en multipliant le budget total alloué pour le prochain GOP BG, obtenu à partir du débit global DG alloué pour le codage de la séquence et du débit déjà consommé pour les groupes d'images précédents, par le ratio optimal estimé Ro pour obtenir le budget attribué à la couche L-0 et par (1-Ro) pour obtenir le budget attribué à la couche L-l. Puis, ces budgets sont multipliés par la fréquence image F et divisé par le nombre d'images NG(i+l) du GOP(i+l) afin d'obtenir les débit JRC-0 et JRC-1 en bits/seconde : (14) (15)In E9, the JRC-0 and JRC-1 target bit rate or target bitrate values of the GOP (i + 1) image group are calculated for each of the L-0 and L-1 layers. The budgets allocated to each layer are first calculated by multiplying the total budget allocated for the next GOP BG, obtained from the overall bit rate DG allocated for the coding of the sequence and the bit rate already consumed for the preceding image groups , by the estimated optimal ratio Ro to obtain the budget allocated to the layer L-0 and by (1-Ro) to obtain the budget allocated to the layer L1. Then, these budgets are multiplied by the image frequency F and divided by the number of NG (i + 1) images of the GOP (i + 1) in order to obtain the JRC-0 and JRC-1 bit rates: (14) (15)

Ces deux cibles de débit sont transmises aux modules de contrôle de débit RC-0, RC-1 de chacune des couches.These two rate targets are transmitted to the RC-0, RC-1 rate control modules of each of the layers.

En relation avec la Figure 4, on a représenté un codeur scalable C comprenant une unité de contrôle de débit joint JRC mettant en œuvre le procédé d'estimation de ratio de débit selon le premier mode de réalisation de l'invention. Un débit global à respecter DG et un intervalle de ratioIn relation with FIG. 4, there is shown a scalable encoder C comprising a joint flow control unit JRC implementing the rate ratio estimation method according to the first embodiment of the invention. Overall throughput to meet DG and ratio interval

fixe IF sont spécifiés comme consignes pour l'unité de contrôle de débit joint JRC. L'unité JRC communique avec les deux unités de contrôle de débit, RC-0 pour la couche L-0 et RC-1 pour la couche L-l via les informations JRC-0, DO, JRC-1, Q1 et Dl.Fixed IF are specified as instructions for the JRC Joint Flow Control Unit. The JRC unit communicates with the two flow control units, RC-0 for the L-0 layer and RC-1 for the L-1 layer via the JRC-0, DO, JRC-1, Q1 and D1 information.

Un avantage de ce premier mode de réalisation est qu'il permet d'optimiser le ratio de débit entre les couches du codeur pour un intervalle de valeurs de ratios de débit fixé a priori. Une application possible est par exemple un codage de type « meilleur possible » (ou « best-effort coding» en anglais) pour la scalabilité ou l'on souhaite assurer la meilleure performance de codage possible, sans pour autant imposer une qualité minimale sur la couche de base. On fixe alors l'intervalle de ratios de débit en fonction du degré de liberté que l'on souhaite laisser lors du codage.An advantage of this first embodiment is that it makes it possible to optimize the ratio of flow between the layers of the encoder for a range of values of rate ratios fixed a priori. One possible application is, for example, coding of the "best possible effort" type (or "best-effort coding" in English) for scalability where it is desired to ensure the best coding performance possible, without imposing a minimum quality on the base layer. The rate ratio interval is then set according to the degree of freedom that one wishes to leave during the coding.

Selon un deuxième mode de réalisation de l'invention, l'intervalle de ratio de débit autorisé n'est plus fixé a priori, mais il est soumis à des contraintes de qualité et de débit pour chacune des couches de scalabilité.According to a second embodiment of the invention, the authorized rate ratio interval is no longer fixed a priori, but it is subject to quality and speed constraints for each of the scalability layers.

Ces différentes contraintes de qualité et de débit pour les deux couches prennent par exemple la forme d'intervalles de valeurs autorisées IQO, IQ1, IDO et ID1. On notera que ces contraintes peuvent varier dynamiquement au cours du temps. Par exemple, en cas de panne partielle sur le réseau de diffusion des trains binaires, elles peuvent être assouplies temporairement.These different quality and flow constraints for the two layers take, for example, the form of permitted ranges of values IQO, IQ1, IDO and ID1. Note that these constraints can vary dynamically over time. For example, in case of partial failure on the broadcast network bit trains, they can be relaxed temporarily.

Les contraintes sont spécifiées de la façon suivante : IQO = [Qojnin ’ Qo_max] (16) IQ1 = [Qljnin > Ql_max] (17) IDO = [Dçjjnin , D0_max] (18) ID1 — [Dx min > Di max] (19)The constraints are specified in the following way: IQO = [Qojnin 'Qo_max] (16) IQ1 = [Qljnin> Ql_max] (17) IDO = [Djjnin, D0_max] (18) ID1 - [Dx min> Di max] (19) )

De la même façon que pour le premier mode de réalisation, une fonction d'estimation de la performance est construite. L'étape El obtient des mesures de la qualité de codage Q1 obtenue dans la couche L-l pour le groupe d'images courant et l'étape E10 obtient une mesure de qualité de codage QO de la couche de base L-0. L'étape E2 collecte les coûts de codage BO et Bl. Ces mesures et coûts obtenus sont destinés à être exploités par des étapes ultérieures du procédé selon l'invention, telles que les étapes E60, E70, E71, E12 et E13 qui vont être détaillées ci-après.In the same way as for the first embodiment, a performance estimation function is constructed. Step E1 obtains measurements of the Q1 coding quality obtained in the L-1 layer for the current image group and step E10 obtains a QO coding quality measurement of the L-0 base layer. Step E2 collects the coding costs BO and B1. These measurements and costs obtained are intended to be exploited by subsequent steps of the method according to the invention, such as the steps E60, E70, E71, E12 and E13 which are going to be detailed below.

Comme pour le premier mode de réalisation, le ratio effectif est toujours calculé en E3 (Equations 8 et 9). Un buffer MP est également mis à jour en E60 et la fonction de performance Q(R) est estimée à partir de ce buffer en E6 (Equation 11 et 12). Le débit DR à imposer pour le codage des images restantes afin de respecter la contrainte de débit global DG est toujours calculé en E4. Ce débit est calculé en fonction du nombre de bits déjà consommés, des coûts de codage BO et B1 (recueillis en E2) du GOP courant GOP(i), de la fréquence image F, et du nombre d'images restantes NI. En E5, le nombre BG de bits à consommer pour le GOP suivant GOP(i+l) est calculé en fonction du débit restant DR et de la taille NG(i+l) de ce GOP.As for the first embodiment, the effective ratio is always calculated in E3 (Equations 8 and 9). A buffer MP is also updated in E60 and the performance function Q (R) is estimated from this buffer at E6 (Equation 11 and 12). The bit rate DR to be imposed for the coding of the remaining images in order to respect the global bit rate constraint DG is always calculated in E4. This rate is calculated as a function of the number of bits already consumed, the encoding costs BO and B1 (collected in E2) of the current GOP GOP (i), the image frequency F, and the number of remaining images NI. In E5, the number BG of bits to be consumed for the GOP according to GOP (i + 1) is calculated according to the remaining bit rate DR and the size NG (i + 1) of this GOP.

Dans ce mode de réalisation, l'intervalle de ratio global IR doit respecter à la fois les contraintes de la couche L-0 et de la couche L-l. Soit IRO et IR1 les intervalles respectivement définis respectivement par les contraintes des couches L-0 et L-l, alors l'intervalle global IR est défini comme l'intersection de ces deux intervalles : IR = IRO n IRl (20)In this embodiment, the overall ratio ratio IR must respect both the constraints of the L-0 layer and the L-1 layer. Let IRO and IR1 be the intervals respectively defined by the stresses of the layers L-0 and L-1, then the global interval IR is defined as the intersection of these two intervals: IR = IRO n IRl (20)

Les intervalles des deux couches IRO et IRl peuvent être également calculés comme étant l'intersection de sous-intervalles liés aux contraintes de qualité et de débit : /RO = SIQOnSIDO (21) IRl — SIQ1 nSIDl (22)The intervals of the two layers IRO and IR1 can also be calculated as the intersection of sub-intervals related to quality and flow constraints: / RO = SIQOnSIDO (21) IR1 - SIQ1 nSID1 (22)

Le calcul d'IRO est réalisé en E70 et le calcul d'IRl en E71. On suppose que F0(D) et F1(D) sont les fonctions débit-qualité des deux couches liant la qualité Q évaluée pour une métrique donnée, par exemple : PSNR, SSIM, etc, au débit D. Il est possible d'exprimer les sous-intervalles de la façon suivante : siqo = [R0 Qmin’ Ro_Qmax] (23) SIQ1 — |R| /Jrnin’^l_Qmax] (24) SIDO — [R0 Dmin> R0_Dmax] (25) SI Di — [RiDmin>Rl_Dmax ] (26)The calculation of IRO is done in E70 and the calculation of IR1 in E71. It is assumed that F0 (D) and F1 (D) are the quality-flow functions of the two layers linking the quality Q evaluated for a given metric, for example: PSNR, SSIM, etc. at flow D. It is possible to express the subintervals as follows: siqo = [R0 Qmin 'Ro_Qmax] (23) SIQ1 - | R | (24) SIDO - [R0Dmin> R0_Dmax] (25) SiDi - [RiDmin> R1_Dmax] (26)

Avant l'encodage d'un groupe d'images suivant GOP(i+l), les intervalles IQO', IQ1', IDO' et ID1' à respecter en débit et qualité sont recalculés en fonction de la qualité des images déjà codées dans chaque couche pour les groupes d'images précédents, des débits effectifs associés et des contraintes initialement fixées IQO, IQ1, IDO et ID1. Les nouvelles bornes des intervalles de qualité et de débit contraints pour la suite de l'encodage, en particulier pour le groupe GOP(i+l), sont calculées de la façon suivante : (27) (28) (29) (30) (31) (32) (33) (34)Before the encoding of a group of images following GOP (i + l), the intervals IQO ', IQ1', IDO 'and ID1' to respect in flow and quality are recalculated according to the quality of the images already coded in each layer for the preceding groups of images, associated effective rates and initially fixed constraints IQO, IQ1, IDO and ID1. The new bounds of the quality and throughput intervals constrained for further encoding, in particular for the GOP group (i + l), are calculated as follows: (27) (28) (29) (30) (31) (32) (33) (34)

Avec QMO, QM1 les qualités moyennes atteintes à ce stade du codage pour les couches L-0 et L-l et BCO et BC1 les bits déjà consommés dans les couches L-0 et L-l. Cette étape de mise à jour des intervalles de contraintes est réalisée en E70 pour la couche L-0 et en E71 pour la couche L-l. Ces intervalles sont donc les suivants : (35) (36) (37) (38)With QMO, QM1 the average qualities achieved at this stage of the coding for the L-0 and L-1 and BCO and BC1 layers the bits already consumed in the layers L-0 and L-1. This step of updating the stress intervals is carried out in E70 for the L-0 layer and in E71 for the L-1 layer. These ranges are therefore: (35) (36) (37) (38)

Une fois ces intervalles mis à jour, il est possible de calculer les bornes des sous-intervalles de ratios de débit spécifiés dans les Equations 21 à 22 de la façon suivante : (39) (40) (41) (42) (43) (44) (45)Once these intervals are updated, it is possible to calculate the bounds of the rate ratio sub-ranges specified in Equations 21 to 22 as follows: (39) (40) (41) (42) (43) (44) (45)

(46) avec Q0= FO(D), Ql = F1(D) des fonctions qui lient la qualité au débit pour les couches L-0 et L-l.(46) with Q0 = FO (D), Q1 = F1 (D) functions that link the quality to the flow rate for the L-0 and L-1 layers.

De la même façon que pour la fonction de performance Q(R), les fonctions F0(D) et F1(D) doivent être estimées lors de l'encodage. Si l'on considère par exemple le PSNR comme métrique de qualité, de nombreuses méthodes et modèles plus ou moins complexes peuvent être utilisés pour estimer cette fonction.In the same way as for the performance function Q (R), the functions F0 (D) and F1 (D) must be estimated during the encoding. For example, if PSNR is considered as a quality metric, many more or less complex methods and models can be used to estimate this function.

Avantageusement, une façon simple de procéder est de garder en mémoire deux buffers MO et Ml de K couples d'échantillons (Q0it,D0it) et (Qi,;,Oi,;) associés respectivement aux couches L-0 et L-l avec K entier, par exemple égal à 6 pour un buffer de 1 seconde et une fréquence de 48 images par seconde : (47) (48) (49) (50) où QO, BO, Q1 et B1 désignent les mesures de qualité, débit obtenues pour le GOP courant GOP(i) dans les couches L-0 et L-l et NG(i) le nombre d'images du GOP courant.Advantageously, a simple way of proceeding is to keep in memory two buffers MO and M1 of K pairs of samples (Q0it, D0it) and (Qi,;, Oi ,;) respectively associated with the layers L-0 and L1 with K whole. , for example equal to 6 for a buffer of 1 second and a frequency of 48 images per second: (47) (48) (49) (50) where QO, BO, Q1 and B1 designate the quality measurements, flow obtained for the current GOP GOP (i) in layers L-0 and L1 and NG (i) the number of images of the current GOP.

Ces deux buffers sont construits respectivement en E12 et E13 pour les couches L-0 et L-l, grâce aux informations recueillies en El et E2. En se basant sur ces deux buffers, il est possible d'estimer les fonctions débit-distorsion des deux couches F0(D) et F1(D). Des modélisations exponentielles et quadratiques peuvent être utilisées. Une façon simple de procéder est d'estimer ces fonctions comme étant affines sur un intervalle donné en échelle logarithmique.These two buffers are constructed respectively at E12 and E13 for the layers L-0 and L-1, thanks to the information collected in E1 and E2. Based on these two buffers, it is possible to estimate the flow-distortion functions of the two layers F0 (D) and F1 (D). Exponential and quadratic modeling can be used. An easy way to do this is to estimate these functions as being affine over a given interval in logarithmic scale.

Sur la Figure 6, on peut observer la précision d'une estimation affine sur des intervalles de 5Mbps, pour trois séquences vidéo 2D en Ultra-Haute Définition (UHD).In Figure 6, we can observe the precision of an affine estimate over 5Mbps intervals, for three Ultra-High Definition (UHD) 2D video sequences.

Une approche simple est donc de définir les fonctions débits qualité de la façon suivante : F0(D) = a0 x log{p) + b0 (51) F1(D) = % x log{D) + bx (52)A simple approach is therefore to define the quality flow functions as follows: F0 (D) = a0 x log {p) + b0 (51) F1 (D) =% x log {D) + bx (52)

De la même façon que pour la fonction de performance, les paramètres des modèles utilisés peuvent être estimés via la méthode des moindres carrés totaux en résolvant les systèmes d'équations suivants :In the same way as for the performance function, the parameters of the models used can be estimated using the total least squares method by solving the following systems of equations:

(53) (54) (55) (55)(53) (54) (55) (55)

Les estimations des fonctions F0(D) et F1(D) sont réalisés dans les étapes E14 et E15. Les fonctions débits-distorsions définies en Equations 51 et 52 peuvent être facilement inversées et utilisées pour déterminer les sous-intervalles SIQO, SIDO, SIQ1, SID1 définis dans les Equations 23 à 25, puis les intervalles de couches IRO, IR1 définis dans les Equation 21 et 22 et enfin l'intervalle global IR défini dans l'Equation 20. Une fois cet intervalle global estimé, on procède de la même manière que dans le premier mode de réalisation, c'est-à-dire qu'on détermine d'abord en E8 le ratio de débit Ro qui maximise la fonction de performance Q(R) sur cet intervalle IR puis qu'on l'applique au budget alloué BG en E9 (Equation 14 et 15). On obtient ainsi les consignes de débit JRC-0, JRC-1 pour le groupe d'images GOP(i+l).The estimates of the functions F0 (D) and F1 (D) are carried out in the steps E14 and E15. The rate-distortion functions defined in Equations 51 and 52 can be easily inverted and used to determine the SIQO, SIDO, SIQ1, SID1 subintervals defined in Equations 23 to 25, then the IRO, IR1 layer intervals defined in the Equations. 21 and 22 and finally the global interval IR defined in Equation 20. Once this global interval is estimated, one proceeds in the same way as in the first embodiment, that is to say that one determines First, in E8, the rate ratio Ro that maximizes the performance function Q (R) over this interval IR and then applies it to the allocated budget BG in E9 (Equation 14 and 15). This gives the JRC-0, JRC-1 rate setpoints for the GOP (i + 1) image group.

En relation avec la Figure 7, on présente un codeur scalable dont l'unité de contrôle de débit joint J RC met en oeuvre le deuxième mode de réalisation de l'invention. Selon ce mode, l'unité JRC prend en entrée, en plus de la consigne de débit global cible DG, les contraintes de qualité et de débits IQO, IDO, IQ1, ID1 associées à chacune des couches de scalabilité.In relation to FIG. 7, a scalable encoder is presented whose joint flow control unit J RC implements the second embodiment of the invention. According to this mode, the JRC unit inputs, in addition to the target DG target bit rate, the IQO, IDO, IQ1, ID1 quality and flow constraints associated with each of the scalability layers.

Un avantage du deuxième mode de réalisation est qu'il permet d'imposer des contraintes de qualité et/ou de débit à une ou plusieurs des couches de scalabilité. Il est possible de spécifier des contraintes à l'encodeur et donc de faire correspondre les trains binaires de données qu'il génère à la configuration visé.An advantage of the second embodiment is that it makes it possible to impose quality and / or flow constraints on one or more of the scalability layers. It is possible to specify constraints on the encoder and thus to match the bitstreams of data it generates to the target configuration.

Par exemple, si l'on souhaite remplir un espace de stockage d'un volume ayant une capacité de B bits avec une vidéo de N images déclinée en deux versions HD (L-0) et UHD (L-l) avec une fréquence de F images par seconde, en garantissant une qualité minimale Q sur le service HD et une qualité maximale du service UHD, le procédé selon l'invention spécifiera les paramètres de débit global DG = (B*F/N) et de qualité minimale pour la couche de base Qomin-Q, en vue d'obtenir un encodage optimisé respectant ces contraintes. En particulier, la couche de rehaussement L-l occupera tout l'espace laissé disponible après le codage de la couche de base L- 0.For example, if one wishes to fill a storage space of a volume having a capacity of B bits with a video of N images declined in two versions HD (L-0) and UHD (Ll) with a frequency of F images per second, guaranteeing a minimum quality Q on the HD service and a maximum quality of the UHD service, the method according to the invention will specify the overall bit rate parameters DG = (B * F / N) and of minimum quality for the layer of Qomin-Q base, in order to obtain an optimized encoding respecting these constraints. In particular, the enhancement layer L-1 will occupy all the space left available after the coding of the L-O base layer.

Dans d'autres cas d'usages hybrides pour lesquelles la diffusion des trains binaires se fait en partie sur un réseau de diffusion classique type TNT (pour Télévision Numérique Terrestre) pour la couche HD (L-0) et via le réseau internet pour la couche UHD (L-l), l'invention permet introduire d'autres contraintes. Par exemple, lorsque l'opérateur du service a la possibilité de garantir une qualité de service constante pour la HD, comprise entre Qmin/Qmax, tout en restreignant le débit de l'UHD dans une bande passante Dmin/Dmax afin de toucher la plus large audience possible via le réseau internet.In other cases of hybrid uses for which the broadcasting of bitstreams is done in part on a conventional broadcast network type TNT (for Digital Terrestrial Television) for the HD layer (L-0) and via the Internet for the UHD layer (Ll), the invention allows to introduce other constraints. For example, when the service operator has the ability to guarantee a consistent quality of service for the HD, between Qmin / Qmax, while restricting the UHD throughput in a Dmin / Dmax bandwidth in order to touch the most wide audience possible via the Internet.

Les modes de réalisation qui viennent d'être présentés proposent une estimation du ratio de débit « au fil de l'eau », c'est-à-dire qui s'appuie sur des informations issues de l'encodage d'au moins un groupe d'images précédent. On comprend que la modélisation de la fonction de performance s'affine au fur et à mesure que l'on acquiert plus d'échantillons de mesure de qualité en fonction du ratio de débit réel. En revanche, lors d'un changement de scène, une réinitialisation s'effectue et il faut plusieurs GOP successifs pour optimiser la modélisation de la fonction de performance.The embodiments which have just been presented propose an estimation of the flow rate ratio "on the water", that is to say which relies on information resulting from the encoding of at least one previous group of images. It is understood that the modeling of the performance function is refined as more samples of quality measurement are acquired as a function of the actual flow ratio. On the other hand, during a change of scene, a reset takes place and it takes several successive GOPs to optimize the modeling of the performance function.

En relation avec la Figure 8, on décrit maintenant un procédé d'estimation d'un ratio de débit selon un troisième mode de réalisation de l'invention. Ce troisième mode de réalisation est basé sur une approche multi-passes. Autrement dit, une première mise en œuvre du procédé selon l'invention AD(i+l) est réalisée suite à l'encodage d'un groupe d'images GOP(i) et en vue de l'encodage d'un groupe d'images suivant GOP(i+l) selon le deuxième mode de réalisation qui vient d'être décrit. Suite à l'encodage du groupe d'image courant GOP(i), les intervalles relatifs aux contraintes de la couche L-0 et L-l sont tout d'abord calculés avec les fonctions débit-qualité courantes. Puis l'intersection de ces deux intervalles est calculée et produit l'intervalle global IR qui respecte toutes les contraintes. Le ratio optimal Ro est ensuite déterminé en minimisant la fonction d'estimation de la performance courante sur l'intervalle global. Les consignes de débit JRC-0 pour la couche L-0 et JRC-1 pour la couche L-l sont déterminées et transmises aux unités de contrôle de débit RC-0, RC-1 des deux couches. Le groupe d'images suivant GOP(i+l) est ensuite préencodé e par les codeurs C-0 et C-l en respectant les consignes de débit JRC-0, JRC-1. Le nombre de bits consommés BO et B1 pour la première passe d'encodage de chaque couche du groupe GOP(i+l) est évalué ainsi que la qualité de l'encodage QO, Ql. Ces valeurs sont exploitées au cours d'une deuxième mise en œuvre AD(i+l)' du procédé d'allocation de débit selon le deuxième mode de réalisation de l'invention pour mettre à jour les étapes d'estimation des fonctions F0(D) et F1(D) liant les intervalles de contraintes de qualité au débit, ainsi que la fonction de performance Q(R). On comprend que de cette manière, on peut modéliser plus précisément ces fonctions. Avantageusement, les buffers MP, MO et Ml sont mis à jour avec les nouvelles valeurs QO, BO, Q1 et B1 obtenues lors de la première passe d'encodage du GOP(i+l). Le ratio de débit optimal R0' est ensuite réévalué à partir de la fonction de performance mise à jour. Des consignes de débit JRC-0', JRC-1' sont calculées. Le groupe d'images GOP(i+l) est encodé une deuxième fois, à partir des nouvelles consignes calculées.In relation to FIG. 8, a method of estimating a rate ratio according to a third embodiment of the invention is now described. This third embodiment is based on a multi-pass approach. In other words, a first implementation of the method according to the invention AD (i + 1) is carried out following the encoding of a group of images GOP (i) and for the encoding of a group of images. images according to GOP (i + 1) according to the second embodiment which has just been described. Following the encoding of the current image group GOP (i), the intervals relating to the stresses of the layer L-0 and L-1 are firstly calculated with the current flow-quality functions. Then the intersection of these two intervals is calculated and produces the global IR interval which respects all the constraints. The optimal ratio Ro is then determined by minimizing the function of estimating the current performance over the overall interval. The flow instructions JRC-0 for the layer L-0 and JRC-1 for the layer L-1 are determined and transmitted to the flow control units RC-0, RC-1 of the two layers. The group of images following GOP (i + 1) is then pre-coded by the coders C-0 and C-1 in accordance with the flow instructions JRC-0, JRC-1. The number of bits consumed BO and B1 for the first encoding pass of each layer of the group GOP (i + 1) is evaluated as well as the quality of the encoding Q0, Q1. These values are exploited during a second implementation AD (i + 1) 'of the rate allocation method according to the second embodiment of the invention to update the estimation steps of the functions F0 ( D) and F1 (D) linking the quality constraint intervals to the flow rate, as well as the performance function Q (R). We understand that in this way, we can model these functions more precisely. Advantageously, the buffers MP, MO and M1 are updated with the new values Q0, BO1, Q1 and B1 obtained during the first encoding pass of the GOP (i + 1). The optimal rate ratio R0 'is then reevaluated from the updated performance function. Flow instructions JRC-0 ', JRC-1' are calculated. The group of images GOP (i + 1) is encoded a second time, starting from the new calculated instructions.

Un avantage de ce mode multi-passes est qu'il ne requiert pas d'initialisation du modèle puisque les bons paramètres sont calculés pour le GOP courant lors de la première passe et appliqués lors de la deuxième. Ce mode est donc plus robuste aux changements de scène.An advantage of this multi-pass mode is that it does not require initialization of the model since the correct parameters are calculated for the current GOP during the first pass and applied during the second pass. This mode is therefore more robust to scene changes.

En relation avec la Figure 9, on décrit un quatrième mode de réalisation de l'invention. Ce mode vise à améliorer la précision de l'estimation de la fonction de performance, en particulier dans le cas d'un mode mono-passe.In relation to FIG. 9, a fourth embodiment of the invention is described. This mode aims to improve the accuracy of the estimation of the performance function, in particular in the case of a single-pass mode.

Dans ce quatrième mode de réalisation, la fonction Q(R) n'est plus estimée à partir des couples de valeurs ratio de débit, qualité d'un buffer MP, mais à partir d'une table de correspondance ou LUT (pour « Look Up Table », en anglais). Dans ce mode, la LUT permet de lier un nombre fini de valeurs de ratio de débit aux valeurs de qualité correspondante dans la couche L-l.In this fourth embodiment, the Q (R) function is no longer estimated from the pairs of flow ratio values, quality of a buffer MP, but from a correspondence table or LUT (for "Look" Up Table, in English). In this mode, the LUT is used to link a finite number of rate ratio values to the corresponding quality values in the L-1 layer.

Par exemple, les valeurs stockées dans la LUT au début de l'encodage ont été préalablement établies à partir des statistiques de codage d'un ensemble représentatif de séquences de test. Une façon de procéder est, par exemple pour un ensemble de séquences encodées, d'établir des statistiques de débit de groupes d'images en fonction de la qualité, et de les exploiter pour ensuite choisir le modèle de fonction (et ses paramètres) le plus proche de ces statistiques, toutes séquences confondues.For example, the values stored in the LUT at the beginning of the encoding were previously computed from the encoding statistics of a representative set of test sequences. One way of proceeding is, for example for a set of encoded sequences, to establish statistics of image group rates according to quality, and to use them to then choose the function model (and its parameters) on closer to these statistics, all sequences combined.

En particulier, un avantage est de garantir de disposer des échantillons (Qi, Ri) répartis équitablement sur une gamme de valeurs de ratio beaucoup plus large, donc incluant l'intervalle de ratios autorisés IR. En estimant la fonction Q(R) sur cette gamme de ratios, on obtient alors une estimation beaucoup plus fidèle au comportement réel de la fonction. Après l'encodage d'un groupe d'images GOP(i), le ratio effectif Ri est utilisé pour calculer l'index de la table de correspondance, puis la qualité effective mesurée Qi remplace l'ancienne valeur localisée à cet index. En se basant sur ce nouvel ensemble d'échantillon, la fonction d'estimation de la performance peut être mise à jour. Autrement dit, elle est remise à l'échelle de la séquence courante.In particular, one advantage is to ensure that the samples (Qi, Ri) are evenly distributed over a much wider range of values of values, thus including the allowed ratio range IR. By estimating the Q (R) function over this ratio range, we obtain a much more accurate estimate of the actual behavior of the function. After the encoding of a group of GOP (i) images, the effective ratio Ri is used to calculate the index of the correspondence table, then the measured effective quality Qi replaces the old value located at this index. Based on this new sample set, the performance estimation function can be updated. In other words, it is rescaled to the current sequence.

Dans ce mode de réalisation, un modèle quadratique décrit dans l'Equation 47 est utilisé, contrairement à celui des modes de réalisation 1 et 2. Ce modèle quadratique permet d'avoir une modélisation plus précise de la fonction de performance et il est plus adapté à une estimation basée sur un ensemble plus large d'échantillons. Q(R) â=axR2+bxR + c (57)In this embodiment, a quadratic model described in Equation 47 is used, unlike that of embodiments 1 and 2. This quadratic model allows a more accurate modeling of the performance function and is more suitable. to an estimate based on a wider set of samples. Q (R) a = axR2 + bxR + c (57)

De la même façon que dans le mode de réalisation 1, les paramètres du modèle quadratique peuvent être estimés en résolvant le système matriciel décrit dans les équations 58 et 59. (58) (59)In the same way as in the embodiment 1, the parameters of the quadratic model can be estimated by solving the matrix system described in the equations 58 and 59. (58) (59)

Ce quatrième mode de réalisation permet de modéliser la fonction de performances sur une gamme de ratios de débit beaucoup plus large, et donc de réaliser une modélisation beaucoup plus fine et fidèle à la courbe réelle que l'on souhaite estimer. En utilisant cette modélisation, l'estimation du ratio sera donc plus précise.This fourth embodiment makes it possible to model the performance function over a much wider range of flow rate ratios, and thus to make a much finer modeling that is faithful to the real curve that one wishes to estimate. By using this modeling, the estimation of the ratio will be more precise.

Selon un cinquième mode de réalisation de l'invention, les fonctions F0(D) et D1(D) ne sont plus estimées à partir des buffers MO et Ml, mais à partir de deux tables de correspondance LUT-0, LUT-1, illustrées respectivement par les Figures 10A et 10B. Dans ce mode, les LUTs permettent de lier un nombre fini de valeurs de débits aux valeurs de qualité correspondante dans chacune des couche L-0 et L-l. En particulier, un avantage est de garantir d'avoir des échantillons (Q0,t.D0ù et (.Qu’Du) répartis équitablement sur une gamme de valeurs de débit beaucoup plus large. En estimant les fonctions F0(D) et F1(D) sur ces gammes de débits étendues, on obtient alors des estimations beaucoup plus fidèles au comportement réel de ces fonctions. Les valeurs présentes en début d'encodage dans ces LUTs peuvent être établies par exemple à partir des statistiques de codage d'un ensemble représentatif de séquences de test.According to a fifth embodiment of the invention, the functions F0 (D) and D1 (D) are no longer estimated from the buffers MO and M1, but from two correspondence tables LUT-0, LUT-1, illustrated respectively in Figures 10A and 10B. In this mode, the LUTs link a finite number of flow rate values to the corresponding quality values in each of the L-0 and L-1 layers. In particular, one advantage is to ensure that samples (Q0, t.D0u, and (.Qu'Du) are evenly distributed over a much broader range of flow values by estimating the functions F0 (D) and F1 ( D) on these ranges of extended flows, one thus obtains estimates much more faithful to the real behavior of these functions The values present at the beginning of encoding in these LUTs can be established for example from the statistics of coding of a set representative of test sequences.

Après l'encodage de chaque groupe d'images les qualités effectives des couches L-0 et L-l, QO et Q1 sont utilisées pour calculer les index des tables de correspondance LUTO, LUT1, puis les coûts binaires effectifs BO et Bl. Les nouvelles valeurs obtenues viennent remplacer les anciennes valeurs localisées à cet index. En se basant sur ces nouveaux ensembles d'échantillons, les fonctions Débit-Qualité peuvent être mises à jour. Dans ce mode de réalisation, on utilise avantageusement un modèle du 3ème ordre décrit dans les Equations 60 et 61 plutôt que leAfter the encoding of each group of images, the effective qualities of the L-0 and L1 layers, QO and Q1 are used to calculate the indexes of the LUTO correspondence tables, LUT1, then the actual binary costs BO and B1. The new values obtained replace the old values located at this index. Based on these new sample sets, Flow-Quality functions can be updated. In this embodiment, a 3rd order model described in Equations 60 and 61 rather than the

modèle du deuxième mode de réalisation, car ce genre de modèle, plus complexe mais plus précis, correspond à celui utilisé pour modéliser les fonctions débit-qualité utilisées par la métrique de Bj0ntegaard. F0(D) = a0x log(D)3 + b0 x log(D)2 + c0 x log(D) + d0 (60) F1(D) = % x log(D)3 + bt x log(D)2 + cx x log(D) + (61)model of the second embodiment, because this kind of model, more complex but more accurate, corresponds to that used to model the flow-quality functions used by the Bj0ntegaard metric. F0 (D) = a0x log (D) 3 + b0 x log (D) 2 + c0 x log (D) + d0 (60) F1 (D) =% x log (D) 3 + bt x log (D) 2 + cx x log (D) + (61)

De la même façon que dans le mode de réalisation 1, les paramètres des deux modèles peuvent être estimés en résolvant les systèmes matriciels décrits dans les équations 62 à 65. (62) (63) (64) (65)In the same way as in the embodiment 1, the parameters of the two models can be estimated by solving the matrix systems described in the equations 62 to 65. (62) (63) (64) (65)

Ce cinquième mode de réalisation permet de modéliser des fonctions débit-qualité sur une gamme de débits beaucoup plus large, et donc d'avoir une modélisation beaucoup plus fine et fidèle à la courbe réelle. En utilisant cette modélisation, l'estimation d'un débit associé à une qualité sera alors plus précise.This fifth embodiment makes it possible to model flow-quality functions over a much wider range of flow rates, and thus to have a much finer modeling and faithful to the real curve. By using this modeling, the estimation of a flow associated with a quality will then be more precise.

On notera que l'invention qui vient d'être décrite, peut être mise en oeuvre au moyen de composants logiciels et/ou matériels. Dans cette optique, les termes « module » et « entité », utilisés dans ce document, peuvent correspondre soit à un composant logiciel, soit à un composant matériel, soit encore à un ensemble de composants matériels et/ou logiciels, aptes à mettre en oeuvre la ou les fonctions décrites pour le module ou l'entité concerné(e).It will be noted that the invention which has just been described can be implemented by means of software and / or hardware components. In this context, the terms "module" and "entity", used in this document, may correspond either to a software component, or to a hardware component, or to a set of hardware and / or software components, capable of implementing perform the function (s) described for the module or entity concerned.

En relation avec la Figure 11, on présente les performances du premier mode de réalisation sur un jeu de 10 séquences UHD (EBU UHD-1 data set). Ici la compression scalable SHVC (pour « Scalable High Efficiency Video Coding », en anglais) est comparée à l'encodage HEVC simple de la couche la plus haute (ici UHD). Dans ce cas de figure, la compression scalable apporte un surcoût, du fait du service supplémentaire transmis via la couche de base. L'augmentation de débit apportée par notre méthode au sens du BD-BR est notée garc. L'augmentation de débit apportée par l'encodage à ratio fixe est notée GRef. La réduction de pertes apportée par notre méthode est calculée de la façon suivante :In relation with FIG. 11, the performance of the first embodiment is presented on a set of UHD sequences (EBU UHD-1 data set). Here scalable compression SHVC (for Scalable High Efficiency Video Coding) is compared to the simple HEVC encoding of the highest layer (here UHD). In this case, the scalable compression provides additional cost, because of the additional service transmitted via the base layer. The increase of flow brought by our method in the sense of the BD-BR is noted garc. The increase in bit rate provided by the fixed ratio encoding is noted GRef. The loss reduction provided by our method is calculated as follows:

(56)(56)

Enfin la réduction de débit de notre méthode par rapport à l'encodage ratio fixe est notée Gx. On observe que la méthode proposée dans le mode de réalisation 1 permet de réduire en moyenne les pertes de 20%, avec un gain BD-BR de 4.25%. La méthode est plus efficace que le ratio fixe 9 fois sur 10 séquences testées.Finally the rate reduction of our method compared to the fixed ratio encoding is noted Gx. It is observed that the method proposed in embodiment 1 makes it possible to reduce on average the losses by 20%, with a BD-BR gain of 4.25%. The method is more effective than the fixed ratio 9 times out of 10 sequences tested.

En relation avec la figure 12, on présente les performances du mode de réalisation 2 amélioré par les modes de réalisations 4 et 5 (basés LUT). Dans ce cas, nous fixons les contraintes décrites dans la figure 13. Dans ce cas d'utilisation, une qualité minimale est fixée sur la couche 0 et un intervalle de débit est contraint dans la couche 1. Les mêmes indicateurs de performances que ceux en relation avec la figure 11, et décrits précédemment, sont utilisés. L'encodage ratio fixe choisi est le premier dont l'encodage permet de respecter toutes ces contraintes. On observe dans la figure 12 que notre méthode permet, dans ce cas d'usage, de diminuer les pertes d'environ 26% par rapport à l'encodage a ratio fixe, tout en respectant les mêmes contraintes. Le gain BD-BR constaté est d'environ 10%. Notre méthode est également plus performante 9 fois sur 10 séquences.In connection with FIG. 12, the performance of Embodiment 2 improved by Embodiments 4 and 5 (based on LUTs) is presented. In this case, we set the constraints described in figure 13. In this case of use, a minimum quality is fixed on the layer 0 and a range of flow is constrained in the layer 1. The same indicators of performances as those in relationship with Figure 11, and previously described, are used. The chosen fixed ratio encoding is the first whose encoding makes it possible to respect all these constraints. We observe in Figure 12 that our method allows, in this case of use, to reduce losses by about 26% compared to the fixed-ratio encoding, while respecting the same constraints. The BD-BR gain found is about 10%. Our method is also more efficient 9 times out of 10 sequences.

En relation avec la figure 14, on présente maintenant un exemple de structure simplifiée d'un dispositif 100 d'allocation de débit entre les couches d'un codeur scalable selon l'invention. Le dispositif 100 met en œuvre le procédé d'allocation de débit selon l'invention qui vient d'être décrit en relation avec les Figures 2 et 5.In relation to FIG. 14, an example of a simplified structure of a device 100 for allocating the bit rate between the layers of a scalable coder according to the invention is now presented. The device 100 implements the rate allocation method according to the invention which has just been described in relation to FIGS. 2 and 5.

Par exemple, le dispositif ÎOO comprend une unité de traitement 110, équipée d'un processeur pl, et pilotée par un programme d'ordinateur Pgl 120, stocké dans une mémoire 130 et mettant en œuvre le procédé de selon l'invention.For example, the device 100 comprises a processing unit 110, equipped with a processor p1, and driven by a computer program Pgl 120, stored in a memory 130 and implementing the method according to the invention.

A l'initialisation, les instructions de code du programme d'ordinateur Pgx 120 sont par exemple chargées dans une mémoire RAM avant d'être exécutées par le processeur de l'unité de traitement 110. Le processeur de l'unité de traitement 110 met en œuvre les étapes du procédé décrit précédemment, selon les instructions du programme d'ordinateur 120.At initialization, the code instructions of the computer program Pgx 120 are for example loaded into a RAM before being executed by the processor of the processing unit 110. The processor of the processing unit 110 sets implement the steps of the method described above, according to the instructions of the computer program 120.

Dans cet exemple de réalisation de l'invention, le dispositif 100 comprend au moins une unité GET Q d'obtention d'informations Q0, Q1 représentatives de mesures de qualité de codage du GOP pour chacune des couches L-0 et L-l, une unité GET B d'obtention de mesure de débit B0, B1 pour l'encodage du GOP courant par les couches L-0 et L-l, une unité d'obtention d'un intervalle IR de ratios de débits autorisés, une unité de détermination du ratio η de débit effectif obtenu suite au codage du GOP(i) courant, une unité d'estimation EST Q(R) d'une fonction de performance Q(R) et une unité DET Ro de détermination du ratio Ro optimal à partir de la fonction estimée. Avantageusement, le dispositif 100 comprend en outre une unité CALC JRC-0, JRC-1 de calcul des débits JRC-0 et JRC-1 à allouer aux couches L-0 et L-l pour le codage du GOP suivant GOP(i+l).In this exemplary embodiment of the invention, the device 100 comprises at least one GET Q unit for obtaining information Q0, Q1 representative of GOP coding quality measurements for each of the L-0 and L1 layers, a unit GET B for obtaining flow measurement B0, B1 for the encoding of the current GOP by the layers L-0 and L1, a unit for obtaining an interval IR of authorized flow rates, a unit for determining the ratio η of the effective bit rate obtained following the coding of the current GOP (i), an estimation unit EST Q (R) of a performance function Q (R) and a unit DET Ro for determining the optimal ratio Ro from the estimated function. Advantageously, the device 100 further comprises a CALC unit JRC-0, JRC-1 for calculating the bit rates JRC-0 and JRC-1 to be allocated to the layers L-0 and L1 for the coding of the GOP according to GOP (i + 1). .

Le dispositif 100 comprend en outre une première unité MP de stockage, par exemple de type buffer, d'une pluralité N de groupes d'images encodés et au moins une deuxième unité de stockage MO, Ml des tables de correspondance mises en œuvre dans les quatrième et cinquième modes de réalisation de l'invention.The device 100 further comprises a first storage unit MP, for example of the buffer type, a plurality N of encoded image groups and at least a second storage unit MO, M1 of the correspondence tables implemented in the fourth and fifth embodiments of the invention.

Ces unités sont pilotées par le processeur μΐ de l'unité de traitement 110.These units are driven by the μΐ processor of the processing unit 110.

De façon avantageuse, un tel dispositif 100 peut être intégré à un codeur scalable 10. Un tel codeur scalable peut lui-même être intégré à un équipement ET de type terminal d'utilisateur ou serveur. Le dispositif 100 est alors agencé pour coopérer au moins avec les modules suivants du codeur scalable : un codeur C-0 de la première couche L-0 ; un codeur C-l de la deuxième couche L-l ; un module RC-0 de contrôle du débit alloué à la couche L-0 ; un module RC-1 de contrôle du débit alloué à la couche L-l. L'invention peut trouver de nombreuses applications et scénarios. Par exemple pour optimiser la compression scalable d'une séquence vidéo destinée à être stockée sur un support de dimension donnée. En fixant comme débit total le débit correspondant à la capacité du stockage, et en réglant des niveaux minimal de qualité souhaités sur les couches nous pouvons utiliser la méthode proposée. Dans ce cas, l'invention permet de remplir le support de stockage de façon optimale. L'invention peut être utilisée dans le cas d'une utilisation type broadcast, ou l'on souhaite introduire un nouveau service de qualité supérieur tout en conservant la compatibilité avec les récepteurs existants. Dans ce cas, on souhaite limiter le surcoût introduit par l'ajout d'un service scalable, tout en maximisant la qualité du nouveau service, et en conservant la qualité du service à transmettre au parc existant. Dans ce cas de figure, l'invention proposée permet de répondre à ces problématiques de façon optimale, sans nécessiter la mise en place d'un encodage simulcast, plus coûteux.Advantageously, such a device 100 may be integrated with a scalable encoder 10. Such a scalable encoder may itself be integrated with a terminal user or server type equipment AND. The device 100 is then arranged to cooperate at least with the following modules of the scalable coder: a coder C-0 of the first layer L-0; a coder C-1 of the second layer L-1; an RC-0 rate control module allocated to the L-0 layer; an RC-1 rate control module allocated to the L-1 layer. The invention can find many applications and scenarios. For example, to optimize the scalable compression of a video sequence intended to be stored on a medium of a given dimension. By setting as the total throughput the rate corresponding to the capacity of the storage, and by setting the desired minimum levels of quality on the layers we can use the proposed method. In this case, the invention makes it possible to fill the storage medium optimally. The invention can be used in the case of a broadcast type of use, or it is desired to introduce a new service of higher quality while maintaining compatibility with existing receivers. In this case, it is desired to limit the additional cost introduced by adding a scalable service, while maximizing the quality of the new service, and maintaining the quality of the service to be transmitted to the existing fleet. In this case, the proposed invention makes it possible to respond to these problems optimally, without requiring the implementation of a simulcast encoding, more expensive.

On peut également penser au cas de la diffusion hybride HD/UHD par exemple. Dans ce cas le service HD est transmis via la couche de niveau le plus bas, sur un canal classique (TNT, Satellite). Le service UHD est apporté par la scalabilité, et notamment par la couche de niveau le plus haut qui serait transmis via le réseau IP. Si l'on considère qu'une qualité de service minimale veut être délivrée aux utilisateurs non-premium (HD), et que le diffuseur souhaite toucher la plus large audience possible via un réseau de télécommunications de type « broadband » (bande-passante moyenne de 80% de ses clients par exemple), l'invention peut être alors utilisée pour optimiser la compression des services proposés.We can also think of the case of HD / UHD hybrid broadcasting for example. In this case the HD service is transmitted via the lowest level layer, on a conventional channel (TNT, Satellite). The UHD service is provided by the scalability, and in particular by the highest level layer that would be transmitted via the IP network. If we consider that a minimum quality of service wants to be delivered to non-premium users (HD), and that the broadcaster wishes to reach the widest possible audience via a "broadband" type of telecommunication network (average bandwidth 80% of its customers for example), the invention can then be used to optimize the compression of services offered.

Enfin l'invention peut également être mise en oeuvre dans le cas de la vidéo-conférence, sur certains réseaux ou un canal de communications à capacité fixe est attribué, puis disséminé vers des réseaux de capacités potentiellement moins importantes qui ne peuvent pas gérer toutes les couches. Dans ce cas, l'invention proposée peut tenir compte de toutes ces contraintes, couplées à des contraintes de qualité pour proposer un service de vidéo-conférence scalable optimisé délivrant le meilleur service possible, quel que soit la capacité en bande-passante du client.Finally, the invention can also be implemented in the case of video conferencing, on certain networks or a fixed capacity communications channel is allocated, then disseminated to potentially smaller capacity networks that can not handle all the layers. In this case, the proposed invention can take into account all these constraints, coupled with quality constraints to provide an optimized scalable video conferencing service delivering the best possible service, regardless of the client's bandwidth capacity.

Il va de soi que les modes de réalisation qui ont été décrits ci-dessus ont été donnés à titre purement indicatif et nullement limitatif, et que de nombreuses modifications peuvent être facilement apportées par l'homme de l'art sans pour autant sortir du cadre de l'invention. Ils peuvent avantageusement être combinés entre eux. Par exemple, suite à un changement de plan de la séquence d'images, l'invention permet de réaliser un pré-codage pendant une certaine durée, de façon à estimer la fonction de performance sur x secondes, puis à faire une deuxième passe une fois que les bons paramètres ont été déterminés sur un intervalle de ratio de débit suffisant. On comprend que l'allocation de débit ne sera multi-passes que pendant une durée déterminée suite à la détection d'un changement de plan, puis qu'elle redevient mono-passe à l'issue de cette durée.It goes without saying that the embodiments which have been described above have been given for purely indicative and non-limiting purposes, and that many modifications can easily be made by those skilled in the art without departing from the scope. of the invention. They can advantageously be combined with each other. For example, following a change of plane of the image sequence, the invention makes it possible to perform a pre-coding for a certain duration, so as to estimate the performance function on x seconds, then to make a second pass a once the correct parameters have been determined over a sufficient flow ratio range. It will be understood that the bit rate allocation will only be multi-pass for a determined duration following the detection of a change of plan, and then it will return to one-pass at the end of this period.

En outre, le procédé d'allocation de débit qui vient d'être décrit peut s'appliquer à un codeur scalable comprenant plus de deux couches de scalabilité. Si par exemple le codeur comprend trois couches de scalabilité L-0, L-l, L-2, alors la fonction de performance devient multi-variables et lie la qualité de la couche L-2 la plus haute aux ratios de débit R0=D0/DG et R1 = D1/DG des deux couches inférieures. La modélisation de cette fonction est mise en oeuvre à l'aide d'un modèle de courbe et d'un 'ensemble d'échantillons mesurés. Le calcul de l'intervalle de ratio reste inchangé, mais peut être exprimé de deux façons en fonction de la couche de scalabilité dans laquelle on se place pour calculer le ratio : IRL0 = IRO n IR1 n IR2 si l'on se place dans la couche L-0 (57) IRL1 = IRO n IR1 n IR2 si l'on se place dans la couche L-l (58)In addition, the rate allocation method just described can be applied to a scalable coder comprising more than two scalability layers. If, for example, the encoder comprises three scalability layers L-0, L1, L-2, then the performance function becomes multivariable and links the highest quality of the L-2 layer to the rate ratios R0 = D0 / DG and R1 = D1 / DG of the two lower layers. The modeling of this function is carried out using a curve model and a set of measured samples. The calculation of the ratio interval remains unchanged, but can be expressed in two ways depending on the scalability layer in which one places oneself to calculate the ratio: IRL0 = IRO n IR1 n IR2 if one places oneself in the layer L-0 (57) IRL1 = IRO n IR1 n IR2 when placed in the layer L1 (58)

Les sous-intervalles existent toujours, et leur représentation diffère également en fonction de la couche dans laquelle on se place. Le problème d'optimisation à résoudre deviendrait alors :The subintervals still exist, and their representation also differs according to the layer in which one is placed. The optimization problem to be solved would then become:

(62)(62)

Claims (14)

REVENDICATIONS 1. Procédé d'allocation de débit entre une première couche (L-0), dite couche de base et au moins une deuxième couche (L-l), dite couche d'amélioration, d'un codeur scalable apte à coder une séquence d'images numériques, en fonction d'un débit global cible (DG), caractérisé en ce qu'il comprend les étapes suivantes, mises en œuvre suite au codage d'un groupe d'images de la séquence (GOP(i)) : obtention (El, Eli) d'une mesure de qualité de codage (Ql) de la couche d'amélioration pour le groupe d'images courant à partir d'une métrique prédéterminée ; obtention (E2) d'un coût de codage effectif de la couche de base et d'un coût de codage effectif de la au moins une couche d'amélioration pour le groupe d'images courant : calcul (E3) d'un ratio de débit entre une dite couche d'amélioration et le débit global à partir des coûts de codage estimés ; estimation (E6) d'une fonction de performance au moins à partir du ratio de débit calculé, de la mesure de qualité obtenue pour le GOP courant et d'un modèle de courbe prédéterminé ; et Détermination (E8) d'un ratio de débit optimal (Ro) dans un intervalle de ratio prédéterminé (IF, IR), à partir de la fonction de performance estimée et selon un critère de maximisation de la qualité de ladite au moins une couche d'amélioration.A method for allocating a bit rate between a first layer (L-0), said base layer and at least one second layer (L1), called the enhancement layer, of a scalable coder able to code a sequence of digital images, according to a global target bit rate (DG), characterized in that it comprises the following steps, implemented following the coding of a group of images of the sequence (GOP (i)): (E1, E1) a measure of quality of coding (Q1) of the enhancement layer for the current group of images from a predetermined metric; obtaining (E2) an effective encoding cost of the base layer and an effective encoding cost of the at least one enhancement layer for the current image group: computing (E3) a ratio of rate between a said enhancement layer and the overall rate from the estimated coding costs; estimating (E6) a performance function at least from the calculated throughput ratio, the quality metric obtained for the current GOP and a predetermined curve model; and determining (E8) an optimum rate ratio (Ro) in a predetermined ratio interval (IF, IR), from the estimated performance function and according to a quality-maximizing criterion of said at least one layer improvement. 2. Procédé d'allocation de débit selon la revendication 1, caractérisé en ce que l'étape d'estimation d'une fonction de performance comprend une détermination de paramètres du modèle de courbe prédéterminé à partir du ratio de débit calculé et de la mesure de qualité obtenue pour le groupe d'images courant et d'une pluralité de couples de valeurs de mesures de qualité et de ratio de débit préalablement obtenues.Flow rate allocation method according to claim 1, characterized in that the step of estimating a performance function comprises determining parameters of the predetermined curve model from the calculated flow rate ratio and the measurement. of quality obtained for the current image group and a plurality of pairs of previously obtained quality measurement and flow rate values. 3. Procédé d'allocation de débit selon l'une des revendications précédentes, caractérisé en ce qu'il comprend en outre une étape (E7) de détermination d'au moins un intervalle de ratios autorisés.3. Rate allocation method according to one of the preceding claims, characterized in that it further comprises a step (E7) for determining at least one allowed ratio interval. 4. Procédé d'allocation de débit selon l'une des revendications précédentes, caractérisé en ce qu' il comprend une étape (E10) d'obtention d'une mesure de qualité de codage (QO) de la couche de base, une étape (E4) de mise à jour d'un débit restant (DR) à partir des coûts de codage obtenus et du débit global cible (DG), et en ce que l'étape (E7) de détermination détermine un premier intervalle de ratio en fonction de contraintes de débit qualité sur la couche de base, des mesures de qualité, des coûts de codage et du débit restant calculé.4. Rate allocation method according to one of the preceding claims, characterized in that it comprises a step (E10) of obtaining a coding quality measurement (QO) of the base layer, a step (E4) for updating a remaining bit rate (DR) from the obtained coding costs and the overall target bit rate (DG), and in that the determining step (E7) determines a first ratio interval by This is a function of quality throughput constraints on the base layer, quality measurements, coding costs and calculated remaining throughput. 5. Procédé d'allocation de débit selon l'une des revendications précédentes, caractérisé en ce qu' il comprend une étape (E4) de mise à jour d'un débit restant (DR) à partir des coûts de codage obtenus et du débit global cible (DG), et en ce que l'étape de détermination détermine un deuxième intervalle de ratio en fonction de contraintes de débit qualité sur une dite couche d'amélioration et du débit restant calculé.5. Rate allocation method according to one of the preceding claims, characterized in that it comprises a step (E4) for updating a remaining bit rate (DR) from the coding costs obtained and the bit rate. target (DG), and in that the determining step determines a second ratio interval as a function of quality flow constraints on a said improvement layer and the calculated remaining flow rate. 6. Procédé d'allocation de débit selon les revendications 4 et 5, caractérisé en ce que l'étape de détermination détermine une intersection du premier et du deuxième intervalles.6. Rate allocation method according to claims 4 and 5, characterized in that the determining step determines an intersection of the first and second intervals. 7. Procédé d'allocation de débit selon l'une des revendications 4 à 6, caractérisé en ce que l'étape de détermination (E7) d'un intervalle de ratio comprend une estimation (E14, E15) d'une fonction débit-qualité à partir d'un modèle de courbe prédéterminé et d'au moins les mesures de qualité (QO, Ql)des couches, les coûts de codage obtenus pour le groupe d'images courant, un calcul du débit associé à une dite contrainte de qualité à partir de la fonction débit qualité estimée et un calcul du ratio de débit correspondant à ladite contrainte en fonction du débit restant (DR) calculé.Flow rate allocation method according to one of Claims 4 to 6, characterized in that the step of determining (E7) a ratio interval comprises an estimate (E14, E15) of a bit rate function. quality from a predetermined curve model and at least the quality measurements (QO, Ql) of the layers, the coding costs obtained for the current group of images, a calculation of the flow rate associated with a said constraint of quality from the estimated quality rate function and a calculation of the flow ratio corresponding to said constraint as a function of the calculated remaining flow rate (DR). 8. Procédé d'allocation de débit selon la revendication 7, caractérisé en ce que l'estimation (E14, E15) d'une fonction débit-qualité comprend une détermination de paramètres du modèle de courbe prédéterminé à partir des mesures de débit et de qualité obtenues pour le groupe d'images courant et d'une pluralité de couples de valeurs de mesures de qualité débit préalablement obtenues.Flow rate allocation method according to claim 7, characterized in that the estimate (E14, E15) of a rate-quality function comprises a determination of parameters of the predetermined curve model from the measurements of flow and quality obtained for the current image group and a plurality of pairs of previously obtained flow quality measurement values. 9. Procédé d'allocation de débit selon l'une des revendications précédentes, comprenant une étape (E4) de mise à jour d'un débit restant (DR) à partir des coûts de codage obtenus et du débit global cible (DG), caractérisé en ce qu'il comprend en outre une étape (E9) de calcul d'un débit cible (JRC-0) de la couche de base et d'un débit cible (JRC-1) de ladite au moins une couche d'amélioration pour un groupe d'image suivant (GOP(i+l) en fonction du débit restant (DR) mis à jour et du ratio optimal (R0) de débit calculé.9. Rate allocation method according to one of the preceding claims, comprising a step (E4) for updating a remaining bit rate (DR) from the coding costs obtained and the overall target bit rate (DG), characterized in that it further comprises a step (E9) of calculating a target rate (JRC-0) of the base layer and a target rate (JRC-1) of said at least one layer of enhancement for a next image group (GOP (i + 1) based on the updated flow rate (DR) and the optimal ratio (R0) of calculated flow rate. 10. Procédé d'allocation de débit selon l'une des revendications précédentes, caractérisé en ce qu'il comprend une étape (E4') de calcul d'un débit cible de la couche de base et d'un débit cible de ladite au moins une couche d'amélioration pour le groupe d'image suivant en fonction du débit restant mis à jour suite à un premier encodage du groupe d'images suivant et du ratio optimal (R0') de débit calculé.10. Rate allocation method according to one of the preceding claims, characterized in that it comprises a step (E4 ') for calculating a target rate of the base layer and a target bit rate of said least one enhancement layer for the next image group as a function of the flow rate remaining updated following a first encoding of the next image group and the optimal ratio (R0 ') of calculated flow rate. 11. Dispositif (100) d'allocation de débit entre une première couche, dite couche de base et au moins une deuxième couche, dite couche d'amélioration, d'un codeur scalable apte à coder une séquence d'images numériques (S), à un débit global cible (DG), caractérisé en ce qu'il comprend les unités suivantes, apte à être mises en oeuvre suite au codage d'un groupe d'images de la séquence (GOPi) : - évaluation (GET Q) d'une mesure de qualité de codage de la couche d'amélioration pour le groupe d'images courant à partir d'une métrique prédéterminée ; - estimation (GET B) d'un coût de codage effectif de la couche de base et d'un coût de codage effectif de la au moins une couche d'amélioration pour le groupe d'images courant : - calcul (CALC) d'un ratio de débit entre une dite couche d'amélioration et le débit global à partir des coûts de codage estimés ; - estimation (EST Q(Ri)) d'une fonction de performance au moins à partir du ratio de débit calculé, de la qualité mesurée et d'un modèle de courbe prédéterminé ; et - Détermination (DET RJ d'un ratio de débit optimal dans un intervalle de ratio prédéterminé, à partir de la fonction de performance estimée et selon un critère de maximisation de la qualité de ladite au moins une couche d'amélioration.11. Device (100) for allocating a bit rate between a first layer, called a base layer and at least a second layer, called an enhancement layer, of a scalable coder capable of coding a sequence of digital images (S) , at a global target bit rate (DG), characterized in that it comprises the following units, which can be implemented following the coding of a group of images of the sequence (GOPi): - evaluation (GET Q) an improvement layer coding quality measurement for the current image group from a predetermined metric; estimating (GET B) an effective encoding cost of the base layer and an effective encoding cost of the at least one enhancement layer for the current image group: - calculation (CALC) of a rate ratio between a said improvement layer and the overall bit rate from the estimated coding costs; estimating (EST Q (Ri)) a performance function at least from the calculated throughput ratio, the measured quality and a predetermined curve model; and determining (DET RJ) an optimum rate ratio in a predetermined ratio interval, based on the estimated performance function and according to a criterion for maximizing the quality of said at least one improvement layer. 12. Codeur (10) scalable en couches, comprenant un premier codeur (C-0) apte à encoder une première couche, dite couche de base d'une séquence d'images numérique, à un premier débit et au moins un deuxième codeur (C-l) apte à encoder une deuxième couche, dite couche d'amélioration de ladite séquence, à un deuxième débit, ledit codeur comprenant un premier module (RC-0) de contrôle de débit apte à contrôler le premier débit consommé par la couche de base et au moins un deuxième module (RC-1) de contrôle de débit apte à contrôler le deuxième débit consommé par une dite couche d'amélioration, caractérisé en ce qu'il comprend en outre un dispositif (100) d'allocation de débit selon la revendication 11 apte à allouer le premier débit au premier module et le deuxième débit au deuxième module.12. A layer-scalable encoder (10) comprising a first encoder (C-0) capable of encoding a first layer, called a base layer of a digital image sequence, at a first rate and at least a second encoder ( C1) capable of encoding a second layer, referred to as the enhancement layer of said sequence, at a second rate, said encoder comprising a first rate control module (RC-0) able to control the first rate consumed by the base layer. and at least one second flow control module (RC-1) capable of controlling the second flow rate consumed by a said improvement layer, characterized in that it further comprises a flow-rate allocation device (100) according to claim 11 adapted to allocate the first rate to the first module and the second rate to the second module. 13. Programme d'ordinateur (PgJ comprenant des instructions pour la mise en oeuvre du procédé d'allocation de débit selon l'une des revendications 1 à 10, lorsqu'il est exécuté par un processeur.13. Computer program (PgJ comprising instructions for implementing the rate allocation method according to one of claims 1 to 10, when executed by a processor. 14. Support d'enregistrement lisible par un processeur, caractérisé en ce qu'il est apte à mémoriser le programme d'ordinateur selon la revendication 13.14. A recording medium readable by a processor, characterized in that it is able to store the computer program according to claim 13.
FR1559029A 2015-09-24 2015-09-24 ASSOCIATED FLOW ALLOCATION METHOD, DEVICE, ENCODER AND COMPUTER PROGRAM Active FR3041851B1 (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
FR1559029A FR3041851B1 (en) 2015-09-24 2015-09-24 ASSOCIATED FLOW ALLOCATION METHOD, DEVICE, ENCODER AND COMPUTER PROGRAM
PCT/FR2016/052396 WO2017051121A1 (en) 2015-09-24 2016-09-22 Method of allocating bit rate, device, coder and computer program associated therewith

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
FR1559029 2015-09-24
FR1559029A FR3041851B1 (en) 2015-09-24 2015-09-24 ASSOCIATED FLOW ALLOCATION METHOD, DEVICE, ENCODER AND COMPUTER PROGRAM

Publications (2)

Publication Number Publication Date
FR3041851A1 true FR3041851A1 (en) 2017-03-31
FR3041851B1 FR3041851B1 (en) 2018-02-16

Family

ID=55135302

Family Applications (1)

Application Number Title Priority Date Filing Date
FR1559029A Active FR3041851B1 (en) 2015-09-24 2015-09-24 ASSOCIATED FLOW ALLOCATION METHOD, DEVICE, ENCODER AND COMPUTER PROGRAM

Country Status (2)

Country Link
FR (1) FR3041851B1 (en)
WO (1) WO2017051121A1 (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112887714B (en) * 2021-01-14 2022-08-02 红河学院 Video coding bit resource reallocation method

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2006119436A2 (en) * 2005-05-03 2006-11-09 Qualcomm Incorporated Rate control for multi-layer video design
WO2011084918A1 (en) * 2010-01-06 2011-07-14 Dolby Laboratories Licensing Corporation High performance rate control for multi-layered video coding applications

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2006119436A2 (en) * 2005-05-03 2006-11-09 Qualcomm Incorporated Rate control for multi-layer video design
WO2011084918A1 (en) * 2010-01-06 2011-07-14 Dolby Laboratories Licensing Corporation High performance rate control for multi-layered video coding applications

Also Published As

Publication number Publication date
WO2017051121A1 (en) 2017-03-30
FR3041851B1 (en) 2018-02-16

Similar Documents

Publication Publication Date Title
EP2225888B1 (en) Macroblock-based dual-pass coding method
FR2904494A1 (en) Video image sequence compressing method for e.g. video coder, involves estimating movement vector between portion of image to be compressed and portion of reference image reconstructed at selected quality level, and coding image portion
FR2939593A1 (en) VIDEO ENCODING METHOD AND DEVICE
FR2906433A1 (en) METHODS AND DEVICES FOR ENCODING AND DECODING IMAGES, COMPUTER PROGRAM USING THEM AND INFORMATION SUPPORT FOR IMPLEMENTING THEM
EP2510701A1 (en) Method and system for determining coding parameters on variable-resolution streams
WO2016083730A1 (en) Method for composing an intermediate video representation
FR2879387A1 (en) METHOD FOR TRANSMITTING A VARIABLE BINARY RATE THROUGH A TRANSMISSION CHANNEL.
EP2716045B1 (en) Method, apparatus and computer programs for encoding and decoding of images
EP2761871B1 (en) Decoder side motion estimation based on template matching
FR2858741A1 (en) DEVICE AND METHOD FOR COMPRESSING DIGITAL IMAGES
FR3041851A1 (en) ASSOCIATED FLOW ALLOCATION METHOD, DEVICE, ENCODER AND COMPUTER PROGRAM
EP3632103B1 (en) Methods and devices for coding and decoding a data stream representative of at least one image
WO2008049628A1 (en) Method and device for optimizing the compression of a video stream
FR2957744A1 (en) METHOD FOR PROCESSING A VIDEO SEQUENCE AND ASSOCIATED DEVICE
EP3582500B1 (en) Method, system and computer program for analysing the complexity of multimedia content for on-demand broadcast
FR2959093A1 (en) Method for predicting information of complexity texture of current image of image sequences to control allowed flow for hierarchical coding current image, involves obtaining prediction module of information of complexity texture
EP2494782A1 (en) Methods and devices for image encoding and decoding, and corresponding computer programs
FR2985879A1 (en) DYNAMIC QUANTIFICATION METHOD FOR CODING DATA STREAMS
WO2016059196A1 (en) Decoder, method and system for decoding multimedia streams
FR2956552A1 (en) Method for coding video sequence consisting digital images, involves determining reference block in reference image, modifying determined reference block, and coding block to be coded by using predictor block
EP0724812A1 (en) Controlled-throughput interframe coding method and device for vcr image recording
FR2851109A1 (en) Model parameters determination method for estimating image sequence distortion, involves assigning current image sequence of model parameters with reference image sequence selected based on representation information
FR2832581A1 (en) Multimedia data coding process for domestic networks selects parameters using quality assessment
FR2832582A1 (en) Multimedia data coding process for domestic networks selects parameters using quality assessment
WO2006056720A1 (en) Video compression involving modification of quantisation by image areas

Legal Events

Date Code Title Description
PLFP Fee payment

Year of fee payment: 2

PLSC Publication of the preliminary search report

Effective date: 20170331

PLFP Fee payment

Year of fee payment: 3