Brevet FR2760580A1 — publié le 19980911

SYSTEME DE CODAGE ET DECODAGE MPEG POUR DES APPLICATIONS MULTIMEDIA La présente invention concerne le traitement du signal et plus particulièrement un système de compression et de décompression multimédia qui satisfait à la norme ISO et aux spécifications de la Commission Electrotechnique Internationale (IEC) du groupe d'experts pour les images mobiles (MPEG). Une compression de données peut être réalisée dans des systèmes de traitement de données pour réduire la durée de transmission des données sur des liens de oernkrication ou pour transmettre des signaux à grande largeur de bande par l'intermédiaire de canaux de communication à bande étroite. Egalement, la compression de données peut être utilisée pour augmenter la quantité de données qui peut être mémorisée dans un espace donné ou pour réduire 1 espace nécessaire pour mémoriser une quantité déterminée de données. Les normes MPEG définissent un algorithme de compression et de décompression pour des services vidéo d'images mobiles. Un exemple de tels services est la vidéo à la demande dans laquelle un abonné interagit avec un système de stockage vidéo à distance pour requérir la présentation d'un film ou d'un programme vidéo particulier sur son téléviseur. En raison de la compression vidéo, des images mobiles peuvent être envoyées sur un canal de communication en utilisant seulement une fraction des canaux de télévision classiques. En conséquence, beaucoup plus de canaux vidéo peuvent être transportés sur un milieu de communica- tion donné, tel qu'un câble de télévision. En outre, des liaisons téléphoniques classiques peuvent alors transmettre des signaux de télévision à large bande. Dans 1 algorithme MPEG, chaque trame d'une image mobile est définie ou bien indépendamment ou bien sous la forme d'un changement par rapport à une trame affichée précédente et/ou future. Une scène vidéo peut être décrite par une trame indépendante unique (trame I) qui représente l'ensemble de la scène telle qu'elle apparaît initialement, suivie d'une longue série de trames de modification (trame P et/ou trame B) qui décrivent les changements de la scène. Ainsi, la technique de compression vidéo MPEG élimine l'émission redondante d'éléments inchangés de la scène. Comme le représente la figure 1, un système classique de compression/décompression vidéo MPEG 10 comprend une source d'image 12, par exemple une caméra vidéo, ou une mémoire vidéo pour stocker des images mobiles. Un codeur MPEG comprime les données d'image en provenance de la source d' image 12 en accord avec l'algorithme de compression MPEG. Les données d'image comprimées sont fournies à des moyens de communication vidéo 16, par exemple un câble de télévision ou un système téléphonique pour transmission à un utilisateur éloigné. A titre de variante, les données d'images comprimées peuvent être chargées dans une mémoire vidéo locale pour être retrouvées ensuite par un utilisateur local ou éloigné. Un décodeur MPEG 18 décomprime les données d'images comprimées en accord avec l'algorithme de décompression MPEG et les fournit à un ecran vidéo ou à un téléviseur 20 qui affiche l'image reçue. L'algorithme MPEG est défini dans les spécifications suivantes : IsO/IEc 11172, novembre 1991 (MPEG 1), et ISO/IEC 13818, mars 1995 (MPEG 2). En ce qui concerne MPEG 1, cette norme traite une image complète à afficher définie comme une trame. La dimension de la trame est choisie égale à 22 macroblocs horizontalement par 16 macroblocs verticalement, où un macrobloc est constitué de six blocs d'image parmi lesquels quatre blocs représentent la luminance et deux blocs représentent la chrominance. Chaque bloc d'image contient 8x8 éléments d'image (pixels). Une mise en oeuvre typique du système MPEG permet de comprimer seulement des données d'images. Aucune compression de données de dessins ou de textes associées à des images n'est possible. En outre, le codeur MPEG classique manipule seulement des trames de dimension fixe représentant une image complète, même si une partie seulement de 1' image doit être affichée. Pour traiter les données de trames complètes, une mémoire tampon intermédiaire est nécessaire entre le décodeur MPEG et l'affichage d'images. Par suite du stockage intermédiaire de données, le débit du système MPEG est sensiblement réduit. En conséquence, il serait souhaitable de prévoir un système de codage et de décodage MPEG qui puisse traiter les données multimédia incluant des données de dessins et de textes ainsi que des données d'image. Il serait également souhaitable de permettre au système de codage et de décodage MPEG commandé par un programme d'application de manipuler de façon adaptative des données de dimension variable pour éliminer le besoin d'une mémorisation intermédiaire de données et augmenter ainsi le débit de fourniture de données MPEG. Ainsi, un avantage de l'invention réside dans la prévision d'un système de codage et de décodage MPEG qui permette de comprimer des données multimédia incluant des données d'images, de dessins et de textes. Un autre avantage de l'invention est de prévoir un système de codage et de décodage MPEG capable de manipuler des données multimédia agencées en blocs de dimensions variables. Un autre avantage de l'invention est de prévoir un système de codage et de décodage MPEG qui n' utilise pas de mémorisation intermédiaire de données entre un décodeur et un affichage. Un autre avantage de l'invention est d'augmenter le débit de fourniture de données d'un système de codage et de décodage MPEG. Les avantages ci-dessus et d'autres de l'invention sont atteints, au moins en partie, en prévoyant un système de codage et de décodage de données multimédia, incluant des données d'images, de dessins et de textes qui comprend un codeur pour comprimer les données multimédia. Un processeur central commande le codeur de façon à disposer les données multimédia comprimées par le codeur dans un bloc de dimension variable. Le bloc de données comprimées peut être stocké dans un tampon de texture. Un déco- deur lit le bloc de données à partir du tampon et le décomprime. Selon un mode de réalisation de l'invention, le codeur et le décodeur assurent la compression et la décompression des données en utilisant l'algorithme MPEG. Selon un premier aspect de 1'invention, le codeur comprend un générateur d' adresse pour produire des données d'adresse pour mémoriser le bloc de données dans le tampon de texture. Le générateur d'adresse répond à une commande de dimension de données en provenance du processeur central qui indique la dimension du bloc de données. Le générateur d'adresse répond en outre à une commande de type de données en provenance du processeur central qui indique le type de données multimédia comprimées par le codeur. Les sorties séparées d'adresse d' image, de dessin et de texte peuvent être fournies pour mémoriser les données d'image, de dessin et de texte, respectivement, dans le tampon de texture. Selon un autre aspect de l'invention, le décodeur comprend un générateur d' adresse pour produire des données d'adresse pour lire le bloc de données à partir du tampon de texture. Le générateur d'adresse de décodage est sensible aux commandes de dimension et de type de données en provenance du processeur central. Des sorties séparées d'adresse d'image, de dessin et de texte peuvent être prévues pour indiquer les adres ses de lecture des données d'image, de dessin et de texte, respectivement, en provenance du tampon de texture. Le système de codage et de décodage peut comprendre des chaînes de compression et de décompression constituées de modules pour effectuer des séquences d'étapes de codage et de décodage définies par 1'algorithme MPEG. Des machines à état fini sont commandées par le processeur central pour permettre à divers modules de codage et à divers modules de décodage de fonctionner simultanément. La présente invention prévoit aussi un procédé mettant en oeuvre les étapes suivantes introduire des données d'image, de dessin et de texte à comprimer, comprimer par un codeur les données d' image, de dessin et de texte selon un algorithme de compression MPEG, commander le codeur pour écrire dans un tampon les données comprimées d'image, de dessin et de texte disposées en blocs de dimensions variables, lire par un décodeur les données comprimées d'image, de dessin et de texte en provenance du tampon, commander le décodeur pour lire à partir du tampon les blocs de dimensions variables, et décomprimer les données lues d'image, de dessin et de texte en fonction d'un algorithme de décompression MPEG. D'autres objets et avantages de la présente invention apparaîtront à l'homme de l'art à la lecture de la description détaillée suivante, dans laquelle seul un mode de réalisation particulier de l'invention est représenté et décrit, uniquement à titre d'illustration du meilleur mode envisagé pour mettre en oeuvre l'invention. Comme on le notera, l'invention est susceptible d'autres modes de réalisation, éventuellement différents, et ses divers détails peuvent être modifiés sous divers aspects sans sortir du domaine de l'invention. Ainsi, les dessins et la description doivent être considérés comme illustratifs et non pas comme restrictifs. Parmi les figures la figure 1 est un schéma sous forme de blocs d'un système classique de codage et de décodage MPEG, la figure 2 est un schéma sous forme de blocs d'un système de codage et de décodage MPEG selon la présente invention, la figure 3 est un schéma illustrant la mise en oeuvre de la présente invention dans un ordinateur personnel, la figure 4 est un schéma sous forme de blocs du codeur MPEG représenté en figure 3, la figure 5 est un schéma sous forme de blocs du décodeur MPEG représenté en figure 3, et la figure 6 illustre schématiquement une mise en oeuvre de la présente invention dans un système de vidéo à la demande. Bien que l'invention s'applique de fagon générale au domaine du codage et du décodage de données, le meilleur mode de mise en oeuvre de l'invention est basé en partie sur la réalisation d'un système de compression et de décompression de données qui satisfait aux normes MPEG. La figure 2 illustre un système de codage et de décodage MPEG 30 qui traite des données multimédia provenant de sources d'images, de dessins et de textes 32, 34 et 36 respectivement. Un codeur MPEG 38 comprime les données multimédia fournies en accord avec l'algorithme bien connu de compression MPEG. Les données multimédia comprimées peuvent être chargées dans une mémoire de données 40 ou fournies par l'intermédiaire d'un canal de communication à un utilisateur éloigné. Un décodeur MPEG 42 décomprime les données vidéo comprimées en accord avec 1 'algo- rithme de décompression MPEG bien connu et les fournit à un afficheur multimédia 44 qui affiche les données décomprimées d'image, de dessin et de texte. Le système de codage et de décodage MPEG selon la présente invention peut être utilisé pour traiter des données multimédia dans un ordinateur personnel, pour fournir à des utilisateurs éloignés des données multimédia à partir d'un emplacement central ou pour d 'autres applications qui nécessitent de traiter une quantité notable de données multimédia. Comme l'illustre la figure 3, un système de codage et de décodage MPEG 50 peut comprendre trois sources de données d'entrée : une source d'image 52, une source de dessin 54, et une source de texte 56. Par exemple, la source d'image 52 peut comprendre une caméra vidéo et un convertisseur analogique-numérique qui numérise une image produite par la caméra vidéo. La source de dessin 54 et la source de texte 56 peuvent être représentée par des liaisons de communication qui transportent des données de dessin et de texte. A titre de variante, les données de dessin et de texte peuvent être produites par des générateurs de dessin et de texte. Une unité centrale (CPU) 58 de l'ordinateur personnel fournit à un multiplexeur d 'entrée 60 une commande qui définit un type de données à introduire. La commande de type de données produite pour introduire des données d'image, de dessin ou de texte est définie par un programme d'application tournant sur 1 'ordina- teur personnel. L'une des sources de données d'entrée 52, 54 ou 56 peut être sélectionnée à un instant donné. Les données d'image, de dessin et de texte sont fournies sous forme d'un flux de pixels. Un pixel à la fois des données sélectionnées est fourni à la sortie du multiplexeur 60. Un circuit de capture de trame 62 saisit les données sélectionnées et les charge dans un tampon de trame 64 ayant une capacité de stockage suffisante pour mémoriser une trame. Par exemple, dans le système NTSC, une trame d'image MPEG-1 pré-traitée contient 352x240 pixels. Chaque pixel est constitué de jusqu'à 3 octets. Ainsi, dans le système NTSC, le tampon de trame 64 doit pouvoir stocker au maximum 352x240x3 = 253440 octets. En réponse à une commande de codage fournie par le CPU 58 par 1' intermédiaire d'un bus système 66, un codeur MPEG 68 lit une trame de données à partir du tampon de trame 64 pour comprimer les données multimédia saisies. Par exemple, un bus PCI peut être utilisé comme bus système 66. Le codeur MPEG 68 décrit plus en détail ci-après comprime le flux de pixels initial à un taux de compression de 20 à 50. Selon la spécification MPEG, une image est représentée par une trame I correspondant à une image complète à afficher. Toutefois, des données d'image complète ne sont pas nécessaires pour certaines applications. Par exemple, quand on souhaite afficher seulement une partie d'une image. Ainsi, le codeur 68 est cortunandé par le CPU 58 pour fournir un bloc de données de dimension variable représentant une fraction de la trame complète. La dimension du bloc de données est choisie par le CPU 58 et peut varier d'un macrobloc à une trame complète (22x16 macroblocs pour MPEG-1). Les données comprimées d'image, de dessin et de texte sont placées dans un tampon de texture 70 qui peut comprendre des parties séparées pour mémoriser différents types de données. Carnne le système assure la compression de données de dessin et de texte, avec la compression de données d'image, la capacité de stockage du tampon de texture 70 peut être notablement réduite par rapport à un ordinateur personnel classique. Quand une requête de données multimédia mémorisées est reçue, par exemple pour afficher les données sur un moniteur 72, le CPU 58 fournit une commende de décodage fournie par le bus système 66 à un décodeur MPEG 74. Dans cette commande, le CPU 58 indique le type de données requis et la dimension du bloc de données à décoder. Le décodeur MPEG 74 lit le type choisi de données à partir du tampon de texture 70 sous forme de blocs de la dimension choisie, et assure une décompression de données en accord avec l'algorithme MPEG. La structure et le fonctionnement du décodeur 74 sont décrits plus en détail ci-après. Le bloc de données décodées en provenance du décodeur MPEG 74 est fourni à un moteur graphique 76 qui manipule les données multimédia à afficher. Si le moteur graphique 76 présente une interface directe avec le décodeur MPEG 74, les données décodées peuvent être fournies directement au moteur graphique 76. A titre de variante, le décodeur MPEG 74 peut transférer les données décodées au moteur graphique 76 par 1' intermédiaire du bus système 66. Un multiplexeur 78 est prévu à 1 'entrée du moteur graphique 76 pour traiter une entrée directe en provenance du décodeur MPEG 74 et une entrée en provenance du bus système 66. En outre, le moteur graphique 76 comprend un accès d'entrée/sortie 80 de données non comprimées pour recevoir des données de dessin et de texte non comprimées en provenance du bus système 66 et pour fournir au bus système 66 des données de dessin et de texte non comprimées. Par exemple, le moteur graphique 76 peut recevoir des données non comprimées de dessin et de texte à partir de sources internes de 1 'ordinateur personnel, telles que des générateurs de dessin et de texte. Les données re çues non comprimées peuvent être chargées dans le tampon de texture 70 et utilisées par le moteur graphique 76 pour former une image sur l'afficheur 72. Le moteur graphique 76 est un contrôleur graphique qui permet une large gamme d'opérations graphiques pour former une image désirée sur l'afficheur 72, sur la base des données multimédia décodées fournies par le décodeur MPEG 74 et des données mémorises dans le tampon de texture 70. Par exemple, le moteur graphique 76 peut mélanger des données de dessin, de texte et d'image pour créer une image combinée sur l'écran du moniteur 72, ou il peut former une image affichée recouverte d'un texte ou d'un dessin. Un processeur graphique 8514/8 fabriqué par I13M Corp. constitue un exemple du moteur graphique 76. L'image formée par le moteur graphique 76 est affichée par le moniteur 72. Le décodeur MPEG 74 fournit des données décodées agencées en blocs de dimensions variables choisies. Comme cela a été exposé ci-dessus, la dimension des blocs de données est fixée par le CPU 58 et peut varier d'un macrobloc à une trame. En conséquence, aucune opération de mémorisation intermédiaire n'est requise entre le décodeur MPEG 74 et le moteur graphique 76 pour mémoriser des données à afficher sur le moniteur 72. En conséquence, le débit du système MPEG augmente. Au oontraire, dans un système MPEG classique, une mémoire dynamique à accès aléatoire (DRAM) de 4 Mbits est requise entre un décodeur d'image et un contrôleur graphique, car le décodeur d'image peut fournir une trame-I MPEG-1 complète contenant 22x16 macroblocs. Comme le représente la figure 4, le codeur MPEG 68 comprend une interface 102 qui permet au codeur 68 de communiquer avec d'autres modules du système MPEG 50. En particulier, 1'interface 102 reçoit le flux de pixels initial en provenance du tampon de trame 64 et émet les données comprimées vers le tampon de texture 70. Le CPU 58 fournit à l'interface 102 un signal de conde de synchronisation pour synchroniser des événements qui surviennent pendant le fonctionnement du codeur 68. Egalement, le CPU 58 envoie à 1'interface 102 des romandes de type de données et de dimension de données. La commande de type de données indique quel type de données (données d'image, de dessin ou de texte) est représenté par le flux initial reçu. La commande de dimension de données indique la dimension du bloc de données comprimées à fournir au tampon de texture. Comme cela a été exposé ci-dessus, dans certaines applications, seule une partie d'une trame doit être affichée ou émise. Bien que le codeur 68 comprime une trame complète reçue à partir du tampon de trame 64, il fournit en sortie seulement la portion requise de la trame. La dimension du bloc de données fourni par le codeur 68 au tampon de texture 70 peut varier d'un macrobloc à 22x16 macroblocs selon 1'application particulière. Par l'intermédiaire de l'interface 102, le flux de pixels initial est fourni à une chaîne de compression MPEG constitué d'un circuit de construction 104, d'un circuit de transformée cosinus discrète (DCT) 106, d'un quantificateur 108, d'un codeur zigzag 110 et d'un codeur à longueur variable (vu) 112. Les opérations effectuées par les modules de la chaîne de compression sont définies par les normes MPEG. En particulier, le circuit de construction 104 élimine toute redondance temporelle du flux initial en supprimant des pixels identiques du flux. Le circuit DCT 106 élimine la redondance spatiale des données en transformant les données en une matrice de coefficients DCT définis par la norme MPEG. Les valeurs de la matrice DCT représentent des intra-trames qui correspondent à des trames de référence. Le quantificateur 108 divise les valeurs DCT par une valeur corres pondante en provenance d'une matrice O de norme MPEG pour produire des valeurs DCT quantifiées. Le reste de la division de division est négligé pour réduire la dimension des données. Le codeur zigzag 110 agence l'ensemble quantifié de valeurs DCT dans 1 'ordre d'une courbe zigzag remplissant l'espace et représentant une succession de valeurs. Le VLC 112 assure un codage statistique des données de la succession de valeurs selon l'algorithme de codage longueur/valeur de Huffman. Un automate (FSM) 114 azanarde la chaîne de compression pour permettre aux divers modules de codage de fonctionner simultanément. L'automate 114 reçoit des cormiandes en provenance du CPU 58 par l'intermédiaire de 1' interface 102 pour faire débuter des étapes de codage effectuées par divers modules de la chaîne de compression. Par l'intermédiaire de l'interface 102, les données comprimées en provenance de la chaîne de compression sont fournies au tampon de texture 70. Un générateur d'adresse de tampon 116 fournit au tampon de texture 70 des informations d'adresse requises pour mémoriser les données comprimées sur la base d' in- formations de type de données et de dimension de données en provenance de l'interface 102. Par exemple, le tampon de texture 70 peut comprendre des sections séparées pour mémoriser des données d'image, de dessin et de texte. Sur sa première sortie, le générateur d'adresse de tampon 116 peut fournir des données d'adresse pour mémoriser des données d' images comprimées dans la section d'image du tampon de texture 70. La deuxième sortie du générateur d 'adresse 116 peut indiquer des données d'adresse pour mémoriser des données comprimées de dessin dans la section de dessin du tampon de texture 70. Enfin, la troisième sortie du générateur d'adresse 116 peut fournir des données d'adresse pour mémoriser des données de texte comprimées dans la section de texte du tampon de texture 70. Un multiplexeur 118 est couplé aux sorties du générateur d'adresse 116 pour fournir au tampon de texture 70 les données d'adresse correspondant au type de données comprimées à la sortie du codeur 68. A titre de variante, les données d'image, de dessin et de texte peuvent etre mémorisées à divers emplacements de la même zone mémoire. En ce cas, le générateur d'adresse 116 fournit des adresses d'emplacement de mémorisation de données d'image, de dessin et de texte. Comme cela a été exposé précédem- ment, le codeur MPEG 68 fournit un bloc de dimension variable de données comprimées correspondant à la partie requise d'une trame. La figure 5 représente le décodeur MPEG 74 qui décomprime les données d' image, de dessin et de texte comprimées par le codeur MPEG 68. En réponse à une ocxtknande de décodage en provenance du CPU 58, les données comprimées sont fournies à une interface 142 qui permet au décodeur 74 de recevoir un flux de bits codés en provenance du tampon de texture 70 et de transférer des données décodées au moteur graphique 76. Le CPU 58 fournit à I'interface 102 un signal de cotnmande de synchronisation pour syncroniser des événements de décodage qui surviennent pendant le fonctionnement du décodeur 74. Egalement, le CPU 58 envoie à 1 'interface 142 les commandes de type de données et de dimension de données qui indiquent quel type de données est en train d' être décodé, et la dimension du bloc de données à lire en provenance du tampon de texture. La dimension du bloc de données lues par le décodeur 74 à partir du tampon de texture 70 peut varier d'un macrobloc à 22x16 macroblocs. L'interface 142 fournit à un générateur d'adresse de tampon 144 des informations de type de données et de dimensions de données pour calculer des adresses pour lire des blocs de données comprimées requis à partir du tampon de texture 70. Par exemple, sur sa première sortie, le générateur d'adresse 144 peut indiquer des adresses de données d'image dans la section d'image du tampon de texture 70. La deuxième sortie du générateur d'adresse 144 peut indiquer des adresses de données de dessin dans la section de dessin du tampon de texture 70. Sur sa troisième sortie, le générateur d'adresse 144 peut indiquer des adresses de données de texte dans la section de texte du tampon de texture 70. Si les données d'image de dessin et de texte sont mémorisées dans la même zone mémoire du tampon de texture 70, le générateur d 'adresse 144 fournit des adresses d'emplacements auxquels divers types de données sont mémorisés. Un multiplexeur 146 est couplé aux sorties du générateur d'adresse 146 pour sélectionner les adresses correspondant à un type de données en cours de décodage. L'interface 142 lit, à partir du tampon de texture, un bloc de données de type et de dimension prescrits et 1 'envoie à un chaîne de décompression constitué d'un décodeur de longueur variable (VLD) 148, d'un décodeur zigzag 150, d'un quantificateur inverse 152 et d'un circuit de transformée cosinus discrète inverse (IDCT) 154 et un circuit de reconstruction 156. Le fonctionnement de chaque module de décodage dans la chaîne de décodage est défini par les normes de décompression MPEG. Le VLD 148 décode les données incidentes selon l'algorithme de décodage de longueur de cycle de Huffman. Le décodeur zigzag 150 produit des coefficients de DCT quantifiés multipliés au niveau du quantificateur inverse 152 par des valeurs de table de matrice Q dans un processus inverse du processus de compression. Au niveau du circuit IDCT 154, on obtient la transformée inverse de la transformée cosinus discrète et les données de sortie dans le domaine spatial sont fournies au circuit de reconstruction 156 pour reconstruire les données initiales. En réponse à des instructions du CPU, un automate (FSM) 158 coande la chaîne de décodage pour permettre aux divers modules de décodage de fonctionner simultasèment. La chaîne de décompression fournit les données décomprimées à un contrôleur de bus graphique 160 qui les envoie au moteur graphique 76. Si le moteur graphique 76 est muni d'une interface directe qui le valide pour communiquer avec le décodeur MPEG 68, le contrôleur de bus graphique 160 envoie les données décomprimées à 1' interface 142 qui les fournit directement au moteur graphique 76 par l'intermédiaire du multiplexeur 78. Si aucune interface de décodage direct n' est disponible dans le moteur graphique 76, le contrôleur de bus graphique 160 peut fournir une interface avec le bus système 66 pour envoyer les données décomprimées par l'intermédiaire du bus système 66. Etant donné que le décodeur MPEG 74 peut lire un bloc de données de dimension variable défini par le CPU 58, aucune opération de mémorisation intermédiaire de données n'est requise entre le décodeur MPEG et le moteur graphique. La figure 6 illustre une application du système de codage et de décodage multimédia selon la présente invention à un service de vidéo sur demande. Au niveau d' une station centrale, par exemple une station de télévision par câble, des données d'image, de dessin et de texte en provenance d'une source de données multimédia 202 sont comprimées par un codeur MPEG 204 en accord avec les normes MPEG. Les données comprimées peuvent être mémorises dans une mémoire codée multimédia 206. Le processus de compression de données peut être commandé par une unité centrale (CPU) 208. La station centrale est connectée par des câbles de télévision ou des lignes téléphoniques à plusieurs emplacements périphériques 210. Chacun des emplacements périphériques 210 est équipé d'un décodeur MPEG 212 et d'un ordinateur personnel (PC) 214 capable de présenter des informations multimédia. Quand un utilisateur au niveau de l'un des emplacements périphériques 208 envoie une requête pour les données multimédia stockées dans la mémoire multimédia 206, le CPU 208 valide le décodeur MPEG 212 associé à l'utilisateur pour lire les d périphérique n' est requise pour mémoriser temporairement les données multimédia avant affichage. En outre, le débit du système de vidéo à la demande augmente notablement par rapport aux systèmes classiques. On a ainsi décrit un système de codage et de décodage de données multimédia qui permet à divers types de données agencées en blocs de dimensions variables d'être comprimés et décomprimés en accord avec les normes MPEG. Des trames de données d'image, de dessin et de texte sont fournies au tampon de trame. En réponse à une demande de codage en provenance du CPU, le codeur MPEG comprime les données en provenance du tampon de trame et fournit au tampon de texture un bloc de données de dimension variable qui correspond à la partie de trame à afficher. La dimension du bloc de données est fixée par le CPU et peut varier d'un macrobloc à 22x16 macroblocs (une trame MPEG 1). Le décodeur MPEG lit le bloc de données de dimension variable à partir du tampon de texture, le décomprime et le fournit au moteur graphique qui manipule divers types de données pour créer une image à afficher sur un moniteur vidéo. Etant donné que le système de codage et de décodage de données multimédia selon la présente invention peut commander la dimension des blocs de données, aucune opération de mémorisation intermédiaire de données n'est requise entre le décodeur MPEG et le moteur graphique. En conséquence, le débit des données du système augmente. Bien entendu, la présente invention est susceptible de diverses variantes et modifications qui apparaîtront à l'homme de métier. PFVDICATIQNS 1. Système de codage et de décodage de données multimédia incluant des images (52) et au moins des données de dessin (54) ou de texte (56), comprenant un codeur (68) pour comprimer les données multimédia, un processeur central (58) couplé au codeur pour agencer les données multimédia comprimées par le codeur en un bloc de dimension variable, et un décodeur (74) pour décomprimer les données multimédia comprimées de dimensions de blocs variables. 2. Système selon la revendication 1, dans lequel le codeur et le décodeur assurent une compression et une décompression en accord avec l'algorithme MPEG. 3. Système selon la revendication 1, caractérisé en ce qu'il comprend en outre un tampon de texture (70) couplé au codeur (68) pour mémoriser le bloc de données multimédia comprimées par le codeur. 4. Système selon la revendication 3, dans lequel le codeur (68) comprend un générateur d'adresse (116) agissant en réponse à une cammande de dimension de données en provenance du processeur central (58) indiquant la dimension du bloc, pour produire des données d'adresse pour mémoriser le bloc dans le tampon de texture (70). 5. Système selon la revendication 4, dans lequel le générateur d'adresse (116) agit également en réponse à une commande de type de données en provenance du processeur central (58) indiquant un type de données multimédia comprimées par le codeur. 6. Système selon la revendication 5, dans lequel le générateur d'adresse (116) fournit des sorties d'adresse séparées d'image, de dessin et de texte pour indiquer des adresses à mémoriser pour les données d'image, de dessin et de texte, respectivement, dans le tampon de texture (70). 7. Système selon la revendication 3, dans lequel le tampon de texture (70) stocke en outre des données non comprimées. 8. Système selon la revendication 7, comprenant en outre un moteur graphique (76) pour manipuler les données multimédia décomprimées par le décodeur et les données non comprimées mémorisées dans le tampon de texture, pour former une image à afficher. 9. Système selon la revendication 8, dans lequel le moteur graphique (76) comporte un multiplexeur d'entrée (78) pour recevoir des données multimédia directement à partir du décodeur (74), et pour recevoir les données multimédia par l'intermédiaire d'un bus système (66). 10. Système selon la revendication 3, dans lequel le décodeur comprend un générateur d' adresse (144) agissant en réponse à la mande de dimension de données en provenance du processeur central (58) indiquant la dimension du bloc, pour produire des données d'adresse pour lire le bloc à partir du tampon de texture (70). 11. Système selon la revendication 10, dans lequel le générateur d'adresse (144) agit en outre en réponse à une cmnmnde de type de données en provenance du processeur central (58) indiquant un type de données multimédia à lire par le décodeur. 12. Système selon la revendication 11, dans lequel le générateur d'adresse (144) fournit des sorties d'adresse séparées d'image, de dessin et de texte pour indiquer des adresses pour lire les données respectives d'image, de dessin et de texte à partir du tampon de texture. 13. Système selon la revendication 2, dans lequel le codeur comprend une chaîne de compression constituée de modules de codage (104-112) pour mettre en oeuvre une séquence d'étapes de codage définie par l'algorithme de compression MPEG. 14. Système selon la revendication 13, dans lequel le codeur comprend en outre un automate (114) agissant en réponse au processeur central (58) pour commander la chaîne de compression de façon à permettre à divers modules de codage de fonctionner simultanément. 15. Système selon la revendication 2, dans lequel le décodeur comprend une chaîne de décompression constituée de modules de décodage (148-156) pour mettre en oeuvre la séquence d'étapes de décodage définie par l'algorithme de décompression MPEG. 16. Système selon la revendication 15, dans lequel le décodeur comprend en outre un automate (158) agissant en réponse au processeur central pour ooemaeder la chaîne de décompression de façon à permettre aux divers modules de décodage de fonctionner simultanément. 17. Système MPEG de compression de données d'image multimédia, comprenant un processeur central (58) pour contrôler un processus de décompression, un sélecteur de données multimédia (62) couplé à des sources de données d'image, de dessin et de texte et agissant en réponse au processeur central pour introduire les données d'image, de dessin et de texte à comprimer, un codeur (68) agissant en réponse au sélecteur pour comprimer les données d'image, de dessin et de texte en accord avec un algorithme de compression MPEG, et un tampon de texture (70) agissant en réponse au codeur pour recevoir des blocs de données d'image, de dessin et de texte comprimées par le codeur, le processeur central (58) commandant le codeur pour modifier les dimensions des blocs fournies par le codeur. 18. Système selon la revendication 17, dans lequel le codeur comprend un générateur d'adresse (116) agissant en réponse à la comande de dimension de données en provenance du processeur central indiquant les dimensions des blocs fournis pour produire des données d'adresse pour mémoriser des blocs de données d'image, de dessin et de texte dans le tampon de texture (70). 19. Système selon la revendication 18, dans lequel le générateur d'adresse reçoit en outre une commande de type de données en provenance du processeur central pour indiquer si les données d'image, de dessin et de texte doivent être comprimées. 20. Système selon la revendication 19, dans lequel le générateur d'adresse fournit des sorties d'adresses séparées pour écrire les données d'image, de dessin et de texte dans le tampon de texture. 21. Système MPEG de décompression de données multimé- dia, comprenant un processeur central (58) pour coeinander un processus de décompression, un tampon de texture (70) pour mémoriser des blocs de dimension variable de données comprimées d'image, de dessin et de texte, un décodeur (74) agissant en réponse au processeur central pour lire et décomprimer les blocs de données d'image, de dessin et de texte dans le tampon de texture en accord avec l'algorithme de décompression MPEG, et un afficheur multimédia (72) pour afficher les données d'image, de dessin et de texte décomprimées par le décodeur, le processeur central comandant le décodeur pour faire varier les dimensions des blocs lus par le décodeur. 22. Système selon la revendication 1, dans lequel le décodeur comprend un générateur d' adresse (144) agissant en réponse à la omande de dimension de données en provenance du processeur central indiquant les dimensions des blocs lus pour produire des données d'adresses pour lire des blocs des données d'image, de dessin et de texte en provenance du tampon de texture. 23. Système selon la revendication 22, dans lequel le générateur d'adresse (144) reçoit en outre une commande de type de données en provenance du processeur central pour indiquer si des données d'image, de dessin ou de texte sont en cours de dé- compression. 24. Système selon la revendication 23, dans lequel le générateur d'adresse (144) fournit des sorties séparées d'adresses pour lire les données d'image, de dessin et de texte à partir du tampon de texture. 25. Procédé de compression et de décompression de données multimédia comprenant les étapes suivantes recevoir des données d'image, de dessin et de texte à comprimer, comprimer les données d'image, de dessin et de texte en accord avec l'algorithme de compression MPEG, agencer les données comprimées d'image, de dessin et de texte en blocs de dimension variable, écrire les blocs de dimension variable dans un tampon, lire les blocs de dimension variable à partir du tampon, et décomprimer les données lues d'image, de dessin et de texte en accord avec l'algorithme de décompression MPEG. 26. Procédé selon la revendication 25, dans lequel l'étape d'écriture comprend l'étape consistant à former des adresses pour écrire les données d'image, de dessin et de texte dans le tampon sur la base d'un type de données et des dimensions des blocs. 27. Procédé selon la revendication 25, dans lequel 1 'étape de lecture consiste à former des adresses pour lire les donnees d'image, de dessin et de texte à partir du tampon sur la base d'un type de données et des dimensions des blocs.