Brevet FR2735318A1 — publié le 19961213

ARCHITECTURE A MEMOIRE UNIQUE CENTRALISEE POUR LE TRANSFERT D'IMAGES VIDEO La présente invention concerne une architecture à multi-voies d'entrée et de sortie permettant le stockage et le transfert d'images vidéo fixes ou animées. Plus particulièrement, I'invention concerne une nouvelle architecture permettant la mise en oeuvre en temps réel des opérations mentionnées ci-dessus (transfert, stockage) tout en respectant la qualité "Broadcast" des images vidéo numériques. Par qualité "Broadcast" il faut entendre, par exemple, une représentation des données en format 4 : 2 : 2 : 4 sur 10 bits. Selon l'art connu, le stockage des images vidéo est effectué à l'aide de mémoires spécifiques, dites "mémoires de trame", plus connues de l'homme de l'art sous la dénomination de "frame buffers". Le "frame buffer" est une mémoire physiquement localisée, destinée à la fonction vidéo et spécialement adaptée au format vidéo pour lequel elle a été conçue. Si l'on veut travailler avec plusieurs voies vidéo, le système de stockage de l'information doit alors être équipé de plusieurs mémoires spécialisées de façon qu'à chaque voie vidéo corresponde une mémoire spécialisée. Si on veut avoir accès à une grande quantité d'informations, il est alors nécessaire de multiplier les "frame buffers". Une utilisation momentanément réduite du nombre de voies vidéo conduit alors à une exploitation partielle des "frame buffers". Ceci représente un inconvénient. A l'inverse, il est impossible de travailler en temps réel sur un grand nombre de voies tel que, par exemple, un nombre de voies égal à 8. L'invention ne présente pas ces inconvénients. La présente invention concerne une architecture permettant de stocker, et de transférer des images vidéo numériques fixes ou animées, ladite architecture comprenant au moins un circuit d'entrée permettant l'accès de données destinées à composer une image vidéo, une zone mémoire permettant de stocker des images vidéo, au moins un circuit de sortie permettant d'extraire au moins une voie vidéo de ladite architecture et un bus vidéo destiné à assurer le transfert d'informations entre la zone mémoire, le circuit d'entrée et le circuit de sortie, caractérisée en ce que la zone mémoire est une mémoire banalisée et en ce que le bus vidéo a une largeur supérieure ou égale à la largeur de la zone mémoire. Le circuit d'entrée permettant l'accès de données destinées à composer une image vidéo peut être directement une entrée vidéo. Ce peut aussi être une entrée permettant de dessiner des animations vidéo, ou encore une entrée de type fichier "bit map". Selon l'invention les trames vidéo constituant les différentes voies vidéo sont stockées dans une mémoire banalisée unique. Par mémoire "banalisée" il faut entendre une mémoire dont aucune partie n'est particulièrement dédiée à une voie. Selon l'utilisation désirée, cette mémoire peut contenir de quelques unités à plusieurs millions de trames ou d'images. Avantageusement l'architecture selon l'invention permet d'utiliser simultanément plusieurs voies, chacune d'elles pouvant être constituée d'une séquence quelconque de trames disponibles dans la mémoire. II est alors possible de modifier, d'insérer ou de supprimer des trames dans n'importe quelle séquence. La sortie du système ainsi obtenu peut également être enregistrée dans la mémoire unique et devenir à son tour une séquence source. A l'exception des sous-ensembles de formatageldéformatage vidéo, le système est avantageusement indépendant de la dimension des images, du système de balayage et des fréquences du standard vidéo utilisé en sortie. D'autres caractéristiques et avantages de l'invention apparaîtront à la lecture d'un mode de réalisation préférentiel fait avec référence aux figures ci-annexées parmi lesquelles - la figure 1 représente le schéma de principe de l'architecture selon l'invention; - la figure 2 représente une première application de l'architecture selon l'invention - la figure 3 représente un détail des architectures des figures 1 et 2; - les figures 4 et 5 représentent 2 modes de réalisation différents d'une deuxième application de l'architecture selon l'invention. Sur toutes les figures, les mêmes repères désignent les mêmes éléments. La figure 1 représente le schéma de principe de l'architecture selon l'invention. Comme cela a été mentionné précédemment, la mémoire M est une mémoire banalisée unique. A titre d'exemple, la mémoire M peut être de type DRAM. La mémoire M est organisée en mots de largeur L dont la taille est adaptée à la quantité de trames vidéo que l'on souhaite traiter à un instant donné. Ainsi la largeur L est-elle choisie en fonction du temps d'accès de la mémoire et du débit nécessaire pour pouvoir traiter N canaux vidéo en temps réel dans un système de balayage vidéo donné.De façon préférentielle, la largeur L peut alors être déterminée en fonction des paramètres suivants - la fréquence pixel du standard vidéo choisi : F - le nombre de bits par pixel de la vidéo : b - le nombre de canaux vidéo traités simultanément: N - le temps de cycle de la technologie mémoire choisie : Tcy La largeur L a alors pour formule L = F x b x N x Tcy A titre d'exemple, la largeur L peut être de 320 bits ce qui, pour une mémoire DRAM travaillant à 27 Mmots/sec et pour un nombre b de bits par pixel égal à 32, conduit à un débit D égal à 27 x 320/8 MBytes/sec soit 1080 Mbytes/sec. II est alors possible d'atteindre 20 accès simultanés à 54 MBytes/s. La mémoire M est commandée de façon centralisée par un circuit CTRL de contrôle. Ce circuit de contrôle permet une gestion de la mémoire en temps réel. Le principe de gestion temporel de la mémoire consiste en ce que les données de chaque voie vidéo sont écrites ou bien lues par paquets successifs, chaque paquet étant le contenu d'un bloc de mémoire, chacune des voies étant lue tour à tour. Ce mécanisme tournant d'accès à chaque voie peut, par exemple, travailler à la fréquence ligne car quelque soit la fréquence du cycle, de façon préférentielle, chaque voie se voit attribuer le même pourcentage de temps, donc le même débit. Selon le mode de réalisation préférentiel de l'invention, I'espace physique de chaque bloc n'est pas défini à l'avance mais est défini par une allocation dynamique de mémoire libre au moment de ltenregistrement. Un accès par blocs de mots consécutifs tel que décrit ci-dessus permet avantageusement de laisser suffisamment de temps entre chaque bloc pour permettre au circuit de contrôle CTRL de trouver le bloc suivant de chacune des voies et de déclencher le transfert physique du bloc. Avantageusement, la gestion dynamique de la mémoire permet de n'allouer que la mémoire nécessaire à chaque voie en fonction des besoins. En particulier, si une voie vidéo n'est que partiellement active, le débit est réduit et seule la mémoire nécessaire est consommée. II s'en suit que l'architecture selon l'invention se trouve particulièrement bien adaptée à la gestion d'images de tailles variables. La mémoire M est reliée à un bus vidéo B conçu de façon à assurer le haut débit vidéo requis. Les cycles d'échange de données vidéo sont pilotés par la mémoire M. Préférentiellement, la largeur du bus vidéo est égale à la largeur L de la mémoire M. Sur la figure 1 ont été représentés non seulement des circuits d'entrée (El, E2, , En) et et des circuits de sortie (S1, S2, , Sj), mais aussi des circuits de traitement (T1, T2, , Tm) de l'information vidéo. Les circuits de traitement de l'information vidéo peuvent être, par exemple, des circuits de mélange ou encore des circuits de compression. De façon générale, I'invention concerne aussi bien des architectures comprenant des circuits de traitement que des architectures ne comprenant pas de circuits de traitement. Chaque circuit d'entrée (E1, E2,......, En), de de traitement (T1, T2,....., Tm) et et de sortie (S1, S2, , Sj) est relié au bus vidéo B par un circuit d'interface I ayant pour fonction de transformer un port de grande largeur situé du côté du bus vidéo B en un port de largeur vidéo situé du côté du circuit et fonctionnant de façon continue à fréquence vidéo normale. Un tel circuit d'interface I comprend des circuits communément appelé FlFOs et possède des caractéristiques spécifiques au problème posé par la nature des signaux vidéo à traiter et qui seront précisées ultérieurement (cf. figure 3). Un bus de contrôle BC permet de contrôler et de commander les différents circuits d'interface I. Un bus de synchronisation (non représenté sur la figure 1) distribue à tous les circuits (El ............, , En, T1, , Tm, S1, .........,Sj) les références temporelles nécessaires. La figure 2 représente une première application de l'architecture selon l'invention. Cette application concerne une plate-forme informatique dédiée à la gestion d'images dans le domaine du Broadcast. Les dispositifs concernés sont alors, par exemple, des photothèques, des palettes graphiques ou encore des animathèques. Un avantage de ce premier mode d'application de l'invention est de permettre le transfert simultané de plusieurs images vidéo entre les différentes cartes électroniques d'un équipement vidéo broadcast en utilisant une plateforme informatique standard, telle que, par exemple, une plate-forme PC standard. Comme cela est connu de l'homme de l'art le sigle PC signifie "Personnal Computer'. Avantageusement une telle architecture est de faible coût grâce à l'utilisation de matériels et logiciels standard. La mémoire M est ici une carte mémoire KM et les différents circuits d'entrée (El, E2, ,En), de traitement (T1, T2, ,Tm) et de sortie (51, S2, ,Sj) mentionnés précédemment sont des cartes électroniques ici représentées de façon générique par le symbole Ki (i = 1, , q). A titre d'exemple la carte K1 est une carte d'entrée permettant l'accès d'un signal vidéo sur l'entrée V et la carte Kq est une carte permettant de sortir un signal vidéo sur deux sorties différentes W1 et W2. La carte KM et les cartes Ki peuvent être, par exemple, les cartes électroniques que chaque utilisateur peut intégrer au PC à des fins personnelles. Selon le mode de réalisation préférentiel de l'architecture représentée en figure 2, chaque utilisateur de PC peut traiter jusqu'à 8 vidéos de format 4 : 4 : 4 : 4 simultanément. La capacité de la carte mémoire KM est extensible de 40 à 320 Moctets. Selon le mode de réalisation préférentiel, I'organisation de la carte KM lui permet, à chaque cycle, l'accès en lecture ou en écriture à un bloc de 4 pixels. Le bus vidéo de largeur L, par exemple égale à 160 bits, permet de transférer les blocs de 4 pixels à chaque cycle. La carte mémoire KM et les cartes Ki sont reliées par ailleurs au bus standard BS du PC. Avantageusement, le bus vidéo est indépendant du bus BS de l'ordinateur hôte que constitue le PC. La performance au niveau du débit est obtenue, comme cela a été mentionné précédemment, par un multiplexage spatial et temporel des données : un compromis entre la taille du bus et sa fréquence de fonctionnement permet de dimensionner les caractéristiques du multiplexage. Selon le mode de réalisation préférentiel choisi, le transfert de blocs de 4 pixels à une fréquence de 25 MI-Iz permet d'assurer un débit moyen supérieur à 8 vidéos de format 4 : 4 : 4 : 4, 10 bits, en temps réel. De façon connue en soi, la carte d'entrée K1 peut s'adapter à tout type de format du signal d'entrée. II en est de même de la carte de sortie Kq. Le circuit de contrôle CTRL est composé d'une part d'un circuit électronique spécifique localisé sur la carte mémoire KM et d'autre part d'un logiciel exécuté par l'unité centrale du PC hôte. Le circuit électronique spécifique localisé sur la carte mémoire KM génère tous les signaux de contrôle de la carte mémoire KM, pilote les circuits d'interface I des cartes Ki et fonctionne à des fréquences élevées compatibles des taux de transfert du bus de données. Le logiciel exécuté par l'unité centrale du PC hôte envoie au circuit électronique spécifique mentionné ci-dessus les paramètres qui représentent les commandes requises par l'opérateur exploitant le système. Avantageusement, une plate-forme informatique telle que celle décrite ci-desqus permet d'offrir une interface utilisateur sous DOS/Windows avec les utilitaires et outils logiciels standard ainsi que les outils de communication, et notamment le réseau Ethernet ou FDDI, susceptible de proposer une solution client/serveur de type informatique particulièrement adaptée au besoin de gestion d'images fixes ou animées dans un studio de télévision. Les cartes Ki réservées au traitement de l'information vidéo peuvent être, par exemple, des cartes de compression du type MJPEG, MPEGl ou encore MPEG2 permettant d'optimiser le stockage et la rapidité de transmission des images via le réseau. A titre d'exemple, pour une mémoire de 320 MBytes, I'utilisation d'une carte de compression MJPEG permet d'atteindre une durée d'enregistrement de 2 minutes de vidéo. Les cartes Ki peuvent aussi être des cartes permettant de mélanger plusieurs signaux vidéo si la fonction mélange est désirée. Comme cela a été mentionné précédemment, I'architecture selon I1 invention peut aussi être dépourvue de cartes de traitement et ne comporter que des cartes d'entrée et des cartes de sortie. La figure 3 représente un détail des architectures des figures 1 et 2. La figure 3 représente un exemple de circuit I d'interface tel que ceux mentionnés sur les figures 1 et 2. Selon cet exemple, le bus vidéo a une largeur de 160 bits. Le circuit d'interface I permet de traiter des paquets de 4 pixels, P1, P2, P3, P4. Selon le mode de réalisation préférentiel, chaque pixel a quatre composantes C1 à C4 dont chacune est codée sur 10 bits. Chaque circuit d'interface I comprend 4 circuits 11, 12, 13, 14 recueillant chacun 40 bits du côté bus pour en restituer 10 du côté carte. Les 40 bits recueillis par les circuits 11, 12, 13 et 14 sont respectivement les 4 composantes C1, les 4 composantes C2, les 4 composantes C3 et les 4 composantes C4 de chacun des 4 pixels P1, P2, P3, P4. Chaque circuit 11, 12, 13, 14 comprend un circuit 1 de type FIFO et un sélecteur rotatif SR. De façon connue en soi, le circuit I comprend aussi des circuits annexes, tels que des drivers de bus ou des circuits de contrôle des FlFOs, et qui n'ont pas été représentés sur la figure 3 afin de ne pas alourdir inutilement le dessin. Des horloges HB et HS commandent respectivement le remplissage et l'évacuation des bits contenus dans chaque circuit 1 de type FIFO. Un signal d'horloge vidéo HC, dont la valeur est égale à 4 fois la valeur du signal d'horloge HS dans l'exemple choisi, commande le sélecteur rotatif des circuits respectifs 11, 12, 13, 14 de façon à restituer par paquets successifs les composantes C1, C2, C3, C4 des pixels respectifs Pi (i = 1, 2, 3,4). De façon plus générale, le circuit I d'interface comprend P circuits 1 de type FIFO et P sélecteurs rotatifs SR de façon à traiter des paquets de P pixels. De même que dans l'exemple mentionné ci-dessus, chaque circuit 1 permet de transformer un port de grande largeur situé du côté bus en un port de largeur vidéo classique et fonctionnant de façon continue à fréquence régulière. La valeur du signal d'horloge vidéo HC est alors égale à P fois celle du signal d'horloge HS. Avantageusement, du fait de la taille des paquets de données issus de la carte mémoire KM, les circuits 11, 12, 13, 14 selon l'invention peuvent être réalisés par des composants discrets ou par des ASlCs tout en assurant de façon optimale leur fonction. La figure 4 représente une deuxième application de l'architecture selon l'invention. Selon cette deuxième application, I'architecture selon l'invention permet de dessiner directement des animations vidéo sur plusieurs niveaux indépendants et de faire la mise au point des séquences animées en temps réel. Comme cela a été mentionné précédemment, I'ensemble des trames vidéo constituant les différentes voies sont stockées une par une dans la mémoire unique M, laquelle peut contenir de quelques unités à plusieurs millions de trames ou d'images. Chacune des trames vidéo peut être dessinée ou retouchée, avec contrôle visuel simultané, dans la mémoire globale sans utilisation d'une mémoire de trame. II est possible de modifier, d'insérer ou de supprimer des trames dans n'importe quelle séquence. Comme cela a été mentionné précédemment, selon l'art connu, chaque image ou trame vidéo est stockée dans une mémoire locale bien définie communément appelée "frame buffer". De même, dans le domaine graphique, tout système graphique utilise la notion spécifique de mémoire d'image communément appelée bit map". Un avantage de I1 invention est non seulement d'associer les deux domaines différents que représentent, d'une part, le domaine de la vidéo numérique et, d'autre part, le domaine graphique des systèmes informatiques, mais encore de n'utiliser qu'une seule et même mémoire pour travailler en temps réel dans ces deux domaines.Selon le mode de réalisation préférentiel de cette deuxième application, le circuit de contrôle CTRL de la mémoire M est constitué d'un processeur spécifique 2 dédié à la gestion de la mémoire en temps réel, lequel contrôle un automate d'accès 3. Le processeur 2 reçoit et exécute des commandes de défilement vidéo CV pour chacune des voies et gère l'allocation et le chaînage des blocs pour chaque voie. Le processeur tient à jour la liste des blocs avec leur adresse pour chacune des voies et peut ainsi déclencher les transferts en lecture ou en écriture selon le sens de la voie. L'automate d'accès 3 est un générateur de transfert par blocs à la mémoire. II travaille entièrement sous contrôle du processeur de gestion de la mémoire qui lui fournit, pour chaque bloc, tous les paramètres du transfert, à savoir - adresse de départ; - taille du bloc - type de transfert (lecture ou écriture). L'automate 3 se comporte comme un générateur d'accès mémoire consécutifs et, de plus, fournit, par l'intermédiaire d'un bus de contrôle BC, les signaux de contrôle permettant de synchroniser les circuits de type FIFO contenus dans les interfaces I. Avantageusement, un tel circuit de contrôle permet de gérer les blocs à des fréquences élevées (de l'ordre de 150 à 300 kblocs/sec). Selon le mode de réalisation représenté en figure 4, I'un des circuits d'entrée est constitué d'un circuit de dessin électronique 5 permettant, sous l'effet de la commande CD et avec contrôle visuel, le dessin ou la retouche de trames vidéo stockées dans la mémoire M. L'architecture du système objet de la présente application permet de jouer simultanément sur plusieurs voies, chacune d'elles pouvant être constituée d'une séquence quelconque de trames disponibles dans la mémoire M. Le mélange des séquences vidéos et des dessins est effectué dans un mélangeur numérique multi-voies 4. Un circuit d'interface I, tel que celui décrit précédemment, est placé entre chaque voie vidéo issue du bus B haut débit et chaque voie d'entrée du mélangeur numérique 4. Le signal vidéo désiré SV est issu du mélangeur 4. Comme représenté en figure 4, selon le mode de réalisation préférentiel, le signal SV peut être réintroduit dans le bus B et devenir à son tour une séquence source. Selon d'autres modes de réalisation, le signal SV n'est pas réintroduit dans le bus B. La figure 5 représente un deuxième mode de réalisation de la deuxième application de l'architecture selon l'invention. Ce mode de réalisation concerne exclusivement un système vidéo pour animation d'images de synthèse. L'accès en écriture dans la mémoire M est alors exclusivement fait avec des dispositifs de dessin électronique 5. Tous les autres éléments constitutifs de cette architecture sont identiques à ceux décrits pour la figure 4. REVENDICATIONS 1) Architecture permettant de stocker et de transférer des images vidéo fixes ou animées, ladite architecture comprenant au moins un circuit d'entrée (El, E2, , En) permettant l'accès de données destinées à composer des images vidéo, une zone mémoire (M) permettant de stocker des images vidéo, au moins un circuit de sortie (S1, S2, ..., Si) d'image vidéo et un bus vidéo (B) destiné à assurer le transfert d'informations entre la zone mémoire (M), le circuit d'entrée (El, E2, ..., En), et le circuit de sortie (S1, S2, , Sj), caractérisée en ce que la zone mémoire (M) est une mémoire banalisée et en ce que le bus vidéo (B) a une largeur L supérieure ou égale à la largeur de la zone mémoire (M). 2) Architecture selon la revendication 1, caractérisée en ce qu'elle comprend un circuit de contrôle centralisé (CTRL) de la zone mémoire (M) de façon que les données à écrire ou à lire dans la zone mémoire (M) soient écrites ou lues par paquets successifs. 3) Architecture selon la revendication 1 ou 2, caractérisée en ce que chaque circuit d'entrée (El, E2 , En) et chaque circuit de sortie (S1, S2, , Sj) est relié au bus vidéo (B) par au moins un circuit d'interface (I) permettant de transformer un port de largeur L, situé du côté du bus vidéo (B) et correspondant à un paquet de P pixels, en un port de largeur vidéo relatif audit paquet. 4) Architecture selon la revendication 3 caractérisé en ce que chaque circuit d'interface (I) comprend P circuits (1) de type FIFO et P circuits de type sélecteur rotatif (SR). 5) Architecture selon l'une quelconque des revendications 1 à 4, caractérisé en ce qu'elle comprend au moins un circuit de traitement (T1, T2, , Tm) d'images vidéo relié au bus vidéo (B) par au moins un circuit d'interface (I). 6) Architecture selon l'une quelconque des revendications 1 à 5, caractérisée en ce que le circuit d'entrée (El, E2 , En > , En), la zone mémoire (M), le circuit de traitement (T1, T2, , Tm), et le circuit de sortie (S1, S2, , Sj) sont des cartes électroniques intégrables à une plate-forme informatique standard et en ce que le bus vidéo (B) relie ces différentes cartes à l'intérieur de ladite plate-forme. 7) Architecture selon la revendication 6, caractérisée en ce que au moins une carte de traitement est une carte de compression. 8) Architecture selon la revendication 7, caractérisée en ce que la carte de compression est une carte de compression MJPEG. 9) Architecture selon l'une quelconque des revendications 6 à 8 caractérisée en ce que au moins une carte de traitement est une carte de mélange. 10) Architecture selon l'une quelconque des revendications 3 à 9, caractérisée en ce que L = 160 bits et P = 4. 11) Architecture selon l'une quelconque des revendications 1 à 10, caractérisé en ce qu'au moins un circuit d'entrée (El, E2, , En) est un circuit d'entrée d'une voie vidéo. 12) Architecture selon l'une quelconque des revendications 1 à 11, caractérisée en ce qu'au moins un circuit d'entrée (El, E2, , En) est un circuit de dessin électronique (5). 13) Architecture selon l'une quelconque des revendications 1 à 12, caractérisée en ce qu'au moins un circuit d'entrée (El, E2, , En) est un circuit d'entrée de type fichier "bit map. 14) Architecture selon la revendication 5, caractérisée en ce que le circuit de traitement est un mélangeur numérique (4) multi-voies vidéo, en ce qu'elle comprend un circuit d'interface (I) par voie vidéo, en ce que le circuit de sortie est constitué par la sortie du mélangeur numérique (4) et en ce qu'au moins un circuit d'entrée (El, E2, , En) est un circuit de dessin électronique (5). 15) Architecture selon la revendication 14, caractérisée en ce que la sortie du mélangeur numérique (4) multi-voies est reliée au bus vidéo par l'intermédiaire d'un circuit d'interface (I) de façon que le signal (SV) issu du mélangeur numérique soit une séquence source. 16) Architecture selon la revendication 14 ou 15, caractérisée en ce que le circuit de contrôle centralisé (CTRL) est constitué d'un processeur spécifique (2) dédié à la gestion de la mémoire (M) en temps réel et d'un automate d'accès (3) à la mémoire travaillant sous contrôle du processeur spécifique (2) et fournissant à la mémoire, pour chaque bloc, les paramètres de transfert du bloc, à savoir : I'adresse de départ, la taille du bloc et le type de transfert (lecture/écriture). 17) Appareil de type photothèque de qualité Broadcast utilisant une architecture telle que celle mentionnée aux revendications 1 à 13. 18) Appareil de type animathèque de qualité Broadcast utilisant une architecture telle que celle mentionnée aux revendications 1 à 13. 19) Appareil de type palette graphique de qualité Broadcast utilisant une architecture telle que celle mentionnée aux revendications 1 à 13. 20) Appareil de dessin en temps réel d'animations vidéo de qualité Broadcast utilisant une architecture telle que celle mentionnée aux revendications 14 à 16.