FR2879066A1 - Procede et dispositif de codage hierarchique inter couches - Google Patents

Procede et dispositif de codage hierarchique inter couches Download PDF

Info

Publication number
FR2879066A1
FR2879066A1 FR0452865A FR0452865A FR2879066A1 FR 2879066 A1 FR2879066 A1 FR 2879066A1 FR 0452865 A FR0452865 A FR 0452865A FR 0452865 A FR0452865 A FR 0452865A FR 2879066 A1 FR2879066 A1 FR 2879066A1
Authority
FR
France
Prior art keywords
image
block
blocks
coding
mode
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
FR0452865A
Other languages
English (en)
Other versions
FR2879066B1 (fr
Inventor
Gwenaelle Marquant
Nicolas Burdin
Patrick Lopez
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 FR0452865A priority Critical patent/FR2879066B1/fr
Priority to CN2005800416567A priority patent/CN101073265B/zh
Priority to EP05813402.4A priority patent/EP1817914B1/fr
Priority to PCT/EP2005/056451 priority patent/WO2006058921A1/fr
Publication of FR2879066A1 publication Critical patent/FR2879066A1/fr
Application granted granted Critical
Publication of FR2879066B1 publication Critical patent/FR2879066B1/fr
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/59Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving spatial sub-sampling or interpolation, e.g. alteration of picture size or resolution
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/30Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using hierarchical techniques, e.g. scalability
    • H04N19/33Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using hierarchical techniques, e.g. scalability in the spatial domain
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/513Processing of motion vectors
    • 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/63Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding using sub-band based transform, e.g. wavelets

Abstract

Le procédé sélectionne un mode de codage parmi des modes candidats, un mode candidat comprenant les étapes suivantes :- superposition de l'image basse résolution (F2) zoomée sur l'image haute résolution (F1)- détermination du nombre de blocs basse résolution BR zoomés couvrant le bloc haute résolution HR,- si ce nombre est de 1, attribution du mode et du vecteur mouvement du bloc BR zoomé à ce bloc d'image HR,- si ce nombre est supérieur à 1, attribution d'un mode et d'un vecteur mouvement en fonction des modes et des vecteurs mouvement des blocs zoomés BR couvrant ce bloc HR,- codage d'un bloc HR selon un mode prédictif inter couches par défaut correspondant au mode de codage et vecteur mouvement attribués au bloc.

Description

L'invention concerne un procédé et dispositif de codage hiérarchique
d'images vidéos de différents formats basse et haute résolution ayant au moins une partie vidéo commune. Elle concerne en particulier un
mode de codage de l'image haute résolution à partir du codage de l'image basse résolution.
Il s'agit par exemple du codage d'un signal de télévision numérique au format SD, acronyme de l'anglais Standard Definition et au format haute définition HD.
Les codeurs vidéo à échelonnabilité spatiale sont du domaine connu. Le flux de données généré par le codeur vidéo a une hiérarchie échelonnable, les données codées sont incorporées dans le flux de manière hiérarchique, avec échelonnabilité spatiale. Les formats vidéo concernés par ces codeurs sont ceux pour lesquels les dimensions de la résolution haute correspondent à un multiple de 2 de celles de la résolution basse, permettant une décomposition dyadique. Ainsi, un codage compatible d'un format QCIF, acronyme de l'anglais Quarter Common Intermediate Format et de dimensions 176 x 144 et d'un format CIF, de dimensions 352 x 288, ou bien un codage compatible d'un format CIF et d'un format 4 CIF, de dimensions 704 x 576, s'obtient par sous-échantillonnage et filtrage de l'image haute résolution.
Le codage hiérarchique permet d'obtenir une couche de base, relative au format basse résolution, et une couche supérieure qui correspond au format de plus grande résolution. Les données complémentaires relatives à la couche supérieure sont généralement calculées selon un procédé comportant les étapes suivantes: - codage de l'image basse résolution et décodage local de cette image codée pour obtenir une image reconstruite,.
- mise à l'échelle ou zoom de l'image basse résolution reconstruite, par exemple par interpolation et filtrage, pour obtenir une image au format haute résolution, - différence, pixel à pixel, des valeurs de luminance de l'image source et d'une image de prédiction basée sur l'image reconstruite pour obtenir des résidus constituant les données de la couche supérieure.
Le procédé est aussi appliqué aux images de chrominance si elles existent. Dans des versions simplifiées, l'image reconstruite est directement l'image basse résolution d'origine.
Ainsi, le codage de l'image haute résolution exploite l'image basse résolution mise à l'échelle comme image de prédiction.
La dernière étape exploite un mode de codage appelé inter couches par défaut utilisant le macrobloc de l'image zoomée superposé au macrobloc courant de l'image haute résolution à coder, comme macrobloc de prédiction. Ce mode correspond au mode inter couches avec un vecteur mouvement nul. Il est dit par défaut car aucun vecteur mouvement n'est transmis, le macrobloc courant utilisant dies vecteurs mouvement dérivés de ceux de son macrobloc de prédiction. Ce mode de codage n'est exploitable que dans le cas ou les images peuvent être superposées. Si le format haute résolution n'est pas lié au format basse résolution par une transformation dyadique, les macroblocs ne peuvent être superposés et le mode de codage inter couches par défaut ne peut être exploité.
Les modes de codage disponibles ne permettent donc pas d'optimiser le coût de codage de l'image haute résolution, en particulier lorsque les résolutions ou formats d'images ne sont pas proportionnels.
L'invention a pour but de pallier les inconvénients précités. Un des objets de l'invention est un procédé de codage hiérarchique d'images vidéo de différents formats pour donner un flux de données codées, une première image (F1) au format F1 et une deuxième image (F2) au format F2 de résolution inférieure au premier format F1, le contenu vidéo des images (FI) et (F2) ayant au moins une partie commune, caractérisé en ce qu'il met en oeuvre les étapes suivantes: - codage de l'image (F2) à partir de blocs d'image BR constituant l'image et auxquels sont attribués un mode de codage et vecteur mouvement, pour fournir des données codées à une couche de base du flux de données codées, - zoom de l'image (F2) pour obtenir une image basse résolution zoomée (Fz) de dimensions celles de l'image (FI) pour la partie vidéo 30 commune, - découpage de l'image (F1) en blocs d'image HR de dimensions MxN pixels, M et N étant des entiers naturels positifs pour le codage de l'image haute résolution (F1) pour fournir des données codées à une couche supérieure du flux de données codées, attribution d'un mode de codage et vecteur mouvement à des blocs HR selon les étapes suivantes: - superposition de l'image (F2) zoomée sur l'image (F1) - détermination du nombre de blocs BR zoomés couvrant le dit bloc HR, - si ce nombre est de 1, attribution du mode et du vecteur mouvement du bloc BR zoomé à ce bloc d'image HR, - si ce nombre est supérieur à 1, attribution d'un mode et d'un vecteur mouvement en fonction des modes et des vecteurs mouvement des blocs zoomés BR couvrant ce bloc HR, - codage d'un bloc HR selon un mode prédictif inter couches par correspondant au mode de codage et vecteur mouvement attribués au Selon une mise en oeuvre particulière du procédé, l'image basse résolution est codée par macrobloc, un macrobloc est partitionné en sous- macroblocs, eux-mêmes partitionnés en blocs selon le mode de codage choisi pour le macrobloc, un bloc BR correspondant à un macrobloc, un sousmacrobloc ou un bloc selon la partition effectuée pour le codage du macrobloc.
Selon une mise en oeuvre particulière, le procédé comporte une étape de sélection d'un mode de codage parmi des modes de codage candidats de type inter et intra, un mode de codage candidat étant le mode prédictif inter couches par défaut.
Selon une mise en oeuvre particulière, le procédé effectue une étape de fusion de blocs HR voisins pour fournir des macroblocs, sousmacroblocs ou blocs d'image, en fonction de la similitude des vecteurs mouvement et/ou des modes de codage affectés aux blocs HR et en fonction de la taille et emplacement des macroblocs dans l'image et le codage du bloc HR est effectué au niveau de l'entité de fusion.
Selon une mise en oeuvre particulière, la taille d'un bloc BR ou HR correspond à la taille d'un bloc constitutif d'un sous-macrobloc dans la norme 30 MPEG 4.
Selon une mise en oeuvre particulière, si le nombre est supérieur à un, le mode de codage attribué au bloc HR est le mode majoritaire ou dominant.
Selon une mise en oeuvre particulière, le vecteur mouvement attribué au bloc HR est choisi parmi les vecteurs mouvement candidats correspondant aux blocs zoomés BR couvrant le bloc et ayant le mode de codage attribué.
défaut bloc.
Selon une mise en oeuvre particulière, l'image (F2) utilisée pour le zoom est une image reconstruite obtenue par décodage local de l'image codée (F2).
Selon une mise en oeuvre particulière, le zoom consiste en un filtrage et suréchantillonnage de l'image.
Selon une mise en oeuvre particulière, les images vidéo sont des images de sous-bandes obtenues par décomposition temporelle de type ondelette ou codage sous-bandes des images source.
Le mode de codage prédictif inter couches par défaut consiste à exploiter des sous-macroblocs et/ou blocs constituant des macroblocs de l'image basse résolution mise à l'échelle, superposés à des blocs HR de l'image haute résolution, pour le codage de ces blocs HR ou de macroblocs constitués de ces blocs.
Ce mode de codage par défaut permet d'exploiter efficacement la redondance inter couches et ainsi de réduire le coût de codage total. Un meilleur rapport qualité d'image / coût de codage peut être obtenu grâce à ce mode de codage supplémentaire. II permet, de manière annexe, d'éviter des calculs de corrélation coûteux en termes de temps de traitement ou puissance de calcul.
D'autres particularités et avantages de l'invention apparaîtront clairement dans la description suivante donnée à titre d'exemple non limitatif, et faite en regard des figures annexées qui représentent: - la figure 1, un organigramme du procédé de codage, - la figure 2, une représentation des formats à coder, - la figure 3, une illustration des modes de codages d'un macrobloc, - la figure 4, une superposition des macroblocs d'une image haute résolution et basse résolution, - la figure 5, un macrobloc de l'image haute résolution, - la figure 6, un organigramme du procédé de codage inter couches, - la figure 7, un organigramme du procédé de sélection du mode de codage et des vecteurs mouvement d'un bloc HR, - la figure 8, une illustration des étapes du procédé, 35 - la figure 9, des exemples d'attribution des modes de codage et vecteurs mouvement à des blocs HR.
Le procédé de codage des données est un procédé de codage hiérarchique, c'est à dire que le flux de données codées est structuré de manière hiérarchique, les données relatives au format de plus faible résolution étant intégrées dans une couche de base ou couche inférieure, les données complémentaires relatives au format de résolution supérieure étant intégrées dans une couche supérieure. II est ainsi facile, au niveau du flux de données, de sélectionner les seules données relatives à un standard ou un format, en sélectionnant les seules couches correspondant au niveau de résolution souhaité. II s'agit ici d'échelonnabilité spatiale, compatible de toute échelonnabilité temporelle exigée par le standard relatif au format de résolution.
L'invention est relative au codage de contenus vidéo à différents formats, contenus éventuellement différents mais ayant au moins une partie vidéo commune. Elle est particulièrement adaptée aux formats non proportionnels en largeur et /ou hauteur de l'image. Un des formats est de résolution inférieure à l'autre format. II est soit de plus faible définition avec le nombre de pixels par ligne ou le nombre de lignes définissant par exemple la partie vidéo commune inférieure, soit, pour une même définition, de taille inférieure.
La figure 1 représente un organigramme du procédé de codage selon l'invention.
Une première étape 1 prend en compte les différents formats vidéo à coder. Le flux de données codées obtenu en sortie du codeur permet d'alimenter des décodeurs compatibles d'un de ces formats, la sélection du format, fonction du dispositif d'affichage, du décodeur ou de paramètres tels que le débit de transmission se faisant par filtrage des données au niveau de ce flux de données codées, en amont ou au niveau du décodeur.
Dans l'exemple décrit, un premier format haute résolution F1 et un deuxième format basse résolution F2 sont exploités. Chacun de ces formats est défini par sa largeur LF,, LF2 ou nombre de pixels sur une ligne et sa hauteur HF1, HF2 ou nombre de lignes.
On considère que les sources vidéo alimentant le codeur sont aux formats F1 et F2. Elles correspondent, éventuellement pour une partie seulement, à un même contenu vidéo. Pour une partie seulement signifie que le contenu vidéo de ces deux sources est alors différent, c'est à dire que l'on ne peut pas passer d'un format à l'autre par simple homothétie ou, d'une autre manière, que les formats ne sont pas proportionnels.
Des paramètres géométriques sont également transmis au codeur permettant de définir la partie vidéo commune aux deux formats.
La création de ces images source et le calcul des paramètres géométriques peuvent être effectués, par exemple, de la manière suivante: A partir des formats choisis, une première et une deuxième fenêtre vidéo sont dimensionnées et positionnées dans une image d'origine pour définir les contenus vidéo de cette image à coder dans chacun des formats. Par hypothèse, ces deux fenêtres se recouvrent au moins partiellement. Elles définissent les contenus vidéo à coder au format F1 et au format F2. Les dimensions de ces premières et deuxièmes fenêtres sont choisies homothétiques respectivement aux formats F1 et F2.
Les images source haute et basse résolution transmises au codeur peuvent avoir la même définition que l'image d'origine ou des définitions différentes de celle de l'image d'origine ou entre elles, selon qu'elles subissent ou non des opérations de filtrage et échantillonnage. L'image haute résolution, appelée (FI), est choisie comme image de référence pour définir les paramètres géométriques. Il s'agit par exemple de la position de l'image (F2) de format F2 dans l'image (F1) et du rapport de définition qui correspond au zoom à faire subir à l'image (F2) pour mettre en correspondance le contenu vidéo de (F2) au contenu vidéo de (F1) pour la partie commune.
L'étape 2 effectue un codage de l'image vidéo au format F2.
L'étape 3 réalise le décodage de cette image codée pour fournir une image décodée locale ou image reconstruite. Dans une version simplifiée, l'image décodée locale peut consister en limage d'origine avant codage, c'est à dire en l'image source (F2). Cette image est ensuite mise à l'échelle ou zoomée d'un rapport correspondant au paramètre géométrique relatif au rapport de définition, pour obtenir une image (F2) zoomée, appelée (Fz).
L'étape suivante 4 effectue un positionnement de l'image (Fz) sur l'image haute résolution (F1) en fonction du paramètre géométrique relatif à la position, de manière à faire correspondre les contenus vidéos.
L'étape suivante 5 effectue le codage de l'image haute résolution. 35 Ce codage prend en compte différents modes de codage, dont le codage inter couches objet de l'invention et explicité plus loin.
L'étape 6 insère les données de codage relatives à l'image (F2) dans une couche de base du flux de données et les données de codage spécifiques à l'image haute résolution (F1) dans une couche supérieure.
La figure 2 représente un premier contenu vidéo au format de codage haute résolution F1, référence 11 et une fenêtre aux dimensions Lw et HW, référence 12. Cette fenêtre est définie et positionnée dans l'image haute résolution à partir des paramètres géométriques. Le contenu vidéo de cette fenêtre est calculé à partir du contenu vidéo au format de codage basse résolution F2 de dimensions LF2 et HF2, référence 13. L'image au format F2 est codée puis décodée pour fournir une image décodée locale qui est ensuite suréchantillonnée pour donner une image mise à l'échelle ou zoomée (Fz) aux dimensions de la fenêtre 12.
La figure 3 représente, sur une première ligne, des macroblocs de dimensions 16x16 pixels et les différentes partitions de macroblocs en sousmacroblocs tels que proposés par la norme MPEG4. Il s'agit de sousmacroblocs de dimensions 16x8, 8x16 et 8x8 pixels. Toujours selon la norme, le mode de codage et le bloc de prédiction lors du codage en mode inter peuvent être définis au niveau de chaque sous-macrobloc. A ce sousmacrobloc est ainsi attribué un mode de codage et, le cas échéant, un vecteur mouvement MV définissant le bloc d'image corrélé.
Sur une deuxième ligne de la figure 3 sont représentés des sousmacroblocs de dimensions 8x8 pixels et les différentes sous- partitions des sous-macroblocs en blocs. Selon la norme MPEG 4, dans le cas où le macrobloc est divisé en 4 sous-macroblocs de dimensions 8x8 pixels, une nouvelle décomposition de ces sous-macroblocs est possible en blocs de dimensions 8x4, 4x8 et 4x4 pixels pour le calcul des blocs de prédiction. Ainsi, pour un mode de codage défini pour le sous-macrobloc 8x8 pixels, les calculs de corrélation peuvent faire appel à différentes découpes du sous-macrobloc en blocs et donc différents vecteurs mouvement associés à ces blocs.
Comme indiqué précédemment, les résolutions hautes et basses ne correspondent pas forcément à des transformations dyadiques, et peuvent également être différentes selon l'axe horizontal des x et l'axe vertical des y. La figure 4 représente une superposition d'une image haute résolution référencée 31 et partitionnée en macroblocs HR à une image basse résolution zoomée référencée 32 partitionnée en macroblocs BR. Un macrobloc HR de l'image haute résolution peut avoir en correspondance, soit aucun macrobloc BR de l'image basse résolution zoomée, par exemple pour les bordures de l'image haute résolution, soit un ou plusieurs macroblocs BR de cette image basse résolution zoomée. La figure 5 représente un macrobloc HR de l'image haute résolution ayant en correspondance 4 macroblocs BR de l'image basse résolution zoomée.
L'image haute résolution est découpée en macroblocs HR pour son codage correspondant à l'étape 5 de la figure 1. De même que dans la norme MPEG4, pour chaque macrobloc est déterminé un codage correspondant à une partition éventuelle en sous-macroblocs ou blocs avec, pour un macrobloc, sous-macrobloc ou bloc, l'attribution d'un mode de codage et de vecteurs mouvement. Ce codage est par exemple un codage de type intra pour le macrobloc ou de type inter par exemple entre l'image haute résolution courante et l'image haute résolution précédente. Un nouveau mode de codage, appelé codage inter couches et décrit ci-dessous, en regard des figures 6 et 7, est proposé. Il est ajouté aux différents modes de codage connus, parmi lesquels est effectuée la sélection pour le codage du macrobloc. Cette sélection est généralement basée sur des critères entropiques, de coût de codage, de distorsion...De manière préférentielle, les macroblocs HR ont une taille de 16x16 pixels et les blocs HR ont une taille correspondant à celle des blocs d'un sous macrobloc dans la norme MPEG4, soit 4x4 pixels.
Les figures 6 et 7 décrivent le mode de codage inter couches selon l'invention.
Le macrobloc courant de l'image haute résolution est pris en compte à l'étape 51. Ce macrobloc est découpé en blocs HR, étape 52. L'étape 53 détermine, pour chaque bloc, un mode de codage et un vecteur mouvement selon le procédé correspondant aux étapes 61 à 66 décrit à la figure 7. L'étape suivante 54 définit le mode de codage inter couches pour le macrobloc, fonction des différents modes de codage et vecteurs mouvement attribués aux blocs constituant le macrobloc. Elle calcule le macrobloc de prédiction, constitué de l'ensemble des blocs de prédiction relatifs aux blocs HR constituant le macrobloc. Selon les vecteurs mouvement attribués aux blocs HR, le macrobloc peut être partitionné, pour ce mode de codage, en sous-macroblocs, par fusion des blocs HR ayant le même vecteur mouvement.
L'étape 53 sélectionne le mode de codage et calcule les vecteurs mouvement de chacun des blocs HR constituant un macrobloc HR. Pour ce faire, pour chacun des blocs du macrobloc, une étape 61 détermine le nombre de blocs BR zoomés couvrant le bloc HR. Si ce nombre est égal à 0, test effectué à l'étape 62, l'étape 63 est l'étape suivante et définit le mode inter couches comme non pris en compte. Si ce nombre est égal à 1, test effectué à l'étape 64, l'étape suivante 65 définit le mode de codage et le vecteur mouvement du bloc HR comme étant le mode de codage et le vecteur mouvement du bloc BR zoomé recouvrant ce bloc HR. Dans le cas contraire, l'étape 66 définit le mode de codage et le vecteur mouvement de ce bloc HR. Pour ce faire, un mode de codage et un vecteur mouvement sont attribués à chacun des pixels du bloc HR en fonction du mode de codage et vecteur mouvement du bloc BR zoomé recouvrant le pixel. Le mode de codage et le vecteur mouvement du bloc HR sont calculés en fonction de ceux attribués aux pixels du bloc HR. Il peut s'agir d'un choix majoritaire, c'est à dire de celui, mode ou vecteur, correspondant à la majorité des pixels du bloc HR. Dans une version améliorée, plusieurs blocs BR zoomés couvrant le bloc HR, mais possédant des modes de codage distincts, peuvent contribuer au bloc HR. Par exemple, un premier bloc BR zoomé possède le mode prédiction anticipée, plus connu sous l'appellation anglaise de la norme MPEG Inter Forward , son voisin le mode direct spatial qui consiste à choisir, pour un bloc zoomé courant, le mode du bloc voisin. Au final, ces deux blocs peuvent contribuer au bloc HR, ce dernier étant affecté du mode Inter Forward .
La figure 8 illustre ces différentes étapes dans des exemples d'un zoom de 1,5 et d'un zoom de 1,6 de l'image basse résolution. Un macrobloc de l'image basse résolution, de dimensions 16x16 pixels, référencé 71, est par exemple partitionné, lors du codage de cette image basse résolution, en différents sous-macroblocs et blocs BR de tailles 8x8 pixels, 8x4 pixels, 4x8 pixels et 4x4 pixels.
Dans le premier exemple, les sous-macroblocs et blocs BR zoomés du macrobloc zoomé référencé 72 correspondent à des dimensions en hauteur et largeur de 12 pixels et de 6 pixels de l'image haute résolution.
L'image haute résolution est découpée en macroblocs de taille 16x16 pixels et ces macroblocs sont partitionnés en blocs HR de taille 4x4 pixels.
L'image basse résolution zoomée est superposée à l'image haute résolution, 36 blocs HR de dimensions 4x4 correspondent à un macrobloc BR zoomé référencé 73. Les blocs HR grisés sont les blocs couverts par un seul sous-macrobloc ou bloc BR zoomé, selon le découpage effectué lors du codage.
Une étape supplémentaire consistant en une découpe plus fine des blocs HR, référence 74, pour donner des sous-blocs HR, permet d'améliorer le taux de couverture par un seul sous-macrobloc ou bloc zoomé, en le faisant correspondre à cette entité de plus petite taille. Ici, l'ensemble de ces sous-blocs est couvert par un seul bloc BR zoomé. L'affectation du mode de codage et des vecteurs mouvement est effectuée au niveau du sous-bloc HR et non plus au niveau du bloc HR. Cette étape supplémentaire peut être déclenchée par exemple dans le cas ou le nombre de blocs HR non couverts par un seul bloc BR zoomé est supérieur à un seuil.
Dans le deuxième exemple, zoom de rapport 1,6, les sousmacroblocs et blocs BR zoomés du macrobloc zoomé référencé 75 correspondent à des dimensions en hauteur et largeur de 12,8 pixels et de 6,4 pixels de l'image haute résolution.
L'image haute résolution est découpée en macroblocs de taille 16x16 pixels et ces macroblocs sont partitionnés en blocs HR de taille 4x4 pixels.
L'image basse résolution zoomée est superposée à l'image haute résolution, et ici un macrobloc BR zoomé 76 correspond à une surface inférieure à 36 blocs HR de dimensions 4x4. Les blocs HR grisés sont les blocs couverts par un seul sous-macrobloc ou bloc BR zoomé selon la découpe effectuée lors du codage de l'image basse résolution.
L'étape supplémentaire consistant en une découpe plus fine des blocs HR, référence 77, pour donner des sous-blocs HR permet de faire correspondre davantage de pixels de D'image haute résolution aux sousmacroblocs ou blocs BR zoomés, pixels correspondant aux sous-blocs recouverts par un seul sous-macrobloc ou bloc BR zoomé. Cette étape peut être suivie d'une étape de fusion afin de retrouver la taille des blocs HR, si, par exemple, elle est en relation avec la taille minimale des blocs de sousmacroblocs dans la norme MPEG 4. Le choix du mode de codage et du vecteur mouvement affecté au bloc HR issu de 4 sous-blocs fusionnés peut exploiter par exemple la règle majoritaire ou, pour les vecteurs mouvement, la moyenne ou la valeur médiane. Ce principe de fusion peut d'ailleurs être étendu aux sous-macroblocs HR, voire aux macroblocs HR, en adoptant des règles de fusion similaires.
Comme indiqué précédemment, cette étape de partitionnement supplémentaire peut être déclenchée dans le cas ou le nombre de blocs HR non couverts par un seul bloc BR zoomé est supérieur à un seuil.
II s'agit bien sûr d'exemples de réalisation. Le découpage de l'image haute résolution peut être effectué, sans sortir du domaine de l'invention, en blocs de taille NxM pixels quelconque. La taille peut être choisie en fonction des normes de codage, en fonction des rapports de zoom horizontaux et verticaux, en fonction du compromis entre coût de codage et coût de calcul, une taille faible permettant une meilleure corrélation entre blocs de taille MxN et blocs BR zoomés du fait d'un choix non univoque de mode de codage et vecteur mouvement pour une plus grande surface de l'image HR comme le montre la surface grisée des blocs 76 et 77 de la figure 8.
La figure 9 donne un exemple d'attribution des modes de codage et vecteurs mouvement au niveau des blocs HR. Le macrobloc 91 est le macrobloc BR zoomé partitionné en sous-macroblocs et blocs. A chaque sousmacrobloc et bloc a été affecté un mode de codage (m ou mode) et un vecteur mouvement (mv).
L'image haute résolution est découpée en macroblocs et blocs HR référencés 92. Seuls les blocs HR 92 recouverts même partiellement par le macrobloc 91 sont représentés sur la figure.
Une première étape consiste à affecter les modes de codage aux blocs HR d'un macrobloc.
Les blocs recouverts par un seul sous-macrobloc ou bloc BR zoomé, représentés en grisé, sont affectés des modes de codage des sousmacroblocs ou blocs les recouvrant. Pour les autres cas, le choix du mode dominant peut être effectué.
Le bloc référencé 93 est recouvert par un sous-macrobloc et un bloc BR zoomés de mode de codage 0 et 1. Le mode 1 est affecté à ce bloc car il s'agit du mode dominant, le bloc correspondant à ce mode 1 recouvrant le plus grand nombre de pixels du bloc HR 93.
Le bloc référencé 94 est recouvert par deux blocs BR zoomés de mode de codage 0 et 3. Il n'y a pas de mode dominant car ces blocs recouvrent le même nombre de pixels du bloc HR, on choisit par exemple le premier mode rencontré qui est le mode 0 que l'on affecte à ce bloc HR 94.
Le bloc référencé 95 est recouvert par un sous-macrobloc et trois blocs BR zoomés de mode de codage 0, 2, 0, 3. Le mode 0 est affecté à ce bloc HR car il s'agit du mode dominant, le bloc BR zoomé correspondant à ce mode 0 recouvrant le plus grand nombre de pixels du bloc HR.
Une deuxième étape consiste à affecter les vecteurs mouvements aux blocs HR. La règle de base est de considérer, comme vecteurs candidats, les vecteurs mouvement des sous-macroblocs ou blocs qui à la fois recouvrent le bloc HR et ont comme mode de codage, celui affecté au bloc HR.
Les règles complémentaires suivantes peuvent être choisies: - si le mode affecté est un mode dominant, le vecteur mouvement dominant et donc relatif à ce mode est choisi. Dans ce cas, le vecteur mouvement attribué au bloc 93 est le vecteur mv1.
- si plusieurs blocs ou sous-macroblocs recouvrent le bloc HR, le vecteur mouvement est une moyenne, éventuellement pondérée, des vecteurs mouvement candidats. Dans ce cas, les composantes du vecteur mouvement attribué au bloc 93 sont une moyenne des composantes des vecteurs mv1 et mv0. Cette moyenne peut être pondérée en fonction du nombre de pixels du bloc HR correspondant à chacun des vecteurs.
- si plus de deux blocs ou sous-macroblocs recouvrent le bloc HR, le vecteur mouvement est la valeur médiane des vecteurs candidats.
Ces exemples ne sont pas limitatifs, il est ainsi également possible, pour le calcul des vecteurs mouvement, de choisir la valeur moyenne ou médiane de l'ensemble des vecteurs mouvement des blocs ou sousmacroblocs recouvrant le bloc HR, sans tenir compte des modes de codage. Les vecteurs mouvement des images précédentes peuvent aussi être pris en compte dans le choix du vecteur mouvement de mode inter couches.
Lorsque les modes de codage et vecteurs mouvement ont été attribués à l'ensemble des blocs HR du macrobloc de l'image haute résolution, le codage inter couches de ce macrobloc est effectué. Le macrobloc peut être partitionné en sous-macroblocs et blocs de différentes tailles, auxquelssont attribués des modes de codage et vecteurs mouvement. Ces sous-macroblocs et blocs sont par exemple de taille conforme à une norme de codage telle que la norme MPEG.4. La partition est fonction des modes de codage et vecteurs mouvement attribués aux blocs HR constituant ces sous-macroblocs et blocs. Les règles de fusion des blocs HR, pour constituer des sous-macroblocs, sont connues, elles sont par exemple relatives aux vecteurs mouvement ayant la même valeur. La taille des sous-macroblocs de l'image haute résolution dépend alors de l'homogénéité du champ de vecteurs mouvement. Ces critères de partitionnement sont relatifs aux coûts de codage, distorsions...
Lorsque le partitionnement a été effectué, le codage du macrobloc ainsi partitionné, effectué selon le mode de codage inter couches, est comparé aux autres modes de codage du macrobloc pour déterminer celui effectivement mis en oeuvre par le codeur.
La découpe de l'image en blocs HR, l'attribution de modes de codage et de vecteurs mouvement ainsi que la fusion des blocs peuvent également être effectuées au niveau de l'image, c'est à dire avant le codage par macrobloc. Une fois les modes et vecteurs attribués à l'ensemble des blocs concernés, les blocs voisins ayant des similitudes aux niveaux de ces modes et vecteurs sont fusionnés jusqu'à correspondre à des sous-macroblocs ou macroblocs de l'image. Ces fusions sont fonction, non seulement de la taille des macroblocs et sous-macroblocs mais également de l'emplacement de ces macroblocs dans l'image haute résolution.
Le mode de codage prédictif proposé ici est appelé inter couches car il fait appel à des données de codage de l'image de plus faible résolution et par défaut car il ne réalise pas de calcul pour la détermination du mode et du vecteur mouvement associé. Ce mode de codage candidat effectue un codage du macrobloc de l'image haute résolution selon le ou les modes et vecteurs mouvement associés, par exemple à partir d'un bloc d'une image haute résolution précédente désigné par le vecteur mouvement associé s'il s'agit du mode inter ou bien à partir d'un macrobloc déjà codé de l'image haute résolution courante désigné par le vecteur mouvement associé s'il s'agit du mode intra associé au macrobloc.
Ce procédé de codage décrit s'ajoute aux autres modes de codage candidats connus pour le codage effectif de l'image haute résolution, le choix du mode étant par exemple fonction du coût de codage et distorsion de l'image relatifs à chacun de ces modes.
Parmi les modes connus, un mode de codage appelé codage prédictif intra exploite un des macroblocs précédemment codés de l'image. Le macrobloc courant de l'image courante haute définition est codé en prenant en compte un des macroblocs déjà codés de cette image haute résolution, désigné par le vecteur mouvement. Cette sélection est faite en fonction du taux de corrélation avec le macrobloc courant à coder.
Un autre mode de codage appelé codage prédictif inter, exploite une image haute résolution précédemment codée. Le macrobloc courant de l'image haute résolution est codé à partir d'un macrobloc prédictif qui est un bloc d'image sélectionné dans une fenêtre de recherche d'une image haute résolution précédente. Cette sélection est effectuée en fonction du taux de corrélation avec le macrobloc courant à coder, le bloc d'image sélectionné est défini par un vecteur mouvement. Ce mode peut exploiter plus d'une image précédemment codée, par exemple s'il s'agit du mode inter bidirectionnel.
Un mode de codage prédictif inter couches réalise, quant à lui, un codage du macrobloc de l'image haute résolution, à partir d'un macrobloc de prédiction correspondant aux macroblocs colocalisés, c'est à dire ayant la même position pour au moins une partie de leurs pixels, dans l'image basse résolution zoomée.
L'image basse résolution exploitée pour le zoom peut être l'image basse résolution correspondant, du point de vue temporel, à l'image haute résolution, mais également une ou plusieurs images basse résolution précédentes. Le bloc de prédiction peut ainsi être recherché dans l'image basse résolution courante ou précédente qui peut être soit l'image source soit l'image reconstruite mise à l'échelle ou zoomée.
Bien entendu, le procédé ne se limite pas, pour l'association des modes et des vecteurs mouvement aux blocs, à un seul vecteur mouvement et les modes de codage faisant appel à plusieurs vecteurs mouvement ou même à aucun vecteur mouvement sont du domaine de l'invention. Ainsi, lorsque le mode de codage associé est le mode intra pur, il n'y a pas de vecteur mouvement attribué. De même, lorsque le mode de codage inter est du type bidirectionnel, deux vecteurs sont associés au mode de codage.
De la même façon, le procédé ne se limite au mode de codage et vecteur mouvement. D'autres paramètres, tels le ou les numéros des images de référence temporelle, les facteurs de pondération de la luminance, connus respectivement sous l'appellation anglaise reference picture index et weighted prediction factor dans la norme MPEG4 AVC, peuvent être exploités selon un procédé similaire.
Dans la description, le codage de l'image haute résolution est effectué au niveau de macroblocs constitués de blocs HR. II est tout aussi envisageable, sans sortir du domaine de l'invention, d'effectuer un codage de l'image au niveau des blocs HR, un macrobloc étant alors constitué d'un seul bloc HR, le mode de codage prédictif inter couches par défaut du macrobloc correspondant alors au mode de codage et vecteur mouvement attribués selon le procédé au bloc HR constituant ce macrobloc.
Les images vidéo codées selon le procédé peuvent être des images source mais également des images de sous-bandes obtenues par décomposition temporelle de type ondelette ou codage sous-bandes des images source.

Claims (8)

16 REVENDICATIONS
1 Procédé de codage hiérarchique d'images vidéo de différents formats pour donner un flux de données codées, une première image (F1) au format F1 et une deuxième image (F2) au format F2 de résolution inférieure au premier format F1, le contenu vidéo des limages (F1) et (F2) ayant au moins une partie commune, caractérisé en ce qu'il met en oeuvre les étapes suivantes: - codage (2) de l'image (F2) à partir de blocs d'image BR constituant l'image et auxquels sont attribués un mode de codage et vecteur mouvement, pour fournir des données codées à une couche de base du flux de données codées, - zoom (3) de l'image (F2) pour obtenir une image basse 15 résolution zoomée (Fz) de dimensions celles de l'image (F1) pour la partie vidéo commune, - découpage de l'image (FI) en blocs d'image HR de dimensions MxN pixels, M et N étant des entiers naturels positifs pour le codage (5) de l'image haute résolution (F1) pour fournir des données codées à une couche supérieure du flux de données codées, - attribution d'un mode de codage et vecteur mouvement à des blocs HR selon les étapes suivantes: - superposition de l'image (F2) zoomée sur l'image (F1) détermination du nombre de blocs BR zoomés couvrant le dit bloc HR, - si ce nombre est de 1, attribution du mode et du vecteur mouvement du bloc BR zoomé à ce bloc d'image HR, - si ce nombre est supérieur à 1, attribution d'un mode et d'un vecteur mouvement en fonction des modes et des vecteurs mouvement des blocs zoomés BR couvrant ce bloc HR, - codage d'un bloc HR selon un mode prédictif inter couches par correspondant au mode de codage et vecteur mouvement attribués au 2 Procédé selon la revendication 1, caractérisé en ce que l'image basse résolution est codée par macrobloc, en ce qu'un macrobloc est 30 défaut bloc.
partitionné en sous-macroblocs, eux-mêmes partitionnés en blocs selon le mode de codage choisi pour le macrobloc, un bloc BR correspondant à un macrobloc, un sous-macrobloc ou un bloc selon la partition effectuée pour le codage du macrobloc.
3 Procédé selon la revendication 1, caractérisé en ce qu'il comporte une étape de sélection d'un mode de codage parmi des modes de codage candidats de type inter et intra, un mode de codage candidat étant le mode prédictif inter couches par défaut.
4 Procédé selon la revendication 1, caractérisé en ce qu'il effectue une étape de fusion de blocs HR voisins pour fournir des macroblocs, sousmacroblocs ou blocs d'image, en fonction de la similitude des vecteurs mouvement et/ou des modes de codage affectés aux blocs HR et en fonction de la taille et emplacement des macroblocs dans l'image et en ce que le codage du bloc HR est effectué au niveau de l'entité de fusion.
Procédé selon la revendication 1, caractérisé en ce que la taille d'un bloc BR ou HR correspond à la taille d'un bloc constitutif d'un sousmacrobloc dans la norme MPEG 4.
6 Procédé selon la revendication 1, caractérisé en ce que, si le nombre est supérieur à un, le mode de codage attribué au bloc HR est le mode majoritaire ou dominant.
7 Procédé selon la revendication 6, caractérisé en ce que le vecteur mouvement attribué au bloc HR est choisi parmi les vecteurs mouvement candidats correspondant aux blocs zoomés BR couvrant le bloc et ayant le mode de codage attribué.
8 Procédé selon la revendication 1, caractérisé en ce que l'image (F2) utilisée pour le zoom est une image reconstruite obtenue par décodage local (3) de l'image codée (F2).
9 Procédé selon la revendication 1, caractérisé en ce que le zoom consiste en un filtrage et suréchantillonnage de l'image.
Procédé selon la revendication 1, caractérisé en ce que les images vidéo sont des images de sous-bandes obtenues par décomposition temporelle de type ondelette ou codage sous-bandes des images source.
FR0452865A 2004-12-03 2004-12-03 Procede et dispositif de codage hierarchique inter couches Expired - Fee Related FR2879066B1 (fr)

Priority Applications (4)

Application Number Priority Date Filing Date Title
FR0452865A FR2879066B1 (fr) 2004-12-03 2004-12-03 Procede et dispositif de codage hierarchique inter couches
CN2005800416567A CN101073265B (zh) 2004-12-03 2005-12-02 可缩放视频编码方法
EP05813402.4A EP1817914B1 (fr) 2004-12-03 2005-12-02 Procede de codage video scalable
PCT/EP2005/056451 WO2006058921A1 (fr) 2004-12-03 2005-12-02 Procede de codage video a geometrie variable

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
FR0452865A FR2879066B1 (fr) 2004-12-03 2004-12-03 Procede et dispositif de codage hierarchique inter couches

Publications (2)

Publication Number Publication Date
FR2879066A1 true FR2879066A1 (fr) 2006-06-09
FR2879066B1 FR2879066B1 (fr) 2007-04-06

Family

ID=34952134

Family Applications (1)

Application Number Title Priority Date Filing Date
FR0452865A Expired - Fee Related FR2879066B1 (fr) 2004-12-03 2004-12-03 Procede et dispositif de codage hierarchique inter couches

Country Status (1)

Country Link
FR (1) FR2879066B1 (fr)

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0485230A2 (fr) * 1990-11-09 1992-05-13 Victor Company Of Japan, Ltd. Système de codage progressif d'un signal d'image animée
WO2001077871A1 (fr) * 2000-04-07 2001-10-18 Demografx Organisation renforcee en couches temporelles et par resolution dans la television avancee
US20020001411A1 (en) * 1996-09-09 2002-01-03 Teruhiko Suzuki Picture encoding and/or decoding apparatus and method for providing scalability of a video object whose position changes with time and a recording medium having the same recorded thereon
US20020154697A1 (en) * 2001-04-19 2002-10-24 Lg Electronic Inc. Spatio-temporal hybrid scalable video coding apparatus using subband decomposition and method
EP1322121A2 (fr) * 2001-12-19 2003-06-25 Matsushita Electric Industrial Co., Ltd. Codeur/Décodeur vidéo à estimation de mouvement améliorée
WO2004073312A1 (fr) * 2003-02-17 2004-08-26 Koninklijke Philips Electronics N.V. Codage video

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0485230A2 (fr) * 1990-11-09 1992-05-13 Victor Company Of Japan, Ltd. Système de codage progressif d'un signal d'image animée
US20020001411A1 (en) * 1996-09-09 2002-01-03 Teruhiko Suzuki Picture encoding and/or decoding apparatus and method for providing scalability of a video object whose position changes with time and a recording medium having the same recorded thereon
WO2001077871A1 (fr) * 2000-04-07 2001-10-18 Demografx Organisation renforcee en couches temporelles et par resolution dans la television avancee
US20020154697A1 (en) * 2001-04-19 2002-10-24 Lg Electronic Inc. Spatio-temporal hybrid scalable video coding apparatus using subband decomposition and method
EP1322121A2 (fr) * 2001-12-19 2003-06-25 Matsushita Electric Industrial Co., Ltd. Codeur/Décodeur vidéo à estimation de mouvement améliorée
WO2004073312A1 (fr) * 2003-02-17 2004-08-26 Koninklijke Philips Electronics N.V. Codage video

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
WAN W K ET AL: "Adaptive format conversion for video scalability at low enhancement bitrates", PROCEEDINGS OF THE 44TH. IEEE 2001 MIDWEST SYMPOSIUM ON CIRCUITS AND SYSTEMS. MWSCAS 2001. DAYTON, OH, AUG. 14 - 17, 2001, MIDWEST SYMPOSIUM ON CIRCUITS AND SYSTEMS, NEW YORK, NY : IEEE, US, vol. VOL. 1 OF 2, 14 August 2001 (2001-08-14), pages 588 - 592, XP010579270, ISBN: 0-7803-7150-X *
WIEGAND T: "JOINT MODEL NUMBER 1, REVISION 1(JM-IRL)", ITU STUDY GROUP 16 - VIDEO CODING EXPERTS GROUP, 3 December 2001 (2001-12-03), pages 1,3 - 75, XP001086627 *

Also Published As

Publication number Publication date
FR2879066B1 (fr) 2007-04-06

Similar Documents

Publication Publication Date Title
JP5364820B2 (ja) フィルタを選択する装置及び方法
US7889793B2 (en) Method and apparatus for effectively compressing motion vectors in video coder based on multi-layer
KR100772882B1 (ko) 인트라 bl 모드를 고려한 디블록 필터링 강도 결정 방법, 및 장치
KR100679031B1 (ko) 다 계층 기반의 비디오 인코딩 방법, 디코딩 방법 및 상기방법을 이용한 장치
KR100596705B1 (ko) 비디오 스트리밍 서비스를 위한 비디오 코딩 방법과 비디오 인코딩 시스템, 및 비디오 디코딩 방법과 비디오 디코딩 시스템
EP2446628B1 (fr) Procédé de décodage d'images, dispositifs de décodage et programme d'ordinateur correspondants
JP4870746B2 (ja) ビデオデコーディング方法、ビデオコーダ及び記録媒体
KR100621581B1 (ko) 기초 계층을 포함하는 비트스트림을 프리디코딩,디코딩하는 방법, 및 장치
US20080095235A1 (en) Method and apparatus for intra-frame spatial scalable video coding
US9736500B2 (en) Methods and apparatus for spatially varying residue coding
JP2015065688A (ja) スケーラブルビデオコーディングのためのテクスチャ予想及びリサンプリングの方法及び装置
EP1913781A2 (fr) Procede de codage et de decodage d'images video avec echelonnabilite spatiale
EP1659797A2 (fr) Procède et appareil de compression efficace de vecteur de mouvement dans une structure a couches multiples
EP1808023B1 (fr) Procede de codage hierarchique d'images video
WO2006059848A1 (fr) Procede et appareil de codage et de decodage video multicouche
FR2879066A1 (fr) Procede et dispositif de codage hierarchique inter couches
KR20090041141A (ko) 주변 블록의 정보를 이용한 효율적인 영상 확대 방법 및이를 적용한 스케일러블 비디오 부호화/복호화 장치 및방법
WO2006059021A1 (fr) Procede de codage d'images video de differents formats non proportionnels
KR100938553B1 (ko) 스케일러블 영상 부/복호화기에서 주변 블록 정보를 이용한바운더리 처리 방법 및 장치
Dai Advanced intra prediction techniques for image and video coding
GB2511288A (en) Method, device, and computer program for motion vector prediction in scalable video encoder and decoder
Sun et al. Classified patch learning for spatially scalable video coding
Kim et al. Dynamic GOP structure for scalable video coding
KR20090022927A (ko) 주변 블록의 정보를 이용한 효율적인 영상 확대 방법 및이를 적용한 스케일러블 비디오 부호화/복호화 장치 및방법

Legal Events

Date Code Title Description
ST Notification of lapse

Effective date: 20100831