FR2911738A1 - Procede de transcodage et dispositif implementant ledit procede. - Google Patents

Procede de transcodage et dispositif implementant ledit procede. Download PDF

Info

Publication number
FR2911738A1
FR2911738A1 FR0752791A FR0752791A FR2911738A1 FR 2911738 A1 FR2911738 A1 FR 2911738A1 FR 0752791 A FR0752791 A FR 0752791A FR 0752791 A FR0752791 A FR 0752791A FR 2911738 A1 FR2911738 A1 FR 2911738A1
Authority
FR
France
Prior art keywords
macroblocks
macroblock
quantization
quantization step
batch
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
FR0752791A
Other languages
English (en)
Inventor
Olivier Gaborieau
Meur Olivier Le
Philippe Guillotel
Philippe Bordes
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.)
Thomson Licensing SAS
Original Assignee
Thomson Licensing 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 Thomson Licensing SAS filed Critical Thomson Licensing SAS
Priority to FR0752791A priority Critical patent/FR2911738A1/fr
Priority to PCT/EP2008/050664 priority patent/WO2008090132A1/fr
Publication of FR2911738A1 publication Critical patent/FR2911738A1/fr
Pending legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/124Quantisation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/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/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/176Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a block, e.g. a macroblock
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/40Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using video transcoding, i.e. partial or full decoding of a coded input stream followed by re-encoding of the decoded output stream
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/46Embedding additional information in the video signal during the compression process
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/60Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
    • H04N19/61Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding in combination with predictive coding

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Physics & Mathematics (AREA)
  • 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é de transcodage d'un premier train binaire (S1) représentatif d'une séquence d'images en un second train binaire (S2). II comprend les étapes suivantes :- décodage entropique (300) d'au moins une partie dudit premier train binaire (S1) en un lot d'au moins un macrobloc;- quantification inverse (330), avec un premier pas de quantification (Q1), de chacun desdits macroblocs en des macroblocs déquantifiés;- quantification (360) desdits macroblocs déquantifiés avec un second pas de quantification (Q2) en des macroblocs requantifiés; et- codage entropique (370) desdits macroblocs requantifiés en au moins une partie d'un second train binaire (S2).II comprend en outre les étapes suivantes :- déterminer (310) une première fonction (F) reliant le pourcentage de coefficients nuls dans ledit lot et le coût de codage dudit lot;- déterminer (320) à partir de ladite première fonction (F) le pourcentage de coefficients nuls, dit pourcentage cible (rho2), correspondant à un coût de codage (D2) prédéterminé pour ledit lot;- déterminer (340) une seconde fonction associant à chaque pas de quantification dudit ensemble prédéterminé le pourcentage de coefficients nuls généré dans ledit lot en quantifiant avec ledit pas de quantification chacun des macroblocs déquantifié dudit lot; et- déterminer (350) la valeur dudit second pas de quantification (Q2) à partir de ladite table et dudit pourcentage cible (rho2).

Description

PROCEDE DE TRANSCODAGE ET DISPOSITIF IMPLEMENTANT LEDIT PROCEDE
1. Domaine de l'invention L'invention concerne un procédé de transcodage d'un premier train binaire en un second train binaire, les deux trains binaires étant représentatifs d'une séquence d'images. L'invention concerne également un dispositif de transcodage implémentant ledit procédé. 2. Etat de l'art Un dispositif de transcodage est utilisé pour modifier le coût de codage d'une séquence d'images. En effet, il est parfois nécessaire de transférer un train binaire représentatif d'une séquence d'images d'un premier réseau de bande passante B1 à un second réseau de bande passante B2, avec B1 > B2. A cet effet, un dispositif de transcodage est utilisé pour modifier le coût de codage de ladite séquence d'images, i.e. le nombre de bits utilisés pour la coder. Un tel dispositif de transcodage permet également d'adapter un train binaire aux ressources d'un terminal ou bien d'insérer un tel train binaire dans un multiplex.
Un dispositif de transcodage 1 selon l'état de l'art est représenté sur la figure 1. Un tel dispositif reçoit en entrée un premier train binaire S1 représentatif d'une séquence d'images divisée en macroblocs. Ce train binaire est décodé partiellement par un module de décodage 200, c'est-à-dire que chaque macrobloc est décodé en un macrobloc de coefficients (p.ex. coefficients DCT, acronyme anglais de Discrete Cosine Transform ) et déquantifié à l'aide d'un pas de quantification Q1, lui-même décodé à partir du train binaire S1. Le module de décodage 200 détermine en outre pour chaque macrobloc un coût de codage à partir du train binaire S1. En fonction du débit cible B2 et des données préalablement déterminées par le module de décodage 200 (i.e. Q1, coûts de codage), un module de contrôle 210 du dispositif de transcodage détermine un second pas de quantification Q2. Les macroblocs déquantifiés sont alors quantifiés avec le second pas de quantification Q2 puis re-encodés par un module de codage 220 afin de générer un second train binaire S2. Le dispositif de transcodage 1 comprend en outre un module 230 qui permet de re-utiliser telles quelles des informations contenues dans le premier train binaire S1 (p.ex. vecteurs de mouvement, mode de codage, etc) ou de les adapter sans avoir besoin de les déterminer de nouveau. Le module de contrôle 210 qui détermine le second pas de quantification Q2 présente généralement l'inconvénient d'être compliqué ou peu précis.
3. Résumé de l'invention L'invention a pour but de pallier au moins un des inconvénients de l'art antérieur. L'invention concerne un procédé de transcodage d'un premier train binaire représentatif d'une séquence d'images en un second train binaire représentatif de la séquence d'images. Il comprend les étapes suivantes : - décodage entropique d'au moins une partie du premier train binaire en un lot d'au moins un macrobloc de coefficients; - quantification inverse de chacun des macroblocs avec un premier pas de quantification en des macroblocs déquantifiés; -quantification des macroblocs déquantifiés avec un second pas de quantification en des macroblocs requantifiés; et - codage entropique des macroblocs requantifiés en au moins une partie d'un second train binaire. Selon une caractéristique essentielle de l'invention, le second pas de quantification est sélectionné dans un ensemble prédéterminé de pas de quantification selon les étapes suivantes : - déterminer une première fonction reliant le pourcentage de coefficients nuls dans le lot et le coût de codage du lot; - déterminer à partir de la première fonction le pourcentage de coefficients nuls, dit pourcentage cible, correspondant à un coût de codage prédéterminé pour le lot; - déterminer une seconde fonction associant à chaque pas de quantification de l'ensemble prédéterminé le pourcentage de coefficients nuls généré dans le lot en quantifiant avec le pas de quantification chacun des macroblocs déquantifié du lot; et - déterminer la valeur du second pas de quantification à partir de la table et du pourcentage cible. Selon un mode particulier de réalisation, le procédé comprend en outre une étape de calcul, pour chaque macrobloc déquantifié, d'une erreur à partir d'erreurs de requantification calculées pour des macroblocs préalablement transcodés par le procédé. Selon ce mode de réalisation, l'étape de détermination de la seconde fonction et l'étape de quantification sont appliquées sur le macrobloc déquantifié duquel on a soustrait l'erreur. Selon une caractéristique particulière, les coefficients sont des coefficients de type coefficients DOT. Selon un mode particulier de réalisation, le lot comprend un unique macrobloc et la première fonction est déterminée pour le macrobloc en fonction du coût de codage de macroblocs préalablement transcodés par le procédé et du pourcentage de coefficients nuls dans les macroblocs.
Selon un autre mode particulier de réalisation, l'étape de détermination de la première fonction consiste à décoder une partie du premier train binaire représentative de la première fonction. Selon une caractéristique particulière, l'ensemble prédéterminé de pas de quantification comprend des pas de quantification supérieurs au premier pas de quantification.
L'invention concerne également un dispositif de transcodage d'un premier train binaire représentatif d'une séquence d'images en un second train binaire représentatif de la séquence d'images comprenant: - des moyens de décodage entropique pour décoder au moins une partie du premier train binaire en un lot d'au moins un macrobloc de coefficients; - des moyens de quantification inverse de chacun des macroblocs avec un premier pas de quantification en des macroblocs déquantifiés; - des moyens de sélection pour sélectionner, pour le lot, un second pas de quantification dans un ensemble prédéterminé de pas de quantification; - des moyens de quantification pour quantifier les macroblocs déquantifiés avec le second pas de quantification en des macroblocs requantifiés; et - des moyens de codage entropique pour coder les macroblocs requantifiés en au moins une partie d'un second train binaire.
Selon une caractéristique essentielle de l'invention, les moyens de sélection du second pas de quantification comprennent : - des moyens pour déterminer une première fonction reliant le pourcentage de coefficients nuls dans le lot et le coût de codage du lot ; - des moyens pour déterminer à partir de la première fonction le pourcentage de coefficients nuls, dit pourcentage cible (p2), correspondant à un coût de codage prédéterminé pour le lot; - des moyens pour déterminer une seconde fonction associant à chaque pas de quantification de l'ensemble prédéterminé le pourcentage de coefficients nuls généré dans le lot en quantifiant avec le pas de quantification chacun des macroblocs déquantifié du lot; et - des moyens pour déterminer la valeur du second pas de quantification à partir de la table et du pourcentage cible. Selon un mode particulier de réalisation, le dispositif comprend en outre une unité adaptée pour calculer, pour chaque macrobloc déquantifié, une erreur à partir d'erreurs de requantification calculées pour des macroblocs préalablement transcodés par le dispositif, des moyens de soustraction adaptés pour soustraire l'erreur du macrobloc déquantifié. Selon ce mode de réalisation, les moyens de détermination de la seconde fonction et les moyens de quantification opèrent sur le macrobloc déquantifié duquel l'erreur de requantification a été soustraite par les moyens soustraction.
4. Listes des fiqures L'invention sera mieux comprise et illustrée au moyen d'exemples de modes de réalisation et de mise en oeuvre avantageux, nullement limitatifs, en référence aux figures annexées sur lesquelles : û la figure 1 illustre un dispositif de transcodage selon l'état de l'art; -la figure 2 représente les étapes du procédé de transcodage selon l'invention; û la figure 3 représente une courbe F reliant le coût de codage d'un macrobloc et le pourcentage de coefficients nuls dans ce macrobloc ; la figure 4 représente une table associée à un macrobloc et donnant pour chaque pas de quantification QP, le pourcentage de coefficients nuls dans ledit macrobloc quantifié avec QP; la figure 5 illustre un dispositif de transcodage selon un premier mode de réalisation de l'invention; et la figure 6 illustre un dispositif de transcodage selon un second mode de réalisation de l'invention.
5. Description détaillée de l'invention L'invention concerne un procédé de transcodage d'un premier train binaire S1 à un premier débit B1 en un second train binaire S2 à un second débit B2, lesdits train binaires étant représentatif d'une séquence d'images. Chaque image de la séquence est divisée en macroblocs ne se recouvrant pas.
Le procédé selon l'invention est décrit en référence aux figures 2 et 3. Sur la figure 2, les modules représentés sont des unités fonctionnelles, qui peuvent ou non correspondre à des unités physiquement distinguables. Par exemple, ces modules ou certains d'entre eux peuvent être regroupés dans un unique composant, ou constituer des fonctionnalités d'un même logiciel. A contrario, certains modules peuvent éventuellement être composés d'entités physiques séparées. Le train binaire S1 est décodé lors d'une étape de décodage entropique 300 en un ensemble de macroblocs de coefficients. Selon un mode particulier de l'invention ces coefficients sont des coefficients DCT. Bien entendu, l'invention n'est pas limitée au cas particulier des coefficients DCT. Cette étape de décodage entropique 300 met en oeuvre un procédé inverse à celui mis en oeuvre par le procédé de codage lors de l'étape de codage entropique ayant généré le train binaire S1. Lors d'une étape 310, on détermine pour chaque macrobloc de coefficients une première fonction, notée F, reliant le pourcentage de coefficients nuls dans ledit macrobloc et le coût de codage D1 dudit macrobloc. Le coût de codage D1 du macrobloc correspond au nombre de bits nécessaire au codage de ce macrobloc dans S1 sans prendre en compte les bits nécessaires au codage des entêtes, appelé coût incompressible. Une telle fonction est représentée sur la figure 3. Il est connu que cette fonction est linéaire lorsque les coefficients en question sont des coefficients DCT ou des coefficients issus de la transformée hybride telle que celle définie dans la norme H.264. Cette transformée hybride est connue sous la terminologie anglaise de Hybrid Discrete Cosine Transform". En supposant que lorsque le pourcentage de coefficients DCT nuls est égal à 100%, le coût de codage du macrobloc est nul (point M sur la figure 3), la fonction F est déterminée uniquement à partir du pourcentage pl de coefficients DCT nuls dans le macrobloc et du coût de codage Dl de ce macrobloc déterminé à partir du premier train binaire S1 (point M' sur la figure 3). Selon une variante, la fonction F est déterminée pour un macrobloc courant à partir du point M, du point M' et à partir de données (coût de codage et pourcentage de coefficients nuls correspondants) associées à des macroblocs précédemment transcodés, lesdites données étant déterminées à partir du premier train binaire S1. Dans ce cas la fonction F est obtenue par interpolation de l'ensemble de ces points. Selon une autre variante, la fonction F n'est pas déterminée par le procédé de transcodage mais est transmise dans le train binaire S1 par exemple à l'aide d'un message SEI ( Supplemental Enhanced Information" en anglais). Dans ce cas la fonction F est décodée à partir du train binaire S1. Lors d'une étape 320, le pourcentage P2 de coefficients nuls correspondant à un coût de codage prédéterminé pour ledit macrobloc, noté D2 sur la figure 3, est déterminé à partir de la fonction F. Le pourcentage p2 de coefficients nuls est appelé pourcentage cible. Le coût de codage D2 est prédéterminé pour chaque macrobloc en fonction notamment du débit cible B2 visé pour le second train binaire S2. Selon un mode particulier de réalisation, si une baisse de N% du débit cible est souhaitée, i.e. B2=B1 *(100-N)/100, alors D2 est calculé de la manière suivante : D2=Dl*(100ùN)ùN*Dentête 100 où Dentête est le coût de codage de l'entête du macrobloc. Ce coût est supposé fixe si les décisions de codage sont conservées lors du transcodage. Bien entendu D2 peut être déterminé de toute autre manière notamment par un procédé de régulation de débit. Lors d'une étape de quantification inverse 330, chaque macrobloc de coefficients obtenu à l'étape 300 est alors déquantifié avec un pas de quantification Q1 en un macrobloc déquantifié. Le pas de quantification Q1 est obtenu en décodant une partie du train binaire S1 et peut être différent pour chaque macrobloc. Il s'agit du pas de quantification utilisé lors de l'étape de quantification dudit macrobloc par le procédé de codage ayant généré S1. Lors d'une étape 340, on détermine pour chaque macrobloc déquantifié une seconde fonction représentée par exemple sous la forme d'une table, dite LUT (acronyme anglais de Look-Up Table ). Une telle table est représentée sur la figure 4. Cette table associée à un macrobloc donne pour chaque valeur QP de pas de quantification d'un ensemble prédéterminé de M pas de quantification, le pourcentage de coefficients nuls généré dans ledit macrobloc quantifié avec ledit pas de quantification de valeur QP. A cet effet, on quantifie le macrobloc déquantifié avec chacun des M pas de quantification de l'ensemble prédéterminé et on calcule le pourcentage p de coefficients nuls dans le macrobloc ainsi quantifié. Selon un mode de réalisation particulier, cette table est construite partiellement. En effet, dans la plupart des applications de transcodage l'objectif est de diminuer le débit de la séquence (i.e. B2<B1) et donc le coût de codage des macroblocs (i.e. D2<D1). Dans ce cas la table est construite pour tous les pas de quantification possibles qui sont supérieurs à Q1. A l'étape 350, un second pas de quantification Q2 est déterminé pour chaque macrobloc à partir du pourcentage cible p2 déterminé à l'étape 320 et à partir de la table déterminée à l'étape 340. Ce second pas de quantification Q2 est celui qui dans la table LUT est associé à la valeur p2. A l'étape 360, chaque macrobloc déquantifié est quantifié avec le pas de quantification Q2 en un macrobloc requantifié.
Lors d'une étape de codage entropique 370, les macroblocs requantifiés sont codés afin de générer un second train binaire S2 répondant aux contraintes de débit fixées par l'application. Selon un autre mode de réalisation, une erreur EDCT est soustraite du macrobloc déquantifié obtenu à l'étape 330 préalablement à l'application des étapes 340 et 360. Ce mode de réalisation permet notamment d'éviter un effet de dérive ( drift en anglais), i.e. de propagation d'erreurs. A cet effet, le procédé comprend une étape supplémentaire de calcul dans le domaine transformé, pour chaque macrobloc, d'une erreur EDCT à partir de macroblocs déquantifiés et requantifiés préalablement transcodés par le procédé selon l'invention. Plus précisément, l'erreur EDCT est calculée pour un macrobloc courant à partir des erreurs de requantification s commises lors du transcodage de macroblocs ayant servi à prédire le macrobloc courant pour générer le train binaire S1. L'erreur de requantification s, stockée en mémoire, est calculée pour chaque macrobloc transcodé selon les étapes suivantes connues de l'homme du métier des transcodeurs: a. déquantifier avec le pas de quantification Q2 le macrobloc requantifié ; et b. générer l'erreur de requantification s en soustrayant coefficient à coefficient le macrobloc avant l'étape de quantification 360, i.e. le macrobloc déquantifié, du macrobloc obtenu à l'étape a). L'erreur de requantification s est un bloc de valeurs de même taille que les macroblocs. Une transformée inverse, p.ex. inverse DOT, est appliquée lors d'une étape c) sur le bloc s obtenu à l'étape b) pour obtenir un bloc dans le domaine pixel. L'erreur EDCT est alors calculée pour un macrobloc courant en fonction du mode de codage du macrobloc courant (i.e. mode INTRA ou INTER) à partir des erreurs de requantification s calculées pour les macroblocs préalablement transcodés qui ont servi à prédire le macrobloc courant pour générer le train binaire S1. Plus précisément, une prédiction d'erreur sp est construite dans le domaine pixel à partir des erreurs de requantification s des macroblocs qui ont servi à prédire le macrobloc courant. Cette prédiction d'erreur sp est construite par compensation de mouvement si le mode de codage du macrobloc courant est le mode INTER ou bien par prédiction spatiale si le mode de codage du macrobloc courant est le mode INTRA selon H.264. La prédiction d'erreur sp est alors transformée, p.ex. par DOT, pour obtenir l'erreur EDCT dans le domaine transformé DOT. La transformée appliquée est la transformée inverse de celle appliquée à l'étape c). Ce procédé est notamment décrit dans le document de G.J. Keesman intitulé Multiprogram Video Data Compression , Thesis Technische Universiteit Delft. ISBN 90-74445-20-9, 1995.
Selon une variante, le procédé de transcodage selon l'un quelconque des modes de réalisation précédents est appliqué sur un ensemble de plusieurs macroblocs, p.ex. sur l'image. La première fonction F est déterminée à partir des coefficients DCT de l'ensemble de l'image selon l'étape 310. La seconde fonction est déterminée à partir des coefficients DCT de l'ensemble de l'image selon l'étape 340. Par exemple, Supposons que l'image comprend p macroblocs et que chaque macrobloc d'indice i est quantifié pour générer le train binaire S1 avec un premier pas de quantification noté Q1(i). Dans ce cas, la seconde fonction ou table est déterminée à partir du p-uplet (Q1(1), Q1(2), ..., Q1(p)) en incrémentant de K, avec K entier, chacun des pas de quantification et en calculant le pourcentage de coefficients DCT nuls dans l'image lorsque chaque macrobloc d'indice i est quantifié avec le pas de quantification Q1(i)+K. Afin de déterminer la table LUT, ce calcul est effectué pour plusieurs valeurs de K.
En référence à la figure 5, l'invention concerne un dispositif de transcodage 2. Le dispositif de transcodage 2 comprend un module VLD de décodage entropique adapté pour décoder le premier train binaire S1 en macroblocs de coefficients. Le module VLD est relié à un module de quantification inverse IQ1 adapté pour déquantifier avec un premier pas de quantification Q1 chacun des macroblocs de coefficients en des macroblocs déquantifiés. Q1 est lui-même décodé à partir du train binaire S1. Le module VLD est en outre relié à une unité QUANT adaptée pour déterminer un second pas de quantification Q2. Plus précisément, le module VLD est relié à un module F de l'unité QUANT adapté pour déterminer la fonction F par exemple selon le procédé décrit précédemment dans le cas de coefficients DOT. Selon une variante le module F détermine la fonction F en la décodant directement à partir du train binaire S1 lorsque cette fonction est transmise dans le train binaire S1 par exemple sous la forme d'un message SEI. Le module F est relié à un module p adapté pour déterminer le pourcentage p2 de coefficients nuls, dit pourcentage cible, correspondant au coût de codage D2 prédéterminé pour ledit macrobloc. Le coût de codage D2 est prédéterminé pour chaque macrobloc comme décrit précédemment pour le procédé de transcodage. Selon une variante, D2 est déterminée par un module de régulation de débit RC représenté en pointillé sur la figure 5. Un tel module RC est bien connu de l'homme du métier et n'est pas décrit davantage. Le module IQ1 est également relié à l'unité QUANT. Plus précisément, il est relié à un module LUT de ladite unité QUANT. Le module LUT est adapté pour déterminer, pour chaque macrobloc, une seconde fonction représentée par exemple sous la forme d'une table. Cette table associée à un macrobloc donne pour chaque valeur QP de pas de quantification d'un ensemble prédéterminé de M pas de quantification, le pourcentage de coefficients nuls généré dans ledit macrobloc quantifié avec ledit pas de quantification de valeur QP. Le module LUT détermine cette table conformément à l'étape 340 du procédé de transcodage. Les modules p et LUT sont reliés à un module R de ladite unité QUANT. Le module R est adapté pour déterminer à partir de la table LUT, la valeur Q2 de QP correspondant à la valeur p2. Le dispositif de transcodage 2 comprend également un module de quantification Q adapté pour quantifier avec le pas de quantification Q2 les macroblocs déquantifiés en des macroblocs requantifiés. Le module de quantification Q est relié à un module de codage entropique VLC adapté pour coder les macroblocs requantifiés afin de générer le second train binaire S2.
La figure 6 représente un dispositif de transcodage 3 selon un deuxième mode de réalisation de l'invention. Les modules du dispositif de transcodage 3 identiques à ceux du dispositif de transcodage 2 sont identifiés sur la figure 6 à l'aide des mêmes références et ne sont pas décrits davantage. Le dispositif de transcodage 3 comprend les modules VLD, IQ1, Q et VLC et l'unité QUANT. Selon ce mode de réalisation, une erreur EDCT est réinjectée afin d'éviter un effet de dérive. A cet effet, le dispositif de transcodage 3 comprend une unité E adaptée pour calculer, pour chaque macrobloc, une erreur EDCT à partir de macroblocs déquantifiés et requantifiés préalablement transcodés par le dispositif de transcodage 3. Plus précisément, l'erreur EDCT est calculée pour un macrobloc courant à partir des erreurs de requantification s commises lors du transcodage de macroblocs ayant servi à prédire le macrobloc courant pour générer le train binaire S1. L'unité E comprend les modules suivants adaptés pour calculer pour chaque macrobloc une erreur de requantification s qui est stockée en mémoire: - un module IQ pour déquantifier avec le pas de quantification Q2 le macrobloc requantifié; et - un module M1 pour générer l'erreur de requantification s en soustrayant coefficient à coefficient le macrobloc avant sa quantification par le module Q du macrobloc déquantifié par le module IQ. L'erreur de requantification s est un bloc de valeurs de même taille que les macroblocs. L'unité E comprend également un module IDCT adapté pour appliquer une transformée inverse, p.ex. inverse DOT, sur le blocs généré par le module M1. L'erreur EDCT est alors calculée pour un macrobloc courant en fonction du mode de codage du macrobloc courant (i.e. mode INTRA ou INTER) à partir des erreurs de requantification s calculées pour les macroblocs préalablement transcodés qui ont servi à prédire le macrobloc courant pour générer le train binaire S1. Plus précisément, une prédiction d'erreur sp est construite dans le domaine pixel à partir des erreurs de requantification s des macroblocs qui ont servi à prédire le macrobloc courant. Cette prédiction d'erreur sp est construite par un module de compensation de mouvement MC si le mode de codage du macrobloc courant est le mode INTER ou bien par un module de prédiction spatiale INTRAPRED si le mode de codage du macrobloc courant est le mode INTRA selon H.264. La prédiction d'erreur sp est alors transformée, p.ex. par DOT, par un module de transformation DCT pour obtenir l'erreur EDCT dans le domaine transformé DOT. Le module DCT met en oeuvre une transformée inverse de celle mise en oeuvre par le module IDCT. L'erreur EDCT calculée dans le domaine DCT pour un macrobloc courant est alors soustraite par un module M2 dudit macrobloc courant provenant du module IQ1. Selon ce mode de réalisation le module LUT de l'unité QUANT, détermine, pour chaque macrobloc, une table donnant pour chaque valeur QP d'un ensemble de M pas de quantification le pourcentage de coefficients nuls dans le macrobloc quantifié par ledit pas de quantification QP après soustraction de l'erreur EDCT calculée par l'unité E.
Bien entendu, l'invention n'est pas limitée aux exemples de réalisation mentionnés ci-dessus. En particulier, l'homme du métier peut apporter toute variante dans les modes de réalisation exposés et les combiner pour bénéficier de leurs différents avantages. Notamment l'invention décrite dans le cas de coefficients DCT peut être appliquée à tout type de coefficients, p.ex. coefficients d'ondelettes. Selon une variante, la fonction F et la table LUT peuvent être déterminées pour un ensemble de plusieurs macroblocs couvrant une partie d'image.5

Claims (8)

Revendications
1. Procédé de transcodage d'un premier train binaire (Si) représentatif d'une séquence d'images en un second train binaire (S2) représentatif de ladite séquence d'images comprenant les étapes suivantes : - décodage entropique (300) d'au moins une partie dudit premier train binaire (Si) en un lot d'au moins un macrobloc de coefficients; - quantification inverse (330) de chacun desdits macroblocs avec un premier pas de quantification (Q1) en des macroblocs déquantifiés; - quantification (360) desdits macroblocs déquantifiés avec un second pas de quantification (Q2) en des macroblocs requantifiés; et - codage entropique (370) desdits macroblocs requantifiés en au moins une partie d'un second train binaire (S2); le procédé étant caractérisé en ce que ledit second pas de quantification (Q2) est sélectionné dans un ensemble prédéterminé de pas de quantification (QP) selon les étapes suivantes : - déterminer (310) une première fonction (F) reliant le pourcentage de coefficients nuls dans ledit lot et le coût de codage dudit lot; - déterminer (320) à partir de ladite première fonction (F) le pourcentage de coefficients nuls, dit pourcentage cible (p2), correspondant à un coût de codage (D2) prédéterminé pour ledit lot; - déterminer (340) une seconde fonction associant à chaque pas de quantification (QP) dudit ensemble prédéterminé le pourcentage de coefficients nuls généré dans ledit lot en quantifiant avec ledit pas de quantification (QP) chacun des macroblocs déquantifié dudit lot; et - déterminer (350) la valeur dudit second pas de quantification (Q2) à partir de ladite table et dudit pourcentage cible (p2).
2. Procédé selon la revendication 1, lequel comprend en outre une étape de calcul, pour chaque macrobloc déquantifié, d'une erreur (EDcT) à partir d'erreurs de requantification calculées pour des macroblocs préalablement transcodés par ledit procédé et dans lequel l'étape de détermination de laseconde fonction (340) et l'étape de quantification (360) sont appliquées sur ledit macrobloc déquantifié duquel on a soustrait ladite erreur (EDCT).
3. Procédé selon la revendication 1 ou 2, dans lequel lesdits coefficients sont 5 des coefficients de type coefficients DOT.
4. Procédé selon l'une des revendications 1 à 3, dans lequel ledit lot comprend un unique macrobloc et dans lequel ladite première fonction (F) est déterminée (310) pour ledit macrobloc en fonction du coût de codage de 10 macroblocs préalablement transcodés par ledit procédé et du pourcentage de coefficients nuls dans lesdits macroblocs.
5. Procédé selon l'une des revendications 1 à 3, dans lequel l'étape (310) de détermination de la première fonction (F) consiste à décoder une partie dudit 15 premier train binaire (Si) représentative de ladite première fonction (F).
6. Procédé selon l'une des revendications 1 à 5, dans lequel ledit ensemble prédéterminé de pas de quantification comprend des pas de quantification supérieurs audit premier pas de quantification (Q1). 20
7. Dispositif de transcodage d'un premier train binaire (Si) représentatif d'une séquence d'images en un second train binaire (S2) représentatif de ladite séquence d'images comprenant: - des moyens de décodage entropique (VLD) pour décoder au moins une 25 partie dudit premier train binaire (Si) en un lot d'au moins un macrobloc de coefficients; - des moyens de quantification inverse (IQ1), avec un premier pas de quantification (Q1), desdits macroblocs dudit lot en des macroblocs déquantifiés; 30 - des moyens de sélection (QUANT) pour sélectionner, pour ledit lot, un second pas de quantification (Q2) dans un ensemble prédéterminé de pas de quantification (QP);- des moyens de quantification (Q) pour quantifier lesdits macroblocs déquantifiés avec ledit second pas de quantification (Q2) en des macroblocs requantifiés; et - des moyens de codage entropique (VLC) pour coder lesdits macroblocs requantifiés en au moins une partie d'un second train binaire (S2); le dispositif étant caractérisé en ce que lesdits moyens de sélection (QUANT) dudit second pas de quantification (Q2) comprennent : - des moyens pour déterminer (F) une première fonction (F) reliant le pourcentage de coefficients nuls dans ledit lot et le coût de codage dudit lot ; - des moyens pour déterminer (p) à partir de ladite première fonction (F) le pourcentage de coefficients nuls, dit pourcentage cible (p2), correspondant à un coût de codage (D2) prédéterminé pour ledit lot; - des moyens pour déterminer (LUT) une seconde fonction associant à chaque pas de quantification dudit ensemble prédéterminé le pourcentage de coefficients nuls généré dans ledit lot en quantifiant avec ledit pas de quantification chacun des macroblocs déquantifié dudit lot;et - des moyens pour déterminer (R) la valeur dudit second pas de quantification (Q2) à partir de ladite table et dudit pourcentage cible (p2).
8. Dispositif selon la revendication 7, lequel comprend en outre une unité (E) adaptée pour calculer, pour chaque macrobloc déquantifié, une erreur (EDCT) à partir d'erreurs de requantification calculées pour des macroblocs préalablement transcodés par ledit dispositif, des moyens de soustraction (M2) adaptés pour soustraire ladite erreur (EDCT) dudit macrobloc déquantifié et dans lequel les moyens de détermination de la seconde fonction (LUT) et les moyens de quantification (Q) opèrent sur ledit macrobloc déquantifié duquel ladite erreur de requantification (EDCT) a été soustraite par lesdits moyens soustraction (M2).
FR0752791A 2007-01-22 2007-01-22 Procede de transcodage et dispositif implementant ledit procede. Pending FR2911738A1 (fr)

Priority Applications (2)

Application Number Priority Date Filing Date Title
FR0752791A FR2911738A1 (fr) 2007-01-22 2007-01-22 Procede de transcodage et dispositif implementant ledit procede.
PCT/EP2008/050664 WO2008090132A1 (fr) 2007-01-22 2008-01-21 Procédé de transcodage et dispositif l'implémentant

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
FR0752791A FR2911738A1 (fr) 2007-01-22 2007-01-22 Procede de transcodage et dispositif implementant ledit procede.

Publications (1)

Publication Number Publication Date
FR2911738A1 true FR2911738A1 (fr) 2008-07-25

Family

ID=38508732

Family Applications (1)

Application Number Title Priority Date Filing Date
FR0752791A Pending FR2911738A1 (fr) 2007-01-22 2007-01-22 Procede de transcodage et dispositif implementant ledit procede.

Country Status (2)

Country Link
FR (1) FR2911738A1 (fr)
WO (1) WO2008090132A1 (fr)

Non-Patent Citations (6)

* Cited by examiner, † Cited by third party
Title
ASSUNÇÃO P A A ET AL: "Transcoding of single-layer MPEG video into lower rates", IEE PROCEEDINGS: VISION, IMAGE AND SIGNAL PROCESSING, INSTITUTION OF ELECTRICAL ENGINEERS, GB, vol. 144, no. 6, 19 December 1997 (1997-12-19), pages 377 - 383, XP006009073, ISSN: 1350-245X *
CAI ET AL: "A novel frame-level bit allocation based on two-pass video encoding for low bit rate video streaming applications", JOURNAL OF VISUAL COMMUNICATION AND IMAGE REPRESENTATION, ACADEMIC PRESS, INC, US, vol. 17, no. 4, August 2006 (2006-08-01), pages 783 - 798, XP005455061, ISSN: 1047-3203 *
LEE J-Y ET AL: "A Rate Control Algorithm for DCT-Based Video Coding Using Simple Rate Estimation and Linear Source Model", IEEE TRANSACTIONS ON CIRCUITS AND SYSTEMS FOR VIDEO TECHNOLOGY, IEEE SERVICE CENTER, PISCATAWAY, NJ, US, vol. 15, no. 9, September 2005 (2005-09-01), pages 1077 - 1085, XP011138381, ISSN: 1051-8215 *
SHIN I-H ET AL: "Rate control using linear rate-rho model for H.264", SIGNAL PROCESSING. IMAGE COMMUNICATION, ELSEVIER SCIENCE PUBLISHERS, AMSTERDAM, NL, vol. 19, no. 4, April 2004 (2004-04-01), pages 341 - 352, XP004495309, ISSN: 0923-5965 *
WAI-TIAN TAN ET AL: "Accurate Distortion-Driven Macroblock Level Rate Control via [rho]-Domain Analysis", IMAGE PROCESSING, 2005. ICIP 2005. IEEE INTERNATIONAL CONFERENCE ON GENOVA, ITALY 11-14 SEPT. 2005, PISCATAWAY, NJ, USA,IEEE, 11 September 2005 (2005-09-11), pages 45 - 48, XP010851392, ISBN: 0-7803-9134-9 *
ZHIHAI HE ET AL: "A Linear Source Model and a Unified Rate Control Algorithm for DCT Video Coding", IEEE TRANSACTIONS ON CIRCUITS AND SYSTEMS FOR VIDEO TECHNOLOGY, IEEE SERVICE CENTER, PISCATAWAY, NJ, US, vol. 12, no. 11, November 2002 (2002-11-01), XP011071890, ISSN: 1051-8215 *

Also Published As

Publication number Publication date
WO2008090132A1 (fr) 2008-07-31

Similar Documents

Publication Publication Date Title
EP0595403B1 (fr) Dispositif de codage de signaux numériques représentatifs d&#39;images, et dispositif de décodage correspondant
US6125140A (en) Processing encoded signals
EP3490258B1 (fr) Procédé et support d&#39;enregistrement mémorisant un flux de données d&#39;images codées
EP3675491B1 (fr) Procédé de décodage d&#39;images
US7054365B2 (en) Method for providing variable bit rate in streaming service
US20060165302A1 (en) Method of multi-layer based scalable video encoding and decoding and apparatus for the same
FR2948845A1 (fr) Procede de decodage d&#39;un flux representatif d&#39;une sequence d&#39;images et procede de codage d&#39;une sequence d&#39;images
EP1099352A1 (fr) Procede et dispositif de quantification pour compression video
FR2625060A1 (fr) Procede et dispositifs de codage et de decodage pour la transmission d&#39;images a travers un reseau a debit variable
US20110246673A1 (en) Method and System for Optimizing the Content and Transfer of Media Files
FR2888424A1 (fr) Dispositif et procede de codage et de decodage de donnees video et train de donnees
EP0601180B1 (fr) Procede de codage d&#39;images bi-standard tres bas debit et codeur-decodeur pour la mise en oeuvre de ce procede
FR2676608A1 (fr) Procede de codage d&#39;images en couleurs a fort taux de compression sans filtrage, procede de decodage, codeur, decodeur et application correspondants.
US20040179608A1 (en) Multiple-description coding methods and apparatus
FR2944936A1 (fr) Procedes de codage et de decodage d&#39;un bloc de donnees images, dispositifs de codage et de decodage implementant lesdits procedes
EP3632103B1 (fr) Procédés et dispositifs de codage et de décodage d&#39;un flux de données représentatif d&#39;au moins une image
FR2911738A1 (fr) Procede de transcodage et dispositif implementant ledit procede.
EP2084910A1 (fr) Procede et dispoitif d&#39;optimisation de la compression d&#39;un flux video
US8175151B2 (en) Encoders and image encoding methods
US20170347138A1 (en) Efficient transcoding in a network transcoder
WO2016132074A1 (fr) Codage d&#39;images par quantification vectorielle
CA2737913A1 (fr) Appareil de videotransmission en direct a quantification et procede correspondant
WO2013107600A1 (fr) Procede de quantification dynamique pour le codage de flux de donnees
WO2017051121A1 (fr) Procede d&#39;allocation de debit, dispositif, codeur et programme d&#39;ordinateur associes
FR2918824A1 (fr) Dispositif de codage d&#39;une sequence d&#39;image