Brevet FR2688369A1 — publié le 19930910

Procédé de codage d1lmages à tres bas débit et dispositif de codage-décodage mettant en oeuvre ce procédé La présente invention concerne un procédé de codage d'image ges à très bas débit et un dispositif de codage-décodage mettant en oeuvre ce procédé. Elle s'applique notamment à la réalisation de CODEC numériques bas débits dont la gamme des débits est comprise entre 8 à 16 Kb/s. Dans ces codeurs les principaux modes de codage utilisés sont les modes de codage intra-image et les modes de codage inter-image avec compensation de mouvement. Le mode intraimage est cependant très peu utilisé par le fait que d'une part, il est extrêmement onéreux en nombre de bits transmis, et que d'autre part, les changements de séquence dans les images transmises posent généralement d'énormes problèmes qui sont la cause par exemple de débordements de la capacité d'enregistrement des mémoires tampons. Parmi les méthodes de codage connues, celles décrites par exemple par la norme "CITT spécialist Group on coding for visual telephony. Recommandation H261 version 11/1989" est certainement celle qui est la mieux adaptée pour transmettre des images à très faible débit car elle opère en mode différentiel dans le domaine temporel et par transformée cosinus dans le domaine spatial. L'intérêt majeur de travailleur en mode différentiel inter-image est de réduire la redondance et par là même la quantité d'informations à coder. L'utilisation du mode de codage par transformée cosinus a l'avantage de fournir une image totalement décorrélée. Cependant, il est nécessaire d'utiliser à la fois des transformées cosinus directes et des transformées de cosinus inverses car les prédictions faites aux niveaux des codeurs et décodeurs ont lieu dans le domaine spatial. En outre, cela nécessite de structurer l'image en blocs et macroblocs, un macrobloc étant constitué par exemple de quatre blocs de luminance de taille 8x8 et de deux blocs de signal de chrominance. Un macrobloc de luminance 16x16 représente sur l'image la même surface qu'un bloc de chrominance de 8x8 en raison du sous-échantillonnage qui est utilisé. Un filtre passebas est introduit dans la boucle de codage pour réduire les artéfacts dans les hautes fréquences dus à la compensation de mouvement et de diminuer le bruit de quantification dans la boucle de prédiction. Le choix du mode de codage dans une approche a priori, avant codage des coefficients, est chronologiquement réalisé en effectuant d'abord un choix entre le mode compensé en mouvement et le mode inter-image, ce choix étant guidé sur des mesures de différences inter-image, puis un choix entre le mode retenu et le mode intra-image par comparaison de l'activité, ou variance, des niveaux des gris contenus dans les blocs à transmettre. Une mémoire d'image contenant l'image précédente reconstruite permet d'opérer en mode différentiel dans le domaine temporel via des prédicteurs inter-image et inter-image compensé en mouvement. Selon l'état de remplissage de la mémoire tampon les coefficients sont quantifiés puis déquantifiés avec un pas qui est calculé par l'organe de régulation. Un codage à longueur variable assure l'adaptation des mots de code aux propriétés statistiques des informations à transmettre. Le rôle de la régulation est de faire évoluer les différents paramètres de codage du contenu de l'image à transmettre en vue d'assurer le débit requis. Le multiplexage vidéo a pour fonction d'engendrer un train binaire contenant entre autres les coefficients codés, les modes de codage intra inter, inter-image compensé et les mots de synchronisation des différentes structures des images. Cependant, bien que performant ce mode de régulation fait toujours courir le risque qu'un débordement de la mémoire tampon se produise, à l'initialisation notamment lors de la transmission de la première image ou lors de changements de la scène observée dans les séquences d'images et oblige à arrêter la transmission des images chaque fois que ce risque est présent ce qui est préjudiciable à l'intégrité de l'information transmise. Le but de l'invention est de pallier ltinconvénient précité. A cet effet, l'invention a pour objet un procédé de codage différentiel de blocs d'images caractérisé en ce qu'il consiste à coder la différence entre le bloc courant de l'image à transmettre et un des quatre blocs précédemment reconstruits dans le plus proche voisinage du bloc courant. L'invention a également pour objet un dispositif pour la mise en oeuvre du procédé. Le procédé et le dispositif ont pour avantage qu'ils permettent de réduire l'utilisation du mode de codage intra-image lors du changement brusque d'une scène observée par exemple, lors de la transmission de la première image d'une séquence ou lors de changement de scènes ou de variations de gains du capteur d'image. La substitution du mode de codage selon l'invention, au mode de codage intra-image permet de réduire considérablement le coût de codage des blocs et d'éviter d'augmenter le pas de quantification des coefficients transformés. L'invention a également pour avantage qu'elle permet de réduire le temps de convergence du codeur vers le fonctionnement en régime permanent. D'autres caractéristiques et avantages de l'invention apparaîtront ci-après à l'aide de la description qui suit faite en regard des dessins annexés qui représentent - la figure 1 un mode de réalisation d'un codeur selon l'invention; - la figure 2 un mode de réalisation d'un décodeur selon l'invention - la figure 3 une illustration du mode de prédiction d'un macrobloc courant à l'aide de macroblocs voisins reconstruits. Le codeur selon l'invention qui est représenté à la figure 1 comporte un dispositif de codage différentiel 1 représenté à llinté- rieur d'une ligne fermée en pointillés couplé entre un dispositif d'acquisition de signaux vidéo (transformation lignes/blocs) 2 provenant par exemple d'une caméra de télévision 3, et un canal de transmission 4. Le dispositif de codage différentiel 1 comprend de façon connue un prédicteur 5, un quantificateur 6, un dispositif de reconstruction d'images transmises 7 ainsi qu'un allocateur de code formé par un dispositif de codage à longueur variable 8. L'image vidéo à transmettre est appliquée par le dispositif d'acquisition d'images 2 à une première entrée d'un circuit soustracteur 9 dont l'autre entrée est reliée à la sortie du prédicteur d'images 5 par l'intermédiaire ou non d'un filtre de boucle 10. La sortie du circuit soustracteur 9 est reliée à l'entrée du quantificateur 6 par l'intermédiaire d'un dispositif de calcul de transformée cosinus 11. Le prédicteur 5 délivre une valeur de prédiction p sur la première entrée du circuit soustracteur 9. Chaque valeur d'image à coder X est diminuée de sa valeur de prédiction p appliquée sous la forme de la différence d = X-p à l'entrée du quantificateur 6 après avoir été transformée par le dispositif de calcul de transformée cosinus 11. A chaque niveau de quantification l'allocateur de code 8 associe un code C. qui est mémorisé dans une mémoire tampon 12 avant d'être transmise sur le canal de transmission 4. Le circuit de multiplexage 13 assure la transmission des codes C. dans la mémoire tampon 12. Le signal quantifié obtenu à la sortie du circuit de quantification 6 est appliqué sur une première entrée du circuit de reconstruction 7 par l'intermédiaire d'un circuit de dé quantification 14 et d'un dispositif de calcul de transformée cosinus inverse 15. La deuxième entrée du circuit de reconstruction 7 est reliée à la sortie du circuit de prédiction 5 ou à la sortie du filtre de boucle 10 par l'intermédiaire d'un circuit d'aiguillage 16. Les échantillons d'image reconstruits par le circuit de reconstruction images 7 sont mémorisés à l'intérieur d'une mémoire d'image 17. Ces échantillons sont ensuite appliqués d'une part, au circuit de prédiction 5 au travers d'un dispositif de compensation de mouvement 18 et d'autre part, dans une mémoire d'image 19 pour mettre en mémoire chaque image reconstruite qui précède l'image courante reconstruite. Un dispositif de commande 20 permet d'effectuer la commutation des modes de codage interimage ou intra-image. La mémoire d'image 19 qui contient une image reconstruite de l'image qui précède l'image courante permet d'opérer en mode différentiel dans le domaine temporel en effectuant une prédiction inter-image ou inter-image compensée en mouvement. Selon l'état de remplissage de la mémoire tampon 12 les coefficients sont quantifiés par le quantificateur 6 et déquantifiés par le déquantificateur 14 avec un pas de quantification calculé par l'organe de régulation. Le codage à longueur variable qui est assuré par l'allocateur de code 8 adapte les mots de code aux propriétés statistiques des informations à transmettre. Le rôle de régulation quta la boucle formée par les éléments 5 à 19 est de faire évoluer les différents paramètres de codage du contenu de l'image à transmettre en vue d'assurer le débit requis. Le multiplexage vidéo qui est effectué par le multiplexeur 13 a pour fonction d'engendrer le train binaire contenant entre autres les coefficients codés, les modes de codage intra, inter et interimage compensé et les mots de synchronisation des différentes structures des images. Selon l'invention, un quatrième mode de codage inter dans l'image courante est inséré parmi les trois modes de codage décrits précédemment. 1l se caractérise par l'utilisation de la mémoire d'image 17 de l'image courante reconstruite et permet de coder la différence qui existe entre un macrobloc courant et un macrobloc voisin de l'image courante qui est le plus ressemblant parmi les quatre reconstruits respectivement à des positions décalées dx sur l'axe horizontal et dy sur l'axe vertical par rapport aux blocs courants de (-16, 0), (-16, -16), (0, -16), (+16, -16) tels que l'illustre la figure 3. Pour résoudre les problèmes de décision au bord considérés par rapport aux macroblocs précédents reconstruits, il faut considérer que le premier macrobloc situé au coin supérieur gauche ne peut pas être codé par ce mode, soit que, pour la première ligne de macrobloc, seul le macrobloc précédent sur la même ligne (-16, 0) peut être envisagé, soit que pour la première colonne de macroblocs les macroblocs en position (0, -16) et (+16, -16) sont à considérer et enfin pour la dernière colonne de macroblocs les macroblocs en (-16, 0), (-16, -16) et (0, -16) peuvent être considérés. En présence de ces quatre possibilités de codage, le choix du mode de codage dans une approche a priori peut alors être réalisé en choisissant entre le mode compensé inter-image et le mode compensé inter dans l'image courante en s'appuyant sur les différences qui existent entre le macrobloc à coder et les macroblocs compensés puis, en faisant un choix entre le mode compensé et le mode inter-image en s'appuyant sur des mesures de différences interimage et enfin en faisant un choix entre le mode retenu précédemment et le mode intra-image par comparaison de l'activité ou de la variance des niveaux des gris contenus dans les blocs à transmettre. La mise en oeuvre du choix du mode de prédiction est assurée grâce à la mémoire d'image courante reconstruite 17 et à la mémoire d'image 19 de l'image courante précédente reconstruite qui permettent au dispositif de commande 20 de réaliser la différence entre chaque macrobloc courant à transmettre et les macroblocs voisins reconstruits. La sélection du macrobloc dans la mémoire d'image courante reconstruite 17 qui est effectuée par le dispositif de commande 20 correspond alors à la meilleure prédiction du macrobloc courant qui est obtenue par calcul de la différence minimum entre les macroblocs voisins de la figure 3 avec celui à transmettre. Cela permet dès l'initialisation d'une nouvelle séquence d'image de travailler en mode de codage inter-image dans l'image courante avec un coût de codage très faible, en supprimant les risques de débordement de la mémoire tampon 12. L'adjonction d'un mot de code supplémentaire est commandée par le dispositif de commande 20 pour dissocier ce nouveau mode de prédiction des autres modes. Un décodeur correspondant est représenté à la figure 2. I1 comporte une mémoire tampon 21, un décodeur de mots de code à longueur variable 22 couplé à un circuit de déquantification 23 et un circuit de calcul de transformée cosinus inverse 24, l'ensem- ble des éléments 21, 22, 23 et 24 étant reliés dans cet ordre en série. 1l comporte également une mémoire d'image courante 25 couplée à une mémoire d'image de l'image précédente 26. Un circuit de reconstruction de l'image 27 reçoit sur une première entrée le signal décodé par les éléments 21, 22, 23 et 24 et sur une deuxième entrée les signaux lus dans les mémoires 25 et 26 au travers un dispositif de compensation de mouvement 28 et éventuellement d'un filtre passe-bas 29. Un dispositif de commande 30 assure la commande des compensateurs de mouvement et des mémoires image 28, 25 et 26 en fonction des mots de code reçus par le décodeur pour placer le circuit de reconstruction d'image 27 soit un mode de codage inter-image, soit un mode de codage inter-image avec compensation de mouvement, soit en mode de codage intra-image, soit en mode de codage de la différence entre chaque bloc courant et quatre autres précédemment reconstruits dans le plus proche voisinage et mémorisé dans la mémoire 25. Cela permet de limiter l'utilisation du mode de codage intra-image lors du changement brusque d'une scène observée occasionnée par exemple par la transmission d'une première image d'une séquence, un changement de scène ou une variation de gain d'un capteur d'image, en réduisant le pas de quantification des coefficients transformés et par là même le temps de convergence vers le fonctionnement en régime permanent du codeur et du décodeur. REVENDICATIONS 1. Procédé de codage différentiel de blocs d'images caractérisé en ce qu'il consiste à coder la différence (9, 11, 6, 8) entre le bloc courant de l'image à transmettre et un des quatre blocs de l'image courante reconstruite (17) dans le plus proche voisinage du bloc. 2. Procédé selon la revendication 1 caractérisé en ce qu'il consiste à mémoriser les blocs de l'image courante dans une mémoire d'image (17). 3. Procédé selon l'une quelconque des revendications I et 2 caractérisé en ce qu'il consiste, pour effectuer la différence entre blocs, à sélectionner le bloc qui, parmi les quatre, donne pour le codage la meilleure prédiction du bloc courant. 4. Procédé selon l'une quelconque des revendications 1 à 3 caractérisé en ce que les blocs image sont codés par transformation cosinus (11). 5. Dispositif pour la mise en oeuvre du procédé selon l'une quelconque des revendications 1 à 4 comprenant un dispositif de codage d'image différentiel comportant un quantificateur (6) couplé à un dispositif de codage à longueur variable (8), un prédicteur (5) et un dispositif de reconstruction de l'image transmise (7) couplé à une première mémoire d'image (17) caractérisé en ce qu'il comprend une deuxième mémoire d'image (19) pour mémoriser les blocs d'image reconstruits dans l'image précédant l'image courante. 6. Dispositif selon la revendication 4 caractérisé en ce qu'il comprend un dispositif de commande (20) du prédicteur (5) pour permettre l'exécution d'un codage des images dans les modes "inter-image" simple, "inter-image avec compensation de mouvement", intra-image" et le codage de la différence entre chaque bloc courant de L'image à transmettre et un des quatre blocs reconstruits dans le voisinage le plus proche du bloc courant dans l'image courante.