FR2782879A1 - Procede de compression d'images - Google Patents

Procede de compression d'images Download PDF

Info

Publication number
FR2782879A1
FR2782879A1 FR9810802A FR9810802A FR2782879A1 FR 2782879 A1 FR2782879 A1 FR 2782879A1 FR 9810802 A FR9810802 A FR 9810802A FR 9810802 A FR9810802 A FR 9810802A FR 2782879 A1 FR2782879 A1 FR 2782879A1
Authority
FR
France
Prior art keywords
coding
image
macroblock
quality
type
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
FR9810802A
Other languages
English (en)
Other versions
FR2782879B1 (fr
Inventor
Dominique Thoreau
Pierre Ruellou
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.)
Technicolor SA
Original Assignee
Thomson Multimedia SA
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 Multimedia SA filed Critical Thomson Multimedia SA
Priority to FR9810802A priority Critical patent/FR2782879B1/fr
Priority to EP99402099.8A priority patent/EP0982951B1/fr
Priority to CNB991192206A priority patent/CN1164124C/zh
Priority to JP24226099A priority patent/JP4694664B2/ja
Publication of FR2782879A1 publication Critical patent/FR2782879A1/fr
Application granted granted Critical
Publication of FR2782879B1 publication Critical patent/FR2782879B1/fr
Anticipated expiration legal-status Critical
Expired - Fee Related 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/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/154Measured or subjectively estimated visual quality after decoding, e.g. measurement of distortion
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/103Selection of coding mode or of prediction mode
    • H04N19/105Selection of the reference unit for prediction within a chosen coding or prediction mode, e.g. adaptive choice of position and number of pixels used for prediction
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/103Selection of coding mode or of prediction mode
    • H04N19/107Selection of coding mode or of prediction mode between spatial and temporal predictive coding, e.g. picture refresh
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/103Selection of coding mode or of prediction mode
    • H04N19/112Selection of coding mode or of prediction mode according to a given display mode, e.g. for interlaced or progressive display mode
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/12Selection from among a plurality of transforms or standards, e.g. selection between discrete cosine transform [DCT] and sub-band transform or selection between H.263 and H.264
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/124Quantisation
    • H04N19/126Details of normalisation or weighting functions, e.g. normalisation matrices or variable uniform quantisers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/136Incoming video signal characteristics or properties
    • H04N19/137Motion inside a coding unit, e.g. average field, frame or block difference
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/146Data rate or code amount at the encoder output
    • H04N19/147Data rate or code amount at the encoder output according to rate distortion criteria
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/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/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/157Assigned coding mode, i.e. the coding mode being predefined or preselected to be further used for selection of another element or parameter
    • H04N19/159Prediction type, e.g. intra-frame, inter-frame or bidirectional frame prediction
    • 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/60Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
    • H04N19/61Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding in combination with predictive coding

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Physics & Mathematics (AREA)
  • Discrete Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)

Abstract

L'invention concerne un procédé de compression d'images dans lequel chaque macrobloc d'image est soumis au codage choisi, pour chaque macrobloc, parmi plusieurs types de codages. Pour sélectionner le type de codage à appliquer au macrobloc, on détermine, par des codages d'essai, le coût (Ci ) ou un facteur de qualité (MB-Quality) de chaque type i de codage. La sélection du codage est effectuée en fonction des valeurs du coût ou du facteur de qualité ou des couples de valeurs de ces paramètres. Application au codage MPEG, notamment MPEG2, de façon à fournir des images d'une qualité constante et/ ou un bon rapport qualité/ coût.

Description

PROCEDÉ DE CCMPRESSION D' AGES
L'invention est relative à un procédé de compression
d'images, dans lequel chaque image ou macrobloc d'image est sou-
mis à un codage choisi parmi plusieurs types de codage.
Elle concerne plus particulièrement le procédé de com-
pression MPEG2. Bien que l'invention ne soit pas limitée à ce
type de coepression, dans la suite de la description, on se réfé-
rera principalement à ce type.
On rappelle ci-après le principe d'une telle compres-
sion et, à cette occasion, on indiquera quels sont les types de
codage qu'il faut sélectionner pour chaque macrobloc.
Dans la norme MPEG2, on peut partir d'une image
comportant en mode progressif 576 lignes de 720 points chacune.
En mode entrelacé, cette image est composée de deux trames dont
chacune comprend 288 lignes, également de 720 points chacune.
Chaque image est décomposée en macroblocs dont chacun est formé par un carré de 16X16 points de luminance. Chaque macrobloc est ainsi forrm de 4 blocs carrés de 8X8 points de luminance. A chacun de ces 4 blocs de luminance, on associe (dans le format 4.2.0) deux blocs de chrominance dont chacun présente 8X8 points, l'un des blocs représentant le signal Cr de différence de couleur ou chrominance rouge et l'autre bloc représentant le signal Cb de différence de couleur ou chrominance bleue. Dans le format 4.2.2, à chaque macrobloc de luminance, on associe quatre blocs de chrominance 8X8, 2 blocs pour la chrominance bleue et 2 blocs pour la chrominance rouge. Il existe aussi un format 4. 4.4 pour lequel chacune des composantes de luminance et de chrominances comnporte chacune 4 blocs 8x8. On a représenté sur la figure 1 quatre blocs de luminance 8x8, de référence 10 dans l'ensemble et des blocs 12 et 14 de chrcmninance 8x8 pour les chrominances respectivement bleue
et rouge, l'ensemble illustrant un macrobloc au standard 4.2.0.
Chaque bloc est codé en utilisant une transformation notée DCT qui est une transformation cosinus discrète qui permet de transformer un bloc de luminance (par exemple) en un bloc de coefficients représentant des fréquences spatiales. Comme on peut le voir sur la figure 2, un bloc source 16 est transformé en un bloc 18 de 8X8 coefficients. Le coin supérieur gauche 20 du bloc 18 correspond aux fréquences spatiales nulles (valeur moyenne du bloc) et, à partir de cette origine 20, les fréquences horizontales augmentent vers la droite, came représenté par la flèche 22, tandis que les fréquences spatiales verticales augmentent en partant du haut vers le bas, coaroe représenté par
la flèche 24.
Pour chaque macrobloc, il faut choisir le type de codage: soit "intra", soit "inter". Un codage intra consiste à appliquer la transformation DCT sur un bloc source de l'image, tandis qu'un codage inter consiste à appliquer la transformation DCT sur un bloc représentant la différence entre un bloc source et un bloc prédit, ou bloc de prédiction, d'une image précédente
ou suivante.
Le choix dépend en partie du type d'images auquel
appartient le macrobloc. Ces images sont de trois types: le pre-
mier type est le type dit I, ou intra, pour lequel le codage est
intra pour tous les macroblocs.
Le second type est de type P ou de prédiction; dans ce type d'images, le codage de chaque macrobloc peut être soit intra soit inter. Dans le cas d'un codage inter sur une image de type P, la transformation DCT est appliquée sur la différence entre le macrobloc courant de cette image P et un macrobloc de prédiction
issu de l'image I ou P précédente.
Le troisième type d'images est appelé B ou bidirection-
nel. Chaque macrobloc d'un tel type d'image est soit codé en intra, soit codé en inter. Le codage en inter consiste également à appliquer la transformation sur la différence entre le
macrobloc courant de cette image B et un macrobloc de prédiction.
Ce macrobloc de prédiction peut être issu soit de l'image précédente soit de l'image suivante ou des deux à la fois (prédiction bidirectionnelle), les images de prédiction dites précédente ou suivante ne pouvant être que de type I ou P. On a représenté sur la figure 3 un ensemble d'images formant un groupe appelé GOP ("Group Of Pictures") qui comprend douze images, à savoir une image I suivie de onze images B et P selon la succession suivante: B, B, P, B, B, P, B, B, P, B, B. Dans le cas des images prédites (c'est-à-dire déduites d'autres images), une estimation de mouvement puis une
ccompensation de mouvement sont appliquées au macrobloc à coder.
En effet, entre deux images, le macrobloc peut se trouver en des emplacements différents en raison des mouvements inter images et inter trames. La coapensation de mouvement a pour effet d'élaborer le macrobloc de prédiction selon un mode d'interpolation donné (courarmment appelé mode de prédiction); ce macrobloc va effectivement servir de prédiction au macrobloc source en inter-image pour un mode de codage donné. Par la suite, ce macrobloc de prédiction et, par là mênme ce mode de codage, sera retenu ou rejeté en fonction des décisions prises au sein du
processus permettant d'élaborer le choix du mode de codage.
Par ailleurs, dans le cas d'un balayage entrelacé, pour lequel chaque image est formée de deux trames successives, une
trame impaire et une trame paire, il faut déterminer si la trans-
formation DCT doit être effectuée de façon progressive ou, indi-
viduellement, sur chaque trame. En effet, selon le mouvement de l'image ou la structure de cette image, le résultat du codage peut être différent selon que la transformation est effectuée sur
l'image ou sur chaque trame.
Ce choix est représenté par les figures 4a et 4b. Sur
la figure 4a on a représenté un macrobloc 28 d'une image entre-
lacée formée de lignes 301, 303,..., 3015 d'une trame impaire et de lignes 302, 304,...--, 3016 d'une trame paire. La figure 4a
correspond à une transformation DCT effectuée sur l'image; cha-
cun des quatre blocs du macrobloc 28 est transformé sans réar-
ranger les lignes. Ainsi, le codage est effectué sur les quatre blocs 281, 282, 283, 284 formant le macrobloc 28 et on effectue la transformation sur les lignes 301 à 308 pour les blocs 281 et
282 et sur les lignes 309 à 3016 pour les blocs 283 et 284.
Par contre, la figure 4b représente une transformation effectuée séparément pour les trames impaire et paire. Les blocs 321 et 322 correspondent à la trame impaire et les blocs 323 et 324 à la trame paire. Ainsi, le bloc 321 comporte les lignes 301, 303,..., 3015, tandis que les blocs 323 et 324 comportent les
lignes 302, 304.... 3016-
On a représenté sur la figure 5 un diagramme sous forme de blocs représentant les diverses opérations à effectuer pour la compression d'images ou compression vidéo. Chaque image numérisée
est appliquée sur une entrée d'un organe 40 qui effectue la sépa-
ration en blocs 8x8 et ces blocs 8x8 sont transmis à un organe 42 de sélection entre le codage intra et le codage inter. Si le codage choisi est intra, le bloc est transmis à l'organe 44 de transformation DCT. Si le codage est inter, le bloc est soumis à une soustraction par un organe soustracteur 46 qui effectue les différences entre le bloc lui- nmême et un bloc de prédiction
fourni par un organe 48 de prédiction temporelle.
Après la transformation DCT 44, on effectue une quan-
tification 50 et les coefficients quantifiés ainsi obtenus sont codés selon un codage VLC de longueur variable ou fixe 52. Les coefficients ainsi codés obtenus à la sortie du codeur 52 sont dirigés vers une mémoire tampon 54 dont la sortie constitue la sortie de codage 56. Pour éviter une saturation et un assèchement de la mémoire tampon 54, on effectue une régulation 60 qui
modifie la quantification 50.
Pour pouvoir effectuer la prédiction temporelle, la sortie de l'organe 50 de quantification est reliée à l'entrée d'un organe 62 de quantification inverse Q-1 dont la sortie est
appliquée sur l'entrée d'un organe 64 effectuant la transforma-
tion cosinus inverse DCr-1. La sortie de l'organe 64 est transmise directement à une mémoire d'image 66 quand le codage du bloc est intra, came déterminé par un organe 68. Par contre, quand l'organe 68 décide que le codage est inter, la sortie du bloc 64 est ajoutée, grâce à un additionneur 70, au macrobloc de prédiction fourni par l'organe 48 et c'est la sortie de l'additionneur 70 qui est transmise à la mémoire d'image 66. La
mémoire 66 conserve des images décodées.
Les mouvements inter images et inter trames sont estimés par un organe 72 qui reçoit, d'une part, des informations de la mémoire d'image 66 et, d'autre part, de la sortie de l'organe 40 de mise en blocs. On voit, ainsi, que la prédiction temporelle 48 est effectuée, d'une part, à partir de la mémoire
d'image 66 et, d'autre part, de l'estimation de mouvement 72.
L'élaboration du codage ou train binaire 52 dépend, entre autres, des vecteurs mouvement issus de l'estimation de mouvement 72, des coefficients DCT codés, des en-têtes des macroblocs, et d'informations de codage MPEG2 fournies par un organe 74. Ces informations concernent la signalétique MPEG2, à savoir les en-têtes des lignes de macroblocs (ou "slices"), les en-têtes des images des GOP et les en-têtes de la séquence à coder. Pour les images de type I, le codage doit choisir entre le codage intra en trame ou le codage intra en image. Ce choix est effectué sur la base d'une analyse de l'activité contenue
dans le macrobloc; il donne en général de bons résultats.
Pour les images de type P et les images de type B, le
nombre de décisions à prendre est sensiblement plus important.
Ainsi, un macrobloc P peut être codé selon huit modes de base: - intra; DCT trame, - intra; DCT image, - sans compensation de mouvement (noMC); DCT trame, - sans coypensation de mouvement (noMC); DCT image, - avec compensation de mouvement; prédiction en trames antérieures; DCF trame, avec compensation de nmouvement; prédiction en trames antérieures; DCT image, - avec colmpensation de mouvement; prédiction en image antérieure; DCT trame, - avec compensation de mouvement; prédiction en image
antérieure; DCT image.
Pour les images de type B, 14 modes de codage de base sont possibles, à savoir deux modes de codage intra, les quatre modes avec conpensation de mouvement indiqués à propos des images de type P et, en plus, quatre modes de codage similaires à partir de l'image de prédiction postérieure et 4 modes bidirectionnels, à savoir: - prédiction en trames postérieures; DCT trame, - prédiction en trames postérieures; DCT image, - prédiction en image postérieure; DCT trame, - prédiction en image postérieure; DC' image, - prédiction bidirectionnelle en trame; DCr trame, - prédiction bidirectionnelle en trame; DCT image, - prédiction bidirectionnelle en image; DCT trame,
- prédiction bidirectionnelle en image; DCT image.
On a constaté que les critères utilisés jusqu'à présent pour choisir entre ces divers modes pour les images P et B
donnaient des résultats de qualités variables.
L'invention permet de fournir des images d'une qualité relativement constante pour ces images P et B. L'invention permet aussi de fournir des images d'un meilleur rapport qualité/coût par rapport aux images obtenues
avec les procédés connus.
À cet effet, le procédé de compression conforme à l'in-
vention est caractérisé en ce que, pour chaque macrobloc, on ef- fectue un codage d'essai selon tous les modes possibles ou selon
une partie de ces modes, et pour chaque codage d'essai on déter-
mine le coût de codage et/ou un facteur de qualité, le mode de codage utilisé étant sélectionné en fonction de la valeur du coût
du codage et/ou de la valeur du facteur de qualité.
Par "coût de codage", on entend le nombre de bits uti-
lisé pour chaque codage.
En d'autres termes, on ne choisit pas le mode de codage en fonction d'une analyse interne des macroblocs (comme c'est le cas dans l'état antérieur de la technique) mais en essayant toutes les possibilités de codage (ou une partie de celles-ci) et en retenant le mode qui donne le meilleur résultat, soit parce qu'il minimise le coût de codage, soit parce qu'il maximise la qualité de l'image, soit, de préférence, s'il fournit le meilleur
compromis ente le coût de codage et la qualité de l'image.
Le facteur de qualité de l'image est déterminé par une comparaison entre le macrobloc source et le macrobloc décodé. Ce dernier correspond au macrobloc soumis à un codage d'essai puis décodé. Dans un mode de réalisation on détermine le facteur de qualité moyen sur une séquence d'images précédentes contenue dans une fenêtre temporelle glissante et on sélectionne un type de codage fournissant un facteur de qualité le plus proche de ce
facteur de qualité moyen.
Dans une autre réalisation pour chaque macrobloc on détermine, pour chaque type de codage, le coût de codage, on compare le facteur de qualité du type de codage assurant un coût minimal à une valeur moyenne de facteur de qualité sur une séquence d'images précédentes contenue dans une fenêtre 3temporelle glissante, et on sélectionne le type de codage fournissant un coût minimal si le facteur de qualité correspondant est au moins égal au facteur de qualité moyen
augmenté d'un incrément.
Le procédé de compression selon l'invention peut être utilisé pour toutes les applications faisant appel à une compres- sion vidéo de type MPEG (MPEG1, MPEG2, MPEG4) ou analogue. Il peut être utilisé, notamment, pour l'enregistrement en studios de disques ou de bandes magnétiques. Il peut être utilisé aussi pour
le codage en temps réel, par exemple dans des caméras vidéo.
Des expériences effectuées dans le cadre de l'invention ont montré que la compression selon l'invention permet, pour une rmême qualité de l'image, d'utiliser environ 25% de bits en moins
qu'une compression réalisée de façon classique.
D'autres caractéristiques et avantages de l'invention
apparaîtront avec la description de certains de ses modes de réa-
lisation, celle-ci étant effectuée en se référant aux dessins ci-
annexés, sur lesquels: - les figures 1 à 5, déjà décrites, représentent le principe de la compression MPEG2, - les figures 6 et 7 sont des diagrarmmes expliquant certains aspects d'un procédé de compression conforme à
1' invention.
Dans l'exemple de compression qu'on va décrire ci-
dessous, pour chaque macrobloc, on considère tous les modes de codage possibles (soit deux modes possibles pour les images de type I, huit modes de base pour les images de type P et quatorze modes de base pour les images de type B). Pour chacun de ces modes, on effectue un codage d'essai et on détermine ensuite les paramètres suivants: - Coût C du codage du macrobloc, c'est-à-dire le nombre
de bits obtenu à l'issue du codage d'essai.
- Le facteur de qualité MBQuality du macrobloc reconstruit. On expliquera ci-après comment ce facteur de qualité
peut être déterminé.
- La valeur moyenne temporelle, notée Seq.Quality, du facteur de qualité MB_Quality sur l'image ou sur une séquence d'images. La connaissance de ce paramètre permet éventuellement de limiter le surcoût de codage possible dans la situation o le facteur MB_Quality d'un mode de codage considéré dépasse de façon
notable la valeur de Seq.Quality.
- Un seuil, noté overC, qui dépend du type d'image
considéré (I, P ou B), représentant un surcoût de codage admis-
sible pour accroître le facteur de qualité MB_Quality du macrobloc. Le surcoût admissible overC pour une image de type I sera supérieur au surcoût de codage admissible pour une image de type P ou B. Le facteur de qualité MB-Quality résulte d'une comparaison entre le macrobloc source à coder, et son homologue reconstruit pour un mode de codage considéré. Dans le cas d'un critère de type PSNR (PSNR signifie ici "Picture Signal to Noise Ratio" ou "Rapport signal à bruit de l'image") on effectue la sorne (son) des carrés des différences point par point entre les pixels de luminance sources et les pixels reconstruits puis la valeur de MBQuality est calculée de la façon suivante: MBQuality = -10 Log10 (som/Lum), avec: Lum = 255*255*256 = 16646400 Dans le cas du critère de type SNR (Signal to Noise Ratio), la valeur du paramètre somn est calculée de la même façon, tandis que Lum correspond à la sonme des valeurs des 256 pixels contenus dans le bloc source de luminance, la valeur de MB_Quality est également calculée de la façon suivante: MBQuality = -10 Logo10 (som/Lum) Ainsi, le facteur de qualité est d'autant plus grand
que les différences sont faibles.
Dans l'exemple, on détermine tout d'abord le mode de codage qui fournit le coût minimal Cmin et on calcule le facteur de qualité MB_Quality du macrobloc de coût minimal, soit MB_QualitYCmin. Ensuite, on détermine si un autre mode de codage, qui, a priori, nécessite un surcoût de codage (par rapport à Cmin), provoque une augmentation acceptable du facteur de qualité MB_Quality. A cet effet, on compare MB_QualityCmin à Seq.Quality qui est le facteur de qualité moyen en séquence sur un nombre
déterminé d'images précédentes, par exemple 20.
Si: MB_QualityCmin > Seq.Quality + overMBQuality, formule dans laquelle overMB_Quality représente une valeur acceptable d'augmentation du facteur de qualité en séquence, alors on choisira le mode de codage permettant d'obtenir le coût minimal Cmin, puisqu'on obtient une qualité
largement suffisante avec un coût minimal.
Cette situation se produit dans des zones de l'image faiblement texturées (peu d'information à coder) et/ou pour
lesquelles la prédiction temporelle est de bonne qualité.
Si: MB_QualityCmin < Seq.Quality (1), c'est-à-dire si la qualité obtenue avec un coût minimal
est insuffisante, on autorisera alors le surcoût maximal admis-
sible. Par contre, dans les autres cas, c'est-à-dire quand: Seq.Quality < MB QualitiCnin < Seq.Quality + ovei _Quality (2), on autorisera un surcoût inférieur à overC, ce surcoût étant pondéré par un facteur S ayant la valeur ci-dessous: S MB_ QualityCm, - Seq Qua/lit overMBf QualiO, Autrement dit, on autorise un surcoût de codage overC' ayant la valeur suivante:
overC' = overC x S (4).
Il est à noter que, dans les autres cas discutés ci-
dessus, c'est-à-dire quand: MBQualityCmin > Seq.Quality + overMB_Quality, et quand: MBQualityCmin < Seq.Quality, on peut aussi considérer qu'on affecte au facteur S les valeurs, respectivement 0 et 1. Autrement dit, le facteur S prend la valeur zéro quand sa valeur résultant de la formule (3) est négative et ce facteur S prend la valeur 1 quand sa valeur
résultant de la formule (3) dépasse 1.
Dans ces conditions, le facteur S peut être représenté par le diagramme de la figure 6 qui fait partie intégrante de la
présente description.
Quand on a déterminé le surcoût overC ou overC' de codage possible, on recherche le meilleur couple coût de codage/ MB_Quality. A cet effet, on procède de la façon suivante: On compare MB_Qualityi à MB_QualityCmin, MBQualityi étant le facteur de qualité pour le mode de codage d'essai
considéré de rang i.
Si: MB_Qualityi = MB_Qualitycmin,
on garde le codage ayant fourni le coût minimal Cmin.
Si: MB_Qualityi < MBQualityCmin, on adopte aussi le mode de codage fournissant le coût minimal. Par contre, si: MB_Qualityi > MBQualityCmin,
on choisit le mode de codage en considérant le para-
mètre suivant: di = Ci - [Cmin + overC'.(MB3_Qualityi - MB_QualityCmn)] (5) Dans cette formule, Ci est le coût du macrobloc courant pour le codage d'essai représenté par l'indice i et overC' est le
surcoût admissible (dépendant de overC et de S).
di représente donc la distance entre le coût du macro-
bloc courant et le coût maximal possible.
On choisira le mode de codage fournissant la plus
petite valeur signée de di.
Ce critère peut être représenté par le diagramme de la
figure 7 qui fait partie intégrante de la présente description.
Sur ce diagramme, on a porté en abscisses le facteur de qualité MB_Quality et en ordonnées le coût Ci du macrobloc courant, la valeur Cmin correspondant à l'origine. La droite 80 correspond au coût maximal possible au regard de l'augmentation de la valeur de MB_Quality. En d'autres termes, on ne choisira aucun couple coût/MB_Quality (compte tenu des paramètres over_C et S) qui se
trouve au-dessus de la droite 80.
Le procédé décrit utilise le paramètre Seq.Quality.
Celui-ci ne peut être raisonnablement calculé et utilisé qu'une fois le régime permanent établi au sein du codeur, c'est-à-dire en dehors des périodes transitoires, par exemple au-delà de la cinquantième ou centième images codées d'une séquence, soit à la mise en route du codeur, soit après la détection d'un "cut" (changement de séquence ou de scène). En conséquence, dans le processus de décision de codage, durant les périodes transitoires, le paramètre S prend la valeur 1 et, par voie de consequence, overC' = overC; autrement dit le surcoût éventuel est limité à overC. La détection d'un cut est une information qui peut être fournie par un des composants constituant l'ensemble du codeur d'images. Ce composant peut être 1'estimateur de mouvement. Dans le procédé décrit jusqu'à présent, tous les modes de codage sont essayés. Dans une variante simplifiée, pour réduire la quantité de calculs nécessaires, on essaie un nombre plus limité de possibilités. Dans un exemple, on exclut de l'essai le choix du paramètre correspondant à l'application de la transformation DCT sur une trame ou sur une image. A cet effet, on choisit ce mode de codage de façon classique. Par exemple, on évalue I'activité locale de l'information contenue dans le macrobloc et, si l'activité du macrobloc en image est inférieure
à la l'activité du macrobloc en trame, on choisit une transforma-
tion DCT en image et, dans le cas contraire, on choisit une
transformation DCT en trame.
De cette manière, les calculs à effectuer pour les autres choix sont réduits, puisque le nombre de possibilités de
codage est alors divisé par deux.
Dans l'exemple mentionné ci-dessus, pour lequel on
n'effectue pas de codage d'essai pour déterminer si la transfor-
mation DCT est réalisée en image ou en trame, pour les images de type I le procédé pour déterminer le mode de codage est classique, tandis que pour les images de type P, le nombre de modes de codages de base est réduit à quatre et pour les images
de type B, le nombre de codages de base est réduit à sept.
L'invention n'est bien entendu pas limitée à l'exemple décrit. En particulier, elle n'est pas limitée aux modes de codage de base; elle englobe tout autre type de codage tel que, par exemple, le mode "dual prime" pour les images P de la norme
MPEG2.
REVEDICATICNS
1. Procédé de compression d'images dans lequel chaque macrobloc d'image est soumis à un codage choisi, pour chaque macrobloc, parmi plusieurs types de codage, caractérisé en ce
que, pour sélectionner le type de codage à appliquer au macro-
bloc, on détermine, par des codages d'essai, le coût (Ci) et/ou un facteur de qualité (MB_Quality) de chaque type de codage, la sélection étant effectuée en fonction des valeurs du coût ou du
facteur de qualité ou des couples de valeurs de ces paramètres.
2. Procédé selon la revendication 1, caractérisé en ce que le facteur de qualité de chaque macrobloc est déterminé par une comparaison entre le macrobloc source et le macrobloc décodé
correspondant au macrobloc soumis à un codage d'essai.
3. Procédé selon la revendication 1 ou 2, caractérisé
en ce qu'on choisit le type de codage assurant un coût minimal.
4. Procédé selon l'une quelconque des revendications 1
à 3, caractérisé en ce qu'on détermine un facteur de qualité moyen sur une séquence d'images précédentes (Seq.Quality) contenue dans une fenêtre temporelle glissante et en ce qu'on sélectionne un type de codage fournissant un facteur de qualité
(MB_Quality) le plus proche de ce facteur de qualité moyen.
5. Procédé selon l'une quelconque des revendications
précédentes, caractérisé en ce que, pour chaque macrobloc, on
détermine, pour chaque type de codage, le coût de codage, on com-
pare le facteur de qualité (MBQualityCmin) du type de codage assurant un coût minimal (Cmin) à une valeur moyenne de facteur de qualité (Seq. Quality) sur une séquence d'images précédentes contenue dans une fenêtre temporelle glissante, et on sélectionne le type de codage fournissant un coût minimal si le facteur de qualité correspondant est au moins égal au facteur de qualité
moyen (Seq.Quality) augmenté d'un incrément (overMB_Quality).
6. Procédé selon la revendication 5, caractérisé en ce que, si le facteur de qualité (MB_QualityCmin) pour le type de codage assurant un coût minimal (Cmin) est inférieur au facteur de qualité moyen (Seq. Quality), on choisit un type de codage engendrant un surcoût de codage ne dépassant pas une valeur déterminée (overC) et assurant une augmentation acceptable du
facteur de qualité.
7. Procédé selon la revendication 6, caractérisé en ce qu'on détermine un facteur de pondération du surcoût (overC) par la formule suivante: MB_ QualityCm, - Seq. Quality overMB_ Qualit), ce facteur de pondération étant maintenu à zéro quand sa valeur obtenue par la formule ci-dessus, est négative et étant maintenu à 1 quand la valeur résultant de cette formule est
supérieure à 1.
8. Procédé selon la revendication 6 ou 7, caractérisé
en ce qu'on détermine le type de codage en minimisant le para-
nmtre di signé défini par la formule suivante: di = Ci - [Cmin + overC.(MB_Qualityi -MB_QualityCmin)] Ci étant le coût du codage essayé, Cmin le coût de codage minimum parmi tous les modes de codage essayés, MB_Qualityi le facteur de qualité du codage essayé, et MB_QualityCmin le facteur de qualité correspondant au codage
essayé de coût minimum.
9. Procédé selon l'une quelconque des revendications
précédentes, caractérisé en ce que la compression est du type
MPEG de préférence de type MPEG2.
10. Procédé selon la revendication 9, caractérisé en ce qu'il est utilisé pour choisir le type de codage des macroblocs des images de types I, P et B. 11. Procédé selon la revendication 9, caractérisé en ce qu'il est utilisé pour le type de codage des images de type P et B et non pour le type de codage des images de type I. 12. Procédé selon la revendication 11, caractérisé en ce que, pour déterminer si la transformation cosinus s'effectue sur un macrobloc trame ou sur un macrobloc image, on détermine un paramètre lié au macrobloc, avant codage et on choisit le type de
transformation en fonction de ce paramètre.
FR9810802A 1998-08-28 1998-08-28 Procede de compression d'images Expired - Fee Related FR2782879B1 (fr)

Priority Applications (4)

Application Number Priority Date Filing Date Title
FR9810802A FR2782879B1 (fr) 1998-08-28 1998-08-28 Procede de compression d'images
EP99402099.8A EP0982951B1 (fr) 1998-08-28 1999-08-23 Procédé de compression d'images
CNB991192206A CN1164124C (zh) 1998-08-28 1999-08-26 图像压缩处理方法
JP24226099A JP4694664B2 (ja) 1998-08-28 1999-08-27 画像圧縮方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
FR9810802A FR2782879B1 (fr) 1998-08-28 1998-08-28 Procede de compression d'images

Publications (2)

Publication Number Publication Date
FR2782879A1 true FR2782879A1 (fr) 2000-03-03
FR2782879B1 FR2782879B1 (fr) 2000-11-03

Family

ID=9529948

Family Applications (1)

Application Number Title Priority Date Filing Date
FR9810802A Expired - Fee Related FR2782879B1 (fr) 1998-08-28 1998-08-28 Procede de compression d'images

Country Status (4)

Country Link
EP (1) EP0982951B1 (fr)
JP (1) JP4694664B2 (fr)
CN (1) CN1164124C (fr)
FR (1) FR2782879B1 (fr)

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR2823049B1 (fr) * 2001-03-29 2003-06-06 Nextream Sa Procede et dispositif de controle de la qualite de donnees video
WO2003026315A1 (fr) * 2001-09-14 2003-03-27 Ntt Docomo, Inc. Procede de codage, procede de decodage, appareil de codage, appareil de decodage, systeme de traitement d'image, programme de codage, et programme de decodage
DE10212656A1 (de) 2002-03-21 2003-10-02 Scm Microsystems Gmbh Selektive Verschlüsselung von Multimediadaten
CN1295652C (zh) * 2002-08-20 2007-01-17 宏正自动科技股份有限公司 图像资料编码方法
GB0229396D0 (en) * 2002-12-17 2003-01-22 British Telecomm Signal processing
JP4031455B2 (ja) 2004-03-29 2008-01-09 株式会社東芝 画像符号化装置
WO2006007285A1 (fr) * 2004-06-18 2006-01-19 Thomson Licensing Procede et appareil d'optimisation de codage video
FR2893808A1 (fr) * 2005-11-22 2007-05-25 Thomson Licensing Sas Procede et dispositif de codage d'une image video
CN103810694B (zh) * 2012-11-15 2017-08-01 腾讯科技(深圳)有限公司 图片压缩中质量因子的获取方法及装置
GB2552353B (en) * 2016-07-20 2022-04-20 V Nova Int Ltd Apparatuses, methods, computer programs and computer-readable media

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0514865A2 (fr) * 1991-05-24 1992-11-25 Mitsubishi Denki Kabushiki Kaisha Système pour le codage d'images
FR2691272A1 (fr) * 1992-05-15 1993-11-19 Thomson Csf Procédé de codage d'images très bas débit et dispositif de codage mettant en Óoeuvre ce procédé.
US5461421A (en) * 1992-11-30 1995-10-24 Samsung Electronics Co., Ltd. Encoding and decoding method and apparatus thereof
EP0782344A2 (fr) * 1995-12-28 1997-07-02 Daewoo Electronics Co., Ltd ContrÔleur pour un système de codage d'un signal vidéo

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3307969B2 (ja) * 1991-10-31 2002-07-29 ソニー株式会社 映像信号伝送装置

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0514865A2 (fr) * 1991-05-24 1992-11-25 Mitsubishi Denki Kabushiki Kaisha Système pour le codage d'images
FR2691272A1 (fr) * 1992-05-15 1993-11-19 Thomson Csf Procédé de codage d'images très bas débit et dispositif de codage mettant en Óoeuvre ce procédé.
US5461421A (en) * 1992-11-30 1995-10-24 Samsung Electronics Co., Ltd. Encoding and decoding method and apparatus thereof
EP0782344A2 (fr) * 1995-12-28 1997-07-02 Daewoo Electronics Co., Ltd ContrÔleur pour un système de codage d'un signal vidéo

Non-Patent Citations (4)

* Cited by examiner, † Cited by third party
Title
KOK C W ET AL: "Video coding with adaptive block update", PROCEEDINGS OF 1997 IEEE INTERNATIONAL SYMPOSIUM ON CIRCUITS AND SYSTEMS. CIRCUITS AND SYSTEMS IN THE INFORMATION AGE. ISCAS '97 (CAT. NO.97CH35987), PROCEEDINGS OF 1997 IEEE INTERNATIONAL SYMPOSIUM ON CIRCUITS AND SYSTEMS. CIRCUITS AND SYSTEMS IN TH, ISBN 0-7803-3583-X, 1997, New York, NY, USA, IEEE, USA, pages 1113 - 1116 vol.2, XP002104369 *
LEE Y ET AL: "Towards MPEG4: An improved H.263-based video coder", SIGNAL PROCESSING. IMAGE COMMUNICATION, vol. 10, no. 1-3, 1 July 1997 (1997-07-01), pages 143-158, XP004082705 *
SUN H ET AL: "MPEG CODING PERFORMANCE IMPROVEMENT BY JOINTLY OPTIMIZING CODING MODE DECISIONS AND RATE CONTROL", IEEE TRANSACTIONS ON CIRCUITS AND SYSTEMS FOR VIDEO TECHNOLOGY, vol. 7, no. 3, 1 June 1997 (1997-06-01), pages 449 - 458, XP000690583 *
YUEN-WEN LEE ET AL: "Efficient RD optimized macroblock coding mode selection for MPEG-2 video encoding", PROCEEDINGS. INTERNATIONAL CONFERENCE ON IMAGE PROCESSING (CAT. NO.97CB36144), PROCEEDINGS OF INTERNATIONAL CONFERENCE ON IMAGE PROCESSING, SANTA BARBARA, CA, USA, 26-29 OCT. 1997, ISBN 0-8186-8183-7, 1997, Los Alamitos, CA, USA, IEEE Comput. Soc, USA, pages 803 - 806 vol.2, XP002104370 *

Also Published As

Publication number Publication date
FR2782879B1 (fr) 2000-11-03
CN1250318A (zh) 2000-04-12
CN1164124C (zh) 2004-08-25
JP2000078586A (ja) 2000-03-14
EP0982951A1 (fr) 2000-03-01
EP0982951B1 (fr) 2018-12-26
JP4694664B2 (ja) 2011-06-08

Similar Documents

Publication Publication Date Title
US10013746B2 (en) High dynamic range video tone mapping
JP4122130B2 (ja) マルチコンポーネント圧縮エンコーダのモーションサーチ方法及び装置
US5731850A (en) Hybrid hierarchial/full-search MPEG encoder motion estimation
EP0675652B1 (fr) Procédé et circuit d&#39;estimation de mouvement entre images à deux trames entrelacées, et dispositif de codage de signaux numériques comprenant un tel circuit
US7924923B2 (en) Motion estimation and compensation method and device adaptive to change in illumination
JP2006519565A (ja) ビデオ符号化
EP1605706A2 (fr) Schéma de prédiction intra AVC
US20010012324A1 (en) Method and apparatus for advanced encoder system
CN108989802B (zh) 一种利用帧间关系的hevc视频流的质量估计方法及系统
US20070140349A1 (en) Video encoding method and apparatus
FR2881898A1 (fr) Procede et dispositif de codage d&#39;une image video en mode inter ou intra
EP1506525B1 (fr) Systeme et procede d&#39;amelioration de la nettete d&#39;une video numerique codee
CN1695381A (zh) 在数字视频信号的后处理中使用编码信息和局部空间特征的清晰度增强
KR20050084266A (ko) 디지털 비디오 처리용 통합 규준
EP0418952B1 (fr) Dispositif de codage d&#39;informations bidimensionnelles et dispositif de décodage correspondant
FR2782879A1 (fr) Procede de compression d&#39;images
FR2952497A1 (fr) Procede de codage et de decodage d&#39;un flux d&#39;images; dispositifs associes
EP1952637B1 (fr) Procede et dispositif de codage d&#39;une image video
CN1199468C (zh) 图像数据压缩
FR2755527A1 (fr) Procede de prediction compensee en mouvement et codeur utilisant un tel procede
JP3429429B2 (ja) 視感誤差処理方法及びこの方法を用いた画像符号化装置
EP1468565A2 (fr) Procede et dispositif de compression de donnees video codees par paquets video
FR2795277A1 (fr) Procede de compression d&#39;images, notamment de type mpeg2
Mir et al. Rate distortion analysis of high dynamic range video coding techniques
FR2795278A1 (fr) Procede de compression d&#39;images, notamment de type mpeg2

Legal Events

Date Code Title Description
ST Notification of lapse