Codage vidéo scalable

Un article de Wikipédia, l'encyclopédie libre.
Aller à : navigation, rechercher

Scalable Video Coding (SVC) est le nom donné à une norme de compression vidéo développée conjointement par UIT-T et l'ISO. Les deux groupes ont créé le Joint Video Team (JVT) pour développer la norme H.264, ou MPEG-4 AVC (ITU-T Rec. H.264 | ISO/IEC 14496-10 AVC). L'objectif de SVC est d'offrir un contenu adaptable ou échelonnable (scalable), c'est-à-dire que le contenu peut être converti une fois et offrir ensuite différents débits avec différentes qualités.

En octobre 2003, le groupe Moving Picture Experts Group (MPEG) lance un appel à la communauté scientifique (« Call for Proposals on SVC Technology »). Quatorze projets, dont douze basés sur la compression par ondelettes, sont proposés, les deux propositions restantes étant des extensions de H.264/MPEG-4 AVC. L'une d'elle, proposée par l'équipe image du Heinrich-Hertz-Institut (HHI) est choisie par MPEG comme point de départ de son projet de standardisation de SVC.

En janvier 2005, les groupes MPEG et Video Coding Experts Group (VCEG) se sont entendus pour finaliser le projet SVC comme un amendement de leur standard H.264/MPEG-4 AVC.

En novembre 2008, Google a lancé son nouveau service Gmail Video Chat qui utilise un codec H.264/SVC. C'est probablement[réf. nécessaire] le premier service à utiliser cette norme pour des applications "grand public".

Principes de la scalabilité[modifier | modifier le code]

Présentation[modifier | modifier le code]

La scalabilité (évolutivité ou adaptabilité, en bon français) est la possibilité de pouvoir représenter un signal à différents niveaux d'information. Le signal est codé dans un seul flux binaire de manière à offrir la possibilité de décoder un flux de base et des flux englobants dont la qualité augmente successivement.

Pour ce faire, trois types de scalabilité sont définis :

  • la scalabilité spatiale qui permet d'offrir plusieurs niveaux de résolution,
  • la scalabilité temporelle qui permet d'offrir plusieurs fréquences temporelles du signal,
  • la scalabilité en qualité qui permet d'offrir différentes qualités d'image.

Scalabilité spatiale[modifier | modifier le code]

La scalabilité spatiale correspond au choix de la résolution des images reconstruites (par exemple QCIF, CIF ou SD). La scalabilité spatiale est obtenue au moyen d'une décomposition pyramidale en différents niveaux spatiaux.

Scalabilité temporelle[modifier | modifier le code]

La scalabilité temporelle correspond à la fréquence des images du flux vidéo décodé. Les différentes fréquences sont obtenues à l'aide d'une structure hiérarchisée d'images.

Scalabilité en qualité[modifier | modifier le code]

La scalabilité SNR (Signal to Noise Ratio, ou Rapport signal sur bruit), ou en qualité, consiste à augmenter le rapport signal sur bruit d'une couche, c'est-à-dire à réduire la distorsion de quantification entre l'image originale et l'image reconstruite. Deux approches sont proposées : FGS (Fine Grain Scalability) et CGS (Coarse Grain Scalability).

Scalabilité CGS[modifier | modifier le code]

Le schéma de SVC permet d'incorporer une scalabilité en qualité à travers une échelle de résolutions spatiales. Chaque résolution spatiale est codée à l'aide d'une nouvelle couche, ce qui entraîne des raffinements sur les données (texture, mouvement).

Pour une même résolution spatiale, la scalabilité en qualité est obtenue en encodant successivement plusieurs couches dites 'de qualité'. Les images de deux couches spatiales successives sont alors à la même résolution mais, codées avec plus ou moins de précision. La première couche ayant la qualité minimum, le pas de quantification est ensuite diminué pour les couches suivantes.

Scalabilité fine[modifier | modifier le code]

La scalabilité fine est obtenue par un raffinement progressif des coefficients transformés à l'intérieur d'une même couche spatiale. La couche de qualité de base correspond au codage des coefficients selon le standard AVC, avec un pas de quantification QP initial qui garantit une qualité minimale acceptable. Cette couche n'est pas scalable.

Les couches de raffinement en qualité suivantes sont obtenues en quantifiant les coefficients du résidu avec un coefficient QP diminué de six, ce qui correspond à une division par deux du pas de quantification.

Le flux comportant les informations de raffinement peut être tronqué en tout point, ce qui permet la scalabilité fine en qualité.

Liens externes[modifier | modifier le code]