Brevet FR2840495A1 — publié le 20031205

La présente invention concerne un procédé et un dispositif de sélection d'une méthode parmi un ensemble de méthodes de transcodage de données vidéo, les données étant susceptibles d'être transmises entre au moins deux appareils de communication par l'intermédiaire d'un réseau de communication. L'avancement technologique des appareils de communication numériques tels que les téléviseurs, les micro-ordinateurs de poche, les microordinateurs classiques ou tout autre appareil miniaturisé est tel que, dans les années à venir, il sera très probablement possible d'échanger des données de type multimédia et, par exemple, audio et/ou vidéo entre ces différents appareils. Des études de marché montrent, par ailleurs, que les utilisateurs sont prêts à acheter de tels appareils de communication à condition que le prix ne soit pas trop excessif et, surtout, que les services rendus soient de bonne qualité. Suite à l'identification de ce nouveau marché, de nombreuses études ont été menées concernant la miniaturisation des composants électroniques, de manière à obtenir des appareils ayant des capacités de mémoire et de calcul élevées dans un volume aussi réduit que possible. En outre, de nombreux organismes de normalisation ont mis en place des standards permettant d'unifier les échanges de données entre ces appareils aux caractéristiques différentes. Ces standards, tels que ceux de la famille IEEE 802, permettent à la fois la mise en #uvre et la gestion du transfert des données via un réseau particulier. Le standard IEEE 802. 11 et son homologue européen HYPERLAN sont dédiés aux réseaux locaux sans fil. Ils sont particulièrement étudiés actuellement car ce sont des réseaux larges bandes permettant de transmettre des données audio et/ou vidéo entre deux machines qui sont géographiquement proches. Ces standards sont donc particulièrement adaptés pour développer des réseaux locaux sans fil à l'intérieur des habitations. Les solutions techniques étudiées actuellement dans le cadre des standards susvisés appliqués aux réseaux locaux domestiques permettent de transmettre des données numériques soit entre une machine dite serveur et une machine dite client (transmission point à point), soit entre le serveur et plusieurs clients (communication multi-points) et ce, sans aucun fil. Dans cet environnement, les données sont stockées sur le serveur qui centralise toutes les communications avec le ou les clients. Ce serveur peut également servir de passerelle avec le monde extérieur (Internet, télévision, caméscope ...). Il convient de noter que les réseaux locaux domestiques peuvent être de nature hétérogène, c'est-à-dire qu'ils peuvent, par exemple, être pour partie constitués de liaisons sans fil et pour partie de liaisons filaires. Si de nombreux projets étudient la mise en #uvre de services autour de la télévision interactive et l'échange d'informations sur l'Internet, peu d'entre eux traitent des problèmes liés à la mise en #uvre de réseaux locaux domestiques, à savoir la mise en place de solutions permettant d'obtenir une qualité de services acceptable. A cet égard, il convient de noter que le transport de données à travers un réseau local n'est pas un service aisé à mettre en place. On connaît un système de communication d'après l'article "Transcoding Internet Content for Heterogeneous client devices" de J. Smith, R. Mohan, C-S. Li, Proc Int. Conf on circuits and Syst. (ISCAS), May 1998, qui prévoit d'adapter dynamiquement le contenu des données vidéo à transmettre à un appareil de communication à des caractéristiques de l'appareil et aux ressources du réseau. Pour ce faire, il est proposé un processus de sélection d'une méthode de transcodage qui soit adaptée à la catégorie de l'appareil et aux caractéristiques précitées de cet appareil et du réseau. Plus particulièrement, ce processus de sélection recherche parmi les méthodes de transcodage qui sont adaptées à l'appareil et aux caractéristiques susvisées la méthode pour laquelle on obtient une valeur maximale de fidélité. On notera que la mesure de fidélité est représentative de l'impact de la méthode de transcodage. Un processus de sélection d'une méthode de transcodage parmi un ensemble de méthodes de transcodage est également connu d'après l'article intitulé "Modeling Quality Adaptation Capabilities of Audio-Visual Data", H. Kosch, L. Bôszôrményi and H. Hellwagner. Institute of information technology, University Klagenfurt, Austria, July 2001. Dans cet article, on propose de classer des méthodes de transcodage sur une échelle de qualité graduée de 0 à 1, 1 représentant une qualité de restitution parfaite des données alors que 0 indique que les données multimédia transcodées sont très peu représentatives des données avant transcodage. Pour évaluer la qualité induite par une méthode de transcodage, il est, par exemple, possible d'effectuer d'abord un transcodage selon la méthode testée, puis un décodage et une mesure de la qualité, et ce pour l'ensemble des méthodes de transcodage considérées. Cependant, cette approche est coûteuse en termes de calcul et d'espace mémoire nécessaire. Un processus de sélection d'une méthode de transcodage connu du document intitulé "A new content-based hybrid video transcoding method", Y. Liang and Y. Tan, In proc. Of International Conference and Image Processing 2001, ICIP 2001 propose, quant à lui, une approche qui n'est pas trop coûteuse en termes de calcul et d'espace mémoire nécessaire. Selon le processus décrit, on détermine d'abord deux descripteurs vidéo pour chaque image d'une séquence vidéo à transcoder. Ces descripteurs mesurent l'activité spatiale et l'activité temporelle. En fonction de ces descripteurs ainsi déterminés le processus sélectionne une méthode de transcodage de qualité maximale parmi trois types de méthodes de transcodage qui proposent respectivement une requantification (réduction de débit), une réduction de la fréquence temporelle et une réduction de la résolution spatiale. Cependant, l'approche qui est proposée dans ce document ne permet pas toujours d'aboutir à la sélection d'une méthode de transcodage qui soit la plus adaptée possible au contenu de la séquence vidéo à transcoder. En effet, conformément à cette approche, une mesure traduisant une forte activité spatiale et une mesure traduisant une faible activité temporelle conduisent à la sélection d'une méthode de transcodage utilisant une requantification alors qu'une réduction de la fréquence temporelle est clairement plus adaptée. La présente invention prévoit de remédier à au moins un des inconvénients précités en proposant un nouveau procédé de sélection d'une méthode parmi un ensemble de méthodes de transcodage de données vidéo, lesdites données étant susceptibles d'être transmises entre au moins deux appareils de communication par l'intermédiaire d'un réseau de communication, caractérisé en ce que le procédé comporte les étapes suivantes : - détermination d'au moins un facteur de pondération à attribuer à chacune des méthodes de transcodage de l'ensemble, ledit au moins un facteur de pondération dépendant des données à transcoder, - pondération d'une valeur moyenne d'au moins une caractéristique représentative de chacune des méthodes de transcodage de l'ensemble en appliquant les facteurs de pondération adaptés, - sélection d'une méthode de transcodage en fonction des valeurs moyennes pondérées. Corrélativement, l'invention concerne un dispositif de sélection d'une méthode parmi un ensemble de méthodes de transcodage de données vidéo, lesdites données étant susceptibles d'être transmises entre au moins deux appareils de communication par l'intermédiaire d'un réseau de communication, caractérisé en ce que le dispositif comporte : - des moyens de détermination d'au moins un facteur de pondération à attribuer à chacune des méthodes de transcodage de l'ensemble, ledit au moins un facteur de pondération dépendant des données à transcoder, - des moyens de pondération d'une valeur moyenne d'au moins une caractéristique représentative de chacune des méthodes de transcodage de l'ensemble en appliquant les facteurs de pondération adaptés, - des moyens de sélection d'une méthode de transcodage en fonction des valeurs moyennes pondérées. Ainsi, les valeurs moyennes des caractéristiques représentatives des méthodes de transcodage de l'ensemble des méthodes sont pondérées en appliquant un facteur de pondération qui dépend des données à transcoder et qui est adapté aux méthodes de transcodage. Ces valeurs pondérées permettent d'affiner le processus de sélection d'une méthode de transcodage parmi l'ensemble des méthodes de transcodage en amplifiant l'écart entre les méthodes qui sont adaptées aux données à transcoder et celles qui n'y sont pas adaptées. Par exemple, si une caractéristique représentative de chaque méthode de transcodage est une mesure de la qualité induite par la méthode de transcodage, alors les valeurs moyennes de qualité pondérées permettront d'affiner le choix d'une méthode de transcodage en amplifiant l'écart de qualité entre les méthodes de transcodage qui sont adaptées aux données à transcoder et celles non adaptées. Par ailleurs, la valeur moyenne d'au moins une caractéristique représentative de chaque méthode de transcodage peut être obtenue avant que l'un des appareils de communication ne sélectionne une méthode de transcodage dans la mesure où l'obtention de cette valeur moyenne ne dépend pas des données à transférer. Plus particulièrement, la valeur moyenne peut être obtenue avant que l'appareil précité ne reçoive une requête émanant de l'appareil désirant recevoir des données. Cette faculté permet, par conséquent, de réduire le nombre d'opérations, plus particulièrement le volume de calcul, à effectuer en ligne, c'est-à-dire lorsque la connexion entre les appareils est établie. Ceci est d'autant plus vrai que l'invention prévoit d'extraire peu d'informations des données à transcoder, ce qui contribue également à réduire le volume de calcul effectué en ligne. Selon une caractéristique, le procédé comporte une étape préalable de classement des méthodes de transcodage de l'ensemble en plusieurs types de méthodes, le facteur de pondération étant ainsi déterminé suivant le type de méthode de transcodage et l'étape de pondération étant effectuée en fonction du facteur de pondération adapté au type de méthode de transcodage concerné. Selon une caractéristique, la détermination dudit au moins un facteur de pondération dépend de ladite au moins une caractéristique représentative de chaque méthode de transcodage qui va être pondérée. Selon une caractéristique, la valeur moyenne de ladite au moins une caractéristique représentative de chacune des méthodes de transcodage de l'ensemble est obtenue, pour chaque méthode, à partir de plusieurs valeurs de la caractéristique considérée qui ont été respectivement obtenues par application de la méthode concernée à plusieurs séquences de données dites d'entraînement. Ainsi, en utilisant des séquences de données d'entraînement qui forment un ensemble suffisamment hétérogène pour représenter à peu près tous les cas de figure extrêmes de séquences de données à transcoder, on est en mesure d'obtenir, pour chaque méthode, une valeur moyenne d'une ou plusieurs caractéristiques. Selon une autre caractéristique, l'étape de détermination dudit au moins un facteur de pondération prévoit, d'une part, de mesurer l'activité spatiale et l'activité temporelle des données à transcoder et des séquences de données d'entraînement et, d'autre part, de comparer entre elles les mesures de même nature. Ainsi, l'invention procure de très bons résultats en termes de choix de la méthode de transcodage la plus adaptée en extrayant peu d'informations des données à transcoder (séquence vidéo). En effet, il suffit d'effectuer une mesure de l'activité spatiale des données à transcoder et une mesure de l'activité temporelle de ces données. Cette réduction du volume de calcul à effectuer en ligne qui peut s'avérer, dans certains cas, pénalisant est permise grâce au fait que les autres informations (valeurs moyennes des caractéristiques...) nécessaires à la mise en #uvre du processus de sélection d'une méthode de transcodage selon l'invention sont obtenues hors ligne. Selon une caractéristique, en fonction du résultat des comparaisons effectuées entre les mesures, on déduit le ou les facteurs de pondération à attribuer aux méthodes de transcodage. Selon une caractéristique, une caractéristique représentative de chacune des méthodes de transcodage de l'ensemble est une mesure de qualité induite par la méthode concernée. Par la suite, on effectuera, par exemple, une pondération des valeurs moyennes de qualité respectivement obtenues pour les différentes méthodes de transcodage. Avantageusement, le coût lié à l'estimation de la qualité induite par les méthodes de transcodage sur la séquence courante est fortement réduit par une approche de pondération des valeurs moyennes de distorsion obtenues à partir d'un ensemble de séquences d'entraînement. Par exemple, l'activité spatiale est mesurée par la variance et l'activité temporelle est mesurée par l'erreur quadratique moyenne. Selon une caractéristique, un facteur de pondération s'écrit W1 = 1 A' selon le signe de A', avec A' = # A # / 2552et A = var - VAR, où var représente une mesure de la variance moyenne des données à transcoder et VAR représente une mesure de la variance moyenne des séquences de données d'entraînement. Ce facteur est préférentiellement à attribuer aux méthodes de réduction de la fréquence temporelle. Selon une caractéristique, un facteur de pondération s'écrit W2 = 1 B' selon le signe de B', avec B' = # B I / 255 2 et B = eqm - EQM, où eqm représente une mesure de l'erreur quadratique moyenne des données à transcoder et EQM représente une mesure de l'erreur quadratique moyenne des séquences de données d'entraînement. Ce facteur est préférentiellement à attribuer aux méthodes de requantification et aux méthodes de réduction de la résolution spatiale. Ainsi, l'obtention d'un facteur de pondération est relativement simple à réaliser. L'obtention de ce facteur n'induit qu'un relativement faible nombre de calculs à effectuer et ne requiert qu'un espace mémoire limité. Selon une autre caractéristique, chacune des méthodes de transcodage de l'ensemble est également représentée par au moins une des caractéristiques que sont le format des images après transcodage par la méthode concernée, le débit induit par la méthode concernée et l'espace mémoire nécessaire au décodage des données transcodées engendrées par la méthode concernée. Ainsi, il est possible de pondérer les valeurs moyennes d'une autre caractéristique que celle de la qualité. Selon encore une autre caractéristique, le procédé comporte une étape de test de la compatibilité de chaque méthode de transcodage avec au moins une contrainte associée à au moins un des appareils de communication et/ou au réseau. Les données susceptibles d'être transférées doivent en effet être adaptées au contexte dans lequel elles sont transmises, à savoir, par exemple, une ou plusieurs caractéristiques du ou des appareils de communication devant recevoir les données. Une caractéristique peut être, par exemple, la capacité de calcul de l'un des appareils Il peut également s'agir du débit autorisé sur le réseau de communication. L'invention concerne également un appareil de communication comportant un dispositif tel que brièvement exposé ci-dessus. Selon un autre aspect, l'invention vise aussi : - un moyen de stockage d'informations lisible par un ordinateur ou un microprocesseur comportant des instructions de code d'un programme d'ordinateur pour l'exécution des étapes du procédé selon l'invention tel que celui exposé brièvement ci-dessus, et - un moyen de stockage d'informations amovible, partiellement ou totalement, lisible par un ordinateur ou un microprocesseur comportant des instructions de code d'un programme d'ordinateur pour l'exécution des étapes du procédé selon l'invention tel que celui brièvement exposé ci-dessus. Selon encore un autre aspect, l'invention vise un programme d'ordinateur chargeable dans un appareil programmable, comportant des séquences d'instructions ou portions de code logiciel pour mettre en #uvre des étapes du procédé selon l'invention tel que brièvement exposé ci-dessus, lorsque ledit programme d'ordinateur est chargé et exécuté sur l'appareil programmable. Les caractéristiques et avantages relatifs au dispositif, à l'appareil de communication comportant un tel dispositif, aux moyens de stockage d'informations et au programme d'ordinateur étant les mêmes que ceux exposés ci-dessus concernant le procédé selon l'invention, ils ne seront pas rappelés ici. D'autres caractéristiques et avantages de la présente invention apparaîtront plus clairement à la lecture de la description qui va suivre, faite en référence aux dessins annexés, sur lesquels : - la figure 1 représente de manière schématique une architecture de communication de type client-serveur dans laquelle l'invention peut être mise en #uvre ; - la figure 2 représente un algorithme de traitement de données vidéo selon l'invention ; - la figure 3a représente un algorithme de codage de données vidéo ; - la figure 3b représente un algorithme de décodage de données vidéo ; - la figure 4a représente un algorithme d'obtention des valeurs moyennes des caractéristiques représentatives des méthodes de transcodage de l'ensemble des méthodes de transcodage ; - la figure 4b représente la structure de données XML regroupant, pour chaque méthode de transcodage, les valeurs moyennes des caractéristiques obtenues par l'algorithme de la figure 4a; - la figure 5 représente un algorithme de sélection d'une méthode de transcodage de données numériques multimédia selon l'invention et qui correspond à l'étape E207 de l'algorithme de la figure 2 ; - la figure 6 représente un algorithme de détermination des facteurs de pondération à attribuer aux méthodes de transcodage et qui correspond à l'étape E510 de la figure 5; - la figure 7 est un mode de réalisation d'un appareil programmable mettant en #uvre l'invention. Sur la figure 1 est représenté une architecture de communication du type client-serveur dans laquelle l'invention est avantageusement mise en #uvre ; Sur cette figure, un premier appareil de communication 1 jouant le rôle du serveur est relié à un deuxième appareil de communication 2 qui est la machine client, par l'intermédiaire d'un réseau de communication 3 et d'une connexion qui est considérée comme étant établie. Ce réseau est par exemple un réseau de communication local sans fil à l'intérieur d'une habitation. Plus particulièrement, ce réseau est conforme au standard IEEE802.11. Il s'agit dans l'exemple considéré d'une transmission point à point de données entre le serveur 1 et la machine client 2. Cependant, le principe reste applicable au cas où le serveur est connecté simultanément à plusieurs machines client qui peuvent requérir du serveur des données numériques multimédia. Il convient toutefois, dans ce cas, de prendre en compte, d'une part, la gestion des processus d'adaptation et de transmission en parallèle des différentes versions adaptées des données demandées et, d'autre part, les accès multiples à la ou aux mémoires du serveur. On notera que les données stockées dans le serveur peuvent avoir été reçues de l'environnement extérieur à l'habitation, par exemple, par un autre réseau de communication tel que l'Internet. Dans l'exemple de réalisation considéré, on considérera uniquement des données numériques vidéo et celles-ci seront transmises sans perte sur le réseau 3. Le dispositif selon l'invention permet, d'une manière générale, de sélectionner une méthode de transcodage parmi un ensemble de méthodes de transcodage en prenant en compte le contenu des données demandées par une machine client. Le dispositif 4 selon l'invention est par exemple intégré au serveur 1 de la figure 1 et peut comporter des éléments électroniques et/ou des éléments logiciels. Toutefois, le dispositif selon l'invention pourrait, par exemple, être confondu avec le serveur 1. Le dispositif 4 comporte des unités 11 et 12 qui permettent respectivement de coder et décoder une séquence vidéo. Le serveur comprend une unité 5 de stockage de données numériques telles que des vidéos. Les algorithmes des procédés de codage et décodage seront décrits respectivement en référence aux figures 3a et 3b. On notera que les vidéos sont créées, par exemple, par un caméscope numérique ou tout autre moyen d'acquisition de données ou bien sont transmises par un réseau de communication extérieur et sont stockées dans l'unité 5 qui peut être incluse ou non dans le dispositif 4. Cette unité peut être, par exemple, une base de données locale ou distribuée. En outre, les vidéos sont stockées, selon un mode préféré de l'invention, sous forme compressée, en utilisant le procédé de codage mis en #uvre dans l'unité de codage 11. Le dispositif 4 comprend également une unité de stockage 13 destinée à mémoriser de façon temporaire des données numériques et des vidéos codées, et une unité 14 de récupération de données caractéristiques des vidéos à partir de l'unité 5 de stockage. Les données récupérées par l'unité 14 sont, soit les valeurs associées à chacun des pixels de chaque image d'une vidéo, soit les informations propres à cette vidéo, à savoir la taille du fichier vidéo, le chemin permettant d'accéder à cette vidéo et, dans le cas où la vidéo est stockée sous forme compressée, les paramètres de codage qui ont été utilisés pour coder cette vidéo. Le dispositif 4 comprend également une unité 15 de récupération des caractéristiques de la machine client 2, à savoir, par exemple, la capacité de calcul, la taille de sa mémoire et la résolution de son écran de visualisation. L'unité 15 récupère également des caractéristiques du réseau de communication 3, à savoir, par exemple, le débit autorisé compte tenu de la bande passante disponible. Il convient de noter que ces caractéristiques peuvent être obtenues à la suite de la transmission par le dispositif 4 d'une requête spécifique. Le dispositif 4 comprend, en outre, une unité 16 de stockage d'une structure de données de type XML sur laquelle on reviendra ultérieurement, une unité 17 de détermination des paramètres de codage dont le fonctionnement sera détaillé en référence à la figure 4, et une unité 18 de transmission/réception de données numériques. L'unité 18 permet d'effectuer la transmission de données à la machine client 2 à travers le réseau 3, ainsi que la réception de données provenant de la machine client. Le dispositif 4 selon l'invention comporte également une unité de commande 19 des différentes opérations exécutées dans le dispositif. On notera que les différentes unités qui composent le dispositif selon l'invention et, plus généralement le serveur, résident sur la même machine. Cependant, il pourra être envisagé de distribuer ces unités sur plusieurs machines serveur et d'établir des communications entre ces différentes unités à travers le réseau de communication 3. Cette distribution des unités ne modifiant en rien la mise en #uvre de l'invention, on considérera par la suite, pour des raisons de simplicité, que toutes les unités sont localisées sur la même machine que nous appelons serveur. La machine client 2 comporte, quant à elle, une unité de transmission/réception de données numériques 20. Cette unité 20 permet d'effectuer la transmission de données au dispositif 4, à travers le réseau 3, et la réception de données provenant du dispositif. La machine client 2 comporte également une unité 21 de stockage de données numériques, une unité 22 de décodage identique à l'unité 12 du dispositif 4 et une unité de visualisation 23, permettant de visualiser des vidéos décodées. La figure 2 illustre un algorithme comportant différentes instructions ou portions de code logiciel correspondant à des étapes du procédé selon l'invention. Le programme informatique noté "Progr" qui est basé sur cet algorithme est mémorisé dans l'unité de stockage temporaire de données 13 de la figure 1 et exécuté par l'unité 17 sous le contrôle de l'unité de commande 19, ce qui permet ainsi de mettre en #uvre le procédé selon l'invention. Ce programme est également stocké dans l'appareil de la figure 7. L'algorithme de la figure 2 comporte une première étape notée E200 au cours de laquelle le dispositif 4 de la figure 1 et, plus particulièrement, l'unité de réception 18 reçoit une requête émise par la machine client 2 à partir de l'unité de transmission 20. Par exemple, cette requête se présente sous la forme d'une chaîne de caractères permettant d'identifier de façon unique des données vidéo mémorisées dans l'unité de stockage 5 du serveur 1. Au cours de l'étape suivante E201, la requête provenant de la machine client 2 est transférée à l'unité de stockage temporaire 13 aux fins de mémorisation. L'étape E201 est suivie d'une étape E202 au cours de laquelle un test est pratiqué afin de savoir si les données vidéo faisant l'objet de la requête de la machine client sont disponibles dans l'unité de stockage 5. Lorsque le test pratiqué au cours de cette étape est négatif, l'étape suivante E203 prévoit d'envoyer un message d'erreur à la machine client l'informant que les données vidéo demandées ne sont pas disponibles dans le serveur. Dans l'affirmative, l'étape E202 est suivie d'une étape E204 au cours de laquelle l'unité de décodage 12 du dispositif de la figure 1 décode les données vidéo en fonction des paramètres de codage fournis, par exemple, par l'en-tête du train binaire mémorisé dans l'unité de stockage 5. On notera que chaque image de la séquence vidéo demandée par l'utilisateur est, par exemple, découpée en blocs de données de 8x8 pixels. Chaque groupe de quatre blocs forme un macro-bloc de 16x16 pixels. Le codage d'une image est effectué sur chacun des macro-blocs selon deux modes de codage distincts : l'un noté I pour le mode de codage Intra et l'autre noté P pour le mode de codage prédictif ou Inter. Une séquence d'images de 1 seconde sera codée de la façon suivante : IPPIPPIPPIPPIPPIPPIPPIPPIPPIPP ... Ceci signifie que la première image est codée selon le mode Intra, les deux suivantes selon le mode Inter, la suivante selon le mode Intra, les deux suivantes selon le mode Inter, etc.... Ainsi, pour une séquence de 30 images par seconde, 10 images seront codées en mode Intra et 20 images en mode Inter. On notera qu'une séquence d'images sera appelée par la suite un segment. Au cours du décodage pratiqué à l'étape E204, l'unité de décodage 12 de la figure 1 mesure l'activité spatiale et l'activité temporelle de la séquence vidéo courante. Plus particulièrement, l'unité 12 compte le nombre de macroblocs codés suivant chaque mode pour chaque image et calcule la variance (activité spatiale) de chaque macro-bloc. Par ailleurs, l'activité temporelle sera estimée, quant à elle, en mesurant l'erreur quadratique moyenne, notée EQM, entre l'image courante et l'image qui la précède dans la séquence. Une fois que le décodage des données vidéo a eu lieu, les données décodées présentes, par exemple, sous le format YUV, ainsi que les paramètres de codage précités sont stockés dans l'unité de stockage 13. On notera qu'un format vidéo de type YUV signifie que la vidéo concernée possède trois composantes, la composante Y pour la luminance et les composantes U et V pour la chrominance. Il convient de noter que pour chaque image de la séquence vidéo, on stocke, dans l'unité 13, le nombre de macro-blocs codés en mode Inter et en mode Intra, ainsi qu'une variance moyenne (moyenne des variances des macro-blocs de l'image) et son erreur quadratique moyenne par rapport à l'image précédente. L'étape E204 qui vient être décrite est suivie par une étape E205 au cours de laquelle l'unité 14 procède à une récupération de données vidéo, à savoir le nombre d'images par seconde et la résolution de chaque image. Au cours de l'étape suivante E206, l'unité 15 de la figure 1 procède à l'obtention des caractéristiques de la machine client 2 qui a émis la requête mentionnée à l'étape E200. Les caractéristiques de la machine client sont par exemple récupérées consécutivement à la transmission d'une requête d'obtention de ces caractéristiques, du dispositif 4 de la figure 1 vers la machine client 2, à travers le réseau de communication 3. Ces caractéristiques sont principalement la capacité de calcul de la machine client 2, à savoir le nombre total d'opérations qu'elle peut effectuer, la taille de sa mémoire et la résolution de son unité de visualisation 23 (écran). L'unité 15 procède également à l'obtention de caractéristiques du réseau de communication 3, à savoir, par exemple, le débit. On notera que les caractéristiques du réseau de communication 3 peuvent aussi être, par exemple, le taux de perte de données lors de la transmission de données vidéo entre le dispositif 4 et la machine client 2, le taux de bits erroné... Ces caractéristiques sont stockées de façon temporaire dans l'unité de stockage 13 du dispositif 4 de la figure 1. Préférentiellement, la capacité de calcul de la machine client est égale à la vitesse du processeur de celle-ci, exprimée en nombre d'opérations élémentaires par seconde. De façon préférentielle, les caractéristiques du réseau prises en compte seront limitées à la bande passante disponible et donc au débit disponible sur le réseau. L'étape E206 est suivie de l'étape E207 qui sélectionne, à partir de l'unité 17, une méthode de transcodage parmi un ensemble donné de méthodes de transcodage, en prenant en compte les données vidéo à transcoder et à transmettre. Par ailleurs, la méthode sera, par exemple, également sélectionnée de manière à adapter les données vidéo à transmettre à la machine client aux caractéristiques de cette dernière et aux caractéristiques du réseau. Les méthodes de transcodage proposées dans cet ensemble sont, par exemple, les suivantes : conservation de la séquence compressée originale, réduction de la résolution spatiale de CIF (format 352 par 288) à QCIF (format 176 par 144), conservation de la fréquence temporelle initiale, réduction de la fréquence temporelle de 30 à 20 images par seconde, de 30 à 15 images par seconde, de 30 à 10 images par seconde, de 30 à 5 images par seconde et de 30 à 1 image par seconde, conservation du débit initial, requantification pour réduire le débit de 10 %, requantification pour réduire le débit de 20 %, requantification pour réduire le débit de 30 %, requantification pour réduire le débit de 40 %. Le détail des opérations effectuées lors de l'étape E207 sera fourni ultérieurement lors de la description faite en référence à la figure 5. Cette étape est effectuée par l'unité 17 du dispositif 4 de la figure 1 sous contrôle de l'unité de commande 19 et à partir des informations disponibles dans l'unité de stockage 13. On notera que les méthodes de transcodage présentées ci-dessus sont classées suivant trois types : réduction de la résolution spatiale, réduction de la fréquence temporelle, et requantification. 1) Pour réduire la résolution spatiale, l'unité de codage 11 commencera par sous échantillonner chaque image de la séquence vidéo originale décodée en supprimant un pixel sur deux dans chaque ligne de chaque image de la séquence originale, puis, en supprimant un pixel sur deux dans chaque colonne de chaque image de la séquence originale. L'unité 11procèdera ensuite au codage effectif de la séquence sous échantillonnée. Pendant le codage, le choix du mode de codage des macro-blocs de la séquence transcodée se fera en fonction des modes de codage des macroblocs de la séquence originale. On sait que, lors du passage du format CIF au format QCIF, le nombre de macro-blocs est divisé par 4, c'est-à-dire qu'un macro-bloc de la séquence transcodée correspond à quatre macro-blocs de la séquence originale. Si dans les quatre macro-blocs originaux on trouve une majorité de macro-blocs codés en mode Intra, alors le macro-bloc de la séquence transcodée sera codé en mode Intra. Inversement, si on a une majorité de macro-blocs codés en mode Inter, le macro-bloc de la séquence transcodée sera codé en mode Inter. Si aucun mode n'est majoritaire, le macro-bloc sera codé en mode Intra. 2) Un deuxième type de méthode de transcodage consiste à réduire la fréquence temporelle de la séquence vidéo. Pour ce faire, considérons que FT et FT' sont respectivement la fréquence temporelle initiale et la fréquence temporelle après application de la méthode de transcodage considérée. On retirera alors dans chaque groupe de FT images successives de la séquence décodée un nombre d'images H égal à FT-FT'. Les H images retirées seront espacées le plus régulièrement possible dans chaque groupe de FT images. 3) Pour requantifier la séquence par réduction du débit, on codera la séquence avec une contrainte de débit égale au débit initial de la séquence originale duquel on retranchera le pourcentage de débit spécifié par la méthode de transcodage. Une boucle de régulation de débit telle que celle proposée dans l'article intitulé "Rate control for low-delay Video communication", de J. RibasCorbera, S-Lei, Draft ITU-telecommunications standardization sector. Ref. : Q15-A-20 permettra de réguler le débit de l'unité de codage. Pour cette méthode de transcodage, les modes de codage des macro-blocs originaux seront conservés dans la séquence transcodée. L'étape E207 de l'algorithme est ensuite suivie d'une étape E208 qui procède au codage des données vidéo suivant les paramètres définis à l'étape E207 (méthode de transcodage sélectionnée). Au cours de l'étape suivante E209, le dispositif 4 de la figure 1 et, plus particulièrement, l'unité de transmission 18 de celui-ci procède à la transmission des données vidéo qui ont été préalablement codées vers la machine client 2. On notera que la transmission des données vidéo compressées se fait préférentiellement à la volée (connu en terminologie anglosaxonne sous le terme "streaming"), c'est-à-dire que les informations nécessaires à l'utilisateur pour reconstruire une image sont mémorisées dans l'unité de stockage 13, puis sont transmises à la machine client 2 avant que toutes les données vidéo ne soient compressées. Ainsi, l'utilisateur reçoit au niveau de la machine client 2 les informations par paquets, dans chacun desquels se trouvent des informations permettant à cet utilisateur de décoder une image courante. Les figures 3a et 3b illustrent respectivement le codage et le décodage d'une vidéo en couleurs au format YUV. Selon un mode préféré de réalisation de l'invention, le décodeur vidéo utilisé pour la mise en #uvre de cette invention est conforme à la partie visuelle du standard MPEG-4 (Information technology- Generic coding of audiovisual objects = part2: visual, ISO/IEC JTC1/SC 29/WG11N 3056, December 2000). Dans l'exemple traité ici, la vidéo sera considérée comme un seul objet de forme rectangulaire. Par conséquent, seul un jeu restreint d'outils de compression qui permettent le décodage de la texture et la compensation de mouvement seront pris en compte. Les outils nécessaires au décodage de la forme arbitraire d'un objet ne sont donc pas utilisés ici. On notera que la texture d'une image est donnée par les valeurs des pixels de l'image qui sont exprimées sur trois composantes. Les vidéos sont stockées sur le serveur 1 sous forme compressée au format mp4 conforme au standard MPEG-4. On utilise, par exemple, le format YUV de type 4 :2:0, qui signifie que les composantes de chrominance (U, V) ont quatre fois moins d'échantillons (pixels) que les composantes de luminance (Y). La figure 3a illustre le procédé de codage mis en #uvre par l'unité de codage 11 de la figure 1. En mode Intra, le codage s'effectue bloc par bloc selon les étapes E310 à E313 de la figure 3a. Dans ce mode de codage, chaque bloc constitue une unité élémentaire de données qui est codée indépendamment des autres blocs. On rappelle que les valeurs des pixels de chaque image du segment d'images à coder sont stockées temporairement dans l'unité 13 de stockage temporaire de la figure 1 et constituent une vidéo qui est appelée vidéo originale. Dans le cas où la vidéo est stockée dans l'unité de stockage 5, le procédé de décodage est appliqué à l'étape E204 de la figure 2 de manière à obtenir une vidéo au format YUV. Les valeurs de la vidéo ainsi reconstruite sont stockées dans l'unité 13 de stockage temporaire et dans l'unité de stockage 5. Le procédé de codage d'un bloc en mode Intra débute par une étape E310 au cours de laquelle on calcule la transformée en cosinus discret selon la méthode connue décrite dans l'article intitulé "Fast Algorithms for the Discrète Cosine Transform", E. Feig and S. Winograd, IEEE Trans. On Signal Proc., vol. 40, No. 9, September 1992. L'étape E310 est suivie d'une étape E311qui prévoit de quantifier les coefficients transformés obtenus lors de l'étape E310. L'étape E311 est suivie d'une étape E312 au cours de laquelle on ordonne les coefficients quantifiés de manière à ce que la méthode de codage à longueur variable utilisée lors de l'étape ultérieure E313 soit la plus efficace possible. Pour ce faire, on utilise la méthode de balayage décrite dans le standard Information technology- Generic coding of audio-visual objects = part2: visual, ISOIIEC JTC 1/SC 29/WG11N3056, December 2000. L'étape E312 est suivie d'une étape E313 selon laquelle on effectue le codage statistique des coefficients ordonnés selon la méthode de codage à longueur variable décrite dans le standard Information technology- Generic coding of audio-visual objects = part2: visual, ISOIIEC JTC 1/SC 29/WG11 N3056, December 2000. A l'issue de l'étape E313, les coefficients codés statistiquement sont stockés dans l'unité de stockage temporaire 13 et sont concaténés aux autres informations de codage de l'image courante. En mode prédictif ou Inter, le codage s'effectue macro-bloc par macro-bloc où chaque macro-bloc constitue une unité élémentaire de données qui est codée indépendamment des autres. Chacun des macro-blocs peut être codé soit en mode Intra soit en mode Inter. Si le macro-bloc est codé en mode Intra, alors le codage s'effectue selon les étapes E310 à E313 décrites précédemment. Si le macro-bloc est codé en mode Inter, le codage s'effectue selon les étapes E315 à E317 qui vont être explicitées ci-après. Au cours de l'étape E315 on applique une méthode classique d'estimation de mouvement par comparaison de macro- blocs. Les algorithmes mis en #uvre s'appuient sur l'hypothèse simplificatrice selon laquelle les pixels d'un même macro-bloc sont animés du même mouvement. Le vecteur de mouvement d'un macro-bloc d'une image courante est alors déterminé en trouvant le macro-bloc le plus ressemblant dans l'image précédente dans une fenêtre de recherche présélectionnée. Si les dimensions de la fenêtre de recherche exercent une influence sur le temps de calcul de l'estimation de mouvement, le problème majeur lié à l'estimation de mouvement qui est effectuée par comparaison de macro-blocs reste la détermination de la distance entre les macro-blocs. On utilisera de préférence une méthode d'estimation de mouvement décrite dans l'article "Estimation de mouvement en ligne", L. Difdier, R. Kamdem, LIM Université de Provence, Dec. 96. Cette méthode permet d'obtenir un vecteur de mouvement à deux composantes de mouvement translationnel. Pour obtenir un train binaire conforme au standard MPEG-4, ce vecteur de mouvement est codé différentiellement par rapport à une prédiction effectuée à partir des vecteurs de mouvement des macro-blocs déjà codés du voisinage immédiat du macro-bloc courant. L'étape E315 est suivie d'une étape E316 au cours de laquelle on code statistiquement le vecteur de mouvement différentiel précédemment déterminé. Les coefficients ainsi obtenus sont stockés dans l'unité de stockage temporaire 13 et sont concaténés aux autres informations de codage de l'image courante. Une fois que le mouvement pour un macro-bloc a été estimé lors de l'exécution de l'étape E315, alors, conformément à l'étape E317, un macro-bloc dit prédit est construit à partir du macro-bloc de l'image précédente auquel est appliqué le vecteur de mouvement associé à ce macro-bloc. Ensuite, un macro-bloc dit de différence, est calculé entre le macrobloc de l'image courante et le macro-bloc prédit. On mesure alors la variance de ce macro-bloc de différence. Si la variance est supérieure à un seuil prédéterminé, alors le macrobloc de l'image courante est codé en mode Intra. Ce macro-bloc sera codé en mode Inter dans le cas contraire. L'étape E317 est suivie d'une étape E318 au cours de laquelle, soit on code le macro-bloc de différence selon le mode Intra décrit plus haut, soit on code le macro-bloc courant selon le mode Intra. Les coefficients résultant du mode de codage Intra sont stockés dans l'unité de stockage temporaire 13 et sont concaténés aux autres informations de codage du macro-bloc de l'image courante. Les paramètres utilisés lors des étapes de quantification et de codage à longueur variable, sont définis pour chaque macro-bloc, que ce soit dans le mode Intra ou Inter. A cet effet, on utilise une méthode de contrôle de débit classique lors d'une étape E314. Cette méthode permet de contrôler l'allocation de débit pour chaque macro-bloc de manière à ne pas dépasser le débit total alloué à la transmission de la vidéo compressée. Dans l'exemple décrit, la valeur de débit maximale est fixée par la valeur BP. Les données codées et stockées de façon temporaire dans l'unité 13 sont mises au format MPEG-4, comme indiqué dans le standard Information technology- Generic coding of audio-visual objects = part2: visual, ISO/IEC JTC 1/SC 29/WG11N3056, December 2000, avant d'être transmises sur le réseau 3 de la figure 1 vers la machine client 2. Il convient de noter que le mode de codage utilisé pour coder chaque macro-bloc fait partie des informations qui sont transmises. La figure 3b illustre le procédé de décodage mis en #uvre par l'unité de décodage 12 du dispositif 4 et par l'unité de décodage 22 de la machine client 2 de la figure 1. Le procédé de décodage va être décrit lorsqu'il est mis en #uvre dans la machine client 2 et, plus particulièrement, au niveau des unités 20,21 et 22. La transposition de cette description au procédé de décodage mis en #uvre par le dispositif 4 du serveur 1 s'effectue aisément en remplaçant les unités 20, 21 et 22 respectivement par les unités 18,13 et 12. La machine client 2 comporte une unité 21 de stockage qui est alimentée par les données numériques provenant du dispositif 4 par l'intermédiaire de la connexion établie entre les deux machines à travers le réseau 3. Ces données sont reçues par l'unité de réception 20 sous la forme de paquets qui contiennent les informations nécessaires pour décoder un ou plusieurs macro-blocs de l'image courante. L'unité de stockage 21 est capable d'extraire des informations à partir du train binaire qui a été généré par l'unité de codage 11 du dispositif 4 et de les fournir à l'unité de décodage 22 de la machine client 2. La figure 3b illustre le décodage d'un macro-bloc codé soit en mode Intra, tel qu'indiqué par les étapes 322 à 326, soit en mode Inter ou prédictif comme indiqué par les étapes 327 à 332. L'algorithme de décodage débute par une étape E319 au cours de laquelle on récupère le mode de codage du macro-bloc courant. Au cours de l'étape E320, on procède à un test pour savoir si le macro-bloc a été codé en mode Intra. Dans l'affirmative, l'étape E320 est suivie d'une étape E321 qui prévoit de récupérer, à partir de l'unité de stockage 21, les coefficients statistiques (codes à longueur variable) liés à ce macro-bloc. L'étape E321 est suivie d'une étape E322 qui effectue le décodage de ces coefficients selon la table de coefficients décrite dans le standard Information technology- Generic coding of audio-visual objects = part2: visual, ISOIIEC JTC 1/SC 29/WG11 N3056, December 2000. Les coefficients ainsi obtenus forment un ensemble de données bidimensionnelles noté QF[u][v]. Au cours de l'étape suivante E323, on effectue une opération de quantification inverse sur les valeurs de l'ensemble de données QF [u][v] obtenir le tableau bidimensionnel F"[u][v] selon les tables de quantification décrites dans le standard Information technology- Generic coding of audiovisual objects = part2: visual, ISOIIEC JTC 1/SC 29/WG11 N3056, December 2000. Au cours de l'étape suivante E324, on applique une méthode de saturation aux valeurs des coefficients du tableau bidimensionnel F"[u][v] selon le standard Information technology- Generic coding of audio-visual objects = part2: visual, ISO/IEC JTC 1/SC 29/WG11 N3056, December 2000, de manière à obtenir le tableau bidimensionnel F'[u][v] dont les valeurs appartiennent à l'intervalle [-2 bits par pixel + 3,2 bits par pixel + 3 ~ 1]. Le nombre de bits par pixels est de préférence égal à 8. Au cours de l'étape suivante E325, on effectue une opération de contrôle des coefficients saturés de manière à obtenir les coefficients DCT F [u][v]. Au cours de l'étape suivante E326, on reconstruit les valeurs des pixels du macro-bloc courant en fonction des coefficients DCT F [u][v] enutilisant la méthode de décodage décrite dans l'article "Fast Algorithms for the Discrete Cosine Transform". E. Feig and S. Winograd, IEEE Trans. On Signal Proc., vol. 40, No. 9, September 1992. Ces valeurs reconstruites sont stockées dans l'unité de stockage 21 en vue d'être visualisées sur l'unité de visualisation 23. L'algorithme de décodage d'un macro-bloc est donné ci-dessous. Les valeurs des coefficients dc scaler, quantiser~scale et de la matrice W[i][u][v] utilisés dans cet algorithme sont des valeurs définies par le standard Information technology- Generic coding of audio-visual objects = part2: visual, ISO/IEC JTC 1/SC 29/WG11N3056, December 2000. for (v=0; v F''[u][v] = dc~scaler* QF[u][v]; } else { if ( macroblock~intra) { F''[u][v] = ( QF[u][v] * W[O][u][v] * quantiser~scale) / 32; } else { F'1u][v) = ( ( ( QFMH * 2 ) + Sign(QF[u][v]) ) * lN[1][u][v) * quantiser~scale ) / 32; } } } } sum 0; for (v=0; v 2 bits-Per-Pixel + 3 - 1 ) Flu][v) = 2 b'--perixel + 3 - 1 . } else if(PMM } else FMM F'tu][v]; } } sum sum + F'[u][v]; F[u][v] F'U] [V] ; } } if ((sum & 1 ) ~= 0) if ((F[7][] & 1 ) = 0) F[7][7] = F'[7][7] - 1; } else F[7][7] = F27][7] + 1 } } La méthode de transformation en cosinus discret d'un pixel f (x,y) d'un bloc de taille N x N est donnée par l'équation suivante : où x, y sont les coordonnées spatiales, u, v sont les coordonnées dans le domaine transformé, et Chaque pixel est représenté par n bits (pour représenter une des composantes Y, U ou V) et les coefficients transformés sont représentés par (n+4) bits. L'amplitude des coefficients DCT est comprise dans l'intervalle [- 2n+3 :+2n+3-1]. On utilise de préférence une méthode rapide de codage/décodage DCT. Cette méthode, décrite dans l'article "Fast Algorithms for the Discrete Cosine Transform", E. Feig and S. Winograd, IEEE Trans. On Signal Proc., vol. 40, No. 9, September 1992, permet de coder/décoder des macroblocs de taille 2m (ici m=3) selon l'équation suivante : Y = C8*Y où Yest le vecteur des coefficients DCT de dimension 8 etC8la matrice 8*8 de coefficients DCT. Cette matrice peut être factorisée et, après quelques manipulations algébriques, cette matrice est égale à Cg = P8*K8*B8, où P8 est une matrice de permutation des signes de dimension 8*8, K8 et B8 sont des matrices de coefficients de dimension 8*8 qui ont été définies de manière à obtenir un codeur/décodeur rapide. Consécutivement à l'étape E326, l'étape E333 prévoit un stockage et une visualisation des macro-blocs décodés à partir des unités 21 et 23. L'image courante est reconstruite une fois que tous les macro-blocs de cette image sont décodés et visualisés. De retour à l'étape E320, si le résultat du test est négatif, cela signifie que le macro-bloc a été codé en mode Inter ou prédictif. Au cours de l'étape suivante E327, on récupère alors des informations parmi les données numériques qui ont été transmises par le dispositif 4 et mémorisées dans l'unité de stockage 21 de la machine client 2. Ces informations sont propres au codage du macro-bloc en mode Inter et sont, par exemple, les coefficients statistiques (codes à longueur variable) liés à ce macro-bloc. L'étape E327 est suivie d'une étape E328 qui prévoit de décoder ces coefficients statistiques de manière à obtenir le vecteur de mouvement différentiel. Au cours de l'étape suivante E329, on reconstruit le vecteur de mouvement à partir du vecteur de mouvement différentiel et du vecteur de mouvement (Px,Py) du macro-bloc de l'image précédente disposé à la même position spatiale. L'algorithme utilisé est le suivant : r size = vop~fcode - 1 f = 1 r size high = (32*f)- 1 ; low = ( (-32) * f ); range =( 64 *f); if ( (f == 1 ) Il (horizontaLmv~data == 0) ) MVDx = horizontal~mv~data; else { MVDx = ((Abs(horizontal~mv~data)-1 ) * f ) + horizontal~mv~residual + 1; if (horizontal~mv~data MVDx = - MVDx; if ( (f == 1) Il (vertical~mv~data == 0) ) MVDy = vertical~mv~data; else { MVDy = ( ( /4ïbs(vertical~mv~data) - 1 ) * f ) + vertical~mv~residual + 1; if (vertical mv~data high) MVx = MVx - range; MVy = Py + MVDy; if ( MVy high) MVy = MVy - range; Les paramètres du train binaire sont tels que les composantes MVDx et MVDy du vecteur de mouvement différentiel, appartiennent à l'intervalle [low; high]. Les valeurs extrêmes de cet intervalle sont choisies lors de l'implémentation du décodeur. Par ailleurs, les composantes du vecteur de mouvement reconstruit, MVx et MVy, appartiennent également à cet intervalle. Les valeurs qui définissent cet intervalle pour les vecteurs de mouvement sont définis par le standard Information technology- Generic coding of audio-visual objects = part2: visual, ISO/IEC JTC 1/SC 29/WG11 N3056, December 2000. On notera que r~size, f, MVDx, MVDy, high , low et range sont des variables, tandis que les données horizontal~mv~data, vertical~mv~data, horizontal~mv~residual et vertical~mv~residual sont extraites du train binaire. La variable vop~fcode fait référence au mode de prédiction utilisé qui est extrait du train binaire. Au cours de cette même étape E329, le macro-bloc de l'image précédente est compensé en mouvement, c'est à dire que le macro-bloc est déplacé du vecteur de mouvement qui vient d'être reconstruit. Au cours de l'étape suivante E330, on récupère les informations propres au codage du macro-bloc en mode Intra et, notamment, les coefficients statistiques qui représentent le macro-bloc de différence. Au cours de l'étape suivante E331, on reconstruit le macro-bloc de différence à partir de ces coefficients statistiques selon le procédé de décodage Intra décrit précédemment, lors de l'exécution des étapes E322 à E326. L'étape E331 est suivie d'une étape E332 qui calcule la somme du macro-bloc compensé de l'étape E329 et du macro-bloc de différence obtenu à l'étape E331. L'étape E332 est suivie d'une étape E333 qui organise le stockage des macro-blocs décodés dans l'unité 21. L'image est ensuite visualisée sur l'unité de visualisation 23 une fois que tous les macro-blocs ont été décodés. On va maintenant décrire en référence à la figure 4a un algorithme dont l'exécution va permettre d'obtenir des valeurs moyennes de différentes caractéristiques représentatives de l'ensemble des méthodes de transcodage de données numériques mentionné ci-dessus lors de la description faite en référence à la figure 2. Plus particulièrement, cet algorithme comporte différentes instructions ou portions de code logiciel correspondant à des étapes du procédé de sélection d'une méthode de transcodage de données numériques selon l'invention. Le programme informatique qui est basé sur cet algorithme est mémorisé dans l'unité de stockage temporaire de données 13 de la figure 1 et exécuté par l'unité 17 sous le contrôle de l'unité de commande 19. Ce programme fait partie du programme "Progr" précité en référence à la figure 2 et est également stocké dans l'appareil de la figure 7. L'algorithme de la figure 4a débute par une première étape E400 au cours de laquelle on effectue un classement des méthodes de transcodage de l'ensemble précité suivant le type de ces méthodes. * L'opération de classement consiste à répartir les méthodes de transcodage de l'ensemble de méthodes suivant trois types différents : 1) le premier type de méthodes de transcodage correspond aux méthodes de transcodage basées sur une réduction de la résolution spatiale. Suivant ce type, on trouve, une méthode de transcodage conservant la résolution spatiale initiale d'une séquence vidéo et une méthode de transcodage réduisant la résolution initiale de cette séquence du format CIF au format QCIF. 2) le deuxième type de méthodes de transcodage correspond aux méthodes de transcodage qui effectuent une réduction de la fréquence temporelle. Parmi les méthodes de transcodage de deuxième type on trouve une méthode de transcodage conservant la fréquence temporelle initiale de la séquence vidéo, des méthodes de transcodage effectuant une réduction de la fréquence temporelle de 30 à 20 images par seconde, de 30 à 15 images par seconde, de 30 à 10 images par seconde, de 30 à 5 images par seconde, ainsi qu'une méthode de transcodage effectuant une réduction de la fréquence temporelle de 30 à 1 image par seconde. 3) les méthodes de transcodage du troisième type sont basées sur une réduction du débit ou requantification. Parmi ces méthodes, on trouve une méthode de réduction du débit qui conserve le débit initial de la séquence vidéo, des méthodes de transcodage effectuant une réduction du débit de 10 %, une réduction du débit de 20 %, une réduction du débit de 30 % et une méthode de transcodage effectuant une réduction du débit de 40 %. On va maintenant détailler la façon dont sont obtenues des valeurs moyennes de différentes caractéristiques représentatives de chacune des méthodes de transcodage précitées. Dans l'exemple considéré chaque méthode de transcodage de l'ensemble peut être représentée par quatre caractéristiques différentes qui sont : 1) la qualité visuelle moyenne induite par la méthode de transcodage considérée et qui sera définie par la valeur du PSNR fournie par la formule suivante : où EQM est l'erreur quadratique moyenne entre la séquence vidéo originale et la séquence vidéo transcodée et Y est la dynamique du signal original, correspondant dans le cas présent à 8 bits. On notera que le PSNR est ainsi déterminé à partir du rapport de l'amplitude maximale du signal sur l'erreur quadratique moyenne et correspond au rapport signal sur bruit ("Peak Signal to Noise Ratio" en terminologie anglosaxonne). Le PSNR fournit une estimation de la perte de qualité entre deux séquences vidéo. 2) une deuxième caractéristique représentative des méthodes de transcodage est le coût en mémoire de cette méthode, autrement dit l'espace mémoire nécessaire au décodage des données transcodées générées par cette méthode. 3) une troisième caractéristique représentative des méthodes de transcodage est le débit engendré par chaque méthode. 4) une quatrième caractéristique représentative des méthodes de transcodage est le format des images après transcodage. On notera que l'algorithme 4a est exécuté alors que le dispositif 4 de la figure 1 n'est pas connecté à l'appareil de communication 2. De cette façon, on réduit le nombre de calculs à effectuer lorsque le dispositif 4 de la figure 1 traite une requête provenant de l'appareil de communication 2. Consécutivement à l'étape E400, une étape E401 prévoit une initialisation à zéro de deux variables s et t qui sont respectivement dédiées au décompte des séquences d'entraînement et des méthodes de transcodage de l'ensemble considéré. On notera que les séquences de données dites d'entraînement sont des séquences de données vidéo de test qui doivent former un ensemble suffisamment hétérogène pour représenter à peu près tous les cas de figures extrêmes rencontrés en pratique. Ainsi, par exemple, on trouve parmi ces séquences d'entraînement, des séquences comportant peu de mouvement et d'autres caractérisées par un mouvement important, des séquences peu texturées et d'autres davantage texturées... Dans l'exemple de réalisation, on s'intéresse à un nombre S de séquences d'entraînement qui sont stockées au format MPEG-4, par exemple, dans l'unité de stockage 5 de la figure 1. On considérera également dans cet exemple un nombre T de méthodes de tanscodage constituant l'ensemble considéré. Au cours de l'étape E401, on crée un tableau de valeurs notées TAB à trois dimensions et dont la taille est donnée par la formule T x S x 3. Le tableau de valeur TAB est destiné à recevoir pour chaque séquence d'entraînement et chaque méthode de transcodage les valeurs de trois des quatre caractéristiques mentionnées plus haut, à savoir la qualité, le coût en mémoire et le débit. Au cours de l'étape suivante E402, on procède à l'extraction de l'unité de stockage de la séquence d'entraînement portant le numéro s. L'algorithme comporte ensuite une étape E403 qui procède au transcodage de la séquence d'entraînement s à partir des paramètres de transcodage fournis par la méthode de transcodage portant le numéro t. On notera que la méthode de transcodage prévoit de décoder la séquence d'entraînement considérée et de la ré-encoder suivant les paramètres de transcodage affectés à la méthode considérée. On notera que les algorithmes de codage et de décodage utilisés sont ceux qui ont été décrits plus haut en référence aux figures 3a et 3b. La façon de procéder pour appliquer une méthode de transcodage à une séquence d'entraînement suivant l'un des trois types de méthodes de transcodage a déjà été explicitée plus haut et ne sera donc pas reprise ici. Par ailleurs, lors de cette étape E403, on effectue des calculs après décodage de la séquence d'entraînement et avant ré-encodage de celle-ci. En effet, on procède ainsi à un calcul de la variance de chaque image décodée et à un calcul de l'erreur quadratique moyenne (EQM) entre chaque image de la séquence d'entraînement et l'image qui la précède. Ensuite, on effectue la moyenne des variances et des erreurs quadratiques moyennes ainsi calculées sur toutes les images pour obtenir respectivement une variance moyenne et une erreur quadratique moyenne EQM pour la séquence d'entraînement considérée. Au cours de l'étape suivante E404, on procède à une mesure du débit induit par la méthode de transcodage analysée et on stocke cette mesure dans le tableau de valeurs TAB à la position (s, t, 1). Au cours de l'étape suivante E405, on procède à un décodage de la séquence d'entraînement ré-encodée qui a été obtenue en appliquant la méthode de transcodage t. Au cours de l'étape suivante E406, on récupère l'information sur le coût en mémoire des opérations de décodage pratiquées à l'étape précédente et on stocke cette information dans le tableau de valeurs TAB à la position (s, t, 2). On notera que le coût en mémoire des opérations de décodage représente l'espace mémoire nécessaire pour réaliser ces opérations. L'étape suivante E407 prévoit d'effectuer une mesure de la qualité (PSNR) de la séquence d'entraînement transcodée par rapport à la séquence d'entraînement originale et de stocker cette mesure de qualité dans le tableau de valeurs TAB à la position (s, t, 3). Afin d'être en mesure de calculer une valeur de PSNR représentative, il est nécessaire de comparer des séquences d'entraînement de même format et de même fréquence temporelle. Pour ce faire, on se propose de ramener la séquence transcodée à la résolution de la séquence originale, tant du point de vue temporel que spatial. Lorsque la méthode de transcodage prévoit d'effectuer une réduction de format, chaque pixel disposé à la position spatiale (x, y) de la séquence transcodée sera répétée 4 fois dans la séquence redimensionnée aux positions (2x, 2y), (2x+1, 2y), (2x, 2y+1 ) et (2x+1, 2y+1 ). Lorsque la méthode de transcodage prévoit d'effectuer une réduction de la fréquence temporelle, on remplacera les images qui font défaut en répétant la dernière image décodée. Les valeurs de PSNR sont ensuite calculées entre la séquence d'entraînement originale et la séquence d'entraînement transcodée ramenée à la résolution originale. Il convient de noter que cette approche permet notamment de simuler la perte de qualité due au changement de résolution. L'étape E407 est ensuite suivie d'une étape E408 au cours de laquelle un test est pratiqué afin de déterminer si toutes les méthodes de transcodage de l'ensemble des méthodes de transcodage considérées ont été testées. Dans la négative, cette étape est suivie d'une étape E409 au cours de laquelle il est prévu d'incrémenter d'une unité la variable t représentative de l'ordre des méthodes de transcodage dans l'ensemble considéré. Cette étape est suivie de l'étape E403 qui a déjà été décrite cidessus. Au contraire, si toutes les méthodes de transcodage ont été testées, alors l'étape E408 est suivie d'une étape E410 au cours de laquelle un autre test est pratiqué afin de déterminer si toutes les séquences d'entraînement parmi les S séquences ont été testées. Dans la négative (s Cette étape est ensuite suivie de l'étape E402 qui a déjà été décrite ci-dessus. Il convient cependant de noter que lorsque la variable t est incrémentée d'une unité et donc lorsque l'on prend en compte une nouvelle séquence d'entraînement, alors la variable t est réinitialisée à zéro afin que toutes les méthodes de transcodage puissent s'appliquer à cette séquence d'entra înement. Au contraire, lorsque toutes les séquences d'entraînement ont été testées (s = S), alors l'étape E410 est suivie d'une étape E412 au cours de laquelle, pour chacune des méthodes de transcodage de l'ensemble considéré, on effectue la moyenne des valeurs de qualité mesurées (première caractéristique représentative des méthodes de transcodage) et des valeurs d'espace mémoire utilisées (deuxième caractéristique) qui sont stockées dans le tableau de valeurs TAB. Pour chaque méthode de transcodage, on détermine également le débit maximum (troisième caractéristique) induit par cette dernière à partir des valeurs contenues dans le tableau TAB précité. En fonction du type considéré de la méthode de transcodage, on déduit le format de la séquence d'entraînement transcodé (quatrième caractéristique). Les différentes valeurs qui viennent d'être calculées au cours de l'étape E412 sont ensuite introduites dans la structure XML représentée sur la figure 4b. Ainsi, cette structure fait apparaître pour l'ensemble des méthodes de transcodage considérées qui sont classées par type de méthode, une valeur moyenne de chacune des quatre caractéristiques représentatives de la méthode de transcodage considérée (qualité, coût mémoire, format, débit maximum). Au cours de l'étape E412 on effectue également les moyennes des variances et des erreurs quadratiques moyennes calculées pour chaque séquence d'entraînement de manière à obtenir une variance moyenne VAR et une EQM moyenne pour un ensemble de séquences d'entraînement. Comme représenté sur la figure 4b, ces informations sont également stockées dans la structure XML considérée. Ceci met fin à l'algorithme de la figure 4a. On notera par ailleurs que le format et le coût en mémoire (occupation mémoire) sont deux informations que l'on peut obtenir à partir de séquences d'entraînement car elles dépendent peu de la séquence vidéo à transcoder. En outre, si l'on considère le débit maximum induit par chaque méthode de transcodage, on obtient ainsi une borne supérieure du débit pour chacune des méthodes, ce qui permet d'obtenir une certitude comme quoi aucune séquence ne pourra induire un débit supérieur après transcodage. La qualité est, quant à elle, très dépendante de la séquence vidéo à transcoder car, d'une séquence à l'autre, l'impact du transcodage sera très différent. En effet, par exemple, une séquence contenant beaucoup de mouvement sera très affectée par une réduction de la fréquence temporelle alors qu'une séquence statique ne le sera pas. Compte tenu de ces observations, on s'intéressera, comme on le verra par la suite, à une pondération des valeurs de qualité moyenne en vue d'obtenir des informations de qualité adaptées à une séquence vidéo donnée. La figure 5 illustre l'algorithme détaillant les différentes opérations effectuées lors de l'étape E207 de la figure 2. Plus particulièrement, cet algorithme comporte différentes instructions ou portions de code logiciel correspondant à des étapes du procédé de sélection d'une méthode de transcodage de données vidéo selon l'invention. Le programme informatique qui est basé sur cet algorithme est mémorisé dans l'unité de stockage temporaire de données 13 de la figure 1 et exécuté par l'unité 17 sous le contrôle de l'unité de commande 19. Ce programme fait partie du programme "Progr" précité en référence à la figure 2 et est également stocké dans l'appareil de la figure 7. L'exécution du programme informatique basé sur cet algorithme va mettre en #uvre le procédé permettant de sélectionner rapidement la méthode de transcodage la plus adaptée au contenu de la séquence vidéo à transmettre. Dans l'exemple décrit, la méthode de transcodage sélectionnée sera celle qui fournira à la machine client une qualité visuelle optimale. Par ailleurs, ce procédé peut permettre également de sélectionner une méthode de transcodage qui est adaptée à une ou plusieurs caractéristiques de la machine client 2, à savoir sa capacité de calcul, la résolution de l'écran, la mémoire disponible, et/ou aux ressources disponibles sur le réseau de communication 3, à savoir le débit autorisé BP (bande passante). On notera que l'algorithme de la figure 5 est mis en #uvre sur les données de la séquence vidéo requise par la machine client 2 et qui est à transmettre à cette dernière. L'algorithme de la figure 5 débute par une étape E500 au cours de laquelle on procède à une récupération du contexte dans lequel les données vont être transmises du dispositif 4 du serveur 1 à la machine client 2 (figure 1). Plus particulièrement, la récupération de ce contexte consiste à obtenir, à partir de l'unité de stockage temporaire 13 : - la capacité de calcul C de la machine client 2, - la résolution de l'écran de cette machine, - la bande passante BP disponible sur le réseau de communication 3 pour transmettre les données vidéo. Au cours de cette étape, on récupère également, à partir de l'unité 16, la structure de données représentée à la figure 4b et obtenue par exécution, hors connexion, de l'algorithme de la figure 4a. L'étape E500 est suivie de l'étape E501 qui initialise les valeurs d'un tableau de valeurs de dimension T, où T représente le nombre de méthodes de transcodage définies dans l'ensemble des méthodes de transcodage. Par ailleurs, cette étape initialise aussi une variable d'indice de tableau t à la première valeur du tableau égale à 0 (première méthode de transcodage de l'ensemble des méthodes). Les indices suivants sont gradués jusqu'à T par pas de 1. Cette étape initialise à 0, d'une part, une seconde variable Idopt qui récupérera l'identificateur de la méthode de transcodage sélectionnée et, d'autre part, une troisième variable maxWPSNR. L'étape E501 est suivie de l'étape E502 qui vérifie si la variable t est inférieure ou égale à T. Dans l'affirmative, on passe à l'étape E503 qui vérifie si la méthode de transcodage en cours d'évaluation génèrera une séquence dont le format sera compatible avec l'écran de la machine client. Si le format est incompatible, alors on passe à l'étape E514 qui incrémente la variable t d'une unité, permettant ainsi d'évaluer la méthode de transcodage suivante de l'ensemble considéré. L'étape E502 déjà décrite est alors de nouveau exécutée. Si le format est compatible, l'étape E503 est suivie de l'étape 504 qui évalue la complexité de calcul 0 du processus de décodage de la séquence vidéo transcodée. Pour ce faire, on récupère pour chaque image le nombre de macroblocs codés en mode Intra, NMBint raorig, et le nombre de macro-blocs codés en mode Inter, NMBint erorig, la constituant. Ces informations préalablement stockées dans l'unité 13 de la figure 1, permettent de déterminer la complexité de décodage de chaque image. La complexité de décodage d'une image est donnée par la formule : En parcourant toutes les images de la séquence, on recherchera l'image la plus complexe. Une borne supérieure notée 0 du nombre d'opérations élémentaires par seconde nécessaires au décodage de la séquence sera déduite de la complexité de l'image la plus complexe que nous noterons Omax. La borne supérieure 0 sera, par exemple, calculée de la manière suivante : où Ft est la fréquence temporelle induite par la méthode de transcodage en cours d'évaluation (Ft peut prendre les valeurs suivantes : 30 lm/s, 20 lm/s, 15 lm/s, 10 lm/s, 5 lm/s, 1 Im/s), NMBtrans est le nombre de macro-blocs par image dans la séquence transcodée (396 pour une séquence au format CIF, 99 pour une séquence au format QCIF), NMBOn est le nombre de macro-blocs par image dans la séquence originale (par exemple 396). L'estimation de la complexité de décodage d'un macro-bloc varie selon que le macro-bloc est codé en mode Intra ou Inter. Comme décrit ci-après, l'estimation de la complexité de décodage d'un macro-bloc va être détaillée suivant que le codage a lieu en mode Intra ou en mode Inter. 1 ) Codage en mode Intra (estimation de Ointra) Le décodage s'effectuant bloc de données par bloc de données la complexité de décodage d'un macro-bloc est égale à la complexité liée au décodage des quatre blocs qui le composent. Plus particulièrement, on détermine la complexité de décodage d'un bloc en comptabilisant le nombre d'opérations élémentaires intervenant dans les différents algorithmes mis en #uvre dans le processus de décodage. Les valeurs de la complexité liée au décodage DCT sont fournies par l'article "Fast Algorithms for the Discrète Cosine Transform", E. Feig and S. Winograd, IEEE Trans. On Signal Proc., vol. 40, No. 9, September 1992. La table 1 ci-dessous détaille la détermination de la complexité de décodage des différents algorithmes qui interviennent dans le décodage d'un bloc à partir des différentes opérations élémentaires. traitement test Multiplication Addition Affectation VLD 64 Inverse Q 192 256 192 Saturation 128 64 Contrôle 2 64 65 Inverse DCT 94 454 64 Total 322 350 582 385 Table 1 Préférentiellement, toutes ces opérations sont considérées comme élémentaires exceptée la multiplication qui est considérée comme équivalente à deux opérations élémentaires. Ainsi, la complexité totale de décodage d'un macro-bloc (composantes de luminance) codé en mode Intra est de 4*1989=7956 opérations élémentaires. 2) Codage en mode Inter (estimation de O,nter) Dans le cas où le macro-bloc est codé en mode Inter, il faut ajouter à la complexité de décodage en mode Intra, la complexité de décodage liée, d'une part, à la reconstruction du vecteur de mouvement à partir du vecteur de mouvement différentiel qui va être transmis à la machine client 2 de la figure 1 et, d'autre part, à la reconstruction du macro-bloc (reconstruction du macro-bloc de différence et addition de ce macro-bloc avec le macro-bloc prédit). La détermination de la complexité de décodage de ces processus est détaillée dans la table 2 ci-dessous qui fournit, pour chaque processus, le nombre d'opérations élémentaires qui interviennent. Traitement test multiplication Addition affectation VLD 2 Reconstruction vecteur mouvement 7 5 13 11 Reconstruction macro-bloc différence 1288 1400 2328 1540 Construction du macro-bloc prédit 512 256 Reconstruction du macro-bloc 256 256 Total 1295 1405 3109 2065 Table 2 Ainsi, pour le mode Inter ou prédictif, la complexité totale de décodage d'un macro-bloc codé en mode Inter est de 9279 opérations élémentaires. Une fois que la complexité de décodage 0 a été estimée comme proposé ci-dessus, l'étape E504 est suivie d'une étape E505. Au cours de l'étape E505, on teste si la complexité estimée 0 pour décoder la vidéo avec les paramètres de codage courants (méthode de transcodage courante t) est inférieure ou égale à la capacité de calcul de la machine client C. Dans la négative, on passe à l'étape E514 déjà décrite. Dans l'affirmative, cela signifie que la méthode de transcodage est compatible avec la caractéristique de la machine client. L'étape E505 est alors suivie de l'étape E506. Au cours de cette étape, on extrait de la structure de données représentée à la figure 4b et qui est stockée dans l'unité 13 de la figure 1 la valeur moyenne du coût en mémoire V de la méthode de transcodage courante t appliquée à la séquence vidéo à transcoder et à transmettre (caractéristique représentative de la méthode). L'étape suivante E507 prévoit d'effectuer un test (V # M ? ) afin de déterminer si le coût en mémoire associé à la méthode de transcodage courante est inférieur ou égal à la taille de l'espace mémoire M de la machine client 2. Dans la négative, on passe à l'étape E514 déjà décrite. Dans l'affirmative, on extrait de la structure de données représentée à la figure 4b la valeur du débit R induit par la méthode de transcodage courante t sur la séquence vidéo à transmettre. Cette dernière étape est suivie de l'étape E509 qui vérifie si la valeur du débit R est inférieure ou égale à la bande passante du réseau de communication BP (contrainte de débit du réseau). Dans l'affirmative, l'étape E509 est suivie d'une étape E510 au cours de laquelle on procède à une détermination des facteurs de pondération qui sont à attribuer à chacune des méthodes de transcodage de l'ensemble considéré suivant le type de ces méthodes. Les opérations effectuées au cours de cette étape vont être explicitées ci-après, plus en détail, lors de la description de l'algorithme de la figure 6. Cet algorithme comporte différentes instructions ou portions de code logiciel correspondant à des étapes du procédé de sélection d'une méthode de transcodage de données numériques selon l'invention. Cet algorithme fait partie de l'algorithme de la figure 5. A cet effet, le programme informatique qui est basé sur cet algorithme est mémorisé dans l'unité de stockage temporaire de données 13 de la figure 1 et exécuté par l'unité 17 sous le contrôle de l'unité de commande 19. Ce programme fait également partie du programme "Progr" précité en référence aux figures 2 et 5 et est également stocké dans l'appareil de la figure 7. L'étape E510 commence, d'une manière générale, par l'extraction des informations de variance et d'erreur quadratique moyenne de chaque image de la séquence vidéo courante stockée dans l'unité de stockage temporaire 13 de la figure 1. Par ailleurs, les valeurs moyennes de variance et d'EQM stockées dans la structure de données XML représentée à la figure 4b sont extraites de l'unité 13. Les informations qui viennent d'être extraites vont maintenant être utilisées lors de l'exécution de l'algorithme de la figure 6. Cet algorithme débute par une étape d'initialisation E601 au cours de laquelle les variables VAR et EQM sont initialisées aux valeurs moyennes de variance et d'EQM qui ont été précédemment extraites de la structure de données de la figure 4b et qui correspondent à la méthode de transcodage courante t. Au cours de l'étape suivante E602, on effectue sur les images de la séquence vidéo courante la moyenne des variances et des erreurs quadratiques moyennes EQM des images de cette séquence. Des variables notées var et eqm prennent alors comme valeurs les moyennes qui viennent d'être calculées. On vient ainsi de mesurer l'activité spatiale et l'activité temporelle des données vidéo qui sont à transmettre, dans la mesure où l'activité spatiale est fournie par la variance et l'activité temporelle par l'erreur quadratique moyenne. On notera que l'activité spatiale et l'activité temporelle des séquences de données d'entraînement ont, quant à elles été mesurées comme indiqué lors de la description faite en référence aux figures 4a et 4b. L'étape E602 est ensuite suivie de deux étapes E603 et E607 qui peuvent être effectuées parallèlement ou bien l'une après l'autre. Au cours de l'étape E603 on détermine la différence notée A entre la variable var représentant la variance de la séquence courante et la variable VAR représentant la variance d'un ensemble de séquences d'entraînement. L'étape E603 est ensuite suivie d'une étape E604 au cours de laquelle on compare entre elles les variables var et VAR précitées en effectuant un test sur le signe de la différence A. Lorsque la différence A est négative, l'étape E604 est suivie d'une étape E605 au cours de laquelle on détermine un facteur de pondération W1 qui s'écrit W1 = 1 + A', ou A' = 1 A / 2552 et qui est déduit du résultat de la comparaison de l'étape E604. On notera que A' est ici une valeur normalisée comprise entre 0 et 1. Dans la mesure où A est supérieur ou égal à 0, le facteur de pondération s'écrit W1= 1 - A' (étape E606). On notera que les facteurs de pondération W1 déterminés lors des étapes E605 et E606 sont à attribuer aux méthodes de transcodage pratiquant une réduction de la résolution spatiale ou une réduction du débit (requantification). En effet, les facteurs W1 dépendent de l'activité spatiale de la séquence vidéo courante et il existe une forte corrélation entre l'activité spatiale d'une séquence vidéo et les dégradations engendrées par les méthodes de transcodage visées ci-dessus. Au cours de l'étape E607 précédemment citée, on détermine la différence notée B entre la valeur eqm de l'erreur quadratique moyenne de la séquence courante et la valeur EQM de l'erreur quadratique moyenne d'un ensemble de séquences d'entraînement. Au cours de l'étape suivante E608, il est prévu d'effectuer une comparaison entre les mesures de l'activité temporelle de la séquence vidéo courante et celle des séquences des données d'entraînement en déterminant le signe de la différence B. Lorsque le signe de B est négatif, alors l'étape E608 est suivie d'une étape E609 au cours de laquelle on détermine un facteur de pondération W2 qui s'écrit : W2 = 1 + B', ou B' = # B # / 2552et qui est déduit du résultat de la comparaison de l'étape E608. On notera que B' est également une valeur normalisée comprise entre 0 et 1. Si, au contraire, B est supérieur ou égal à 0 alors l'étape E608 est suivie d'une étape E610 au cours de laquelle un facteur de pondération W2 est déterminé par l'expression : W2 = 1- B'. On notera que les facteurs de pondération W2 qui viennent d'être déterminés aux étapes E609 et E610 sont à attribuer aux méthodes de transcodage effectuant une réduction de la fréquence temporelle. En effet, les facteurs W2 dépendent de l'activité temporelle de la séquence vidéo courante et il existe une forte corrélation entre l'activité temporelle d'une séquence vidéo et les dégradations engendrées par les méthodes de transcodage visées ci-dessus. On notera que les facteurs de pondération W1 et W2 qui viennent d'être déterminés dépendent des données vidéo à transcoder et à transmettre à la machine client 2 dans la mesure où les différences A et B sont respectivement obtenues à partir de la variance et de l'erreur quadratique moyenne calculées sur la séquence des données vidéo à transcoder et à transmettre. Par ailleurs, dans la mesure où le facteur de pondération dépend de l'erreur quadratique moyenne et que celle-ci entre dans le calcul de la caractéristique de qualité qui est représentative des méthodes de transcodage, la détermination du facteur de pondération W2 dépend de cette caractéristique qui va être pondérée comme on le verra ultérieurement en référence à la figure 5. Dès lors que les facteurs de pondération W1 et W2 ont été déterminés par exécution de l'algorithme de la figure 6, l'étape E510 de la figure 5 est terminée et est suivie par une étape E511. Au cours de cette étape, on effectue la pondération d'une valeur moyenne de l'une des caractéristiques représentatives de la méthode de transcodage courante t et qui est contenue dans la structure de données XML représentée à la figure 4b. Dans l'exemple de réalisation considéré, la caractéristique en question est la qualité (PSNR) correspondant à la méthode de transcodage courante. On notera que d'autres caractéristiques représentatives des méthodes de transcodage peuvent bien entendu être pondérées par l'un des facteurs W1 et W2. Dans l'hypothèse où la méthode de transcodage courante est une méthode basée sur une réduction de la résolution spatiale ou une réduction du débit, alors le facteur de pondération à attribuer à la méthode de transcodage courante est le facteur de pondération W1 et l'opération de pondération est alors effectuée en multipliant la valeur de PSNR par le facteur W1 afin d'obtenir une valeur moyenne pondérée notée WPSNR. Dans l'hypothèse où la méthode de transcodage courante est basée sur une réduction de la fréquence temporelle alors le facteur de pondération adapté est le facteur W2. L'opération de pondération sera alors effectuée en multipliant la valeur de PSNR par le facteur W2 en vue d'obtenir la valeur moyenne pondérée WPSNR. En pondérant les valeurs moyennes de qualité ou d'une autre caractéristique représentative de la méthode de transcodage courante au moyen d'un facteur de pondération adapté à la méthode de transcodage considérée et qui dépend des données vidéo à transcoder, on obtient ainsi une valeur moyenne pondérée qui est représentative des données à transcoder. On notera que, dans la mesure où la variance (respectivement l'EQM) est différente de la variance moyenne (respectivement l'EQM moyenne) calculée à l'aide de séquences de données d'entraînement, en pondérant les valeurs de qualité (PSNR) les méthodes de transcodage devraient avoir un impact différent sur la qualité de la séquence de données vidéo à transcoder. Cet impact devrait être d'autant plus différent sur la qualité de la séquence selon les méthodes de transcodage considérées que l'écart entre les variances (respectivement les erreurs quadratiques moyennes) est grand. Par ailleurs, dans la mesure où, suivant le type de méthode de transcodage considéré, les variations de la qualité seront tantôt influencées par l'activité spatiale tantôt par l'activité temporelle, on a choisi de pondérer différemment les méthodes de transcodage suivant leur type. On notera en outre que pour un même type de méthode de transcodage, les écarts de qualité relevés entre différentes méthodes de transcodage du même type devraient être conservés quelle que soit la séquence de données appliquée. L'étape E511 est ensuite suivie de l'étape E512 qui compare le WPSNR calculé à la valeur maxWPSNR. Si le WPSNR est supérieur à maxWPSNR, on passe à l'étape E513. Au cours de cette étape, maxWPSNR prend la valeur de WPSNR et Idopt prend la valeur de l'identificateur id de la méthode de transcodage courante. L'étape E513 est suivie de l'étape E514 déjà décrite qui incrémente la valeur de t d'une unité pour passer à la méthode de transcodage suivante. Si le résultat du test pratiqué à l'étape E512 est négatif, on passe alors directement à l'étape E514 qui est suivie de l'étape E502. Lorsque le résultat du test pratiqué à l'étape E502 est négatif, cela signifie que toutes les méthodes de transcodage ont été testées ce qui a donné lieu à une valeur moyenne pondérée WPSNR pour chaque méthode. Il convient de noter que les étapes E512 et E513 de l'algorithme permettent de sélectionner la méthode de transcodage pour laquelle la valeur moyenne de qualité pondérée WPSNR est la plus élevée, au fur et à mesure que les différentes méthodes de transcodage du tableau sont évaluées. L'étape E502 est dans ce cas suivie de l'étape E515 qui vérifie si la variable Idopt est égale à 0. Une valeur 0 dans Idopt signifie qu'aucune méthode de transcodage n'est compatible avec les caractéristiques de la machine client ou du réseau. Dans ce cas, l'étape E515 est suivie de l'étape E517 au cours de laquelle le serveur envoie un message d'erreur à la machine client lui indiquant qu'elle ne pourra pas recevoir la vidéo demandée. Ce message sera envoyé par l'intermédiaire de l'unité 18 de la figure 1 et met fin à l'exécution de l'algorithme. Si, au contraire, Idopt est différent de 0, l'étape E515 est suivie de l'étape E516 qui envoie les paramètres de codage retenus en rapport avec la méthode de transcodage sélectionnée à l'unité de codage 11qui exécute alors l'étape E209 de la figure 2. Ces nouveaux paramètres sont, par exemple, une contrainte de débit, le format de la séquence transcodée et la fréquence temporelle de cette séquence transcodée. On notera que, dans l'exemple de réalisation décrit, les paramètres transmis correspondent à la méthode de transcodage compatible avec les caractéristiques de la machine client et du réseau et qui maximise la qualité visuelle. Par ailleurs, les étapes E503, E505, E507 et E509 sont des étapes de test qui ont pour but de tester la compatibilité de chaque méthode de transcodage évaluée lors de l'exécution d'une boucle de l'algorithme avec des contraintes associées à la machine client 2 et au réseau 3. On notera que dans l'exemple de réalisation considéré la méthode de transcodage est sélectionnée par rapport à une séquence de données entière. Cependant, il est tout à fait possible de modifier la granularité de cette prise de décision en sélectionnant une méthode au niveau de chaque image ou au niveau d'un groupe d'images. Pour ce faire, on remplacera la valeur de l'erreur quadratique moyenne eqm de l'étape E602 de la figure 6 par une valeur d'erreur quadratique moyenne par image ou pour un groupe d'images selon le cas envisagé. En référence à la figure 7, est décrit un exemple d'appareil programmable mettant en #uvre l'invention. Cet appareil est adapté à traiter des données numériques multimédia en vue de les transmettre. Selon le mode de réalisation choisi et représenté à la figure 7, un appareil mettant en #uvre l'invention est par exemple un micro-ordinateur 700 ou une station de travail connecté à différents périphériques, par exemple une caméra numérique 701 (ou un scanner, ou tout moyen d'acquisition ou de stockage d'image) reliée à une carte graphique et fournissant à l'appareil des données à traiter et à transmettre. L'appareil 700 comporte un bus de communication 702 auquel sont reliés : - une unité centrale de traitement 703 (microprocesseur), qui exerce la fonction de l'unité de commande 19 de la figure 1, - une mémoire morte 704, pouvant comporter le programme "Progr", - une mémoire vive 706, comportant des registres 707 adaptés à enregistrer des variables créées et modifiées au cours de l'exécution du programme précité et notamment les variables R, BP, 0, C, V, M, PSNR, MaxWPSNR, WPSNR, Idopt, id, t, T, s, S, A, B, VAR, var, EQM, W1, W2 mentionnées en référence aux figures précédentes, - un écran 708 permettant de visualiser les données à traiter et/ou de servir d'interface graphique avec l'utilisateur qui pourra interagir avec le programme selon l'invention, à l'aide d'un clavier 710 ou de tout autre moyen tel qu'un dispositif de pointage non représenté, comme par exemple une souris ou un crayon optique, - un disque dur 712 pouvant comporter le programme "Progr" précité, - un lecteur de disquette 714 adapté à recevoir une disquette 716 et à y lire ou à y écrire des données traitées ou à traiter selon l'invention, - une interface de communication 718 reliée à un réseau de communication 720, par exemple le réseau Internet, l'interface étant apte à transmettre et à recevoir des données. On notera que l'appareil 700 sélectionne rapidement la méthode de transcodage la plus adaptée au contenu de la séquence vidéo à transmettre à une machine client et qui délivrera une qualité visuelle optimale. Le processus de sélection qui est mis en oeuvre par l'appareil 700 induit un faible coût calculatoire et nécessite un espace mémoire peu important. Cet appareil effectue ensuite un transcodage de la séquence avec la méthode sélectionnée et transmet ainsi la séquence transcodée. Le bus de communication permet la communication et l'interopérabilité entre les différents éléments inclus dans le micro-ordinateur 700 ou reliés à lui. La représentation du bus n'est pas limitative et, notamment, l'unité centrale est susceptible de communiquer des instructions à tout élément du micro-ordinateur 700 directement ou par l'intermédiaire d'un autre élément du micro-ordinateur 700. Le code exécutable du programme noté "Progr" permettant à l'appareil programmable de mettre en #uvre les procédés de récupération du contexte (figure 2), de codage/décodage (figures 3a et 3b) et de sélection d'une méthode de transcodage (figures 4a, 5 et 6) des données selon l'invention, peut être stocké par exemple dans le disque dur 712 ou en mémoire morte 704 comme représenté sur la figure 7. Bien qu'un seul programme soit identifié, il est possible d'avoir plusieurs programmes ou sous programmes pour mettre en oeuvre l'invention. Selon une variante, la disquette 716, peut contenir des données compressées et stockées ainsi que le code exécutable du ou des programmes selon l'invention qui, une fois lu par l'appareil 700, sera stocké dans le disque dur 712. En seconde variante, le code exécutable du ou des programmes pourra être reçu par l'intermédiaire du réseau de communication 720, via l'interface 718, pour être stocké de façon identique à celle décrite précédemment. Les disquettes peuvent être remplacées par tout support d'information tel que, par exemple, un disque compact (CD-ROM) ou une carte mémoire. De manière générale, un moyen de stockage d'information, lisible par un ordinateur ou par un microprocesseur, intégré ou non à l'appareil, éventuellement amovible, est adapté à mémoriser un programme dont l'exécution permet la mise en #uvre du procédé selon l'invention. De manière plus générale, le programme pourra être chargé dans un des moyens de stockage de l'appareil 700 avant d'être exécuté. L'unité centrale 703 va commander et diriger l'exécution des instructions ou portions de code logiciel du ou des programmes selon l'invention, instructions qui sont stockées dans le disque dur 712 ou la mémoire morte 704 ou bien dans les autres éléments de stockage précités. Lors de la mise sous tension, le ou les programmes qui sont stockés dans une mémoire non volatile, par exemple le disque dur 712 ou la mémoire ROM 704, sont transférés dans la mémoire vive RAM 706 qui contiendra alors le code exécutable du ou des programmes selon l'invention, ainsi que des registres pour mémoriser les variables nécessaires à la mise en #uvre de l'invention. Il convient de noter que l'appareil de traitement de données comportant un dispositif selon l'invention peut également être un appareil programmé. Cet appareil contient alors le code du ou des programmes informatiques par exemple figé dans un circuit intégré à application spécifique (ASIC). On notera que l'appareil de la figure 7 qui contient le programme "Progr" précédemment mentionné peut être, dans le cadre d'une architecture de communication du type client-serveur, le dispositif 4 de la figure 1. REVENDICATIONS 1. Procédé de sélection d'une méthode parmi un ensemble de méthodes de transcodage de données vidéo, lesdites données étant susceptibles d'être transmises entre au moins deux appareils de communication (2,4) par l'intermédiaire d'un réseau de communication (3), caractérisé en ce que le procédé comporte les étapes suivantes : - détermination (E605, E606, E609, E610) d'au moins un facteur de pondération (Wi.W2) à attribuer à chacune des méthodes de transcodage de l'ensemble, ledit au moins un facteur de pondération dépendant des données à transcoder, - pondération d'une valeur moyenne d'au moins une caractéristique représentative de chacune des méthodes de transcodage de l'ensemble en appliquant les facteurs de pondération adaptés (W1, W2), - sélection d'une méthode de transcodage en fonction des valeurs moyennes pondérées. 2. Procédé selon la revendication 1, caractérisé en ce qu'il comporte une étape préalable de classement des méthodes de transcodage de l'ensemble en plusieurs types de méthodes, le facteur de pondération étant ainsi déterminé suivant le type de méthode de transcodage et l'étape de pondération étant effectuée en fonction du facteur de pondération adapté au type de méthode de transcodage concerné. 3. Procédé selon la revendication 1 ou 2, caractérisé en ce que la détermination dudit au moins un facteur de pondération dépend de ladite au moins une caractéristique représentative de chaque méthode de transcodage qui va être pondérée. 4. Procédé selon l'une des revendications 1 à 3, caractérisé en ce qu'il comporte une étape préalable d'obtention d'une valeur moyenne d'au moins une caractéristique représentative de chacune des méthodes de transcodage de l'ensemble. 5. Procédé selon la revendication 4, caractérisé en ce que la valeur moyenne de ladite au moins une caractéristique représentative de chacune des méthodes de transcodage de l'ensemble est obtenue, pour chaque méthode, à partir de plusieurs valeurs de la caractéristique considérée qui ont été respectivement obtenues par application de la méthode concernée à plusieurs séquences de données dites d'entraînement. 6. Procédé selon la revendication 5, caractérisé en ce que l'étape de détermination dudit au moins un facteur de pondération prévoit, d'une part, de mesurer l'activité spatiale et l'activité temporelle des données à transcoder et des séquences de données d'entraînement et, d'autre part, de comparer entre elles les mesures de même nature. 7. Procédé selon la revendication 6, caractérisé en ce que l'étape de détermination prévoit en outre de déduire ledit au moins un facteur de pondération du résultat des comparaisons effectuées entre les mesures. 8. Procédé selon l'une des revendications 1 à 7, caractérisé en ce qu'une caractéristique représentative de chacune des méthodes de transcodage de l'ensemble est une mesure de qualité induite par la méthode concernée. 9. Procédé selon les revendications 6 et 8, caractérisé en ce que l'activité spatiale est mesurée par la variance et l'activité temporelle est mesurée par l'erreur quadratique moyenne. 10. Procédé selon les revendications 7 et 9, caractérisé en ce qu'un facteur de pondération s'écrit W1 = 1 A' selon le signe de A', avec A' = I A # / 2552et A = var - VAR, où var représente une mesure de la variance des données à transcoder et VAR représente une mesure de la variance des séquences de données d'entraînement. 11. Procédé selon les revendications 7 et 9, caractérisé en ce qu'un facteur de pondération s'écrit W2 = 1 B' selon le signe de B', avec B' = # B # / 2552 et B = eqm - EQM, où eqm représente une mesure de l'erreur quadratique moyenne des données à transcoder et EQM représente une mesure de l'erreur quadratique moyenne des séquences de données d'entraînement. 12. Procédé selon l'une des revendications 1 à 11, caractérisé en ce que l'ensemble de méthodes de transcodage comprend des méthodes de transcodage par réduction de la résolution spatiale et/ou des méthodes de transcodage par requantification et/ou des méthodes de transcodage par réduction de la fréquence temporelle. 13. Procédé selon les revendications 2,10 et 12, caractérisé en ce que le facteur de pondération W1 est à attribuer aux méthodes de transcodage par requantification et aux méthodes de transcodage par réduction de la résolution spatiale. 14. Procédé selon les revendications 2, 11 et 12, caractérisé en ce que le facteur de pondération W2 est à attribuer aux méthodes de transcodage par réduction de la fréquence temporelle. 15. Procédé selon la revendication 8, caractérisé en ce que chacune des méthodes de transcodage de l'ensemble est également représentée par au moins une des caractéristiques que sont le format des images après transcodage par la méthode concernée, le débit induit par la méthode concernée et l'espace mémoire nécessaire au décodage des données transcodées engendrées par méthode concernée. 16. Procédé selon l'une des revendications 1 à 15, caractérisé en ce qu'il comporte une étape de test de la compatibilité de chaque méthode de transcodage avec au moins une contrainte associée à au moins un des appareils de communication et/ou au réseau de communication. 17. Procédé selon la revendication 16, caractérisé en ce qu'une contrainte correspond au débit autorisé sur le réseau de communication. 18. Procédé selon la revendication 16, caractérisé en ce qu'une contrainte correspond à une ou plusieurs caractéristiques de l'un des appareils de communication qui est destiné à recevoir les données numériques. 19. Dispositif de sélection d'une méthode parmi un ensemble de méthodes de transcodage de données vidéo, lesdites données étant susceptibles d'être transmises entre au moins deux appareils de communication (2,4) par l'intermédiaire d'un réseau de communication (3), caractérisé en ce que le dispositif comporte : - des moyens de détermination d'au moins un facteur de pondération (W1, W2) à attribuer à chacune des méthodes de transcodage de l'ensemble, ledit au moins un facteur de pondération dépendant des données à transcoder, - des moyens de pondération d'une valeur moyenne d'au moins une caractéristique représentative de chacune des méthodes de transcodage de l'ensemble en appliquant les facteurs de pondération adaptés (W1, W2), - des moyens de sélection d'une méthode de transcodage en fonction des valeurs moyennes pondérées. 20. Dispositif selon la revendication 19, caractérisé en ce qu'il comporte des moyens de classement des méthodes de transcodage de l'ensemble en plusieurs types de méthodes, le facteur de pondération étant ainsi déterminé suivant le type de méthode de transcodage et les moyens de pondération étant appliqués en fonction du facteur de pondération adapté au type de méthode de transcodage concerné. 21. Dispositif selon la revendication 19 ou 20, caractérisé en ce que la détermination dudit au moins un facteur de pondération dépend de ladite au moins une caractéristique représentative de chaque méthode de transcodage qui va être pondérée. 22. Dispositif selon l'une des revendications 19 à 21, caractérisé en ce qu'il comporte des moyens d'obtention d'une valeur moyenne d'au moins une caractéristique représentative de chacune des méthodes de transcodage de l'ensemble. 23. Dispositif selon la revendication 22, caractérisé en ce que la valeur moyenne de ladite au moins une caractéristique représentative de chacune des méthodes de transcodage de l'ensemble est obtenue, pour chaque méthode, à partir de plusieurs valeurs de la caractéristique considérée qui ont été respectivement obtenues par application de la méthode concernée à plusieurs séquences de données dites d'entraînement. 24. Dispositif selon la revendication 23, caractérisé en ce que les moyens de détermination dudit au moins un facteur de pondération, d'une part, mesurent l'activité spatiale et l'activité temporelle des données à transcoder et des séquences de données d'entraînement et, d'autre part, comparent entre elles les mesures de même nature. 25. Dispositif selon la revendication 24, caractérisé en ce que les moyens de détermination déduisent en outre ledit au moins un facteur de pondération du résultat des comparaisons effectuées entre les mesures. 26. Dispositif selon l'une des revendications 19 à 25, caractérisé en ce qu'une caractéristique représentative de chacune des méthodes de transcodage de l'ensemble est une mesure de qualité induite par la méthode concernée. 27. Dispositif selon les revendications 24 et 26, caractérisé en ce que l'activité spatiale est mesurée par la variance et l'activité temporelle est mesurée par l'erreur quadratique moyenne. 28. Dispositif selon les revendications 25 et 27, caractérisé en ce qu'un facteur de pondération s'écrit W1 = 1 A' selon le signe de A' =1 AI /2552 et A = var - VAR, où var représente une mesure de la variance moyenne des données à transcoder et VAR représente une mesure de la variance moyenne des séquences de données d'entraînement. 29. Dispositif selon les revendications 25 et 27, caractérisé en ce qu'un facteur de pondération s'écrit W2 = 1 B' selon le signe de B', avec B' = 1 B / 2552 et B = eqm - EQM, où eqm représente une mesure de l'erreur quadratique moyenne des données à transcoder et EQM représentent une mesure de l'erreur quadratique moyenne des séquences de données d'entraînement. 30. Dispositif selon l'une des revendications 19 à 29, caractérisé en ce que l'ensemble de méthodes de transcodage comprend des méthodes de transcodage par réduction de la résolution spatiale et/ou des méthodes de transcodage par requantification et/ou des méthodes de transcodage par réduction de la fréquence temporelle. 31. Dispositif selon les revendications 20,28, et 30, caractérisé en ce que le facteur de pondération W1 est à attribuer aux méthodes de transcodage par requantification et aux méthodes de transcodage par réduction de la résolution spatiale. 32. Dispositif selon les revendications 20,29 et 30, caractérisé en ce que le facteur de pondération W2 est à attribuer aux méthodes de transcodage par réduction de la fréquence temporelle. 33. Dispositif selon la revendication 26, caractérisé en ce que chacune des méthodes de transcodage de l'ensemble est également représentée par au moins une des caractéristiques que sont le format des images après transcodage par la méthode concernée, le débit induit par la méthode concemée et l'espace mémoire nécessaire au décodage des données transcodées engendrées par la méthode concernée. 34. Dispositif selon l'une des revendications 19 à 33, caractérisé en ce qu'il comporte des moyens de test de la compatibilité de chaque méthode de transcodage avec au moins une contrainte associée à au moins un des appareils de communication et/ou au réseau de communication. 35. Dispositif selon la revendication 34, caractérisé en ce qu'une contrainte correspond au débit autorisé sur le réseau de communication. 36. Dispositif selon la revendication 34, caractérisé en ce qu'une contrainte correspond à une ou plusieurs caractéristiques de l'un des appareils de communication qui est destiné à recevoir les données numériques. 37. Appareil de communication, caractérisé en ce qu'il comporte un dispositif de sélection d'une méthode parmi un ensemble de méthodes de transcodage de données vidéo selon l'une des revendications 19 à 36. 38. Moyen de stockage d'information lisible par un ordinateur ou un microprocesseur comportant des instructions de code d'un programme d'ordinateur pour l'exécution des étapes du procédé de sélection d'une méthode parmi un ensemble de méthodes de transcodage de données vidéo selon l'une des revendications 1 à 18. 39. Moyen de stockage d'informations amovible, partiellement ou totalement lisible par un ordinateur ou un microprocesseur comportant des instructions de code d'un programme d'ordinateur pour l'exécution des étapes du procédé de sélection d'une méthode parmi un ensemble de méthodes de transcodage de données vidéo selon l'une des revendications 1 à 18. 40. Programme d'ordinateur chargeable dans un appareil programmable, caractérisé en ce qu'il comporte des séquences d'instructions ou des portions de code logiciel pour mettre en #uvre les étapes du procédé de sélection d'une méthode parmi un ensemble de méthodes de transcodage de données vidéo selon l'une des revendications 1 à 18, lorsque ce programme d'ordinateur est chargé et exécuté par l'appareil programmable.