PROCEDE DE TRANSMISSION A DEBIT BINAIRE VARIABLE A TRAVERS
UN CANAL DE TRANSMISSION.
Les opérateurs impliqués dans la distribution de services notamment vidéo doivent fournir à l'utilisateur final un niveau de qualité donné au niveau du terminal afin de ne pas dévaloriser le contenu du service.
Ils doivent également minimiser les coûts de stockage et/ou d'acheminement du service en contrôlant un procédé de codage vidéo à réduction de débit utilisé, ainsi que les ressources du réseau de transmission allouées pour acheminer le service vidéo. Ces procédés de codage et de transmission ont un impact variable sur la qualité restituée à l'utilisateur suivant leur configuration et le contenu du service vidéo.
Par ailleurs, le développement des technologies numériques a abouti à la mise à disposition du public d'une grande diversité de terminaux capables de restituer des images vidéo. Ces terminaux ont des capacités très diverses, allant par exemple du petit écran d'un terminal portable au grand écran d'un téléviseur.
Il existe de nombreux procédés connus d'allocation de ressources pour le codage à réduction de débit ou la transmission numérique. Les différences entre ces méthodes résident dans les mesures de qualité utilisées, les moyens d'action sur la qualité (c'est à dire les ressources sur lesquelles les méthodes agissent), parfois les algorithmes d'optimisation mis en œuvre.
Il existe principalement trois types connus de mesures de qualité :
Les mesures au niveau physique se traduisent par des informations relatives à des unités d'information élémentaires comme les le taux d'erreur binaire (ou « Bit Error Rate », BER) ou le taux d'erreur par bloc de bits (BLER) dans le canal de transmission, le débit du canal, la bande passante, la puissance transmise, le rapport Signal/Interférence (SIR), etc. Le taux d'erreur binaire (désigné par BER par la suite) est la mesure la plus utilisée dans la littérature pour caractériser les erreurs du canal.
Les mesures au niveau réseau/transport sont en général relatives à des éléments d'information plus structurés comme des paquets : taux de pertes de paquets, débit utile, délai de transmission, variation du délai de transmission.
- Au niveau de l'image décodée, des mesures de qualité objective sont parfois effectuées, mais elles ne sont pas exploitées pour réaliser une allocation de ressources. Des mesures de complexité de l'image vidéo sont également utilisées dans les procédés de multiplexage statistique (voir L. Bôrôczky, « Statistical multiplexing using MPEG-2 encoders », IBM J. res. develop. Vol. 43 No. 4 JuM 999), dans le but d'ajuster le débit.
Ces mesures sont exploitées pour piloter divers mécanismes d'action sur le flux vidéo codé :
Au niveau du codage à réduction de débit : le débit de codage, le nombre de couches dans le cas d'un codeur échelonnable (scalable).
Au niveau de l'interface entre le codeur et le réseau, et dans le réseau : la retransmission d'un paquet non reçu ou reçu erroné, la modification du niveau de protection des données contre les erreurs par des mécanismes de correction, la protection différenciée des données suivant leur importance, la priorité de transmission des données, la puissance d'émission. Les procédés d'allocation ou d'optimisation de ressources sont de deux types :
Les procédés binaires engageant une action ou l'allocation d'une ressource à partir d'un événement signalé par une des mesures. Un exemple est le déclenchement de la retransmission d'un paquet par le réseau lorsque celui-ci est signalé manquant ou erroné par le récepteur.
Les procédés de pilotage d'une ressource à partir d'une loi pré déterminée de manière logique ou empirique. Un exemple de cette approche est illustré dans le document 3GPP Technical Spécification 23.107
V5.12.0, « Quality of Service (QoS) concept and architecture », 3rd
Génération Partnership Project : les paramètres de transmission d'un service sur un réseau UMTS sont définies en fonction du type de service.
Un domaine particulier qui utilise des techniques d'ajustement de ressources est la télévision numérique. Aujourd'hui, l'ajustement du débit de codage ne prend pas en compte les caractéristiques de plusieurs types de terminaux possibles, et est au moins en partie manuel :
Les opérateurs peuvent décider du débit de codage pour chaque programme selon son contenu et éventuellement l'ajuster manuellement en fonction du retour d'expérience.
Alternativement, l'utilisation de procédés de codage à réduction de débit variable et multiplexage statistique permet d'obtenir un débit variable en fonction seulement du contenu de la vidéo. Cependant, il est toujours nécessaire de fixer manuellement un débit minimal et un débit maximal admissibles, choisis en fonction du contenu du programme.
Les opérateurs impliqués dans la distribution de services vidéo devraient fournir à l'utilisateur final un niveau de qualité donné, tout en minimisant les coûts de stockage et/ou d'acheminement du service, qui passe par l'ajustement de l'utilisation des ressources. Il existe ainsi que montré ci- dessus, des techniques au moins en partie manuelles et des techniques d'allocation automatique de ressources. Toutes ces techniques connues présentent au moins un inconvénient.
Beaucoup de techniques d'ajustement des ressources de codage sont aujourd'hui au moins en partie manuelles. Par exemple, les opérateurs de télévision numérique décident du débit de codage pour chaque programme ou chaque type de programme et mettent en œuvre ce paramétrage de manière manuelle. En pratique, les programmes très animés tels que les retransmissions sportives demandent un débit supérieur aux autres. Alternativement, l'utilisation de procédés de codage à réduction de débit variable et multiplexage statistique permet d'obtenir un débit variable en fonction du contenu de la vidéo. Cependant, il est toujours nécessaire de fixer manuellement un débit minimal et un débit maximal admissibles. Par ailleurs, le critère de qualité utilisé pour ajuster le débit de codage est un paramètre de complexité de l'image, et non pas une mesure de qualité perçue après codage. Enfin, ce procédé ne prend pas en compte les caractéristiques propres du terminal pour ajuster les paramètres de codage.
Les techniques existantes d'allocation automatique de ressources de transmission sont toutes basées sur des mesures de qualité de la transmission au niveau du réseau. Or, ce type de mesure n'est pas bien représentatif de la qualité perceptuelle restituée à l'utilisateur. Il découle de l'utilisation de ces mesures non perceptuelles une non garantie de la qualité restituée à l'utilisateur final, et par conséquent une utilisation des ressources de transmission non optimale. Ceci empêche un opérateur de garantir un niveau de qualité perçue donné, et d'utiliser les ressources de transmission de manière optimale.
La présente invention propose un procédé et un système réalisant la sélection de la configuration de codage vidéo à réduction de débit ainsi que l'allocation de ressources au niveau du réseau de transmission.
Le but recherché est de restituer un niveau de qualité vidéo donné au niveau du terminal et d'optimiser l'utilisation des ressources de stockage et/ou transmission. Pour cela, la méthode associe des techniques de mesure de la qualité perceptuelle vidéo et le cas échéant d'optimisation par quantification vectorielle.
La présente invention propose une méthode et un système réalisant Ia sélection de la configuration de codage vidéo à réduction de débit ainsi que l'allocation de ressources au niveau du réseau de transmission se basant sur la qualité perçue au niveau du terminal et éventuellement les caractéristiques du terminal de l'utilisateur.
Le but recherché est de restituer un niveau de qualité vidéo donné au niveau du terminal et d'optimiser l'utilisation des ressources de stockage et/ou transmission.
Pour cela, la méthode associe des techniques de mesure de la qualité perceptuelle vidéo et d'optimisation. Des mesures de qualité perçue peuvent être obtenues à partir des images vidéo décodées, et non pas à partir du flux vidéo compressé.
L'invention concerne ainsi un procédé de transmission d'un programme vidéo à débit binaire variable à travers un canal de transmission, caractérisé en ce qu'il met en œuvre un ajustement d'au moins un paramètre de codage et/ou de transmission en fonction d'au moins un vecteur de consigne à au moins une dimension représentant une qualité de réception souhaitée par ledit utilisateur final.
Un dit paramètre de transmission peut être le débit binaire et/ou le type de modulation et/ou la puissance de transmission.
Ledit ajustement est réalisé à partir d'une relation déterministe entre la qualité de réception souhaitée et Ie ou les paramètres de codage et/ou de transmission.
Alternativement, ledit ajustement est mis en œuvre en fonction d'une distance entre ledit vecteur de consigne et un vecteur de mesure représentant ladite qualité de réception mesurée au niveau dudit utilisateur final.
Ladite qualité de réception peut être mesurée sur une séquence de durée déterminée dudit programme. En particulier ledit ajustement est réalisé en modifiant la puissance d'émission P en fonction d'une distance entre le vecteur de consigne et le vecteur de mesure. Dans tous les cas, ledit ajustement peut être réalisé également en fonction d'au moins un paramètre du contenu du programme. Un paramètre du contenu peut être un paramètre d'activité et/ou un paramètre attribué au nom du programme et/ou au type de programme, ledit ajustement peut être réalisé également en fonction d'un paramètre caractéristique du terminal.
Un paramètre caractéristique du terminal peut être la résolution d'une image affichée sur ledit terminal et/ou la bande passante.
Le procédé peut mettre en œuvre l'élaboration d'un dictionnaire à partir d'un ensemble d'apprentissage comprenant NZ vecteurs R caractérisant les données de NZ tests, chaque vecteur Rz (Z variant de 1 à NZ) d'un test de rang z, résultant de l'union d'un vecteur Qz représentant la qualité perçue de ce test de rang z, et d'un vecteur Pz représentant le ou les paramètres de codage et/ou de transmission de ce test de rang z, et éventuellement d'un vecteur Tz représentant le ou les paramètres du terminal de ce test de rang z, et/ou d'un vecteur Cz représentant le ou les paramètres de contenu dudit programme.
Selon une première variante applicable au cas où le nombre NZ n'est pas très élevé, le dictionnaire est constitué par les vecteurs de l'ensemble d'apprentissage. Il est constitué d'un groupe de N vecteurs (N = NZ). Le nombre NZ maximal de vecteurs pour lequel cette variante est applicable est fortement dépendant des caractéristiques de l'application (par exemple le nombre de requêtes de recherche du vecteur optimal par seconde) et des contraintes d'implémentation (par exemple les capacités de calcul et de mémoire qu'il est possible d'affecter au processus de recherche du vecteur optimal). Par exemple, si l'on souhaite ne réaliser que 10 000 comparaisons vectorielles par seconde, il ne sera possible de réaliser que 100 recherches de vecteurs optimaux par seconde dans une liste de NZ = 100 vecteurs, ou bien seulement 50 recherches de vecteurs optimaux par seconde parmi NZ = 200 vecteurs. Sinon, le dictionnaire est obtenu par un algorithme de classification vectorielle à partir dudit ensemble d'apprentissage, et est
constitué par un groupe de N vecteurs (avec N < NZ) présentant une distorsion moyenne minimale par rapport aux NZ vecteurs de l'ensemble d'apprentissage. Le nombre de vecteurs N du dictionnaire à utiliser est fortement dépendant des caractéristiques de l'application et des contraintes d'implémentation (de même que pour le choix de NZ pour la première variante), mais aussi fonction d'un compromis entre la précision du dictionnaire et sa taille. Plus le dictionnaire est grand, et plus il est précis, ce qui donne une performance supérieure au système. En pratique, un dictionnaire de N = 20 à 40 vecteurs convient pour un ensemble d'apprentissage de 10 séquences codées différentes à deux résolutions différentes et 10 débits différents (soit NZ = 200 configurations).
Après constitution du dictionnaire, l'ajustement peut être réalisé en déterminant par quantification vectorielle le vecteur du dictionnaire correspondant le mieux à un vecteur de contrainte représentant au moins Ia qualité souhaitée.
Ledit vecteur de contrainte peut être constitué de l'union d'un des vecteurs représentant la qualité souhaitée avec un vecteur représentant au moins un paramètre de contenu et/ou un vecteur représentant au moins un paramètre du terminal. Selon une autre variante ne mettant pas en œuvre la quantification vectorielle, mais impliquant une mesure au niveau du terminal de la qualité perçue pour le programme transmis, le procédé est caractérisé en ce qu'un dit ajustement par exemple de la puissance d'émission P, est réalisé par pas DP en fonction de la différence entre la qualité perçue mesurée Q et la qualité cible QC pour Ie programme vidéo.
Le procédé peut être alors caractérisé en ce que :
- Si | Q - Qc | est inférieur à un premier seuil, Ia puissance P n'est pas modifiée
- Si | Q - Qc | est compris entre le premier seuil et un deuxième seuil, Ia puissance est augmentée ou diminuée du pas DP selon que le signe de Q - QC est respectivement négatif ou positif
- Si | Q - Qc | est compris entre le deuxième seuil et un troisième seuil supérieur au deuxième seuil, la puissance est augmentée ou diminuée de kDP avec 1 < k = 2 selon que le signe de Q - Qc est respectivement négatif ou positif.
Avantageusement, il est caractérisé en ce que le pas DP est variable en fonction d'un type de contenu associé au programme vidéo.
D'autres caractéristiques et avantage de l'invention apparaîtront à la lecture de la description ci-après, en liaison avec les dessins dans lesquels :
- La figure 1 illustre le contexte général de la fourniture de services vidéo ;
- La figure 2 illustre une relation entre le débit de codage et la qualité perçue, en fonction du contenu ; - La figure 3 illustre un gain de débit en rapport avec la figure 2 ;
- La figure 4 est une illustration du procédé selon l'invention ;
- La figure 5 illustre un codage par quantification vectorielle, alors que la figure 6 illustre la procédure d'élaboration d'un dictionnaire ; - La figure 7 illustre le procédé d'élaboration du dictionnaire dans le cas de la présente invention ;
- Les figures 8 et 9 illustrent les sous-étapes de recherche de la configuration de codage et de transmission dans le cas d'une quantification vectorielle ; - La figure 10 illustre la procédure de recherche de la configuration de codage et de transmission dans le cas de l'utilisation d'une loi déterministe ;
- Les figures 11 et 12 illustrent la constitution d'un dictionnaire respectivement sans classification et avec classification ; - La figure 13 illustre la sélection du débit de codage optimal en fonction de la résolution du terminal et de la qualité demandée ;
- La figure 14 illustre l'enchaînement des étapes d'ajustement à une configuration optimale ;
- La figure 15 illustre l'ajustement de la puissance d'émission en fonction de la qualité mesurée et du type de contenu.
- La figure 16 illustre par exemple l'impact des pertes de paquets sur la proportion d'images vidéo perdues, en fonction du type de séquence (lente ou rapide).
La qualité d'un service vidéo restituée au niveau de l'utilisateur final est nettement influencée par le procédé de codage à
réduction de débit, les ressources allouées à ce service dans le réseau de transmission, et les capacités du terminal de visualisation.
La figure 1 montre les principaux éléments impliqués dans la fourniture d'un service vidéo, à savoir la compression vidéo (ou codage à réduction de débit, Ia transmission vers le terminal par le réseau de transmission, et enfin le terminal).
1 ) Les procédés de compression vidéo ou de codage à réduction de débit :
Ils permettent d'adapter un flux d'informations binaires représentant les images vidéo aux capacités des équipements situés en aval : réseau, terminal. Mais ces procédés introduisent des pertes d'information : les images restituées après décodage ne sont pas identiques aux images originales. Il peut en résulter des dégradations visibles sur les images décodées, ce qui a un impact sur la qualité du service rendu au niveau de l'utilisateur final.
L'importance de la visibilité des dégradations de codage varie en fonction de nombreux paramètres : le contenu du signal vidéo, le débit du flux binaire codé, la résolution spatiale, la fréquence de rafraîchissement des images, etc. Afin de restituer un niveau de qualité voulu, les paramètres du procédé de codage à réduction de débit doivent donc être soigneusement sélectionnés.
2) La transmission du flux binaire issu du codage à réduction de débit vers le terminal par un réseau de transmission :
Ce transport peut s'accompagner de pertes d'informations binaires. Les procédés de réception puis de décodage du flux au niveau du terminal restituent alors des signaux vidéo qui peuvent être affectés par des dégradations visibles, ce qui a un impact sur la qualité du service rendu au niveau de l'utilisateur final.
L'importance de la visibilité des dégradations de transmission varie en fonction de nombreux paramètres : contenu du signal vidéo, débit ou puissance d'émission allouée, protocole de transmission (par paquet, avec ou sans procédé de correction, ...), distribution et importance des pertes, type des informations perdues, etc. L'invention propose de maintenir le niveau de qualité restitué à l'utilisateur, tout en minimisant l'utilisation des ressources réseau en ajustant les paramètres de la transmission à la qualité demandée ou à Ia qualité mesurée en comparaison avec Ia qualité demandée.
3) Le terminal :
Les caractéristiques du flux binaire et de la vidéo doivent être adaptées aux capacités de traitement et d'affichage du terminal de visualisation. Ii est par exemple inutile d'envoyer un flux vidéo de résolution supérieure à la résolution de l'écran du terminal, ou qui nécessite des capacités de calcul dépassant celles qui sont nécessaires pour recevoir ou décoder le flux. Les caractéristiques du terminal constituent donc des contraintes à prendre en compte lors du choix des paramètres du procédé de compression vidéo. La sélection des paramètres du procédé de codage à réduction de débit relativement à un niveau de qualité selon l'invention permet au fournisseur du service vidéo de s'engager sur la qualité perçue. De plus, cette sélection tenant compte des caractéristiques du terminal, cela permet à l'opérateur de minimiser les ressources nécessaires au stockage et/ou à la transmission de ce service.
L'ajustement des paramètres de transmission permet de s'adapter à un changement des caractéristiques du canal de transmission afin de maintenir la qualité perçue.
L'invention permet d'obtenir des gains de débit significatifs. En effet, la qualité perçue à l'issue d'un codage à réduction de débit est fortement dépendante du débit de codage. Le type de contenu et notamment la présence de mouvements et de détails fins dans la scène nécessitent un débit plus important qu'une scène non animée (dite moins complexe) pour obtenir un niveau de qualité donné. La figure 2 montre la variation de qualité perçue pour trois séquences I, II, III de complexité croissante en fonction du débit de codage.
Sans le procédé d'allocation de ressources proposé et qui met en œuvre une mesure de qualité perçue, il n'y a aucun moyen de connaître la qualité restituée à partir de mesures effectuées au niveau réseau, telles que des mesures de débit du flux vidéo, ou de taux d'erreur binaire. Une solution connue pour obtenir une bonne qualité est alors d'allouer quelle que soit la séquence le débit nécessaire pour garantir la qualité de la séquence la plus complexe. Dans ce cas, la figure 3 montre les gains en débit par rapport la séquence "III" de la figure 2, qui montre un gain en débit très significatif compris entre 20% et 50%.
La sensibilité d'un flux vidéo transmis sur un réseau numérique varie suivant le type de contenu vidéo. La présence de mouvement influe grandement sur la visibilité des dégradations engendrées par les erreurs de transmission. Dans le cas d'une transmission sur un réseau IP (Internet Protocol), on observe que pour un même nombre de paquets IP perdus, la baisse de qualité est plus importante pour les séquences vidéo ayant un contenu à fort mouvement.
Ceci peut être exploité en pratique dans un procédé d'ajustement de la puissance d'émission d'un émetteur UMTS pour donner la priorité aux flux vidéo « complexes », c'est à dire à fort mouvement.
La figure 4 illustre un exemple de système selon l'invention. Il s'agit essentiellement de :
- Un équipement 1 de mesure de la qualité perceptuelle d'un signal vidéo dans un réseau de transport ou de diffusion. Cet équipement réalise ses mesures à partir des signaux vidéo décodés par le terminal. Il peut éventuellement être intégré au terminal.
- Un équipement 2 d'optimisation des paramètres P de codage et/ou de transmission, à partir de la connaissance du type de contenu vidéo C, des caractéristiques du terminal, de la qualité perçue QC à obtenir (ou qualité cible), et de la qualité perçue Q effectivement mesurée.
- L'équipement d'optimisation des paramètres est constitué d'une entité de base de données DB et d'une entité de décision RECH.
Les procédés de mesure de la qualité perceptuelle vidéo applicables sont ceux qui exploitent les données issues du processus de décodage vidéo :
- soit uniquement les pixels des images vidéo reçues après transmission (procédé dit sans référence),
- soit les pixels des images vidéo reçues après transmission et une petite proportion d'information des images source (procédé dit avec référence réduite).
On se référera en particulier aux Demandes de Brevet déposées par TELEDIFFUSION DE FRANCE et publiées sous les numéros EP 1020085 et PCT WO 2004/047451 , cette dernière étant intitulée "Procédé et système de mesure des dégradations d'une image vidéo introduites par un codage à réduction de débit" pour un exemple de ces deux types de procédés.
Les procédés de mesure de qualité à référence complète ne sont pas applicables car ils nécessitent les pixels des images vidéo reçues après transmission et les pixels des images avant transmission.
La procédure d'optimisation a pour but de piloter l'utilisation des ressources en recherchant une configuration de codage ou de transmission permettant d'atteindre un niveau de qualité perçue donné. L'une ou l'autre des deux techniques suivantes est utilisable :
1. L'exploitation d'une base de données de cas représentatifs de la relation entre Ia qualité perçue et la configuration de codage ou du réseau de transmission. Un moteur de recherche par quantification vectorielle du cas de la base de données qui correspond le mieux à la qualité perçue voulue dans les conditions actuelles (imposées) et minimisant les ressources demandées au réseau.
2. Le calcul par une loi logique ou empirique déterminée à l'avance, donnant la relation entre la qualité perçue et la configuration de codage ou du réseau de transmission considérés.
La procédure d'optimisation peut être effectuée par quantification vectorielle.
La quantification vectorielle est une technique qui associe un point X (ou vecteur) d'un espace à t dimensions au point le plus proche
Uk = QV(X), au sens d'une distance Δ , parmi un ensemble de N vecteurs
U1 N appelé dictionnaire.
Uh.N = (Uj J = 1...N). Eq. 1
QV(X) = I I A(X,Ui) ≤ A(X,Uk); k = l..N Eq. 2 A(X, U) étant la distance entre les vecteurs (X,U) Eq. 3
Cette technique destinée à modéliser les processus complexes a par exemple été utilisée en codage de l'image. L'image étant au préalable subdivisée en sous-ensembles tels que des blocs rectangulaires de pixels, la quantification vectorielle consiste à rechercher pour chaque bloc de pixels le bloc de pixels du dictionnaire (appelé vecteur) le plus proche. Seul un indice ou adresse du vecteur est transmis au décodeur de l'image, décodeur qui reconstitue l'image grâce à la connaissance du dictionnaire et les identifiants des vecteurs correspondants.
La figure 5 montre le principe le principe du codage et décodage par quantification vectorielle. X est Ie vecteur à coder, Uk sont les éléments du dictionnaire; avec k = l..N , N nombre de vecteurs. Le codage
par quantification vectorielle fait correspondre à X l'indice (i) de son plus proche voisin dans le dictionnaire. Cet indice est le mot code qui sera transmis.
La notion de distance ou distorsion entre deux vecteurs est introduite pour la recherche du plus proche voisin dans le dictionnaire. Plusieurs distances ont été proposées pour optimiser la quantification vectorielle et pour approcher au maximum la fidélité des signaux initiaux.
La distance ou distorsion appelée erreur quadratique, est parmi celles qui sont les plus utilisées pour la quantification vectorielle.
(A, B) deux vecteurs de dimension t.
L'utilisation de la technique de la quantification vectorielle fait appel à deux étapes principales interdépendantes : 1. la formation du dictionnaire à partir d'un ensemble d'apprentissage
2. la recherche du plus proche voisin à l'aide d'une distance appropriée.
La manière dont ces deux étapes sont utilisées dans l'invention pour maîtriser la qualité perçue d'un service vidéo codé par réduction de débit et transmis numériquement sont successivement décrites dans la suite de ce document.
L'élaboration du dictionnaire DB constitue une étape est préalable à toute optimisation de la configuration de codage et de transmission par quantification vectorielle. Le dictionnaire est une base de données DB qui contient des cas représentatifs Uk = UL.N de la relation entre la_qualité perçue et Ia configuration de codage ou du réseau de transmission pour certaines caractéristiques du contenu vidéo et du terminal données.
Afin d'élaborer ce dictionnaire, un ensemble de tests doit être effectué. Les données caractérisant ces tests constituent un ensemble d'apprentissage {Rk}, qui est utilisé par une procédure spécifique de construction du dictionnaire (figure 6). Cette méthode est une approche empirique de modélisation par apprentissage de la relation entre la qualité
perçue et la configuration de codage ou du réseau de transmission pour certaines caractéristiques du contenu vidéo et du terminal fixées.
Chacun des NZ tests est identifié par son numéro z. Chaque test donne un cas particulier de la relation entre la qualité perçue mesurée Q2 et les paramètres de codage et de transmission P2 pour les caractéristiques du terminal T2 et du contenu vidéo C2 données. Le choix des différents tests effectués permet d'aboutir à un dictionnaire performant. Pour cela, afin de permettre une bonne modélisation de la relation entre ces différents paramètres, on fait varier les paramètres P2, T2 et C2 d'une part sur une plage correspondant aux conditions de fonctionnement en pratique, et d'autre part de manière à obtenir les niveaux de qualités perçues Q2 voulus (figure 7). Qz, Pz, T2 et C2 sont des vecteurs dans le cas le plus général : Q2 = (VQl2,..,VQnq>2) Eq. 5 avec nq : nombre de paramètres de qualité et VQi..nqι2 : paramètres de qualité pour le test z
PΣ = (vPlz,..,VPιφJ Eq. 6 avec np : nombre de paramètres de codage et transmission et VPi..nPιZ : paramètres de codage et transmission pour le test z
T2 = (VT11, ..,VTn J Eq. 7 avec nt : nombre de paramètres du terminal et VTi..nt,2 : paramètres du terminal pour le test z
C2 = (VC12,..,VCn J Eq. 8 avec ne : nombre de paramètres du contenu et VCi..nc,z : paramètres du contenu pour le test z Chaque vecteur d'apprentissage R2 de dimension t est issu de l'union de Q2, P2, T2 et C2. Il caractérise l'ensemble des données associées au test z (qualité perçue, paramètres de codage et de transmission, paramètres de terminal, et paramètres du contenu) :
R2 = Q2 U P2 U T2 U C2 = (F1 z ,.., V1 2 ) avec t = nq + np + nt + nc Eq. 9
u = union
Tableau 1 : Données constituant l'ensemble d'apprentissage L'ensemble de vecteurs R2, 1 < z ≤ NZ constitue l'ensemble d'apprentissage (tableau 1). Une procédure spécifique est appliquée à l'ensemble d'apprentissage afin d'élaborer le dictionnaire des cas représentatifs Uk avec 1 < k ≤ N. Deux cas sont possibles :
Cas 1 (correspondant à la première variante sans classification vectorielle) : le nombre de combinaisons entre les niveaux de qualité, les configurations de codage et transmission et les caractéristiques du terminal et du contenu est limité (par exemple NZ < 100). Dans ce cas, le dictionnaire UI..N peut simplement être égal à l'ensemble d'apprentissage :
UUN = (Rk , k = 1...NZ). et N = NZ Eq. 10
La limite au nombre de combinaisons peut être librement fixée, par exemple selon des critères d'implémentation comme la taille de la base de données ou la puissance de calcul nécessaire au module d'optimisation pour rechercher la configuration optimale.
Cas 2 (correspondant à la deuxième variante avec classification vectorielle) : le nombre NZ de combinaisons R2 contenues dans l'ensemble d'apprentissage est très grand. Une procédure d'analyse est nécessaire afin de générer les N vecteurs £Λ..Λ/. du dictionnaire qui représentent le mieux l'ensemble vectoriel R2 initial. Ce groupe de vecteurs est celui qui présente la plus petite distorsion moyenne par rapport à tous les vecteurs de l'ensemble d'apprentissage, parmi les autres dictionnaires candidats possibles. Les vecteurs de ce groupe sont alors les meilleurs vecteurs représentatifs de l'ensemble d'apprentissage, et par conséquent de la relation entre qualité et configuration de codage et de transmission et les caractéristiques du terminal et du contenu.
Des algorithmes de classification sont utilisés. Plusieurs auteurs ont proposé des solutions pour la classification en dictionnaires. Nuées dynamiques, ou Algorithme LBG. Le nombre N de vecteurs du dictionnaire est choisi suivant le nombre initial de vecteurs de l'ensemble
d'apprentissage, la précision de la modélisation et les contraintes d'implémentation.
Le dictionnaire issu de Ia procédure de classification constitue la base de données DB (figure 7). Bien entendu, ou pourrait a minima utiliser un vecteur d'apprentissage ne prenant en compte que la qualité perçue et les paramètres de codage et de transmission. Il est cependant avantageux de tenir compte du contenu. Les paramètres du terminal n'ont lieu d'être pris en compte qu'en cas d'une diversité d'utilisateurs dans l'application envisagée et lorsqu'il est possible de connaître le paramètre du terminal d'un utilisateur donné.
L'étape suivante consiste en une recherche de la configuration de codage et de transmission.
La première étape a généré un dictionnaire représentatif de la relation entre la qualité perçue mesurée et la configuration de codage ou du réseau de transmission pour certaines caractéristiques du contenu vidéo et du terminal données.
La seconde étape exploite ce dictionnaire pour trouver une configuration de codage et de transmission qui assure une certaine qualité cible QC au niveau de l'utilisateur final. Pour cela, le module RECH recherche cette configuration dans la base de données DB (figure 4).
On définit ci-après les données représentées sur la (figure 4) : Le vecteur Q contient les paramètres de qualité perçue mesurée courante. Il est identique au vecteur défini par la relation Eq. 5. Q = {yQι,..,VQnq) où nq : nombre de paramètres de qualité VQi Eq. 11 Une date représentative de la date de présentation du contenu vidéo est également associée à ce vecteur Q. Par exemple nq = 1 Q = indice de qualité entre 0 et 100.
Le vecteur QC définit les paramètres de qualité perçue cible à atteindre. Tous les paramètres VQQ de QC caractérisant la qualité cible existent dans Q, mais peuvent bien sûr être de valeurs différentes. Mais inversement, tous les paramètres VO,- de Q caractérisant la qualité mesurée n'existent pas nécessairement dans QC.
Par exemple, le vecteur QC peut être de dimension nqc = 1 et contenir une seule valeur gqc correspondant à la qualité cible à atteindre (par exemple qualité cible achetée par l'utilisateur par contrat, passé avec le
fournisseur d'un service audiovisuel) pour la qualité du service audiovisuel
(gqc).
Le vecteur Q doit nécessairement contenir une valeur de qualité audiovisuelle gq obtenue par mesure pour permettre au procédé d'optimisation par quantification vectorielle de fonctionner, en comparant gq et gqc. Q peut par contre être de dimension supérieure à la dimension nqc de
QC, par exemple nqc = 1 , mais nq = 3 dans la configuration où Q contient trois valeurs Q = (aq, vq, gq) correspondant respectivement à la qualité obtenue par mesure pour le signal audio (aq) pour la vidéo (vq) et pour l'audiovisuel (gq).
QC = ^QC1,.., VQC nqc) où nqc < nq et nqc: nombre de paramètres de qualité cible VQQ Eq. 12
Par exemple nqc = 1 QC = indice de qualité cible entre 30 et 95.
Le vecteur T contient les paramètres caractéristiques du terminal. Il est identique au vecteur défini par la relation Eq. 7.
T -{yτx,..,vτιιt) où nt : nombre de paramètres caractéristique du terminal VT1 Eq. 13
Par exemple nt = 1 paramètre VT/ = résolution de l'écran.
Le vecteur C définit les paramètres du contenu vidéo. Il est identique au vecteur défini par la relation Eq. 8.
C = (vc1,..,VCnc) où ne : nombre de paramètres du contenu vidéo VQ
Eq. 14
Par exemple ne = 1 paramètre VCi : activité d'une séquence vidéo ou type de séquence (lente, rapide, moyenne). - Le vecteur P définit les paramètres de codage et de transmission recherchés. Il est identique au vecteur défini par la relation Eq. 6. P = ψpx,..,VPnp) où np : nombre de paramètres de codage et de transmission VPj Eq. 15
Par exemple np = 1 , 2 ou 3 VPi, VP2, VP3: puissance d'émission et/ou débit binaire et/ou bande passante.
Le processus de recherche de la configuration optimale de codage et de transmission consiste à extraire le vecteur P donnant la configuration de codage et de transmission à utiliser pour fournir le niveau de qualité au niveau de l'utilisateur défini par le vecteur QC représentatif de la qualité cible, dans les conditions actuelles de contraintes représentées par les vecteurs Q, T, et C. L'avantage du procédé par vectorisation est qu'il n'est
besoin de mesurer la qualité perçue Q que lors de la constitution du dictionnaire.
Le processus de recherche est subdivisé en trois sous- étapes : a. Formation d'un vecteur de contraintes O. La date associée au vecteur Q est associée au vecteur de contraintes O. Cette date est représentative de la date de présentation du contenu vidéo. b. Quantification vectorielle sur le vecteur de contraintes O pour trouver le vecteur Uk du dictionnaire correspondant le mieux au vecteur de contraintes O présenté en entrée. c. Extraction du vecteur P de paramètres du système de codage et de transmission.
Sous-étape a) Formation du vecteur de contraintes O. Le vecteur O représentant l'ensemble des contraintes courantes de fonctionnement du système est constitué, dans le cas le plus performant de l'union des vecteurs T, C, et d'une combinaison Q' des vecteurs Q et QC. En effet, chaque paramètre du vecteur O doit être unique, alors que les paramètres du vecteur QC sont toutes présentes dans le vecteur Q. L'objectif final est de trouver les vecteurs de paramètres de codage P permettant d'obtenir une qualité cible définie par QC.
Q '=QCu{ VQ , I VQ 1 3 dans QC } avec VQ,- définis parg = (Fa,..,Fg,J
Eq. 16 avec/ = tel que
Par exemple, dans le cas où QC est de dimension nqc = 1 et contient une seule valeur gqc correspondant à la qualité cible à atteindre, et Q est de dimension nq = 3 et contient trois valeurs Q = (aq, vq, gq) correspondant respectivement pour le signal aux qualités audio (aq), vidéo
(vq) et audiovisuelle (gq) obtenues par mesure, le vecteur Q' résultant de l'application de Eq 16 sera Q' = (gqc), correspondant à la contrainte de qualité audiovisuelle à obtenir du système de codage et de transmission.
Puis, Ie vecteur O est formé par union de T, C, Q'. Le vecteur résultant est de dimension h.
O = Q'vT U C = (VOι,..,VOh) avec h = nq + nt + nc Eq. 17
Sous-étape b) Quantification vectorielle. La quantification vectorielle fait correspondre au vecteur O de paramètres VO,- en entrée, le vecteur U du dictionnaire correspondant le
mieux au vecteur de contraintes O présenté en entrée. La quantification vectorielle proprement dite est effectuée sur un sous-vecteur Sk de chaque vecteur Uk. En effet, le vecteur O ne contient qu'un sous-ensemble des paramètres des vecteurs Uk. Les paramètres de Uk non présents dans O sont les paramètres Pk de codage et transmission associés à cet ensemble de contraintes O. Chaque vecteur Sk est donc défini par S k ={ V t /V , 3 dans O } avec V1 définis par U = (V1, ..,V1) Eq. 18 avec/ = tel que
La minimisation de la distorsion entre le vecteur incident O et tous les sous-vecteurs Sk des vecteurs UL.N du dictionnaire est opérée. Elle permet d'identifier Ie vecteur U correspondant le mieux au vecteur de contraintes O.
Sous-étape c) Extraction des paramètres de codage et de transmission. Les paramètres de U non présents dans O sont les paramètres P de codage et transmission associés à cet ensemble de contraintes O. Il suffit donc d'extraire de U le vecteur P représentant les paramètres de codage et qui est donc défini par
P=[ V 1 IV . g dans 0 } avec V/ définis par U = (V1, ..,V1) Eq. 19 avec/= tel que
L'ensemble du fonctionnement de la procédure de recherche est illustrée sur Ia figure 9 pour un cas particulier nq = 4 et nqc = 2 :
Les paramètres du vecteur P trouvé, ainsi que certains paramètres du vecteur U trouvé par quantification vectorielle à la sous-étape b si nécessaire, peuvent ensuite être appliqués au processus de codage à réduction de débit et au processus de transmission.
En effet, certains paramètres considérés comme des paramètres de contrainte, donc présents dans le vecteur O, peuvent également être des paramètres utiles pour définir la configuration de transmission.
Par exemple, considérons le cas où on désire optimiser Ia configuration de codage vidéo en agissant sur les deux paramètres de la résolution spatiale et du débit de codage. S'il existe deux types de terminaux, correspondant à deux résolutions spatiales possibles pour l'écran, et que ces terminaux ne sont pas capables d'afficher correctement une vidéo codée de résolution différente de celle de leur écran, le paramètre résolution devient
une contrainte pour le procédé de codage de la vidéo à réduction de débit. Le seul paramètre du vecteur P sera donc le débit de codage. Pour autant, la résolution de codage (imposée par le terminal) doit également être appliquée au procédé de codage pour que le procédé d'optimisation soit exhaustif. La base de données DB a également une fonction de stockage des données générées par le module de mesure de qualité perçue, ainsi que et des décisions d'optimisation prises par le module RECH. A cette fin, la base de données DB stocke les vecteurs O et P,- représentés sur la figure 9, accompagnés de la date représentative de la date de présentation du contenu vidéo qui est associée au vecteur O.
Une alternative à la quantification vectorielle est le calcul par une loi déterminée logiquement ou empiriquement à l'avance, donnant la relation entre la qualité perçue et la configuration de codage ou du réseau de transmission considérés. La procédure d'optimisation f donne les paramètres P de codage et transmission à utiliser pour obtenir une qualité cible QC, étant donnés les caractéristiques du terminal T et du contenu vidéo C1 et le niveau de qualité actuel mesuré Q (figure 10). Les variables P, QC, T, C, et Q sont définies par les équations Eq. 11 à Eq. 15, p. 15. P = f(QC,Q,T,c) Eq. 20 Dans ce cas, la totalité des connaissances nécessaires à la procédure d'optimisation est donc contenue dans la loi déterministe, localisée dans le module RECH. La base de données DB ne contient pas de données relatives à Ia procédure d'optimisation.
L'approche d'optimisation selon une loi déterministe est avantageuse car elle ne nécessite pas de base de données, qui peut être importante. En revanche, une loi déterministe ne peut être facilement déterminée que dans le cas d'un nombre de configurations peu élevé.
L'approche par quantification vectorielle et base de données de cas représentatifs est plus avantageuse dans le cas de nombreuses configurations.
L'invention s'applique particulièrement bien à la fourniture de séquences vidéo à la demande à partir d'un serveur en ayant recours à la quantification vectorielle du débit de codage optimal en fonction de la résolution du terminal et de la qualité demandée par l'utilisateur final, en fonction du type de séquence désirée.
Cette application utilise l'invention pour choisir le débit de séquences vidéo pré-codées et stockées sur un serveur vidéo parmi un certain nombre de valeurs possibles. La résolution du terminal de l'utilisateur ainsi que le niveau de qualité qu'il désire sont pris en compte afin de minimiser le débit nécessaire à la fourniture du service, aboutissant à une utilisation optimale du réseau de transmission. Le réseau de transmission utilisé est par exemple de type IP (Internet Protocol) DVB (Digital Video Broadcasting) ou UMTS (Universal Mobile Télécommunications System).
Cette application peut utiliser une procédure d'optimisation basée sur la quantification vectorielle, telle que décrite ci-dessus.
Selon les même notations, cette application définit donc les paramètres Q, QC, T, P et C comme :
• Q = QC = mesure ou cible de qualité vidéo comprise entre 0 et 100. Le procédé de mesure de qualité intègre par exemple le procédé selon la Demande de brevet PCT WO 2004/047451 précitée déposée par TDF.
• T = Résolution de l'écran du terminal, par exemple CIF (352 x 288) ou QCIF (176 x 144)
• P = Débit de codage, en kbit/s. • C = Nom de la séquence ou, dans une seconde variante ;
C = type de contenu (sport, actualités, ...), pour caractériser le contenu vidéo, par type de séquence.
Sinon, il est possible de caractériser le contenu vidéo par un paramètre d'activité de l'image une ou plusieurs sous-séquences de quelques secondes d'une séquence.
Deux variantes de construction du dictionnaire sont présentées ci-après, suivant que le contenu vidéo est identifié par le nom du contenu, ou par le type de contenu dans le dictionnaire contenu dans le module DB.
La première variante utilisant le nom du contenu est décrite à la figure 11.
1. Un certain nombre de signaux vidéo source sont acquis et codés par réduction de débit. Le codage est réalisé selon toutes les résolutions possibles au niveau des terminaux, et selon un plusieurs débits choisis dans une plage correspondant aux possibilités des terminaux et du
réseau de transmission. Dans le cas présent, les résolutions CIF et QCIF ont été utilisées, et des débits du canal de transmission allant de 48 kbit/s à 384 kbit/s, par exemple par pas de 10 kbit/s, ont été appliqués dans chacun de ces deux cas. 2. Chaque flux est évalué par le module de mesure de la qualité perçue. La qualité Qz caractérisant la séquence vidéo codée est la qualité moyenne mesurée sur la séquence.
3. Les flux vidéo codés sont stockés sur un serveur vidéo. Les autres données constituent le dictionnaire stocké dans DB: qualité Q, débit P de canal de transmission, résolution T de terminal, nom du contenu C. Il n'est donc pas nécessaire d'utiliser ici de procédure de classification, puisque la taille du dictionnaire reste modeste.
Ce dictionnaire peut ensuite être exploité par le module RECH pour trouver le débit nécessaire, ainsi qu'exposé ci-dessus. Une seconde variante utilisant le type de contenu au lieu du nom du contenu est décrite en relation avec la figure 12. Le mode de construction du dictionnaire est similaire : les séquences sont codés dans toutes les configurations désirées et leur qualité Qz évaluée. La différence vient de l'utilisation de l'information du type du contenu (par exemple sport ou actualités) plutôt que du nom. En effet, l'impact du codage vidéo à réduction de débit sur la qualité perçue varie fortement en fonction du type de contenu de Ia séquence, particulièrement la présence de défauts supplémentaires introduits par le canal de transmission. Par exemple, les séquences de sport nécessitent en général un débit supérieur en raison d'un contenu plus animé. II est possible d'utiliser cette propriété pour faire correspondre un type de contenu au débit de codage nécessaire à une qualité donnée obtenue à la réception.
Pour cela, une procédure de classification est préférable afin de regrouper les différentes mesures de qualité Q2 effectuées dans les mêmes conditions de visualisation T2 et de codage P2 pour plusieurs séquences différentes mais de même type Cz, en un seul vecteur Q, T, P1 C. Dans ce mode de réalisation, la procédure de classification utilisée est de préférence l'algorithme LBG avec la distance de Eq. 21.
La figure 13 détaille la mise en oeuvre de la procédure d'optimisation, lors d'une requête soumise par un utilisateur.
Au préalable, l'utilisateur accède à une liste de contenus stockés sur un serveur vidéo, identifiés par leur nom et leur type, par exemple à travers un navigateur Internet ; l'utilisateur choisit un contenu et un niveau de qualité désirée et envoie sa requête. Puis, le mécanisme utilisant l'invention se déroule en trois étapes sans intervention de l'utilisateur :
1. Le terminal utilisateur envoie au module RECH ses caractéristiques, les caractéristiques du contenu choisi, Ie niveau de qualité désiré QC, et éventuellement la dernière mesure de qualité Q en date.
2. Le module RECH recherche par quantification vectorielle dans la base de données le débit de codage P existant pour le contenu C sur le serveur vidéo qui assure la qualité QC demandée, pour la résolution imposée par le terminal, et renvoie cette information au terminal. Les paramètres reçus puis envoyés au terminal sont également stockés dans la base de données, par exemple pour analyse ultérieure. Le Terminal utilisateur accède au contenu C choisi par l'utilisateur au débit P choisi par RECH et l'utilisateur obtient le contenu demandé à une qualité QC.
On notera que la distance linéaire entre deux vecteurs A et B qui peut être utilisée ici pour la quantification vectorielle est plus simple à implémenter que la distance quadratique de l'équation Eq. 4.
M La figure 14 montre l'enchaînement des opérations réalisées par le module RECH.
RECH reçoit les caractéristiques du terminal T et du contenu C et éventuellement les mesures de qualité Q. Il stocke ces mesures dans la base de données DB via un Système de Gestion de Bases de Données (SGDB). RECH réalise ensuite une recherche de la meilleure configuration de codage ou de transmission P à partir du dictionnaire également stocké dans DB. La configuration P est envoyée vers les équipements concernés. Dans une variante de cette première application selon laquelle il y a sélection du débit de codage optimal en fonction de la résolution du terminal et de la qualité demandée, on utilise le procédé selon l'invention pour minimiser le débit de codage de séquences vidéo en prenant seulement en compte le niveau de qualité à atteindre, aboutissant à une utilisation optimale du réseau de transmission. Cette approche est particulièrement applicable lorsque les conditions d'utilisation du service vidéo - notamment le type de
terminal - et le contenu du service sont peu variables. C'est par exemple le cas pour un service vidéo à la demande destiné à être visualisé sur des terminaux de type télévision par les utilisateurs.
L'invention utilise la même procédure d'optimisation basée sur la quantification vectorielle, telle que décrite précédemment pour ladite première application, et les mêmes notations. La principale différence est que les paramètres T et P sont vides. La quantification vectorielle se base alors sur :
. Q = QC = mesure ou cible de qualité vidéo comprise entre 0 et 100. Le procédé de mesure de qualité intègre par exemple le procédé selon la Demande PCT WO/2004/047451 précité.
. P = Débit de codage, en kbit/s.
Les mêmes procédés de constructions du dictionnaire et d'opitimisation de paramètres P, ici réduit au débit du codage, sont utilisables. Selon une autre variante, le procédé selon l'invention permet un ajustement par exemple de la puissance d'émission en fonction de la qualité désirée et éventuellement du type de contenu, sans mise en œuvre d'une quantification vectorielle.
Cette application ajuste le niveau de puissance d'émission du service à partir d'un émetteur d'un réseau d'accès UMTS en fonction de la qualité perçue au lieu des paramètres standard de niveau réseau utilisés en
UMTS, tels que le rapport signal à bruit Eb/No. L'objectif est de maintenir un niveau de qualité donné et non pas un taux d'erreur binaire cible.
En effet, la sensibilité d'un flux vidéo transmis sur un réseau numérique varie suivant le type de contenu vidéo. La présence de mouvement influe grandement sur la visibilité des dégradations engendrées par les erreurs de transmission. Dans le mode de réalisation proposé, l'invention tire parti de cette propriété pour réagir seulement lorsque c'est nécessaire au maintien de la qualité perçue. L'invention peut utiliser dans un tel cas une procédure d'optimisation basée sur un algorithme déterministe, telle que décrit ci-dessus.
Il n'y a donc pas de procédure d'apprentissage aboutissant à un dictionnaire.
Selon les mêmes notations que précédemment, cette application définit les paramètres Q, QC, T, P et C comme suit : • QC = cible de qualité vidéo comprise entre 0 et 100.
• Q = mesure ou cible de qualité vidéo comprise entre 0 et 100. Le procédé de mesure de qualité perçue intègre le procédé de la Demande de Brevet PCT WO 2004/047451 précité. Q intègre également d'autres mesures : le débit effectif reçu par le terminal, et le taux de paquets de données erronés reçus.
• T = (Non utilisé)
• P = Puissance d'émission (en dB)
• C = Non utilisé ou, dans une seconde variante ; C = type de contenu (sport, actualités, ...)
La figure 13 permet de montrer un mode de fonctionnement préféré de l'application.
L'utilisateur accède à une liste de contenus stockés sur un serveur vidéo, identifiés par leur nom et leur type, par exemple à travers un navigateur Internet ; l'utilisateur choisit un contenu et un niveau de qualité désirée. Puis, le mécanisme utilisant l'invention se déroule en trois étapes sans intervention de l'utilisateur :
1. Le terminal envoie périodiquement au module RECH la dernière mesure de qualité Q en date, le niveau de qualité désiré QC et, dans la seconde variante, les caractéristiques C du contenu choisi.
2. Le module RECH applique la procédure d'optimisation à partir de C1 QC et Q pour trouver la puissance P nécessaire à assurer la qualité QC demandée dans les conditions de qualité perçues actuelles pour le contenu C. Cette puissance P est appliquée dans le réseau à l'émission du service vidéo.
Les paramètres reçus du terminal puis envoyés au réseau sont également stockés dans la base de données, par exemple pour analyse ultérieure.
Cette procédure d'optimisation qui ne met pas en œuvre la quantification vectorielle agit sur la puissance en fonction de la qualité perçue Q mesurée. Plus la qualité mesurée Q est éloignée de Ia qualité cible QC, plus la puissance variera de manière importante.
La procédure calcule périodiquement la nouvelle puissance P, par exemple toutes les secondes, à partir de la puissance actuelle PoId. Elle peut se résumer ainsi:
Un pas d'augmentation de la puissance DP est défini.
Si I Q - QC | < 5 P = PoId
Si 5 < I Q - QC I < 10 P = PoId - signe (Q - QC) x 1 x DP
Si 10 < | Q - QC | < 20 P = PoId - signe (Q - QC) x 2 x DP
Sinon P = PoId - signe (Q - QC) x 4 x DP La fonction signe(X) renvoie le signe de X. Ainsi, la puissance est augmentée lorsque Q < QC. Par exemple DP peut représenter 1 à 5 % de la puissance.
Le Procédé peut également être mis en œuvre pour prendre en compte à la fois la qualité mesurée au niveau du terminal et le type de contenu, sans avoir recours à la quantification vectorielle.
Cette variante tire parti de la variation de sensibilité d'un flux vidéo aux erreurs de transmission suivant le type de contenu vidéo. En effet, dans le cas d'une transmission sur un réseau IP ou UMTS on observe que pour un même nombre de paquets IP perdus, la baisse de qualité est plus importante pour les séquences vidéo ayant un contenu à fort mouvement. La figure 16 montre ce phénomène en prenant comme critère de dégradation la proportion d'images vidéo perdues par transmission : Ia perte d'images est plus importante pour les séquences très animées, ce qui correspond à une moins bonne qualité. Cette seconde variante de procédure d'optimisation tire parti de cette propriété à travers la précédure suivante:
Deux pas d'augmentation de la puissance sont définis, un pour chaque type de contenu: DPjsport > DP_actualites.
Si C = "sport" DP = DP_sport, par exemple 2 à 10% de Ia puissance Sinon DP = DP_actualites, par exemple 1 à 5% de la puissance
Si | Q - QC | < 5 P = PoId
Si | Q - QC | < 10 P = PoId - signe (Q - QC) x 1 x DP
Si | Q - QC | < 20 P = PoId - signe (Q - QC) x 2 x DP
Sinon P = PoId - signe (Q - QC) x 4 x DP La fonction signe(X) renvoie le signe de X. Ainsi, la puissance est augmentée lorsque Q < QC.
EXEMPLES
Exemple 1 : Pour la première variante de la première application (sélection du débit de codage optimal en fonction de Ia résolution du terminal et de la qualité demandée, avec utilisation du nom du contenu)
Le Tableau montre un exemple réel d'une partie d'un dictionnaire utilisé pour rechercher le débit optimal en fonction d'une qualité cible et d'un contenu désigné par son nom, avec une contrainte de résolution d'affichage. L'extrait représenté est valable pour 5 contenus différents encodés selon une combinaison de deux résolutions et quatre débits. Ces contenus sont dénommés : football ("Foot"), Kayak, Bois, Journal TV et Bande dessinée (BD).
Tableau 1 : Exemple d'extrait de dictionnaire (variante 1)
Les coordonnées de chaque ligne du Tableau 1 , c'est à dire de chaque vecteur du dictionnaire, peuvent se relier aux définitions des vecteurs Q, C, T et P précédemment définis aux Eq. 5, 6, 7, et 8 de la manière suivante :
Q = (pqos) et nq = 1 pqos = qualité de la séquence entre 1 et 100
C=( nom de séquence ) et ne = 1
T=( taille d'image ) et nt = 1
P=( débit binaire ) et np = 1
L'application de la procédure de quantification vectorielle avec un vecteur de QC contenant une valeur de qualité cible de pqos permet alors de sélectionner la valeur optimale du paramètre "débit binaire". Dans le cas présent, la distance entre deux coordonnées "taille image" (ou "débit binaire") est nulle si les deux coordonnées d'un même vecteur sont égales, sinon elle
peut être choisie par exemple égale à 100 de manière à être d'un ordre de grandeur comparable à la coordonnée pqos.
Puis, ainsi qu'indiqué plus haut dans la description (sous-étape c), la configuration de codage envoyée au codeur est composée du vecteur P et éventuellement de certains éléments du vecteur U : dans le cas présent, les paramètres "taille image" ou "débit binaire"constituent cette configuration.
Exemple II : Pour la seconde variante de la première application (sélection du débit de codage optimal en fonction de la résolution du terminal et de la qualité demandée, avec utilisation du type de contenu)
Le Tableau montre un exemple réel de dictionnaire utilisé pour rechercher le débit optimal en fonction d'une qualité cible et d'un type de contenu (nouvelles ou "News" et "Sport"), avec une contrainte de résolution d'affichage.
Tableau 2 : Exemple de dictionnaire (variante 2)
Les coordonnées de chaque ligne du Tableau 2, c'est à dire de chaque vecteur du dictionnaire, peuvent se relier aux définitions des vecteurs Q, C, T et P précédemment définis aux Eq. 5, 6, 7, et 8 de la manière suivante :
Q = (pqos) et nq = 1
C=( type de contenu ) et ne = 1 T=( taille d'image ) et nt = 1 P={ débit binaire ) et np = 1 L'application de la procédure de quantification vectorielle avec un vecteur de QC contenant une valeur de qualité cible de pqos permet alors de sélectionner la valeur optimale du paramètre "débit binaire". Dans le cas présent, la distance entre deux coordonnées taille d'image ou débit binaire est nulle si les deux coordonnées sont égales, sinon elle peut être choisie par exemple égale à 100 de manière à être d'un ordre de grandeur comparable à la coordonnée pqos.
Puis, ainsi qu'indiqué plus haut dans la description (sous-étape c), la configuration de codage envoyée au codeur est composée du vecteur P et éventuellement de certains éléments du vecteur U : dans le cas présent, les paramètres "débit binaire" et "taille d'image" constituent cette configuration.