Brevet FR2694674A1 — publié le 19940211

Procédé de test d'un codeur/décodeur vidéo à compression de débit, et dispositif pour sa mise en oeuvre. L'invention se rapporte au domaine de la compression d'images et a plus particulièrement pour objet un procédé de test du bon fonctionnement et de la conformité à la norme d'un codeur/décodeur vidéo à compression de débit et un dispositif pour sa mise en oeuvre. La surveillance de la qualité des liaisons est un souci constant des exploitants de réseaux. I1 est connu d'utiliser des lignes de test dans les intervalles de suppression de trame pour permettre à l'opérateur de surveiller la qualité des liaisons en vérifiant si les critères de qualité classiques définis par les normes (bruit, linéarité pour les signaux analogiques, taux d'erreur pour les liaisons numériques) sont satisfaits. Toutefois ces critères sont insuffisants lorsque l'image est transmise au moyen d'un codeur/décodeur à réduction de débit car le codeur/décodeur devient alors un élément déterminant de la qualité de l'image transmise. En effet, le principe de la réduction de débit effectuée par le codeur afin de transmettre l'image se traduit par une dégradation de celle-ci, et cette dégradation dépend de l'image à l'entrée du codeur. La qualité de la transmission de l'image ne peut alors qu'être évaluée de manière subjective ; or il n'existe aucune méthode objective pour déterminer la qualité d'une image. La procédure classique pour estimer la qualité d'un codeur/décodeur consiste donc à recueillir le jugement de personnes variées sur un certain nombre d'images critiques. Cette procédure lourde n'est mise en oeuvre qu'au cours de l'élabora- tion de la norme. En fait, seule la conformité totale à la norme est un critère de qualité d'un codeur/décodeur. Afin de s'assurer de la qualité d'un codeur/décodeur, l'invention a donc pour objet un procédé de test de son fonction nement et de sa conformité à la norme de réduction de débit utilisée. Selon l'invention, un procédé de test du bon fonctionnement et de la conformité à la norme d'un codeur/décodeur vidéo à compression de débit, traitant une image numérique, par blocs composés des échantillons de luminance et de chrominance, ce traitement étant appliqué directement à ces blocs ou à des différences de blocs, auquel cas un vecteur mouvement est transmis pour indiquer le déplacement entre les deux blocs constitutifs de cette différence (l'un de ces blocs étant connu du codeur et du décodeur), ce traitement consistant en outre à appliquer à chaque bloc ou différence de bloc, une transformation en cosinus discrète permettant de passer dans le plan fréquentiel, puis à quantifier et coder les coefficients transformés de chaque bloc, est caractérisé en ce qu'il consiste - à appliquer à l'entrée du codeur un signal de test correspondant à une image ou une partie d'image numérique, choisie de façon à faire apparaître des coefficients non nuls répartis dans les deux directions du plan fréquentiel sur l'ensemble du bloc transformé - à forcer le codeur à utiliser successivement pour coder le signal de test toutes les possibilités prévues par la norme de compression de débit concernée et dont le choix relève uniquement de la liberté du codeur (tous les modes de fonctionnement, les vecteurs mouvements et les pas de quantifications) au moyen d'un dispositif de gestion du codage - à observer les informations en sortie du codeur par l'intermédiaire d'un dispositif dit "espion de ligne", ou en sortie du décodeur. Ce procédé s'applique aussi bien à tous les algorithmes de compression utilisant une transformée en cosinus, en sous-bandes ou non lorsque le codeur possède de nombreux degrés de liberté, et que son utilisation partielle se traduit nécessairement par une baisse de la qualité du transport du signal tout en restant conforme à la syntaxe prévue par la recommandation. L'invention sera mieux comprise et d'autres caractéristiques apparaîtront à l'aide de la description qui suit en référence aux figures annexées - la figure 1 représente un exemple de bloc choisi pour constituer le signal de test. - la figure 2 représente le branchement du dispositif dit "espion de ligne" sur la ligne de transmission, - la figure 3 illustre un mode de réalisation du dispositif dit "espion de ligne". Comme indiqué ci-dessus, le procédé de test selon l'invention consiste à appliquer un signal de test à l'entrée du codeur. Ce signal de test correspond à une partie d'image numérique. Une image numérique peut être représentée, par exemple, par un signal de luminance Y, un signal de chrominance bleue C B et un signal de chrominance rouge CR. Le codeur/décodeur traite l'image par blocs rectangulaires de 8 lignes composées de 8 échantillons pour chacune des trois composantes Y, C R et CB. En fait ce traitement peut être appliqué soit aux blocs Y, C R et C B directement (mode intratrame), soit à la différence entre le bloc courant et un bloc précédent choisi de façon à minimiser cette différence (modes intertrame et interimage). En général, ce traitement consiste essentiellement à appliquer à chaque bloc la transformation cosinus discrète (TCD), puis à quantifier et coder les coefficients transformés. La TCD permet de passer du plan spatial à un plan fréquentiel dans lequel la valeur d'un coefficient de coordonnées (u, v) correspond à l'énergie concentrée à cette fréquence (u, v) dans le plan spatial de départ. Dans le cas où ce sont les différences entre blocs qui sont codées, un vecteur mouvement est transmis afin d'indiquer la position du bloc précédent qui a été choisi, par rapport à celle du bloc courant. Pour limiter la quantité d'information à transmettre qui en résulterait, il est couramment attribué un unique vecteur mouvement pour un ensemble de blocs appelé "macrobloc". Un macrobloc est constitué de deux blocs de luminance 8 x 8 adjacents-et des blocs de chrominance bleue et de chrominance rouge situés au même endroit. Ce principe de fonctionnement que nous venons de décrire à titre d'exemple, correspond à celui de la recommandation 723 du CCIR. Mais à quelques variantes près, il reste valable pour les autres normes. Dans la suite de la description nous considérerons un codeur/décodeur conforme à cette recommandation 723 du CCIR. Comme nous l'avons dit ci-dessus, le procédé selon l'invention consiste à appliquer un signal de test à l'entrée du codeur. Toutefois, il n'est pas possible d'appliquer une image ou une partie d'image test connue à l'avance pour analyser le résultat du codage en sortie du codeur. En effet, les normes de compression de débit spécifient très précisément le fonctionnement du décodeur, mais laissent de nombreux degrés de liberté au niveau du codeur. Connaissant une image à l'entrée du codeur, il n'est pas possible de la prévoir à sa sortie. C'est pourquoi le procédé de test selon l'invention consiste à appliquer un signal de test à l'entrée du codeur, puis à forcer au niveau du codeur tous les modes de fonctionnement prévus par la norme de réduction dé débit utilisée (modes intratrame, intertrame ou interimage par exemple), avec tous les vecteurs mouvement possibles et tous les pas de quantification possibles. I1 est fondamental pour garantir la qualité d'une image transmise au moyen d'un codeur/décodeur à réduction de débit, que tous les modes de fonctionnement prévus par la norme concernée soient testés exhaustivement. En effet, un codeur qui n utiliserait que certains de ces modes serait compatible avec la norme mais il fournirait une qualité d'image inférieure. Selon la recommandation 723 du CCIR, et afin de pouvoir traiter les vecteurs mouvement, le signal de test choisi est donc un macrobloc de référence. Ce macrobloc est choisi de façon à décrire un maximum de configurations fréquentielles possibles. C'est-à-dire que l'on cherche à faire apparaître des coefficients non nuls répartis dans les deux d-irections du plan fréquentiel sur l'ensemble du bloc transformé. Le macrobloc de référence, représenté sur la figure 1, est par exemple constitué de la façon suivante : Les coefficients de luminance sont égaux à une valeur a sur l'ensemble du bloc Y 16 x 8 sauf pour le sous-bloc supérieur gauche de taille 4 x 4 dont les coefficients auront une valeur différente b. De même pour chacun des blocs de chrominance respectivement bloc CB et bloc CR, les coefficients du sous-blocs supérieur gauche de taille 2 x 4, auront une valeur différente, respectivement d et f, de celle des autres coefficients du bloc, respectivement c et e. D'autre part, selon ce procédé, le constructeur doit prévoir un dispositif pour forcer le codeur à utiliser successivement tous les modes de fonctionnement, tous les vecteurs mouvement et tous les pas de quantification prévus par la norme concernée, pour coder le signal de test. Cette gestion du codage est réalisée par un microprocesseur par exemple. Notons que cela n'entraîne aucun surcoût pour le constructeur puisqu'il dispose nécessairement d'un dispositif équivalent sur chaque matériel, de façon à pouvoir vérifier son fonctionnement en fin de fabrication. Si le codeur/décodeur transmet effectivement le signal de test et le code correctement pour toutes les configurations prévues par la norme, il est alors entièrement conforme à cette norme car il est impossible que le codeur ait en mémoire toutes les configurations de test pour en simuler le codage. L'invention prévoit deux modes de fonctionnement. Dans un premier mode de fonctionnement, le signal de test numérique est inséré dans le signal vidéo utile. Dans ce cas, l'équipement ne peut pas transmettre simultanément le signal vidéo à des fins d'exploitation. Ce mode de fonctionnement est seulement utilisé pour vérifier la conformité à la norme, et en période de maintenance, pour vérifier le bon fonctionnement du codeur ou du décodeur. Dans un second mode de fonctionnement, le signal de test numérique est confiné dans une partie des intervalles de suppression trame du signal vidéo, de manière à ne pas affecter le codage de la vidéo utile. Ce mode de fonctionnement est utilisé pour vérifier de façon permanente, en exploitation, le bon fonctionnement des circuits. Deux modes d'exploitation du signal de test correspondant aux deux modes de fonctionnement sont exposés ci-dessous. Selon un premier mode d'exploitation, le signal de test est analysé par un dispositif dit "espion de ligne" 2 monté entre le codeur vidéo 1 et le décodeur vidéo 3, comme indiqué sur la figure 2. Afin d'éviter toute désadaptation sur la ligne de transmission, l'espion de ligne 2 et le décodeur vidéo 3 ne peuvent pas être montés en parallèle. C'est pourquoi, dans un mode de réalisation de l'espion ligne représenté sur la figure 3, le signal en provenance du codeur est décodé par une interface d'entrée il pour obtenir un signal composite constitué des données numériques codées en NRZ et de l'horloge, qui est ensuite d'une part analysé comme expliqué ci-après, d'autre part régénéré par un circuit régénérateur de signal 12 pour être transmis au décodeur vidéo. A titre d'exemple, à 34 Mbps, selon la recommandation G703 du CCITT, le signal présenté à cette interface est un signal codé de type HDB3. Pour l'analyse, le signal composite, données plus horloge, est transmis à un détecteur 13 et à un démultiplexeur 14. Le détecteur 13 identifie le début de chaque trame de transmission en détectant périodiquement le motif de synchronisation de trame pour commander le démultiplexeur 14 qui démultiplexe les différentes composantes du signal télévision. La sortie du démultiplexeur 14 est reliée à un correcteur 15 à la sortie duquel le signal vidéo comprimé éventuellement corrigé est donc disponi ble. Pour comprendre le dispositif d'espion de ligne, la syntaxe correspondante à la recommandation CCIR 723 doit être brièvement décrite. Selon la recommandation CCIR 723, l'image de télévision est décrite à l'aide d'un motif de synchronisation permettant de repérer dans le signal codé le début de chaque image suivi de l'information correspondant au codage de groupes de huit lignes de télévision. Chaque groupe de huit lignes peut être repéré dans le signal codé par un motif de synchronisation suivi d'un numéro, du pas de quantification utilisé pour le codage des macroblocs relatifs au groupe de huit lignes correspondant puis de la description des différents macroblocs. Pour chaque macrobloc, l'information correspondant au mode de codage utilisé est transmise, suivie éventuellement du vecteur de mouvement lorsque le mode choisi l'impose puis ensuite l'information résultant du codage des différents blocs du macrobloc est transmise. Pour le motif de test, le procédé selon l'invention consiste à ajouter une ligne de bloc spécifique à la description du motif de test afin de pouvoir le repérer facilement dans le flux de données correspondant à la vidéo comprimé. Cette contrainte n'est pas gênante en terme de débit car cette ligne de bloc n'est constituée que d'un seul macrobloc par trame alors qu'il en a 810 dans la partie utile de l'image. Le signal vidéo comprimé éventuellement corrigé est donc fourni à un détecteur 17 et à une mémoire 16. Le détecteur 17 repère le motif de synchronisation correspondant au signal de test afin d'isoler ce signal de test du flot des données vidéo comprimées. Ce motif de synchronisation est constitué d'une suite d'éléments binaires non reproduite dans une juxtaposition quelconque des mots de code utilisés lors de l'opération de codage. Toutefois cette propriété n'est garantie que dans le cas d'une transmission sans erreur. Deux traitements sont effectués pour s'affranchir des erreurs éventuelles. D'une part le correcteur 15 effectue une correction d'erreurs sur le signal vidéo comprimé en utilisant la redondance prévue à cet effet par le codeur. D'autre part, le signal de test disponible en sortie du détecteur 17 est transmis à un circuit vérificateur 18 qui vérifie que tous les numéros de ligne de blocs qui sont transmis derrière le motif de synchronisation, s 'enchaînent correctement. Si c'est le cas, la phase d'enregistrement est déclenchée par le vérificateur 18 : lorsque le numéro de ligne correspond au motif de test, le vérificateur 18 transmet, via l'entrée de commande d'une bascule 19 dont l'autre entrée est reliée à la sortie du détecteur 17, un ordre d'enregistrement du signal vidéo comprimé issu du correcteur 15. Pendant la phase d'enregistrement, la sortie de la bascule 19 est couplée à l'entrée d'adressage de la mémoire 16 via un compteur 20 dont la sortie est reliée à une entrée d'un multiplexeur 21. L'entrée de signal de la mémoire 16 est reliée à la sortie du correcteur 15. L'ordre d'enregistrement est donc transmis par le vérificateur 18 à la bascule 19. Il se traduit par l'incrémentation du compteur 20, l'ordre de compter étant maintenu par la bascule 19 depuis la détection du motif de synchronisation correspondant au signal de test, jusqu'à la détection du motif de synchronisation suivant, par le détecteur 17. Le compteur 20 adresse alors la mémoire 16 par l'intermédiaire du multiplexeur 21 et le signal vidéo comprimé issu du correcteur 15 est enregistré dans la mémoire 16. Le rôle du multiplexeur 21 est de passer de la phase d'enregistrement décrite ci-dessus à la phase d'analyse du contenu de la mémoire 16 par un microprocesseur 22. Le passage d'une phase à l'autre se fait de la façon suivante : le microprocesseur se met ensuite en attente jusqu'à ce que la mémoire d'enregistrement se remplisse. Après une analyse, le microprocessseur 22 décide de passer à la phase enregistrement suivante. Il donne alors au multiplexeur 21 l'ordre de passage en mode enre gistrement et la mémoire 16 est adressée en écriture par la sortie du multiplexeur 21 dont l'en- trée est reliée au compteur 20. Le microprocesseur ressort de la phase d'attente à l'aide d'un signal d'interruption donné par le vérificateur 18. Après une temporisation, le microprocesseur 22 transmet au multiplexeur 21 l'ordre de passage en mode analyse et la mémoire 16 est adressée en lecture par la sortie du multiplexeur 21 dont l'entrée, reliée au microprocesseur 22, fournit l'adresse mémoire de lecture. La mémoire 16 restitue alors au microprocesseur 22 les données enregistrées à cette adresse. Pour cette phase d'analyse, le microprocesseur 22 doit connaître la longueur du message enregistré dans la mémoire 16. Cette information lui est fournie par l'état du compteur 20 à la fin de la phase d'enregistrement. Le compteur 18 est donc remis à zéro au début de chaque phase d'enregistrement. La longueur du message enregistré étant connue, deux modes de traitement sont possibles. Selon un premier mode de traitement, le microprocesseur 22 identifie le type de chaque paramètre transmis puis vérifie que le nombre de bits générés par le codage correspond à celui attendu pour ce type de paramètre. Lorsque le signal de test est transmis dans la suppression de trame, un nouveau signal de test est disponible toutes les 20 ms. C'est donc le temps de traitement dont dispose le microprocesseur 22. Ce mode de traitement suffit pour détecter une panne ou pour constater que le codeur/décodeur ne traite pas certaines informations, dans le cas où le nombre de bits n'est pas exact. Mais il ne permet pas de conclure quant au fonctionnement correct du matériel testé lorsque le nombre de bits est exact. C'est le but du second mode de traitement selon lequel le microprocesseur 22 analyse en temps différé le contenu de la mémoire 16, et vérifie bit par bit que les informations codées sont correctes. Le second mode d'exploitation du signal de test consiste à calculer après codage, transmission et décodage, la somme numé rique "ckeck-sum" du signal obtenu en sortie du décodeur. La comparaison du résultat obtenu avec le résultat théorique connu d'avance met ainsi en évidence tout disfonctionnement du codeur ou du décodeur. Toutefois ce résultat n'est exploitable que dans le cas où il n'y a pas d'erreur de transmission. Les erreurs résiduelles après correction d'erreurs sont détectées dans le décodeur à l'aide d'un code détecteur d'erreurs. Lorsque des erreurs résiduelles sont observées, le diagnostic effectué à l'aide de la somme numérique effectuée sur le motif de test est annulé. Le dispositif de gestion de ce résultat attendra pour donner un diagnostic fiable que. celui-ci soit observé plusieurs fois dans le même état et en l'absence d'erreurs de transmission. L'invention ne se limite pas au mode de réalisation décrit ci-dessus. Des variantes peuvent être apportées par l'homme de l'art. REVENDICATIONS 1. Procédé de test du bon fonctionnement et de la conformité à la norme d'un codeur/décodeur vidéo à compression de débit, traitant une image numérique, par blocs composés des échantillons des signaux de luminance et de chrominance, ce traitement étant appliqué directement à ces blocs ou à des différences de blocs, auquel cas un vecteur mouvement est transmis pour indiquer le déplacement entre les deux blocs constitutifs de cette différence, ce traitement consistant en outre à appliquer à chaque bloc ou différence de bloc, une transformation en cosinus discrète permettant de passer dans le plan fréquentiel, puis à quantifier et coder les coefficients transformés de chaque bloc, caractérisé en ce qu'il consiste - à appliquer à l'entrée du codeur un signal de test correspondant à une image ou une partie d'image numérique, choisie de façon à faire apparaître des coefficients non nuls répartis dans les deux directions du plan fréquentiel sur l'ensemble du bloc transformé, - à forcer le codeur à utiliser successivement pour coder le signal de test toutes les possibilités prévues par la norme de compression de débit concernée au moyen d'un dispositif de gestion du codage, - à observer les informations en sortie du codeur par l'intermédiaire d'un dispositif dit "espion de ligne", ou en sortie du décodeur. 2. Procédé selon la revendication 1, caractérisé en ce que l'observation par le dispositif dit "espion de ligne" consiste - à vérifier que le nombre de bits résultant du codage est correct - et/ou à analyser les informations codées en temps diffé ré. 3. Procédé selon la revendication 1, caractérisé en ce que l'observation en sortie du décodeur consiste à vérifier que la somme numérique du signal décodé est correcte. 4. Procédé selon l'une des revendications 1à 3, caractérisé en ce que le signal de test est placé dans la suppression vidéo. 5. Dispositif pour la mise en oeuvre du procédé de test selon la revendication 1, caractérisé en ce qu'il comporte - une interface d'entrée (11) permettant d'obtenir le signal composite constitué des données numériques et de l'horloge, à partir du signal en provenance du codeur - un régénérateur de signal (12) - des moyens (13, 14, 15, 17,18) destinés à identifier le signal de test parmi le flot de données comprimées et à s'affran- chir d'éventuelles erreurs de transmission - des moyens (16, 19, 20, 21) destinés à calculer la longueur du message codé, à enregistrer ce message pendant la phase d'acquisition et à restituer ces informations à des moyens de traitement de l'information (22) pendant la phase d'analyse.