FR2914125A1 - Procede de traitement d'image et dispositif de codage implementant ledit procede. - Google Patents

Procede de traitement d'image et dispositif de codage implementant ledit procede. Download PDF

Info

Publication number
FR2914125A1
FR2914125A1 FR0754015A FR0754015A FR2914125A1 FR 2914125 A1 FR2914125 A1 FR 2914125A1 FR 0754015 A FR0754015 A FR 0754015A FR 0754015 A FR0754015 A FR 0754015A FR 2914125 A1 FR2914125 A1 FR 2914125A1
Authority
FR
France
Prior art keywords
blocks
block
value
sub
mbk
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
FR0754015A
Other languages
English (en)
Inventor
Stephane Allie
Xavier Ducloux
Denis Mailleux
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 FR0754015A priority Critical patent/FR2914125A1/fr
Priority to PCT/EP2008/053399 priority patent/WO2008116836A2/fr
Publication of FR2914125A1 publication Critical patent/FR2914125A1/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/189Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the adaptation method, adaptation tool or adaptation type used for the adaptive coding
    • H04N19/196Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the adaptation method, adaptation tool or adaptation type used for the adaptive coding being specially adapted for the computation of encoding parameters, e.g. by averaging previously computed encoding parameters
    • H04N19/198Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the adaptation method, adaptation tool or adaptation type used for the adaptive coding being specially adapted for the computation of encoding parameters, e.g. by averaging previously computed encoding parameters including smoothing of a sequence of encoding parameters, e.g. by averaging, by choice of the maximum, minimum or median value
    • 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/136Incoming video signal characteristics or properties
    • H04N19/14Coding unit complexity, e.g. amount of activity or edge presence estimation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/176Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a block, e.g. a macroblock
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/189Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the adaptation method, adaptation tool or adaptation type used for the adaptive coding
    • H04N19/196Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the adaptation method, adaptation tool or adaptation type used for the adaptive coding being specially adapted for the computation of encoding parameters, e.g. by averaging previously computed encoding parameters
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/60Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
    • 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)
  • Computing Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Compression Of Band Width Or Redundancy In Fax (AREA)

Abstract

L'invention concerne un procédé de traitement d'une image divisée en blocs de pixels. Il comprend les étapes suivantes :- calculer (12, 30) pour chacun desdits blocs une première valeur (MFk, MBFk) représentative du contraste des contours dans ledit bloc;- calculer (13, 32) pour chacun desdits blocs une seconde valeur (MASk, MBASk) représentative de l'activité spatiale dudit bloc ;- calculer (14, 33) pour chacun desdits blocs une troisième valeur (DCk, MBDCk) représentative de la luminance moyenne dudit bloc ;- déterminer (15, 34), en vue d'un codage ultérieur, pour chacun desdits blocs un décalage (DeltaQPk) de pas de quantification en fonction desdites première, seconde et troisième valeurs.L'invention concerne également un dispositif de codage.

Description

PROCEDE DE TRAITEMENT D'IMAGE ET DISPOSITIF DE CODAGE IMPLEMENTANT LEDIT
PROCEDE
1. Domaine de l'invention L'invention concerne le domaine du codage d'image. Plus particulièrement, elle concerne un procédé de traitement d'image et un dispositif de codage d'image implémentant ledit procédé.
2. Etat de l'art En référence à la figure 1, un procédé de codage d'une image I ou d'une séquence de plusieurs images I sous la forme d'un train binaire S comprend généralement, pour chaque image à coder, une étape El pour transformer avec une transformée telle une DCT ( Discrete Cosine Transform en anglais) des données de luminance et de chrominance associées aux pixels de l'image, une étape E2 de détermination d'au moins un pas de quantification de consigne QP* associé à l'image I ou à une partie de celle-ci, une étape E3 de quantification pour quantifier les données image à l'aide du ou des pas de quantification et une étape E4 de codage entropique des données quantifiées. Le pas de quantification image QP* est généralement déterminé par un algorithme de régulation de débit en fonction d'une consigne de débit D déterminée en fonction de l'application et associée à l'image I. Selon une variante, plusieurs pas de quantification de consigne QP* sont déterminés lors de l'étape E2 pour l'image 1, chacun d'eux étant associé à un groupe de macroblocs, p.ex. à une tranche de macroblocs ( slice en anglais). Selon les approches classiques, l'étape E2 de détermination d'un pas de quantification de consigne QP* pour une image ou une tranche d'image est suivie d'une étape E2' d'ajustement local du pas de quantification à l'intérieur de ladite image ou de ladite tranche d'image, p.ex. au niveau d'un bloc de pixels. Cet ajustement local est basé sur la constatation que l'oeil humain perçoit davantage les défauts sur les zones uniformes que sur les zones fortement texturées, i.e. ayant une complexité spatiale élevée. Dès lors, les zones uniformes doivent être préservées et donc quantifiées moins fortement que les zones texturées qui peuvent être dégradées sans que cela soit perceptible par l'oeil. Partant de cette constatation, les approches classiques modifient le pas de quantification de consigne QP* localement, par exemple pour chaque bloc de pixels à partir d'une analyse spatiale des données images de ces blocs à l'aide d'opérateurs adaptés à cet effet. Cette analyse spatiale met en évidence des caractéristiques psycho-visuelles de chacun des blocs et permet d'identifier les blocs uniformes et les blocs fortement texturés. Un pas de quantification plus élevé que le pas de quantification de consigne QP* est alors associé aux blocs très texturés et au contraire un pas de quantification plus faible que le pas de quantification de consigne QP* est associé aux blocs uniformes. Toutefois, les opérateurs d'analyse spatiale utilisés assimilent généralement des blocs comprenant un contour d'objet franc, également appelés front, à des blocs fortement texturés ou assimilent des blocs ayant une variation significative et continue de luminance à des blocs texturés. Dès lors, un procédé d'ajustement local du pas de quantification basé sur de tels opérateurs attribue un pas de quantification élevé à la fois aux blocs comprenant des contours et aux blocs ayant une variation continue de luminance, alors qu'il faudrait au contraire préserver ces zones. 3. Résumé de l'invention L'invention a pour but de pallier au moins un des inconvénients de l'art antérieur. A cet effet, l'invention concerne un procédé de traitement d'une image divisée en blocs de pixels à chacun desquels est associée au moins une valeur de luminance. Selon l'invention, le procédé comprend les étapes suivantes : -calculer pour chacun des blocs une première valeur représentative du contraste dans le bloc; - calculer pour chacun des blocs une seconde valeur représentative de l'activité spatiale du bloc ; - calculer pour chacun des blocs une troisième valeur représentative de la luminance moyenne du bloc ; - déterminer, en vue d'un codage ultérieur, pour chacun des blocs un décalage de pas de quantification en fonction des première, seconde et troisième valeurs.
Le procédé selon l'invention permet avantageusement de faire une distinction entre les zones texturées, les zones comprenant un contour et les zones homogènes ou de variation franche mais continue de luminance et d'attribuer un décalage de pas de quantification en fonction de cette caractérisation. Selon un autre mode de réalisation, dans lequel chacun des blocs est divisé en sous-blocs, le procédé comprend en outre un étape pour calculer pour chacun des sous-blocs une quatrième valeur représentative du contraste dans le sous-bloc, une étape pour calculer pour chacun des sous-blocs une cinquième valeur représentative de l'activité spatiale du sous-bloc et une étape pour calculer pour chacun des sous-blocs une sixième valeur représentative de la luminance moyenne du sous-bloc. Selon ce mode de réalisation, la première valeur est calculée, pour chacun des blocs, à partir des quatrièmes valeurs des sous-blocs du bloc et de sous-blocs voisins du bloc, la seconde valeur est calculée à partir des cinquièmes valeurs des sous-blocs du bloc et de sous-blocs voisins du bloc et la troisième valeur est calculée à partir des sixièmes valeurs des sous-blocs du bloc. Selon une caractéristique avantageuse, les blocs sont des macroblocs de taille 16 par 16 pixels et les sous-blocs sont des blocs de pixels de taille 8 par 8 pixels. Selon une caractéristique particulière, la première valeur est égale à la valeur maximale des quatrièmes valeurs des sous-blocs du bloc et des sous-blocs voisins du bloc.
Selon une caractéristique particulière, seconde valeur est égale à la valeur minimale des cinquièmes valeurs des sous-blocs du bloc et des sous-blocs voisins du bloc. Selon une autre caractéristique particulière, la troisième valeur est égale à la moyenne des sixièmes valeurs des sous-blocs du bloc.
Selon une autre caractéristique particulière, les sous-blocs voisins du bloc ont un côté en commun avec le bloc.
Selon une caractéristique particulièrement avantageuse, la quatrième valeur d'un sous-bloc de taille I par J pixels est égale à I J- 1 J I-1 MAX peli,1 ù peli,1+1 + L MAX peh, j ù peh+1,, où pel;,j est la valeur de luminance associé au pixel de coordonnée (i,j) dans le J-1 sous-bloc (sb,) et où MAX(a1) est la valeur a, maxi male de l'ensemble {ao, J=o a1, ..., aj_1}.
Selon une caractéristique particulièrement avantageuse, la cinquième valeur d'un sous-bloc de taille I par J pixels est égale à I J- 1 I-1 J peli,1 ù peli,1+1 + L L peli,1 ù peh+1,1 i=o j=o i=o j=o L'invention concerne également un dispositif de codage apte à mettre en oeuvre le procédé selon l'invention. Le dispositif de codage comprend un module de transformation pour transformer des données images associées à chacun des blocs en des données transformées, un module de traitement d'image adapté pour déterminer pour chacun des blocs un décalage de pas de quantification, un module de quantification adapté pour quantifier, pour chacun des blocs, les données transformées en fonction d'un pas de quantification prédéterminé et du décalage de pas de quantification du bloc et un module de codage entropique adapté pour coder, pour chacun des bloc, les données quantifiées sous la forme d'un train binaire. Selon une caractéristique essentielle de l'invention, le module de traitement d'image comprend : - des moyens pour calculer pour chacun des blocs une première valeur représentative du contraste dans le bloc; - des moyens pour calculer pour chacun des blocs une seconde valeur représentative de l'activité spatiale du bloc ; - des moyens pour calculer pour chacun des blocs une troisième valeur représentative de la luminance moyenne du bloc ; et - des moyens pour déterminer pour chacun desdits blocs ledit décalage (ÈQPk) de pas de quantification en fonction desdites première, seconde et troisième valeurs. 4. Listes des figures 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 procédé de codage d'image selon l'état de l'art; la figure 2 illustre un procédé de traitement d'image selon un premier mode de réalisation de l'invention ; la figure 3 illustre une étape du procédé de traitement d'image selon le premier mode de réalisation de l'invention; la figure 4 illustre un procédé de traitement d'image selon un second mode de réalisation de l'invention; la figure 5 illustre une étape du procédé de traitement d'image selon le second mode de réalisation de l'invention; la figure 6 représente un macrobloc et des blocs voisins dudit macrobloc; et la figure 7 illustre un dispositif de codage d'une image selon l'invention; et la figure 8 illustre un dispositif de codage d'une séquence d'images selon l'invention.
5. Description détaillée de l'invention L'invention concerne un procédé traitement d'image pour ajuster localement un pas de quantification de consigne QP* à l'intérieur d'une image ou d'une tranche d'image faite de pixels à chacun desquels est associée au moins une valeur de luminance. Un premier mode de réalisation est décrit en référence à la figure 2. Selon ce mode de réalisation, l'image est divisée en N blocs bk ne se recouvrant pas, avec k l'indice du bloc dans l'image variant de 0 à N-1. Le procédé comprend une étape d'initialisation 10 à la valeur 0 de l'indice k des blocs bk de ladite image. Il comprend ensuite, une étape de calcul 12 pour le bloc bk d'une première valeur notée MFk représentative du contraste dans le bloc bk. Plus précisément, cette première valeur est représentative du constraste maximal du bloc bk dans la direction verticale et la direction horizontale. La valeur MFk est préférentiellement calculée selon l'équation suivante : I J-1 I-1 MFk = E MAX peli,1 ù peli,1+1 + L MAX peli,1 ù peli+l,; i=o Iùo .=o i=o où : - I est la hauteur du bloc bk en nombre de pixels ; - J est la largeur du bloc bk en nombre de pixels ; - pel;,i est la valeur de luminance associé au pixel de coordonnée (i,j) dans le bloc bk; J-1 - MAX(a.) est la valeur a, maximale dans l'ensemble {ao, a,, ..., aj_,}. J=o Généralement, I =J=8. Il comprend en outre, une étape de calcul 13 pour le bloc de pixels bk d'une seconde valeur notée MASk représentative de l'activité spatiale dans le bloc bk. La valeur MASk est préférentiellement calculée selon l'équation suivante : I J-1 I-1 J MASk =E L peli 1 ù peli,,+1 + L L peli ; ù peli+l,; i=o J=o i=o J=o Il comprend en outre une étape 14 de calcul pour le bloc de pixels bk d'une troisième valeur notée DCk représentative de la luminance moyenne également appelé niveau de luminance moyen dans le bloc bk. La valeur DCk est préférentiellement calculée selon l'équation suivante :
I J LE peli, J DCk = i=o J=o / I*J Les étapes 12 ,13 et 14 du procédé peuvent également être effectuées parallèlement ou dans un tout autre ordre que celui décrit. La combinaison des trois valeurs déterminées aux étapes 12 à 14 permet avantageusement de caractériser le contenu du bloc bk. Elles permettent notamment de déterminer si le bloc bk comprend un contour, s'il est texturé , s'il est homogène ou s'il comprend une zone de variation significative mais continue de luminance. En effet, un bloc bk homogène, un bloc bk comprenant une zone de variation significative mais continue de luminance ou comprenant un contour franc et isolé doit être préservé, i.e. quantifié avec un pas de quantification plus petit que le pas de quantification de consigne QP* alors qu'un bloc bk texturé peut être quantifié avec un pas de quantification plus élevé. En outre, le critère DCk permet de caractériser le niveau de luminance des zones homogènes. En effet, dans une zone homogène les défauts sont visibles sauf lorsque le niveau de luminance moyen de la zone est élevé ou au contraire faible. A l'étape 15, le pas de quantification de consigne QP* associé à l'image ou à la tranche d'image à laquelle appartient le bloc bk est ajusté au niveau du bloc bk en fonction des valeurs MFk , MASk et DCk calculées lors des étapes 10 à 14. Plus précisément, lors de l'étape 15 une valeur de décalage de quantification ( offset en anglais) par rapport à QP*, noté AQPk, est déterminée pour le bloc bk, i.e. le pas de quantification utilisé ultérieurement pour quantifier le bl oc bk est égal à QP*+ AQPk. Selon un mode de réalisation particulièrement avantageux décrit en référence à la figure 3, le décalage de quantification AQPk est déterminé à l'étape 15 de la manière suivante : A l'étape 150, MFk est comparé à un premier seuil S1, si (MFk> S1) à l'étape 151, MASk est comparé à un second seuil S2, si (MASk > S2) alors à l'étape 152, AQPk = AQP1, avec AQP1 un entier positif prédéterminé ; sinon, à l'étape 153, AQPk = AQP2, avec AQP2 un entier négatif prédéterminé; sinon à l'étape 154, MASk est comparé à un troisième seuil S3 et DCk est comparé à un quatrième seuil S4 et à un cinquième seuil S5 si (MASk < S3 ET DCk > S4 ET DCk < S5) alors à l'étape 155, AQPk = AQP3, avec AQP3 un entier négatif prédéterminé; sinon à l'étape 156, MASk est comparé à un sixième seuil S6 si (MASk > S6) alors à l'étape 157, AQPk = AQP1; sinon à l'étape 158, AQPk = O.
En effet, à l'étape 152 et à l'étape 157, le contenu du bloc bk est caractérisé comme étant un contenu texturé que l'on peut quantifier plus fortement. A l'étape 153, le contenu du bloc bk est identifié comme contenant un contour marqué qu'il faut préserver. A l'étape 155, le contenu du bloc bk est caractérisé comme étant un contenu homogène (i.e. uniforme ou de contraste faible) ayant un niveau de luminance moyen, i.e. compris entre S4 et S5, qu'il faut préserver. A l'étape 158, le contenu du bloc bk n'est pas caractérisé comme étant texturé, uniforme ayant un niveau de luminance moyen ou comme contenant un contour isolé, c'est pourquoi la valeur 0 lui est associé.
Préférentiellement, AQ3 est choisi égal à AQ2. Par exemple, AQ3=AQ2=1. A l'étape 16, l'indice k est incrémenté de 1. A l'étape 18, k est comparé à la valeur N. Si k est supérieur ou égal à N alors le procédé est terminé, sinon le procédé reprend à l'étape 12. Selon le procédé de l'invention, la détermination de la valeur du décalage de quantification AQPk ne nécessite pas de connaître la valeur du pas de quantification de consigne QP* qui est généralement déterminée lors du codage par un procédé de régulation de débit. Dès lors, les valeurs de décalage de quantification AQPk peuvent être avantageusement déterminées en amont du procédé de codage.
Le procédé décrit pour une image peut être appliqué à chaque image d'une séquence de plusieurs images, p.ex. une vidéo. Or, la plupart des normes de codage vidéo n'autorisent la modification d'un pas de quantification qu'au niveau d'un macrobloc. Un macrobloc est un bloc de pixel. En général, un macrobloc est un bloc de pixels de taille 16 par 16. Il est lui-même divisé en plusieurs sous-blocs ne se recouvrant pas de taille 8 par 8 pixels. A cet effet, un autre mode de réalisation est décrit en référence à la figure 4. L'image est divisée en N macroblocs ne se recouvrant pas, notés MBk, où k est l'indice du macrobloc dans l'image, k variant de 0 à N. Chaque sous-bloc est noté sb,, où I est l'indice du sous-bloc dans l'image, I variant de 0 à M. Le procédé selon ce second mode de réalisation comprend une étape d'initialisation 20 à la valeur 0 de l'indice k des macroblocs MBk et de l'indice I des sous-blocs sb, de ladite image. Il comprend ensuite, une étape de calcul 22 pour le sous-bloc de pixels sb, d'une première valeur notée MF, représentative du contraste dans le sous-bloc sb,. Plus précisément, elle est représentative du contraste maximal du sous-bloc bk dans la direction verticale et dans la direction horizontale. La valeur MF, est préférentiellement calculée selon l'équation suivante : I J-1 I-1 MF~ =E MAX pela 1 ù pela, j,1 + MAX peh, où : - I est la hauteur du sous-bloc sb, en nombre de pixels ;
- J est la largeur du sous-bloc sb, en nombre de pixels ;
- pel ,j est la valeur de luminance associé au pixel de coordonnée (i,j) dans le sous-bloc sb, ; J-1 - MAX(a.) est la valeur a, maximale dans l'ensemble {ao, a,, ..., aj_,}. J=o II comprend en outre, une étape de calcul 24 pour le sous-bloc de pixels sb, d'une seconde valeur notée MAS, représentative de l'activité spatiale dans le sous-bloc sb,. La valeur MAS, est préférentiellement calculée selon l'équation suivante : I J-1 I1 J MAS1 = L L peli,1 ù peli,1+1 + L L peli,1 i=o j=o i=o j=o II comprend en outre une étape 25 de calcul pour le bloc de pixels sb, d'une troisième valeur notée DC, représentative de la luminance moyenne dans le bloc sb,. La valeur DC, est préférentiellement calculée selon l'équation suivante : I J pell,j DC1 = `=o j=o i I*J
Les étapes 22, 24 et 25 du procédé peuvent également être effectuées parallèlement ou dans un tout autre ordre que celui décrit.
A l'étape 26, l'indice I est incrémenté de 1.
A l'étape 28, I est comparé à la valeur M. Si I est supérieur ou égal à m alors le procédé continue à l'étape 30, sinon le procédé reprend à l'étape 22.
A l'étape 30, les valeurs MF, calculées pour chaque sous-bloc sb, d'un macrobloc MBk sont combinées pour obtenir une valeur de MBFk pour le macrobloc MBk. La valeur MBFk est la valeur MF, maximale parmi les valeurs MF, associées aux sous-blocs sb, du macrobloc ainsi qu'aux sous-blocs sb, adjacents au macrobloc MBk, i.e. ceux qui présentent un côté en commun avec l'un des sous-blocs sb, du macrobloc MBk. Les sous-blocs sb, adjacents au macrobloc MBk sont grisés sur la figure 4. Cette sélection permet avantageusement de privilégier le voisinage d'un contour. A l'étape 32, les valeurs MAS, calculées pour chaque sous-bloc sb, d'un macrobloc MBk sont combinées pour obtenir une valeur de MBASk pour le macrobloc MBk. La valeur MBASk, est la valeur MAS, minimale parmi les valeurs MAS, associées aux sous-blocs sb, du macrobloc MBk ainsi qu'aux sous-blocs sb, adjacents au macrobloc MBk, i.e. les sous-blocs sb, grisés sur la figure 4. Cette sélection permet avantageusement de d'élargir la zone à favoriser au-delà de la zone uniforme et de supprimer par ex une singularité d'activité spatiale. Ces deux opérations de filtrage au voisinage du macrobloc MBk permettent de lisser les valeurs de décalage de pas de quantification dans l'image, i.e. d'un macrobloc à l'autre, pour éviter toute rupture brutale de quantification pouvant créer des effets visibles. D'autres filtres peuvent être appliqués. Notamment on peut envisager d'étendre le voisinage à des sous-blocs non adjacents.
Les valeurs DC, calculées pour chaque sous-bloc sb, d'un macrobloc MBk sont également combinées pour obtenir une valeur moyenne MBDCk pour le macrobloc MBk. Par exemple, MBDCk est la moyenne des valeurs DCk associées à chaque sous-bloc sb, du macrobloc MBk. A l'étape 34, le pas de quantification de consigne QP* associé à l'image ou à la tranche d'image à laquelle appartient le macrobloc MBk est ajusté en fonction des valeurs MBFk, MBASk et MBDCk calculées lors des étapes 30 à 32. A cet effet, une valeur de décalage de quantification par rapport à QP*, noté AQPk, est déterminée pour le macrobloc MBk. Le pas de quantification utilisé ultérieurement pour quantifier le macrobloc MBk. est égal à QP*+ AQPk. Selon un mode de réalisation particulièrement avantageux décrit en référence à la figure 6, le décalage de quantification est déterminé à l'étape 34 de la manière suivante : à l'étape 350, MBFk est comparé à un premier seuil SMB1, si (MBFk> SMB1) à l'étape 351, MBASk est comparé à un second seuil SMB2, si (MBASk > SMB2) alors à l'étape 352, AQPk = AQP1, avec AQP1 un entier positif; sinon, à l'étape 353, AQPk = AQP2, avec AQP2 un entier négatif; sinon à l'étape 354, MBASk est comparé avec un troisième seuil SMB3 et MBDCk est comparé à un quatrième seuil SMB4 et à un cinquième seuil SMB5 si (MBASk < SMB3 ET MBDCk > SMB4 ET MBDCk< SMB5) alors à l'étape 355, AQPk = AQP3, avec AQP3 un entier négatif; sinon à l'étape 356, MBASk est comparé à un sixième seuil SMB6 si (MBASk > SMB6) alors à l'étape 357, AQPk = AQP1; sinon à l'étape 358, AQPk = 0 En effet, à l'étape 352 et à l'étape 357, le contenu du macrobloc MBk est 20 caractérisé comme étant un contenu texturé que l'on peut quantifier plus fortement. A l'étape 353, le contenu du macrobloc MBk est identifié comme contenant un contour marqué qu'il faut préserver. A l'étape 355, le contenu du macrobloc MBk est caractérisé comme étant un contenu uniforme ayant un niveau de luminance moyen, i.e. compris entre S4 et S5, qu'il faut préserver. 25 A l'étape 358, le contenu du macrobloc MBk n'est pas caractérisé comme étant texturé, uniforme de niveau de luminance moyen ou comme contenant un contour isolé, c'est pourquoi la valeur 0 lui est associé. Préférentiellement, AQ3 est choisi égal à AQ2, p.ex. égal à 1. A l'étape 36, l'indice kl est incrémenté de 1. 30 A l'étape 38, k est comparé à la valeur N. Si k est supérieur strictement à N alors le procédé est terminé, sinon le procédé reprend à l'étape 30. Selon le procédé de l'invention, la détermination de la valeur du décalage de quantification AQPk ne nécessite pas de connaître la valeur du 10 15 pas de quantification de consigne QP* qui est généralement déterminée lors du codage par un procédé de régulation de débit. Dès lors, les valeurs de décalage de quantification ÈQPk peuvent être avantageusement déterminée en amont du procédé de codage.
Ce mode de réalisation décrit pour un macrobloc MBk divisé en sous-bloc sb, peut être appliqué plus généralement à tout bloc de pixels bk divisé en sous-bloc sb,. Par exemple, ce mode de réalisation peut s'appliquer à des blocs bk de taille 8 par 8 pixels divisés en sous-blocs sb, de taille 4 par 4 pixels.
En référence à la figure 7, l'invention concerne un dispositif ENC de codage d'une image I sous la forme d'un train binaire S adapté pour mettre en oeuvre le procédé de l'invention. Il comprend un module de transformation T qui est propre à recevoir l'image I. Il comprend en outre, un module de traitement d'image P propre à recevoir en entrée l'image I entrée, un module de quantification Q dont une première entrée est reliée à la sortie du module de traitement d'image P et une seconde entrée est reliée à la sortie du module de traitement T et un module de codage entropique C dont l'entrée est reliée à la sortie du module de quantification Q. Le module de codage entropique C est apte à générer le train binaire S. Le module de transformation T est adapté pour transformer des données images, e.g. les données de luminance et de chrominance, associées aux pixels de l'image I en des données transformées. Ce module met par exemple en oeuvre une transformée de type DOT. Le module de traitement d'image P est adapté pour mettre en oeuvre les étapes 10 à 18 et/ou 20 à 38 du procédé selon l'invention. En particulier, il est adapté pour déterminer pour chaque bloc bk ou macrobloc MBk à l'intérieur de l'image I un décalage de quantification ÈQPk par rapport à un pas de quantification de consigne QP* associé à l'image I ou à une tranche d'image à laquelle appartient le bloc bk respectivement le macrobloc MBk. Le module Q est adapté pour quantifier les données transformées en des données quantifiées à l'aide d'un pas de quantification éventuellement ajusté localement, i.e. égal à QP*+ ÈQPk. Le module de codage C est adapté pour mettre en oeuvre un codage entropique des données quantifiées afin de générer à la sortie du dispositif ENC le train binaire S. En référence à la figure 8, l'invention concerne un dispositif ENCV de codage d'une séquence d'images V sous la forme d'un train binaire SV adapté pour mettre en oeuvre le procédé de l'invention. Le dispositif de codage ENCV comprend des modules déjà décrits en référence à la figure 6 qui portent les mêmes références à savoir les modules T et Q. II comprend en outre un soustracteur D propre à recevoir sur une première entrée des images I de la séquence V et sur une seconde entrée des images ou partie d'image de prédiction Ic. L'entrée du module de transformation T est reliée à la sortie d'un soustracteur D. II comprend en outre, un module de traitement d'image P propre à recevoir en entrée les images I de la séquence V.. La sortie du module de traitement d'image P est reliée à l'entrée du module de quantification Q. En particulier, il est adapté pour déterminer pour chaque bloc bk ou macrobloc MBk à l'intérieur d'une image I un décalage de quantification AQPk par rapport à un pas de quantification de consigne QP* associé à l'image I ou à une tranche d'image à laquelle appartient le bloc bk respectivement le macrobloc MBk. Le pas de quantification de consigne QP* est généralement déterminé par un module de régulation de débit non représenté sur la figure 8. L'image ou partie d'image de prédiction IC est généralement obtenue par compensation de mouvement d'une image stockée en mémoire MEM. A cet effet, le dispositif de codage ENCV comprend un module de compensation de mouvement MC dont une entrée est reliée à la sortie d'un module d'estimation de mouvement ME. L'image ou partie d'image de prédiction IC peut éventuellement être obtenue par prédiction spatiale d'une partie d'image stockée en mémoire MEM. A cet effet, le dispositif de codage ENCV comprend un module de prédiction spatiale INTRA. La sélection du mode de prédiction est effectuée par un module de sélection SW. Le dispositif de codage ENCV comprend en outre un module de quantification inverse IQ dont l'entrée est reliée à la sortie du dispositif de quantification Q, un module de transformation inverse IT dont l'entrée est reliée à la sortie du module de quantification inverse IQ. Le dispositif de codage ENCV comprend un additionneur A avec deux entrées l'une d'elle étant reliée à le sortie du module de transformation inverse IT et l'autre étant reliée à la sortie du module de sélection SW. La sortie de l'additionneur A est reliée à une mémoire MEM adaptée pour stocker les images à la sortie de l'additionneur A. Le module d'estimation de mouvement ME est adapté pour estimer des vecteurs de mouvement MV entre une image courante I et une image précédemment codée. L'entrée du module de compensation de mouvement MC et éventuellement l'entrée du module de prédiction spatiale INTRA sont également reliées à la sortie de la mémoire MEM. Enfin, le dispositif ENC comprend un module de codage entropique CV dont une première entrée est reliée à la sortie du module de quantification Q et dont une seconde entrée est reliée à la sortie du module d'estimation de mouvement ME. Le module de codage entropique CV est adapté pour coder les données images à la sortie du module de quantification Q et les vecteurs de mouvement MV sous la forme du train binaire SV. Les modules ME, MC, INTRA, IT, IQ et C sont bien connus de l'homme du métier ne sont pas davantage décrits. Ces modules sont notamment décrits dans les normes de codage vidéo MPEG-2 ou H.264. Selon une variante, le module de traitement d'image P est externe au dispositif de codage. II est par exemple intégré dans un dispositif de prétraitement lui-même adapté pour faire des traitements sur l'image ou la séquence d'images en amont du codage en vue de le faciliter. Le module de traitement d'image P comprend des moyens de stockage desdites valeurs dedécalage de quantification AQPk. Les valeurs de décalage de quantification AQPk peuvent par exemple être stockées sous la forme d'une table ( Look Up Table en anglais) associant à chaque bloc bk o u macrobloc MBk une valeur de décalage de pas de quantification AQPk.
Selon un mode avantageux de l'invention le dispositif de codage ENCV code une séquence d'images conformément à la norme de codage vidéo H.264 connue sous le nom de MPEG-4 part 10 ou MPEG-4 AVC.30

Claims (10)

Revendications
1. Procédé de traitement d'une image divisée en blocs de pixels à chacun desquels est associée au moins une valeur de luminance caractérisé en ce qu'il comprend les étapes suivantes : - calculer (12, 30) pour chacun desdits blocs une première valeur (MFk, MBFk) représentative du contraste dans ledit bloc; - calculer (13, 32) pour chacun desdits blocs une seconde valeur (MASk, MBASk) représentative de l'activité spatiale dudit bloc ; -calculer (14, 33) pour chacun desdits blocs une troisième valeur (DCk, MBDCk) représentative de la luminance moyenne dudit bloc ; et - déterminer (15, 34), en vue d'un codage ultérieur, pour chacun desdits blocs un décalage (AQPk) de pas de quantification en fonction desdites première, seconde et troisième valeurs.
2. Procédé selon la revendication 1, dans lequel chacun desdits blocs (bk, MBk) étant divisé en sous-blocs (sb,), ledit procédé comprend en outre un étape pour calculer (22) pour chacun des sous-blocs une quatrième valeur (MF,) représentative du contraste dans ledit sous-bloc (sb 1), une étape pour calculer (24) pour chacun des sous-blocs une cinquième valeur (MAS,) représentative de l'activité spatiale dudit sous-bloc (sb,) et une étape pour calculer (25) pour chacun des sous- blocs une sixième valeur (DC,) représentative de la luminance moyenne dudit sous-bloc (sb,) et dans lequel ladite première valeur (MBFk) est calculée, pour chacun desdits blocs (b k, MBk), à partir desdites quatrièmes valeurs des sous-blocs (sb,) dudit bloc (bk, MBk) et de sous-blocs (sb,) voisins dudit bloc (b k, MBk), dans lequel ladite seconde valeur (MBASk) est calculée à partir desdites cinquièmes valeurs des sous-blocs (sb,) dudit bloc (bk, MBk) et de sous-blocs (sb,) voisins dudit bloc (bk, MBk) et dans lequel ladite troisième valeur (MBDCk) est calculée à partir desdites sixièmes valeurs des sous-blocs (sb,) dudit bloc (bk, MBk).
3. Procédé selon la revendication 2, dans lequel lesdits blocs (MBk, bk) sont des macroblocs de taille 16 par 16 pixels et lesdits sous-blocs (sb,) sont des blocs de pixels de taille 8 par 8 pixels.
4. Procédé selon la revendication 2 ou 3, dans lequel ladite première valeur (MBFk) est égale à la valeur maximale desdites quatrièmes valeurs (MF1) des sous-blocs (sb,) dudit bloc (MBk, bk) et des sous-blocs (sb,) voisins dudit bloc (MBk, bk).
5. Procédé selon l'une des revendications 2 à 4, dans lequel ladite seconde valeur (MBASk) est égale à la valeur minimale desdites cinquièmes valeurs (MAS,) des sous-blocs (sb,) dudit bloc (MBk, bk) et des sous-blocs (sb,) voisins dudit bloc (MBk, bk).
6. Procédé selon l'une des revendications 2 à 5, dans lequel ladite troisième valeur (MBDCk) est égale à la moyenne desdites sixièmes valeurs (DC,) des sous-blocs (sb,) dudit bloc (MBk, bk).
7. Procédé selon l'une des revendications 2 à 6, dans lequel lesdits sous-blocs (sb,) voisins dudit bloc (MBk, bk) sont des sous-blocs (sb,) ayant côté en commun avec ledit bloc (MBk, bk).
8. Procédé selon l'une des revendications 2 à 7, dans lequel ladite quatrième valeur (MF1) d'un sous-bloc (sb,) de taille I par J pixels est égale à I J-1 ÉI/pel I-1 E MAX pela 1 ù peli,j+1 +a ù peh+1,; où pel;,j est la valeur de luminance associé au pixel de coordonnée (i,j) dans le J-1 sous-bloc (sb,) et où MAX(a1) est la valeur a, maximale de l'ensemble {ao, J=o a1, ..., aj_1}.30
9. Procédé selon l'une des revendications 2 à 8, dans lequel ladite cinquième valeur (MAS,) d'un sous-bloc (sb,) de taille I par J pixels est égale à I J-1 I-1 J L L peli,1 - pelé ,1+1 + L L peli,1 - pelt+l,1 i=o 1=o i=o 1=0 où pel;,i est la valeur de luminance associé au pixel de coordonnée (i,j) dans le sous-bloc (sb,).
10. Dispositif de codage d'une image (ENC) ou d'une séquence d'images (ENCV), chaque image étant divisée en blocs (bk, MBk) de pixels à chacun desquels est associée au moins une valeur de luminance, ledit dispositif de codage (ENC, ENCV) comprenant un module de transformation (T) pour transformer des données images de chacun desdits blocs (bk, MBk) en des données transformées, un module de traitement d'image (P) adapté pour déterminer pour chacun desdits blocs un décalage (AQPk) de pas de quantification, un module de quantification (Q) adapté pour quantifier, pour chacun desdits blocs, lesdites données transformées en fonction d'un pas de quantification (QP*) prédéterminé et du décalage (AQPk) de pas de quantification dudit bloc et un module de codage entropique (C, CV) adapté pour coder, pour chacun desdits blocs, lesdites données quantifiées sous la forme d'un train binaire (S, SV), ledit dispositif de codage (ENC, ENCV) étant caractérisé en ce que ledit module de traitement d'image (P) comprend : - des moyens pour calculer pour chacun desdits blocs une première valeur (MFk, MBFk) représentative du contraste dans ledit bloc; -des moyens pour calculer pour chacun desdits blocs une seconde valeur (MASk, MBASk) représentative de l'activité spatiale dudit bloc ; - des moyens pour calculer pour chacun desdits blocs une troisième valeur (DCk, MBDCk) représentative de la luminance moyenne dudit bloc ;et - des moyens pour déterminer pour chacun desdits blocs ledit décalage (AQPk) de pas de quantification en fonction desdites première, seconde et troisième valeurs.30
FR0754015A 2007-03-23 2007-03-23 Procede de traitement d'image et dispositif de codage implementant ledit procede. Pending FR2914125A1 (fr)

Priority Applications (2)

Application Number Priority Date Filing Date Title
FR0754015A FR2914125A1 (fr) 2007-03-23 2007-03-23 Procede de traitement d'image et dispositif de codage implementant ledit procede.
PCT/EP2008/053399 WO2008116836A2 (fr) 2007-03-23 2008-03-20 Procédé de traitement d'image et dispositif de codage mettant en œuvre ledit procédé

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
FR0754015A FR2914125A1 (fr) 2007-03-23 2007-03-23 Procede de traitement d'image et dispositif de codage implementant ledit procede.

Publications (1)

Publication Number Publication Date
FR2914125A1 true FR2914125A1 (fr) 2008-09-26

Family

ID=38787403

Family Applications (1)

Application Number Title Priority Date Filing Date
FR0754015A Pending FR2914125A1 (fr) 2007-03-23 2007-03-23 Procede de traitement d'image et dispositif de codage implementant ledit procede.

Country Status (2)

Country Link
FR (1) FR2914125A1 (fr)
WO (1) WO2008116836A2 (fr)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2200322A1 (fr) * 2008-12-22 2010-06-23 Thomson Licensing Procédé et dispositif pour estimer un débit binaire requis pour le codage d'un bloc d'une image
US8848788B2 (en) 2009-05-16 2014-09-30 Thomson Licensing Method and apparatus for joint quantization parameter adjustment
FR3035760A1 (fr) * 2015-04-29 2016-11-04 Digigram Video & Broadcast Systeme et procede d'encodage d'une sequence video

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101873356B1 (ko) 2009-10-05 2018-07-02 톰슨 라이센싱 비디오 인코딩 및 디코딩에서 삽입된 양자화 파라미터 조정을 위한 방법 및 장치
EP2317769A1 (fr) * 2009-11-02 2011-05-04 Panasonic Corporation Quantification en fonction de l'éclairage
US20150071343A1 (en) * 2013-09-12 2015-03-12 Magnum Semiconductor, Inc. Methods and apparatuses including an encoding system with temporally adaptive quantization

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5038389A (en) * 1987-06-25 1991-08-06 Nec Corporation Encoding of a picture signal in consideration of contrast in each picture and decoding corresponding to the encoding
US5818529A (en) * 1992-04-28 1998-10-06 Mitsubishi Denki Kabushiki Kaisha Variable length coding of video with controlled deletion of codewords

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2306832B (en) * 1995-10-30 2000-03-29 Sony Uk Ltd Image activity in video compression

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5038389A (en) * 1987-06-25 1991-08-06 Nec Corporation Encoding of a picture signal in consideration of contrast in each picture and decoding corresponding to the encoding
US5818529A (en) * 1992-04-28 1998-10-06 Mitsubishi Denki Kabushiki Kaisha Variable length coding of video with controlled deletion of codewords

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
EL-HESNAWI, M. R.: "Subjective analysis of image coding errors, Chapter 2 - Human Visual System.", ELECTRICAL AND ELECTRONIC ENGINEERING, UNIVERSITY OF JOHANNESBURG, ZA, 31 May 2005 (2005-05-31), pages 5 - 18, XP002462370, Retrieved from the Internet <URL:http://etd.rau.ac.za/theses/available/etd-05042005-124411/restricted/chapter2.pdf> [retrieved on 20071212] *
MINOO K ET AL: "Perceptual Video Coding with H.264", SIGNALS, SYSTEMS AND COMPUTERS, 2005. CONFERENCE RECORD OF THE THIRTY-NINTH ASILOMAR CONFERENCE ON PACIFIC GROVE, CALIFORNIA OCTOBER 28 - NOVEMBER 1,, PISCATAWAY, NJ, USA,IEEE, 28 October 2005 (2005-10-28), pages 741 - 745, XP010900101, ISBN: 1-4244-0131-3 *

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2200322A1 (fr) * 2008-12-22 2010-06-23 Thomson Licensing Procédé et dispositif pour estimer un débit binaire requis pour le codage d'un bloc d'une image
US8848788B2 (en) 2009-05-16 2014-09-30 Thomson Licensing Method and apparatus for joint quantization parameter adjustment
FR3035760A1 (fr) * 2015-04-29 2016-11-04 Digigram Video & Broadcast Systeme et procede d'encodage d'une sequence video

Also Published As

Publication number Publication date
WO2008116836A3 (fr) 2008-11-27
WO2008116836A2 (fr) 2008-10-02

Similar Documents

Publication Publication Date Title
US8023562B2 (en) Real-time video coding/decoding
KR102287414B1 (ko) 손실 비디오 코딩을 위한 저복잡도 혼합 도메인 협력 인-루프 필터
Sun et al. A low-complexity HEVC intra prediction algorithm based on level and mode filtering
US7822125B2 (en) Method for chroma deblocking
KR20120003147A (ko) 루프 필터를 이용한 깊이 영상 부호화 장치 및 복호화 장치
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
FR2914125A1 (fr) Procede de traitement d&#39;image et dispositif de codage implementant ledit procede.
US20040247030A1 (en) Method for transcoding an MPEG-2 video stream to a new bitrate
Zhou et al. Fast macroblock inter mode decision and motion estimation for H. 264/MPEG-4 AVC
WO2008071028A1 (fr) Procédé de codage d&#39;une image et dispositif pour la mise en oeuvre de ce procédé
EP1952637B1 (fr) Procede et dispositif de codage d&#39;une image video
Wang et al. Adaptive downsampling video coding with spatially scalable rate-distortion modeling
Wang et al. Adaptive down-sampling video coding
Heindel et al. Fast intra mode decision in HEVC using early distortion estimation
Egge et al. Using Daala intra frames for still picture coding
US20100208800A1 (en) Method and decoder for decoding an image frame of an image frame sequence
Zhang et al. A frequency-based fast block type decision algorithm for intra prediction in H. 264/AVC high profile
Kato et al. Coding mode decision for high quality MPEG-2 to H. 264 transcoding
Hsia et al. Low-complexity high-quality adaptive deblocking filter for H. 264/AVC system
Mamatha et al. Intra Prediction Mode Decision for H. 264
Luo et al. Improving H. 264/AVC video coding with adaptive coefficient suppression
Wei et al. Flexible sub block ordering based intra 4/SPL times/4 prediction
Ilgin et al. Image and Video Compression Artifact Reduction at Low Bit Rates Using Local Cosine Transform in Conjunction with Significance Map Coding
Kwon et al. An improved adaptive deblocking filter for MPEG video decoder
Jo et al. Macroblock-based adaptive loop filter for video compression