Brevet FR2800550A1 — publié le 20010504

CIRCUIT DE DÉCODAGE MPEG ET D'AFFICHAGE D' IMAGES ET D' IMAGES INCRUSTÉES La présente invention concerne des circuits de décompression de séquences d'images, codées selon la norme MPEG et destinées à être fournies à un circuit d'affichage, et plus particulièrement un circuit intégré permettant d'afficher sur un écran des images incrustées dans des images principales. La norme de codage MPEG permet de mémoriser les images d'une séquence d' images numériques dans un espace mémoire réduit. Le codage MPEG prévoit de numériser les images d'une séquence selon trois catégories. Les images extrêmes de la séquence sont codées de façon autonome et sont appelées images "intra". Un certain nombre d'images intermédiaires, appelées images "prédites" sont codées en tenant compte de leurs différences avec l'image intra ou prédite qui les précède. Les autres images, appelées "images bidirectionnelles" sont codées en tenant compte des images intra ou prédites qui les encadrent. Au niveau du décodeur on stocke des séquences d'images codées dans une première mémoire et deux images successives intra/prédite décodées dans une mémoire tampon. La première mémoire et la mémoire tampon sont habituellement deux zones d'une même mémoire dans laquelle le décodeur MPEG peut venir lire et écrire par l'intermédiaire d'un bus. La figure 1 représente de manière très schématique un circuit intégré 2 qui comprend un décodeur MPEG 4 connecté à un bus bidirectionnel 8 par une entrée de données codées CDI, une entrée de données décodées DDI et une sortie de données décodées DDO. Une mémoire 6 est également connectée de manière à pouvoir lire et écrire sur le bus 8, et un circuit d'affichage 10 est connecté pour pouvoir lire sur le bus 8. La fonction du décodeur 4 est de décoder des images codées stockées dans la mémoire 6. Le décodeur doit, pour décoder certaines images, utiliser deux images (intra/prédite) décodées au préalable. Ces deux images sont stockées dans la mémoire 6 après leur décodage par le décodeur 4. D'autre part, une image décodée par le décodeur 4 n'est pas lue immédiatement par le circuit d'affichage 10, mais est stockée temporairement dans la mémoire 6. Ainsi, la mémoire 6 doit pouvoir contenir, en plus des images codées, trois images décodées. Le circuit d'affichage 10 affiche chaque image décodée en la lisant rangée par rangée dans la mémoire 6. Les données lues rangée par rangée sont notamment filtrées et synchronisées de manière à être affichables directement, par exemple par un écran de télévision. De nombreux récepteurs de télévision analogiques proposent, en plus de l'affichage d'une image principale, l'affichage d'une sous-image, ou image incrustée, sur une fraction de l'écran. On souhaite également, en télévision numérique, réaliser un circuit de décodage de séquences d'images codées selon la norme MPEG, qui permette d'afficher simultanément une image incrustée et une image principale. Une solution évidente consisterait à dupliquer le circuit 2 pour décoder et afficher respectivement les images principales et les images à incruster. Cette solution, amènerait à augmenter beaucoup le coût d'un récepteur de télévision, d'autant plus que le circuit associé à l'image à incruster devra être encore plus rapide que le circuit classique puisque les données associées à une image à incruster, de hauteur inférieure à la hauteur normale d'une image, sont en même nombre que les données associées à une image normale mais doivent être lues en une fraction de la durée normale de balayage d'une image. Un objet de la présente invention est de prévoir un circuit électronique permettant de décoder et d'afficher une image principale et une image incrustée en partageant l'utilisation d'un seul décodeur MPEG et d'une seule mémoire. Un autre objet de la présente invention est de prévoir un tel circuit en limitant les exigences de dimension de mémoire et de vitesse de lecture en mémoire liées au partage de la mémoire. Pour atteindre ces objets, la présente invention prévoit un circuit électronique comprenant une mémoire connectée pour être accessible en lecture et en écriture depuis un bus bidirectionnel, un décodeur MPEG ayant une entrée de données d'image codées et une entrée de données d'image décodées, les données d'image décodées correspondant à des suites de pixels et les entrées du décodeur étant reliées au bus de manière à pouvoir lire dans la mémoire, et ayant une sortie de données d'image décodées connectée au bus selon un premier chemin de manière à pouvoir écrire dans la mémoire des données d'une première image, et un circuit d'affichage de première image dont une entrée est reliée audit bus de manière à lire dans la mémoire les données écrites par le décodeur, qui comprend en outre: un filtre numérique produisant un pixel parmi toute suite d'un nombre prédéterminé de pixels, connecté entre la sortie du décodeur et ledit bus selon un second chemin de manière à pouvoir écrire dans la mémoire des données d'une deuxième image, et un circuit d'affichage de deuxième image dont une entrée est connectée au bus de manière à lire dans la mémoire les données écrites par le filtre. Selon un mode de réalisation de la présente invention, le circuit électronique comprend également un circuit de compression connecté dans le premier chemin, un premier circuit de décompression connecté entre le bus et l'entrée de données décodées du décodeur, et un second circuit de décompression, suivi d'un circuit de conversion bloc/rangées, connecté entre le bus et le premier circuit d'affichage. Ces objets, caractéristiques et avantages, ainsi que d'autres de la présente invention seront exposés en détail dans la description suivante de modes de réalisation particuliers faite à titre non-limitatif en relation avec les figures jointes parmi lesquelles: la figure 1, décrite précédemment, représente schématiquement un circuit de décodage MPEG pour 1 'affichage d'images principales uniquement; la figure 2 représente schématiquement un premier mode de réalisation d'un circuit de décodage MPEG pour l'affichage d'images principales et d'images incrustées selon la présente invention; et la figure 3 représente schématiquement un second mode de réalisation d'un circuit de décodage MPEG pour l'affichage d'images principales et d'images incrustées selon la présente invention. De mêmes références désignent de mêmes éléments dans les figures 1 à 3. La figure 2 représente schématiquement un circuit intégré 12 semblable au circuit 2 de la figure 1, utilisant un seul décodeur, qui permet de décoder et d'afficher une image principale et une image incrustée à partir de séquences d'images codées selon la norme MPEG. Le circuit 12 comprend en plus des éléments du circuit 2 un circuit "décimateur" ou filtre numérique 14 relié entre le bus 8 et la sortie DDO du décodeur 4, en parallèle avec un bus 16 simple. Un second circuit d'affichage 18 est également relié au bus 8. Les circuits d'affichage 10 et 18 sont classiquement reliés à un même dispositif d'affichage tel qu'un écran 19. Dans le circuit 12, les images principales sont décodées, stockées, et affichées de la manière décrite précédemment en utilisant le bus 16. Par contre, les images à incruster doivent subir une réduction de taille, ou "décimation" entre leur décodage et leur affichage. En effet, les images à incruster sont des images qui ont à l'origine la même taille que les images principales, mais qui doivent être affichées par le circuit d'affichage 18 avec une taille réduite. Le circuit décimateur 14 a ainsi pour fonction de ne produire qu'un pixel pour n, n étant le rapport de réduction désiré de l'image décodée à incruster. Une image à incruster décodée et "décimée" écrite dans la mémoire 6 par le circuit décimateur 14 peut être lue et affichée directement par le circuit d'affichage 18, qu'elle soit de type "intra", "prédite" ou "bidirectionnelle". Cependant, une image intra ou prédite décodée ne peut plus être utilisée par le décodeur 4 une fois qu'elle a été décimée alors que, comme on l'a indiqué précédemment, ces images sont nécessaires au décodage des images bidirectionnelles. Ainsi, lorsqu'une image à incruster prédite ou intra est décodée, elle est à la fois stockée en mémoire 6 sous forme non décimée, directement à travers le bus 16, en vue d'une utilisation ultérieure par le décodeur 4, et sous forme décimée en vue d'un affichage ultérieur. Lorsqu'une image à incruster bidirectionnelle est décodée, elle est stockée en mémoire 6 sous forme décimée uniquement, en vue d'un affichage ultérieur. On notera que des mémoires tampons (non représentées) , sont situées entre le bus 8 et le bus 16, ainsi qu'en sortie du circuit décimateur 14, pour stocker temporairement la forme décimée et la forme non décimée de chaque image à incruster décodée jusqu'à ce qu'elles soient écrites dans la mémoire 6. Le circuit 12 doit fonctionner suffisamment rapidement pour décoder et afficher une image principale et une image à incruster en une période d'affichage. Pour cela: - en la durée d'une période d'affichage, le décodeur 4 doit pouvoir décoder une image principale et une image à incruster, c'est-à-dire lire dans la mémoire 6 deux images codées et quatre images décodées et y écrire deux images décodées et une image décodée décimée; - en la durée d'une période d'affichage, le circuit d'affichage 10 doit pouvoir lire en mémoire 6 une image décodée; - à la même vitesse, le circuit d'affichage 18 doit pouvoir lire en mémoire 6 une image décodée décimée. En effet, l'affichage de l'image à incruster se fait sur une partie seulement de l'écran, et dure moins longtemps que la période d'affichage d'une image sur tout l'écran, mais il y a moins de données à lire puisque les données d'image ont été préalablement décimées. En d'autres termes, le rapport entre le nombre de données à lire et la durée dont on dispose pour les lire est réduit. C'est là un premier avantage de la présente invention par rapport au cas o l'on réalise une mémorisation d'images non décimées: il n'est pas nécessaire de lire très rapidement toute une image non décimée pour n'en afficher qu'une partie. En conséquence, le circuit selon la présente invention peut seulement avoir une vitesse deux fois supérieure à celle d'un circuit normal. En d'autres termes, le circuit selon la présente invention peut disposer d'une bande passante mémoire instantanée qui n'est que deux fois supérieure à celle d'un circuit normal. Selon un deuxième aspect de la présente invention, on cherche à réduire encore cette vitesse en adjoignant au circuit de la figure 2 des moyens de compression/décompression. La figure 3 représente de manière schématique un circuit intégré 20 permettant cette réduction de vitesse et comprenant, en plus des éléments du circuit 12, un circuit de compression 22, des circuits de décompression 24 et 26 et un circuit de conversion bloc/rangée 28. Le circuit de compression 22 est connecté entre la sortie DDO du décodeur 4 et le bus 16. Les circuits de décompression 24 et 26 sont connectés entre le bus 8 et respectivement l'entrée DDI du décodeur 4 et le circuit d'affichage 10. Le circuit de compression utilise un algorithme connu pour réduire la taille occupée en mémoire par les images décodées non décimées. Une image compressée doit être décompressée par un des circuits de décompression 24 ou 26 avant de pouvoir être utilisée respectivement par le décodeur 4 et par le circuit d'affichage 10. On notera que les données décompressées sont classiquement produites sous forme de blocs alors que le circuit d'affichage 10 utilise des données sous forme de rangées. Ainsi, le circuit de conversion bloc/rangée 28 est placé en sortie du circuit de décompression 26. Si l'on appelle k le rapport de compression des images par le compresseur 22, une image décodée compressée, stockée en mémoire 6, peut être écrite et lue avec une vitesse k fois inférieure à celle qui est nécessaire pour écrire et lire des images non compressées. D'autre part, les images décodées compressées ayant une taille réduite k fois, la taille de la mémoire 6 peut être réduite. Le circuit 20 permet ainsi d'utiliser une mémoire 6 sensiblement k fois plus lente, et moins coûteuse que celle du circuit 12. Par exemple, une image à incruster qui nécessite classiquement 3 x 24 = 72 mégabits en mémoire peut, selon l'invention, être stocké dans 2 x 24/4 mégabits pour les 2 images compressées avec une valeur k=4 plus 3 x (24/16) mégabits pour les trois images décimées avec un facteur 4 pour la hauteur comme pour la largeur, soit un total de 16,5 mégabits. On notera que l'utilisation des circuits de compression/décompression selon la présente invention est particulièrement avantageuse par rapport à leur utilisation avec, par exemple, un circuit tel que celui de la figure 1 dupliqué pour afficher les images principales et incrustées. Une telle utilisation permettrait de diviser par k la vitesse de fonctionnement des mémoires du circuit dupliqué. Cependant, elle demanderait d'utiliser dans la chaîne d'affichage des images à incruster des circuits suffisamment rapides pour décompresser et convertir de blocs à rangées les images à incruster en une fraction de la durée normale de balayage d'une trame. De tels circuits, particulièrement complexes à mettre en oeuvre, ne sont pas nécessaires selon la présente invention. Bien entendu, la présente invention est susceptible de diverses variantes et modifications qui apparaîtront à l'homme de l'art. A titre d'exemple, on pourra envisager un circuit dans lequel les images décodées destinées à être affichées comme images principales pourront être stockées sous forme non- compressée. Cela permettra de simplifier leur chaîne d'affichage en supprimant le circuit de décompression 26 et le circuit de conversion bloc/rangée 28, au prix d'un accroissement de la taille et de la vitesse de la mémoire 6. On pourra également envisager de compresser les images à incruster décodées stockées en mémoire, ce qui permettra de raccourcir leurs terrmps d'écriture et de lecture, et de diminuer encore la vitesse de fonctionnement de la mémoire au prix d'un accroissement de la complexité du circuit. D'autre part, la mémoire 6 pourra indifféremment être une mémoire interne du circuit ou une mémoire externe, par exemple reliée au bus 8 par un accès parallèle. REVENDICATIONS 1. Circuit électronique comprenant: une mémoire (6) connectée pour être accessible en lecture et en écriture depuis un bus bidirectionnel (8), un décodeur MPEG (4) ayant une entrée de données d'image codées (CDI) et une entrée de données d'image décodées (DDI), les données d'image décodées correspondant à des suites de pixels et les entrées du décodeur étant reliées au bus de manière à pouvoir lire dans la mémoire, et ayant une sortie de données d'image décodées (DDO) connectée au bus selon un premier chemin (16) de manière à pouvoir écrire dans la mémoire des données d'une première image, et un circuit d'affichage de première image (10) dont une entrée est reliée audit bus de manière à lire dans la mémoire les données écrites par le décodeur, caractérisé en ce qu'il comprend en outre: un filtre numérique (14) produisant un pixel parmi toute suite d'un nombre prédéterminé de pixels, connecté entre la sortie (DDO) du décodeur et ledit bus (8) selon un second chemin de manière à pouvoir écrire dans la mémoire des données d'une deuxième image, et un circuit d'affichage de deuxième image (18) dont une entrée est connectée audit bus de manière à lire dans la mémoire les données écrites par le filtre. 2. Circuit électronique selon la revendication 1, caractérisé en ce qu'il comprend: un circuit de compression (22) connecté dans le premier chemin, un premier circuit de décompression (24) connecté entre ledit bus et l'entrée de données décodées (DDI) du décodeur, et un second circuit de décompression (26), suivi d'un circuit de conversion bloc/rangées (28), connecté entre ledit bus et le premier circuit d'affichage (10).