Codage vidéo scalable

Un article de Wikipédia, l'encyclopédie libre.
(Redirigé depuis Scalable Video Coding)

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[1].

Historique[modifier | modifier le code]

En , 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'elles, 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[2].

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

En , Google démarre son nouveau service Gmail Video Chat[3],[4] qui utilise un codec H.264/SVC[5]. Il représente le premier service à utiliser cette norme pour des applications grand public[5]. Le service est remplacé par Google+ Hangouts en 2012[6].

En 2011, le site web des développeurs Google Code présente la norme Scalable Video Coding (SVC) comme successeur du chat vidéo RVC en Open Source, représentant le codage le plus populaire en 2010[7].

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 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[1].

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

  • 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 et 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é.

Notes et références[modifier | modifier le code]

  1. a et b (en) Mark Oliver, « Tutorial: The H.264 Scalable Video Codec (SVC) » [« Tutoriel : le codec vidéo évolutif (SVC) H.264 »], sur EDN (en), . [(fr) traduction de l'article] (consulté le ).
  2. (en) Heiko Schwarz et Thomas Wiegand (en), « Image Communication : The Scalable Video Coding Amendment of the H.264/AVC Standard », sur HHI, (version du sur Internet Archive).
  3. « Google lance Gmail Video Chat », sur Métro, (consulté le ).
  4. (en) Gina Trapani, « Google Launches Voice and Video Chat Inside Gmail », sur Lifehacker (en), (consulté le ).
  5. a et b Claude Leguilloux, « Proservia : des nouvelles d'Ovialis », sur boursier.com, (consulté le ).
  6. (en) Aki Libo-on, « Google Replaces Gmail Video Chat with Google+ Hangouts », sur searchenginejournal.com, (consulté le ).
  7. (en) « Open source version of the SVC video call engine », sur Google Code, (consulté le ).
  8. (en) Zafar Shahid, Marc Chaumont et William Puech, « Scalable Video Coding » [PDF], sur LIRMM (en) (consulté le ), p. 3.

Voir aussi[modifier | modifier le code]

Bibliographie[modifier | modifier le code]

Articles

Articles connexes[modifier | modifier le code]