FR 3055763 A1 20180309 FR 1658318 A 20160907 Procédé et système d'allocation statistique temporelle dans un encodeur temps réel. 1. DOMAINE TECHNIQUE L'invention se positionne dans le domaine de la diffusion de contenus audiovisuels, notamment mais non exclusivement des contenus de télévision. L'objectif est d'optimiser l'allocation binaire d'un canal (aussi appelé « contenu audiovisuel », « flux » ou encore « chaîne de télévision ») afin d'améliorer la qualité vidéo et ceci en respectant une contrainte externe comme la capacité physique d'un canal de communication. Classiquement, la diffusion peut se faire de différentes façons, et notamment (mais non exclusivement) par diffusion sur IP (aussi appelée « télévision sur IP » ou IPTV, pour « Internet Protocol TeleVision » en anglais) ou par diffusion sur internet (basé HTTP, « Hyper Text Transfer Protocol » en anglais). La diffusion sur IP utilise une bande passante réservée, la diffusion en direct est faite en continue et à débit binaire constant. Le protocole UDP (« User Datagram Protocol » en anglais) est généralement utilisé pour convoyer les données du point de diffusion jusqu'à l'utilisateur. Le protocole RTP (« Real Time Protocol » en anglais) lui est éventuellement adjoint pour faciliter la transmission pour, entre autre, faciliter la remise en ordre des paquets. Les contraintes liées à la diffusion sur internet (basé HTTP) sont différentes ; le transport de données jusqu'à l'utilisateur final n'est pas contraint en débit, c'est une diffusion non uniforme, c'est notamment le cas (mais non exclusivement) des transports HLS (« HTTP Live Streaming » en anglais), HSS (« HTTP Smooth Streaming » en anglais), HDS (« HTTP Dynamic Streaming » en anglais) et Dash. Cependant la contrainte porte sur la taille des données. Les mécanismes de transport sont basés sur des téléchargements successifs de morceaux de données (appelés « chunk » en anglais), réunis par le lecteur de l'utilisateur final. Dans la suite du document, le terme « chunk » sera utilisé pour définir des morceaux de données. Les chunks sont préparés par un système « packager » et stockés temporairement sur un serveur. Ce procédé, illustré par la Figure 1, est reconnu comme efficace et largement utilisé actuellement. 3055763 2 Traditionnellement, les chaînes de télévision sont diffusées sur internet à débit binaire constant (mode CBR, pour « Constant Bit Rate » en anglais) afin de respecter la bande passante allouée à la diffusion. Cependant, par nature, chaque type de contenu nécessite un débit binaire différent. En effet, un contenu de sport nécessitera plus de 5 débit binaire qu'une simple émission de télévision. Dans le cadre de la diffusion sur internet, et le téléchargement successifs des chunks, ceux-ci sont encodés et diffusés à débit binaire constant (CBR), ainsi la contrainte sur la taille des données est respectée. 2. ARRIÈRE-PLAN TECHNOLOGIQUE Chaque encodeur est destiné à convertir des programmes de télévision non 10 compressés en programmes de télévision compressés, dans le cadre d'un encodage, ou de convertir des programmes de télévision déjà compressés selon un premier format de codage en programmes de télévision compressés selon un second format de codage, dans le cas du transcodage. Dans la suite du document, on confondra les deux notions d'encodage et de transcodage. 15 La principale solution d'encodage d'une chaîne de télévision est d'utiliser un débit binaire constant (mode CBR). Cela signifie que le flux va être encodé en utilisant une consigne de débit fixe pendant toute sa durée. Cependant, ce mode d'encodage ne propose pas une gestion optimale du débit. Dans le cas d'un flux simple, ou le débit binaire fixé est supérieur aux besoins, une partie du débit binaire peut ne pas être utilisé 20 et donc gaspillé. Réciproquement pour les flux compliqués, le débit binaire fixé peut être insuffisant, ayant pour conséquence de réduire la qualité du flux. De ce mode de réalisation en résulte un effet de variation de la qualité des images. D'un autre côté, cette solution d'encodage permet de garantir un délai d'encodage de la chaîne de télévision faible, de garantir une lecture sans interruption et a la particularité d'être déterministe, à 25 savoir que la taille des flux de télévision est prédictible facilitant ainsi le stockage des chunks. L'invention, dans au moins un mode de réalisation, a notamment pour objectif de pallier ces différents inconvénients de l'état de la technique. L'invention permet d'optimiser l'allocation de débit (pas de gaspillage de bits), et d'optimiser la qualité 30 vidéo en allouant le débit nécessaire sur les passages de complexité plus élevée, et ceci avec un système temps réel qui garantit un délai court et une lecture sans interruption au 3055763 3 niveau du player de l'utilisateur. De plus la taille des données à stocker est connue et garantie. 3. OBJECTIFS L'invention, dans au moins un mode de réalisation, a notamment pour objectif de 5 pallier ces différents inconvénients de l'état de la technique. L'objectif de l'invention est la mise en oeuvre d'un procédé permettant une allocation variable du débit binaire dans un contexte de diffusion sur internet d'une chaîne de télévision. Plus précisément, dans au moins un mode de réalisation de l'invention, un 10 objectif est de fournir une technique permettant d'optimiser la qualité vidéo, dans un contexte de diffusion sur internet, permettant ainsi de fournir la meilleure qualité possible sans perturber les contraintes de réseaux existantes. 4. DESCRIPTION DÉTAILLÉE Un lecteur de flux vidéos diffusés sur internet télécharge les chunks successifs de 15 durée de K secondes chacun. Traditionnellement ces chunks sont encodés à débit binaire constant, cf Figure 2. L'invention conserve le découpage du flux vidéo en chunks, en respectant leur taille constante, mais utilise un encodage à débit binaire variable (mode VBR, pour « Variable Bit Rate » en anglais) au sein des chunks, cf Figure 5. 20 Afin d'optimiser la qualité vidéo d'un flux de télévision pour une bande passante donnée, l'encodage en mode VBR a été introduit. Il permet de faire varier dynamiquement le débit binaire en fonction de la complexité du flux (variable au cours du temps). Les flux encodés en mode VBR ont donc un débit binaire qui varie au cours du temps. Cette technique à débit variable permet d'améliorer la qualité d'une chaîne de 25 télévision. L'objectif de l'invention est de réaliser une allocation de débit pour chaque portion de chunk, en fonction de la complexité de ces portions. Un chunk vidéo d'une durée de K secondes est ainsi divisé en N portions pour lesquelles un débit va être calculé. La moyenne des débits des N portions est égal au débit cible qui est constant 30 pour le chunk, cf Figure 5. Ainsi le débit du chunk est maitrisé et permet une lecture sans interruption. De plus sa taille est connue pour le stockage. Par exemple, la Figure 3 3055763 4 représente une possible allocation VBR d'un chunk d'une durée de 10 secondes, découpé en 10 portions d'une seconde, par rapport à une allocation CBR de ce même chunk. Dans un mode de réalisation contraint, des bornes minimales et maximales peuvent être ajoutées. 5 Nous décrivons ici le processus tel qu'il sera mis en oeuvre dans une prochaine version de l'encodeur vidéo temps-réel Ericsson. Dans un mode de réalisation particulier, nous utilisons un encodeur H.264/MPEG4-10 AVC pour la diffusion live d'une chaîne de télévision sur internet (basée HTTP). La Figure 1 présente une vue d'ensemble du domaine de l'invention. 10 La capture est un appareil qui capture une chaîne de télévision en entrée et qui la convertit en un format utilisable par l'encodeur. Par exemple dans au moins un mode de réalisation, l'entrée vidéo du module capture peut être au format SDI et la sortie correspondante au format YUV "brut". Le module capture fournit une vidéo, composée de trames qui sont transmises une par une aux modules suivants. 15 A partir des trames délivrées pas le module capture, l'encodeur émet une suite de trames compressées dont la taille moyenne est fixée par le processus. Cette suite de trames compressées forme une chaîne de télévision qui est transmise au packager. Le packager est un module optionnel qui découpe le flux compressé sortant de l'encodeur et le rend conforme à un format choisi (HLS ou HDS par exemple). 20 Le canal de communication (réseau internet) permet de transporter le flux compressé jusque l'utilisateur final, à savoir le player. Le player reçoit le flux compressé en temps réel et l'affiche. La Figure 4 présente une vue détaillée de l'encodeur. Celui-ci est composé de différents éléments. 25 Le buffer récupère les chunks qui seront compressés avec une taille fixe. A la suite, un module divise chaque chunk en portions et estime la complexité de chaque portion de chunk. L'allocateur statistique a pour rôle de sélectionner dynamiquement un jeu de paramètres d'encodage pour chaque portion de chunk afin d'optimiser la qualité vidéo 30 tout en respectant le débit cible du chunk. En d'autres termes, chaque portion de chunk est analysé et des données relatives à sa complexité sont communiquées à l'allocateur 3055763 5 statistique afin d'envoyer de nouveaux paramètres dynamiques d'encodage. Pour une portion de chunk donnée, chaque jeu de paramètres d'encodage est défini non seulement en fonction des critères d'encodage de la portion concernée mais également en fonction des critères des autres portions du chunk gérées par l'allocateur statistique. 5 Finalement, la dernière partie consiste à encoder chaque portion de chunk en utilisant les paramètres d'encodage fournit par l'allocateur statistique. Dans le cadre de la Figure 4, le chunk est divisé en 4 portions S1 à S4, qui sont analysées. L'allocateur statistique reçoit les informations à 14 relatives aux 4 portions S1 à S4 afin de déterminer les paramètres d'encodage optimaux J1 à J4, tout en 10 garantissant la taille fixe du chunk. La partie encodage va ainsi associer à chaque portion de chunk, le jeu de paramètres d'encodage qui lui est associé provenant de l'allocateur statistique. Dans cette réalisation particulière, les morceaux sont de taille K=10 secondes, et sont découpés en N = 50 portions. 15 Avantages de l'invention - Allocation de débit optimal. L'allocation de débit est optimisée par rapport à un encodage à débit constant. Les bits inutilisés dans les passages de faible complexité sont réutilisés dans des 20 passages de complexité plus élevée. - La qualité vidéo est améliorée. La quantité d'information contenue dans un signal peut varier énormément au cours du temps. Par exemple, dans le cas d'un signal vidéo, on peut passer d'une scène statique contenant des textures lisses à une scène comportant beaucoup d'objets en 25 mouvement et des textures complexes. Dans ce cas, on observe une augmentation importante de la complexité de la scène, et donc de la quantité d'information. Lorsque l'on met en oeuvre des techniques de compression, cette variabilité naturelle a pour conséquence de faire varier le débit de données généré par l'encodeur. L'encodage CBR contraint ce débit mais entraîne une variation de la qualité vidéo de la scène. La solution 30 proposée permet de tirer parti de l'encodage VBR : la variabilité du débit permet d'homogénéiser la qualité vidéo tout en respectant une contrainte externe de débit fixe sur un chunk. 3055763 6 - Délai court Le délai entre le système d'encodage et l'utilisateur final est de quelques secondes, ce qui correspond au délai observé dans les systèmes existants d'encodage à débit constant. 5 - Lecture sans interruption La taille fixe des chunks assure une lecture sans interruption au niveau de l'utilisateur. - Stockage maitrisé La taille des chunks est déterminée et reste fixe, ce qui permet de maitriser 10 l'espace de stockage de ces flux. - Solution temps réel La solution proposée est exécutable en temps réel. Sous contrainte de choisir une valeur pour K inférieure à 30 secondes, préférentiellement inférieure à 10 secondes, le procédé proposé permet un mode de réalisation dans un encodeur « live », par exemple 15 pour la diffusion en direct d'une chaîne de télévision. Il n'est pas nécessaire d'effectuer un double encodage et/ou de stocker le flux vidéo au niveau de l'encodeur. - Gestion du VBR au niveau de l'encodeur La gestion du VBR dans le réseau n'a pas d'impact sur la qualité vidéo, l'ajout du VBR au niveau de l'encodeur n'est pas incompatible avec les contraintes des canaux 20 de communications et permet d'optimiser la qualité vidéo. - Flexibilité La taille des portions, le débit moyen du chunk ainsi que les contraintes maximale et minimale de débit sont des paramètres facilement modifiables dans la solution proposée. Par exemple, il est aisé de modifier la taille des chunks pour s'adapter 25 aux contraintes du canal de communication, ou la contrainte maximale de débit pour s'adapter à une contrainte d'un player. REVENDICATIONS1. Claims