Office Servers and Services

"La connaissance ne vaut que si elle est partagée" / "An effective Knowledge is a shared one"

Lync 2013 : A propos du H264 SVC

Posted by Teruin laurent sur mars 6, 2014


Comme vous le savez ou pas.😉 Lync 2013 utilise désormais un codec audio basé sur la norme H.264. Le codec Vidéo H264 AVC (Advanced Vidéo Coding) (http://www.itu.int/rec/TRECH.264.) est actuellement utilisé pour diffuser des flux vidéo sur les environnements YouTube ou sur les Disques Blu-Ray. Ceci étant dit le codex H264 et son implémentation varie malgré le fait qu’il repose sur une solution standard.

Ce standard inclut différents profils (Baseline, Main et extended) niveaux ou versions (à ce jour environ plus 16 versions ont été identifiées). Pour information, la plupart des équipements à ce jour supporte la norme de base alors que seulement quelques équipements sont capables d’encoder et de décoder dans le Profile Main. La version 3 du codex H264 a permis par ailleurs, la mise en place d’un facteur de compression avec l’introduction d’un Profil nommé High qui permet de réduire de 50 % la bande passante nécessaire.

H264 SVC

Avec l’arrivée de la version 8 le codec H264 a vu une nouveauté arriver : la fonctionnalité SVC (Scalable Video Coding) utilisée par Lync 2013. La fonctionnalité SVC inclut des nouveaux profils et des nouvelles possibilités d’extension ou d’évolution. Les dernières modalités étant définies comme Temporel, Spatial SNR/Qualité/fidélité ou Combinée. L’objectif de cette nouvelle norme de communication est de réduire les opérations d’encodage et de recodage vidéo en utilisant l’intelligence du périphérique. Le fonctionnement du SVC est par conséquent basé sur l’utilisation de flux individuels commençant par le flux de base fournissant le flux vidéo à faible résolution de façon à ce que des terminaux à faible puissance de traitement et compatibles avec la norme SVC puissent recevoir et traiter ce dernier. Les autres flux qui fournissent une qualité additionnelle sont par conséquent complémentaires. La figure ci-dessous illustre ce mode de fonctionnement

Dans le cas de conférences multipartites, c’est le terminal qui demande au service MCU la résolution maximale qu’il peut supporter. Le MCU (Lync) répond en envoyant que les flux correspondants. Dans le cas d’un terminal ayant une capacité de traitement supérieur à 180P et 15 trames par seconde, les autres flux correspondants à ce qu’il a demandé sont envoyés et réassemblés sur le terminal. Mais cela marche aussi dans l’autre sens ! Si un terminal possédant une capacité d’encodage de 1080 30Fps alors que ces interlocuteurs n’ont qu’une capacité de traitement de 720P, (vous conviendrez qu’il ne sert à rien de transférer ni de coder un flux vidéo avec une résolution supérieure à 720P 30 Fps dans ce cas) ne transfèrera et ne codera le flux vidéo que dans la plus grande résolution accepté par ses récepteurs soient 720P 30 Fps.

Le premier avantage de cette solution est de réduire la bande passante utilisée mais également les temps de traitements d’encodage décodage des services MCU car cantonnés désormais à des simples relais de flux vidéo sauf si des participants non SVC font leur apparitions dans la conférence. Ce découpage de flux vidéo en fonction de la résolution fait référence au découpage dit spatial (mode 2) .Le découpage temporel (ou mode 1 nommé Temporal scalability with hierarchical P with Simulcast), lui s’avère être relatif au nombre de trames par seconde qui la aussi, vont être adaptées en fonction de la capacité du terminal. Toujours le même principe, rien de sert d’envoyer un flux de 30 trames par seconde si le terminal n’est capable que de recevoir et traiter 7,5 Fps.

Le mode 0 qui lui existe bel et bien fait référence à un flux vidéo non  sécable  en multiples flux. Ce dernier est nommé « Nonscalable single layer AVC bitstream with Simulcast »

Comme il existe un nombre assez important de combinaisons, le tableau suivant resume a lui seul les modes de resolutions et fréquences de trame par secondes supportées dans les différents modes.

Mode

Résolution

0

360p 30fps, 270p 30fps, 180p 15fps, 90p 15fps, VGA 30fps, QVGA 15fps, and QQVGA 15fps

1

720p 30fps, 540p 30fps, 360p 30fps, 270p 30fps, 180p 15fps, 90p 15fps, VGA 30fps, QVGA 15fps, QQVGA 15fps

2q

720p 30fps, 540p 30fps, 360p 30fps, 270p 30fps, 180p 15fps, 90p 15fps, VGA 30fps, QVGA 15fps, QQVGA 15fps

2s

720p 30fps, 540p 30fps, 360p 30fps, 270p 30fps, 180p 15fps, 90p 15fps, VGA 30fps, QVGA 15fps, and QQVGA 15fps

3

720p 30fps, 540p 30fps, 360p 30fps, 270p 30fps, 180p 15fps, 90p 15fps, VGA 30fps, QVGA 15fps, and QQVGA 15fps

 

Cordialement

Laurent Teruin

 

 

Laisser un commentaire

Choisissez une méthode de connexion pour poster votre commentaire:

Logo WordPress.com

Vous commentez à l'aide de votre compte WordPress.com. Déconnexion / Changer )

Image Twitter

Vous commentez à l'aide de votre compte Twitter. Déconnexion / Changer )

Photo Facebook

Vous commentez à l'aide de votre compte Facebook. Déconnexion / Changer )

Photo Google+

Vous commentez à l'aide de votre compte Google+. Déconnexion / Changer )

Connexion à %s

 
%d blogueurs aiment cette page :