Les applications de la vidéo Internet en temps réel comprennent deux composants distincts que sont : un « codec vidéo » qui compresse la vidéo et un « protocole de transport » qui transmet les paquets de données et estime combien de données peuvent être envoyées sans surcharger le réseau. Généralement ces composants sont conçus séparément, souvent par différentes sociétés, puis combinés dans un programme global tel que Skype ou FaceTime. Cette manière de procéder n'est pas sans conséquence, car elle donne des résultats sous-optimaux sur des réseaux imprévisibles, augmente le délai de transmission et diminue la qualité de la vidéo.
L'objectif de Salsify est principalement de réduire ce délai et d'offrir une vidéo de qualité. Pour cela, Salsify fait fonctionner le codec et le protocole de transport ensemble. En effet, Salsify fait concilier dans une même boucle le contrôle image par image de la compression et le contrôle paquet par paquet de la transmission, permettant ainsi au flux vidéo de suivre la capacité variable du réseau, en évitant les interruptions. Autrement dit, Salsify est composé d'un protocole de transport vidéo, d'un codec vidéo VP8 avec la possibilité de sauvegarder ou restaurer l'état interne, et d'une boucle de contrôle unifiée. Avec cette technique, le résultat de la comparaison de Salsify à Skype, FaceTime, Hangouts, et le WebRTC de Chrome avec et sans VP9-SVC, montre une réduction du délai de 4,6× et une amélioration du SSIM d'environ 60 % (2,1 dB).
Pour l'heure, l'implémentation de Salsify n'est possible que sur Linux et ne supporte pas encore l'audio. Par ailleurs, la technologie de Salsify peut être utilisée par d'autres chercheurs dans ce domaine afin d'améliorer la qualité de la vidéo en temps réel dans de nombreuses applications, ont laissé entendre ses concepteurs.
Le code source de Salsify est disponible sur GitHub.
Sources : Salsify - Document de recherches
Et vous ?
Qu'en pensez-vous ?