FR2964236A1 - Dispositif et procede de generation d'images multifenetres a priorite variable - Google Patents

Dispositif et procede de generation d'images multifenetres a priorite variable Download PDF

Info

Publication number
FR2964236A1
FR2964236A1 FR1003482A FR1003482A FR2964236A1 FR 2964236 A1 FR2964236 A1 FR 2964236A1 FR 1003482 A FR1003482 A FR 1003482A FR 1003482 A FR1003482 A FR 1003482A FR 2964236 A1 FR2964236 A1 FR 2964236A1
Authority
FR
France
Prior art keywords
pixels
image
pixel
memory
windows
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
FR1003482A
Other languages
English (en)
Other versions
FR2964236B1 (fr
Inventor
Jean Rene Verbeque
Nicolas Levasseur
Portarrieu Yannick Benaben
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Thales SA
Original Assignee
Thales SA
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Thales SA filed Critical Thales SA
Priority to FR1003482A priority Critical patent/FR2964236B1/fr
Priority to CA 2750514 priority patent/CA2750514A1/fr
Priority to US13/220,469 priority patent/US8842129B2/en
Priority to CN201110260020.9A priority patent/CN102447900B/zh
Publication of FR2964236A1 publication Critical patent/FR2964236A1/fr
Application granted granted Critical
Publication of FR2964236B1 publication Critical patent/FR2964236B1/fr
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G5/00Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators
    • G09G5/14Display of multiple viewports
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G2340/00Aspects of display data processing
    • G09G2340/10Mixing of images, i.e. displayed pixel being the result of an operation, e.g. adding, on the corresponding input pixels
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G2340/00Aspects of display data processing
    • G09G2340/12Overlay of images, i.e. displayed pixel being the result of switching between the corresponding input pixels
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G2380/00Specific applications
    • G09G2380/12Avionics applications

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Controls And Circuits For Display Device (AREA)

Abstract

L'invention concerne un dispositif de génération d'images comportant des fenêtres d'information ayant des priorités d'affichages variables. Le dispositif comporte des moyens de sélections (SELECT) des pixels des fenêtres actives à une zone donnée de l'image et des moyens pour reconstituer (ASSEMBLE, MIX) une image à partir des pixels des fenêtres sélectionnées. L'invention concerne également le procédé de génération d'images. L'invention assure le mélange des pixels et la transparence entre les fenêtres. L'invention s'applique plus particulièrement aux afficheurs de vol pour aéronef mais s'applique également à tout dispositif de génération d'images.

Description

DISPOSITIF ET PROCEDE DE GENERATION D'IMAGES MULTIFENETRES A PRIORITE VARIABLE
(Domaine de l'invention) Le domaine de l'invention concerne les dispositifs et procédés de génération graphique et plus particulièrement les mécanismes d'affichage nécessaires à la gestion d'images complexes composées de plusieurs fenêtres avec priorité variable et mélange des contenus. (Problématique) Dans le domaine de l'aéronautique, les afficheurs de vol pour aéronefs présentent une symbologie de pilotage qui est de plus en plus souvent enrichie par d'autres images synthétiques telles que des images cartographiques(MAP) ou de vision synthétique(SVS) situées soit sous cette symbologie soit dans des surface adjacentes, la surface disponible sur les afficheurs actuels permettant cette fonction. De façon plus générale les images d'afficheurs de vol peuvent être composées également de multiples fenêtres pouvant avoir des rythmes de rafraîchissement différents, des positionnements et des tailles variables et devant être si besoin mélangées entre elles suivant un ordre particulier mais évolutif. Ces images comportent également des éléments créés par des taches logicielles ayant des niveaux de criticité différents.
Il existe des contrôleurs d'écran intégrés ou non avec des fonctions de génération graphique qui assurent une forme de support matériel aux fonctionnalités offertes par des logiciels de systèmes d'exploitation, cependant si ceux ci assurent l'affichage de surfaces créées hors écran il n'en existe pas qui le fasse en assurant un tri automatique et un mélange variable, ni qui soient à même de contrôler des générateurs de curseurs et des mélangeurs vidéo. Bien souvent d'ailleurs le support au fenêtrage est assuré par du logiciel dans un mode qui s'apparente à une sélection de type tout ou rien entre surfaces, seules les systèmes d'exploitation récents pour le marché grand public incluent des fonctions de mélange entre surfaces superposées mais c'est purement dans un but esthétique ou au mieux d'aide mémoire car le contenu des surfaces inférieures est le plus souvent rendu illisible par l'introduction d'un flou.
Il existe des automates permettant la composition d'image au niveau pixel mais la gestion de la priorité s'effectue globalement au niveau fenêtre. Les mélanges avec gestion de transparence ont quelquefois un support matériel mais le plus souvent sont faits de façon logicielle hors temps réel. Le nombre de surfaces constitutives d'une image est limité par la taille du matériel associé.
L'objectif de l'invention est de proposer un procédé de génération d'images permettant d'améliorer la gestion des images à fenêtres multiples ayant une priorité d'affichage variable, le but étant d'augmenter la flexibilité de gestion des fenêtres et de diminuer la bande-passante requise pour le flux vidéo.
(Présentation invention) Plus précisément, l'invention est un dispositif de génération d'une image comprenant une pluralité de fenêtres d'information pouvant être affichées en superposition, la dite image étant constituée de pixels mélangés dont la valeur est composée d'un mélange de n couches superposées de pixels intermédiaires parmi m couches, une fenêtre d'information étant supportée par une couche de pixels intermédiaires et étant paramétrée par un descripteur de fenêtre, le positionnement d'une fenêtre d'information étant variable dans l'image en surface et en profondeur parmi les couches superposées, les pixels intermédiaires étant enregistrées dans une mémoire image. Il comporte avantageusement: - un premier moyen pour sélectionner n pixels intermédiaires appartenant à n fenêtres actives parmi la pluralité de fenêtres pour chaque pixel mélangé de la dite image à générer et pour enregistrer au moins les paramètres suivant issus d'un descripteur de fenêtre pour chaque pixel intermédiaire sélectionné : l'identifiant de couche, l'attribut et la valeur de l'adresse mémoire au sein de la mémoire image, un second moyen pour générer une liste de commandes 35 d'accès à au moins une zone mémoire de la mémoire image pour un segment de pixels intermédiaires sélectionnés, les adresses mémoires des dits pixels étant contigües et les listes de commandes adressant des adresses mémoire image discontinues, - un troisième moyen pour enregistrer n lignes composites de pixels intermédiaires, une ligne composite étant constituée d'une pluralité de segments de pixels intermédiaires sélectionnés provenant de couches de pixels distinctes de la mémoire image, - un quatrième moyen pour mélanger les valeurs de n pixels intermédiaires sélectionnés provenant des dites lignes de pixels. 1 o Avantageusement, le moyen pour sélectionner n pixels intermédiaires comprend comme critère de sélection le coefficient d'opacité des pixels intermédiaires des couches supérieures. Avantageusement, la taille du segment de pixels intermédiaires sélectionnés est un multiple de la taille de lecture de données de la mémoire 15 image en mode rafale. Avantageusement, le nombre n de pixels intermédiaires sélectionné est configurable. Avantageusement, le nombre m de couches superposées est configurable. 20 Avantageusement, les premier, second, troisième et quatrième moyens sont implémentés dans un circuit de type FPGA ou circuit de type ASIC. L'invention concerne également le procédé de génération d'une image mettant en oeuvre le dispositif selon l'une quelconque des 25 revendications précédentes. II comporte les étapes suivantes : Une première étape de sélection des pixels intermédiaires des fenêtres actives parmi les m couches superposées, Une seconde étape de mémorisation des paramètres de pixels intermédiaires sélectionnés : l'identifiant de couche, l'attribut et 30 la valeur de l'adresse mémoire dans la mémoire de l'image, - Une troisième étape de génération d'une commande d'accès pour un segment de pixels intermédiaires sélectionnés, Une quatrième étape d'enregistrement d'une liste de commandes d'accès pour des segments de pixels constituant 35 une ligne de pixels intermédiaires.
Une cinquième étape d'enregistrement d'une ligne de pixels intermédiaires sélectionnés constituée d'une pluralité des dits segments de pixels, la dite ligne comportant des pixels intermédiaires provenant de couches de pixels distinctes.
Une sixième étape de mélange des pixels des dites lignes enregistrées pour la composition des pixels mélangés de l'image. Avantageusement, la ligne de commande d'accès est un accès en mode rafale.
Avantageusement, à la première étape, les pixels intermédiaires des fenêtres actives positionnées sur une couche inférieure à un pixel intermédiaire ayant un coefficient d'opacité maximum ne sont pas sélectionnés. (Avantages) La présente invention permet de décharger le logiciel de la quasi-totalité des taches bas niveau puisque toutes ces opérations sont supportées par les ressources matérielles en temps réel, il permet la composition d'images complexes et également le pilotage de générateur de curseur ainsi que celui d'un mélangeur vidéo situé en aval. L'invention vise aussi à optimiser l'usage de la bande passante de la ou des mémoires d'image dans lesquelles les surfaces à visualiser sont créées, et pour ce faire elle permet d'associer au descripteur propre à la surface une notion d'opacité qui n'est pas interprétée uniquement en terme colorimétrique mais également comme une indication qu'il n'est pas nécessaire d'aller chercher les éléments graphiques des surfaces sous jacentes. En outre, les mémoires d'images peuvent indifféremment être organisées en simple ou double page et recourir à un ou deux bancs mémoires physiques afin de pouvoir adresser une gamme de produits aux performances inégales. L'un des intérêts important de cette invention est de composer l'image au fil de l'eau et ainsi de n'introduire qu'une très faible latence en plus du calcul qui aura fallut faire pour générer chaque surface, cela permet aussi de minimiser les ressources matérielles nécessaires pour réaliser la fonction.
L'invention sera mieux comprise et d'autres avantages apparaîtront à la lecture de la description qui va suivre donnée à titre non limitatif et grâce aux figures annexées parmi lesquelles : La figure 1 est un schéma représentant les moyens fonctionnels majeurs du dispositif de génération d'images. La figure 2 une image affichée sur un dispositif de visualisation.
Ce schéma illustre le procédé de sélection des pixels actifs selon trois lignes de pixels distinctes dans l'image. La figure 3 est un schéma représentant le mécanisme de segmentation des lignes de pixels des couches composant une image.
Le dispositif selon l'invention permet d'améliorer le processus de génération d'images ayant la particularité de comprendre plusieurs fenêtres avec des paramètres d'affichage et de criticité variable. Les fenêtres peuvent être déplacées, affichées en transparence et déplacées en profondeur par variation de la priorité d'affichage. L'invention est particulièrement avantageuse pour les images de dispositif de visualisation de cockpit d'aéronef. En effet, pour les applications aéronautiques, les afficheurs de vol présentent des fenêtres affichant des informations critiques de vol qui doivent être sécurisées tandis que d'autres informations pour du support à la navigation sont accessoires. Les informations critiques sont généralement simples et affichées sur un fond uniforme de sorte à favoriser la fiabilité d'affichage. Les informations de support à la navigation non primordiales peuvent être des images complexes et présenter un niveau de fiabilité plus faible. Comme illustré par la figure 1, le dispositif présente 30 schématiquement deux sous-ensembles fonctionnels. Un premier sous-ensemble SS1 est une fonction de gestion de fenêtres qui exploite les descripteurs pour trier et ordonner les fenêtres et qui grâce à ces données génère des demande d'accès vers la mémoire d'image. Un second sous-ensemble SS2 est une fonction de collecte des 35 pixels dans la mémoire image MEM_IM pour reconstituer l'image avec un nombre de couches de pixels intermédiaires réduit. Ce sous-ensemble assure également le mélange des pixels des lignes de pixels reconstituées.
La réalisation actuelle de ces entités permet de configurer tant le nombre de fenêtres que le nombre de couches ainsi que le nombre de mémoire d'image physique MEM_IM. La description qui suit qui met en oeuvre seize fenêtres, un mélangeur MIX à quatre niveaux et une mémoire d'image MEM_IM utilisant deux bancs mémoire. Ce mode de réalisation doit être considéré comme un exemple car d'autres combinaisons sont possibles en fonction des besoins.
La figure 2 représente un exemple d'image schématique comportant cinq fenêtres d'informations superposées FI, F3, F6, F12, F13 ordonnées en affichage de sorte que la fenêtre FI soit au premier plan, la fenêtre F3 sur un plan inférieur à la fenêtre FI et donc couverte par la fenêtre FI aux yeux de l'opérateur qui observe la fenêtre. Les fenêtres suivantes sont ordonnées selon la même loi de priorité, les numéros indiquant l'ordre de priorité. Au cours de l'utilisation du dispositif de visualisation, l'ordre de priorité des fenêtres peut varier. Ce paramètre de priorité est indiqué dans un descripteur de fenêtre comportant d'autres informations. L'ordre de priorité est défini par le niveau de la couche de pixels composant l'image. L'image est constituée de pixels mélangés dont la valeur est composée d'un mélange de n couches superposées de pixels intermédiaires parmi m couches. Une fenêtre d'information est supportée par une couche de pixels intermédiaires.
Les pixels intermédiaires étant enregistrés dans une mémoire d'image. Dans cet exemple, seize couches de pixels sont possibles. L'image est constituée de lignes de pixels étagées de haut en bas sur l'image. Les fenêtres participent à la composition des lignes de pixels et chaque ligne est composée différemment en fonction de la position des fenêtres dans l'espace de l'image. Sur la figure 1, la ligne LU positionnée en partie haute de l'image est composée par trois fenêtres actives, les fenêtres FI, F6 et F12. La ligne LM est composée par cinq fenêtres actives, les fenêtres FI, F3, F6, F12 et F13. La ligne LL est composée par deux fenêtres, les fenêtres F3 et F12. Les fenêtres actives peuvent présentées un coefficient d'opacité variable les rendant transparentes ou complètement opaques. Ce paramètre de coefficient d'opacité est également indiqué dans un descripteur de fenêtre comportant d'autres informations. Les descripteurs de fenêtres DESC sont fournis sous la forme d'un tableau de valeurs qui renseignent sur la position en mémoire, l'adresse, du premier pixel de la surface, par convention et comme c'est souvent le cas en génération d'image de type matricielle, c'est le coin supérieur gauche, mais toute autre origine ne changerait rien. On fournit aussi les cordonnées (u,v) du premier pixel visible de la surface et sa position (x,y) sur l'écran, la description de la zone de visualisation est complétée par la fourniture des coordonnées écran du dernier pixel visible, avec la convention précédente c'est donc le coin inférieur droit. Un paramètre supplémentaire est cependant nécessaire c'est le pas horizontal (communément appelé « pitch » en anglais) de la surface à visualiser, c'est-à-dire la taille mémoire allouée à la description d'une ligne de l'image, en d'autres termes la quantité dont il faut augmenter l'adresse mémoire pour passer à la ligne suivante. Pour des raisons ayant trait à un souci d'uniformisation des paramètres, on utilise ici une taille exprimées en pixels. Un mot annexe renseigne des paramètres tels que : Choix du (ou des) curseur(s) actif(s) dans la surface, l'exemple donné ici se limite à trois, Choix de la vidéo active dans la surface, l'exemple donné ici se limite à une parmi trois, Choix de la palette de mélange, l'exemple donné ici se limite à 25 une parmi seize, Choix de la couleur de fond ou d'effacement, l'exemple donné ici utilise un codage ARVB au format 4565. Un exemple de codage est donné ci-dessous. 31 l 30 l 29 l 28 27..24 l 23..20 20..16 1 15..11 l 11..5 l 4..0 Discretes Defcol Wactive Opacity Filter Vidsel Priority/ Alpha Alpha Red Green Blue Identifier table value value Lantern value Le nombre de couches disponibles limite le nombre de fenêtres pouvant concourir à l'élaboration d'un pixel particulier, cela ne limite pas le nombre de fenêtres pouvant être actives sur la totalité de l'écran. 30 Ces descripteurs DESC sont stockés dans une mémoire double page, préférentiellement double port accessible d'une part par le logiciel déroulé sur le processeur hôte et d'autre part peut être recopiée périodiquement, au rythme de la synchronisation verticale du dispositif de visualisation, dans des registres de travail. Cette opération de copie est mise à profit pour trier les surfaces en fonction de leur priorité qui est codée dans le champ Priority, les surfaces pour lesquelles le bit Wactive n'est pas positionné sont ignorées. Pour des applications critiques en termes de sécurité, la mémoire peut être tripliquée et c'est le résultat d'un vote majoritaire qui est utilisé pour l'élaboration de la table de travail. Cette table est ordonnée en fonction de la priorité choisie et ne reflète pas l'ordre de stockage des descripteurs dans la zone d'entrée. Cette opération de tri peut également être faite par logiciel, dans ce cas il est impératif que les descripteurs soient rangés dans l'ordre.
Le dispositif comporte un premier moyen SELECT pour sélectionner les n pixels intermédiaires appartenant à n fenêtres actives parmi la pluralité de fenêtres pour chaque pixel mélangé de l'image à générée. Le procédé de génération d'image comporte une première étape qui consiste à élaborer, de façon cohérente avec le balayage de l'écran, les fenêtres temporelles pour lesquelles les surfaces triées sont actives. Cette opération est menée en parallèle sur tous les descripteurs disponibles DESC et produit pour chaque position utilisable de l'écran un mot d'état ayant autant de bits que de surfaces manipulables (seize dans l'exemple), un bit actif indiquant que la surface considérée est active sur cette position et doit donc participer à l'opération de sélection qui suivra. Un mot est calculé par cycle d'horloge. La fréquence n'est pas nécessairement celle réelle de l'affichage des pixels mais elle est de fréquence au moins égale pour garantir le fonctionnement au fil de l'eau correct de l'ensemble. Dans ce mot la position d'un bit est directement liée à la priorité et que du fait de l'élimination précoce des surfaces globalement inactives il peut y avoir moins de bits utilisés que de surfaces utilisables. Les mots générés sont stockés dans une petite mémoire double page, un registre de type FIFO pourrait aussi convenir. Ces mots sont utilisés ensuite pour allouer un élément de surface à une voie du mélangeur, cette allocation se fait en tenant compte de la priorité de la surface et de l'occupation des voies, elle est donc par principe dynamique puisque élaborée en temps réel pour chaque position de l'écran.
Le processus s'effectue à nouveau de façon concurrente pour toutes les surfaces, dans l'exemple d'application donné ici la concurrence est gérée de façon à la fois strictement parallèle mais aussi en série par l'utilisation d'un pipeline ceci afin de minimiser les ressources matérielles nécessaires, la priorité qui est, on le rappelle, déduite du rang du bit d'activité assure que les n premières surfaces seront allouées sur les n voies du mélangeur. Si pour une position donnée il y a plus de n surfaces en compétition alors celles de rang supérieur à n sont ignorées à cet endroit.
Le premier moyen SELECT a pour fonction également d'enregistrer au moins les paramètres suivant issus d'un descripteur de fenêtre DESC pour chaque pixel intermédiaire sélectionné : l'identifiant de couche, l'attribut et la valeur de l'adresse mémoire au sein de la mémoire image. En parallèle du mécanisme de sélection et indépendamment de son résultat on calcule l'adresse source du pixel intermédiaire courant de toutes les surfaces actives dans la mémoire image et à chaque fois qu'une surface est sélectionnée son adresse est mémorisée dans un registre à décalage. Il y a un registre par voie utilisable. Le résultat de la sélection de la ou des surfaces participant à la composition du pixel mélangé de l'image tient compte de la priorité choisie mais exploite aussi le bit d'opacité du descripteur, si celui ci est à 1 et que la surface est active alors l'intégralité des niveaux inférieurs devient non disponible. Des que les N couches ont été allouées le mécanisme d'allocation ne produit plus rien, cependant la durée du processus est conservée ce qui garanti un temps d'exécution constant quelque soit la configuration réelle des fenêtres. La sélection est totalement dynamique et s'adapte continûment aux ressources disponibles. En sortie de cet étage, on dispose de n paires de registres F_SLCT (dans l'exemple de la figure 1 on représente 4 paires), un premier registre d'une paire contenant l'identifiant et les attributs de la surface à laquelle appartiennent le pixel intermédiaire et le second registre contenant l'adresse du dit pixel intermédiaire.
Les registres F_SLCT sont exploités pour regrouper si possibles les pixels individuels en des blocs cohérents avec la nature et la structure du ou des bancs mémoires MEM_IM utilisés comme mémoire d'image. Les mémoires de type DDR (« Dual Data Rate » en anglais) étant la technologie dominante aujourd'hui et ayant choisi de stocker des pixels contigus horizontalement à des adresses contiguës en mémoire on optimisera l'usage de cette dernière en collectant tous les pixels pouvant être lu au moyen d'un accès en mode rafale, communément appelé accès « burst » en anglais, qui est le mode d'accès normal de ce type de mémoire.
Un deuxième moyen REQ a pour fonction de générer les commandes d'accès à la mémoire d'image. Une liste de commandes d'accès (ou requêtes d'accès) L_Req à au moins une zone mémoire de la mémoire d'image MEM_IM pour un segment de pixels intermédiaires sélectionnés est créée. Selon un exemple de réalisation non limitatif, la largeur du bus mémoire et le codage choisi pour les pixels font qu'un accès burst mémoire permet la lecture de huit pixels consécutifs. Ce deuxième moyen REQ de génération des commandes d'accès regroupe les pixels huit par huit et fournit comme adresse au contrôleur mémoire une adresse alignée sur les frontières de l'accès burst. Cette adresse est l'adresse du pixel le plus à gauche du segment de huit pixels. Comme illustré par la figure 3, les changements de couche WS et les extrema de surface W_end ou W_start peuvent être détectés, dans ce cas la requête générée est le plus souvent pour un nombre de pixels inférieur à huit ou, plus généralement, à la taille courante du segment. En plus de fournir l'adresse du segment requis, on calcule la position qu'il devra occuper sur l'écran et la taille réellement utilisée ; L'ensemble de ces informations est regroupé dans un mot de commande qui est écrit dans un registre de type FIFO, c'est le taux de remplissage de ce FIFO qui régule le processus de sélection situé en amont. En régime normal il est produit une requête potentielle tous les huit coups d'horloge. La figure 3 représente une image composée par les pixels intermédiaires sélectionnés sur un niveau de quatre couches. Directement en dessous sont représentées les lignes de quatre couches de pixels intermédiaires Cl, C2, C3 et C4 composant une ligne de pixels mélangés de l'image. Plus bas dans la figure est représentée dans une vue en grossissement Z une partie de chacune des quatre lignes Cl à C4 de sorte à visualiser les détails jusqu'au pixel. Chacune des voies du mécanisme de sélection possède son propre registre. L'ultime étage du premier sous-ensemble scrute l'état de chacun des FIFO pour générer les requêtes vers la ou les mémoires d'images MEM_IM. Avec quatre couches, il est possible de produire une requête tous les deux coups d'horloge. A ce stade du procédé de génération de l'image, l'image constituée des quatre couches n'est pas enregistrée telle qu'elle dans une mémoire. Le contenu d'une ligne est totalement déstructuré tant par l'existence de chemins ayant des latences différentes que par le mécanisme d'arbitrage qui contrôle la scrutation des FIFO de sortie du moyen de sélection SELECT et qui donc mélange les segments provenant de fenêtres FI, F3, F6, F12 et F13 distinctes enregistrées dans la zone mémoire image MEM IM à des adresses distinctes..
Le second sous-ensemble SS2 est une fonction de collecte des pixels dans la mémoire image MEM_IM pour reconstituer l'image avec un nombre de couches de pixels intermédiaires réduit. Ce sous-ensemble assure également le mélange des pixels des lignes de pixels reconstituées.
Un procédé d'affichage des données particulier peut être utilisé pour optimiser la phase d'affichage. L'utilisation de ce procédé n'est pas obligatoire. Il est décrit dans la demande de brevet publiée le 19 juin 2009 dont le numéro de publication est FR 2925206. Ce procédé d'affichage des données permet, par l'interrogation d'une mémoire annexe ayant une taille plus faible que celle utilisée par la mémoire d'image, car l'unité n'y est plus le pixel mais une tuile regroupant plusieurs pixels, ici 4x4 et un temps d'accès très court, de savoir si cette petite surface a été modifiée ou non et si donc il y a lieu de générer une requête vers la mémoire d'image MEM_IM.
La fonction ASSEMBLE collecte au moyen d'une première FIFO les paramètres associés aux segments dont aucun des pixels n'ont été modifiés par l'unité graphique. Deux autres FIFO gèrent les segments modifiés, l'un mémorise les paramètres du segment, l'autre mémorise les données en provenance de la mémoire, compte tenu du format des données mémoire ce FIFO a une taille double de ceux utilisés pour les commandes. L'état des FIFO stockant les mots de commande L_Req est scruté en permanence par un automate dont le but est de trier le flux de segment en fonction de la couche auquel il appartient, cette opération est également mise à profit pour finaliser le contenu du segment en fonction de l'état des drapeaux de modification. L'opération de tri/démultiplexage va donc aiguiller commandes et données vers autant de FIFO F_LPIX qu'il y a de couches à mélanger, le rythme d'aiguillage est constant et demande 2 périodes d'horloges ce qui correspond à la durée d'un paquet de données.
Les moyens nécessaires à la reconstruction des lignes constituant l'image est architecturée autour de mémoires multiports réalisées ici au moyen de paires de mémoires double ports qui sont d'usage beaucoup plus courant. Mais une mémoire quadri port serait également utilisable. Les mémoires permutent de rôle au rythme des lignes, pendant que l'une est utilisée par le mécanisme d'assemblage, l'autre est relue et alimente le mélangeur et elle est effacée pour préparer le prochain cycle. Les quatre niveaux de pixels sélectionnés sont traités en parallèle et lorsque survient la fin de la ligne courante les mémoires actives sur cette ligne contiennent les valeurs colorimétriques des pixels intermédiaires provenant de couches distinctes qui sont ensuite transmis au moyen de mélange des pixels MIX. La figure 3 représente les lignes telles qu'elles peuvent être enregistrées dans les registres à destination de la fonction de mélange. Les couches Cl à C4 sont enregistrées dans une mémoire avec les valeurs de pixels intermédiaires provenant de fenêtres distinctes à des adresses successives. La couche Cl est composée de valeurs de pixels intermédiaires provenant de cinq fenêtres distinctes FI, F3, F6, F12, F13. La couche C2 est composée de valeurs de pixels intermédiaires provenant de quatre fenêtres distinctes F3, F6, F12, F13. La couche C3 est composée de valeurs de pixels intermédiaires provenant de trois fenêtres distinctes F6, F12, F13. La couche C3 est composée de valeurs de pixels intermédiaires provenant de deux fenêtres distinctes F12, F13. Les valeurs des autres pixels de la ligne sont enregistrées à une valeur par défaut, qui correspond généralement à la valeur de fond souhaitée pour l'afficheur.
La lecture s'effectue aussi en parallèle mais, afin de compenser la latence de la fonction de mélange MIX, elle débute d'abord pour la couche de niveau inférieur puis après quelques cycle d'horloge elle se propage au niveau situé au-dessus et ainsi de suite. Dès qu'une valeur a été lue, elle est effacée, la valeur d'effacement est celle qui aura été choisie comme couleur par défaut de l'écran pour le niveau le plus bas et la valeur zéro pour les autres niveaux, le codage colorimétrique ARVB utilisé considérant la valeur zéro comme un noir (R=V=B= 0) transparent (A = 0).
Les données de la fonction ASSEMBLE sont envoyées sur les entrées correspondantes de la fonction du mélangeur MIX. Ce dernier utilise une pluralité de multiplieurs additionneurs pour réaliser les mélanges, ceux ci sont effectués de façon itérative entre un élément d'arrière plan et un autre de premier plan. Les coefficients utilisés pour le mélange sont issus de tables dont la sélection est faite par le champ de la couche Cl qui occupe le premier plan. Cette table est adressée par la valeur du paramètre alpha du pixel courant de la couche Cl du premier plan. Elle fournit une paire de coefficients qui sont utilisés par les multiplieurs du mélangeur, en sortie on obtient :
Rout = Cf*Rf + Cb*Rb Vout = Cf*Vf + Cb*Vb Bout = Cf*Bf + Cb*Bb Rf, Vf, Bf sont les composantes RVB du premier plan, Rb, Vb, Bb sont celles de l'arrière plan, Cf et Cb étant les coefficients de mélange. Les coefficients sont codés sur 9 bits la valeur 256 représentant l'unité. Ils seront préférentiellement choisis de façon à ce que leur somme n'excède pas cette valeur afin d'éviter des artefacts colorimétriques. Les effets de transparence sont entièrement contrôlés par la valeur de ces coefficients, la sortie du mélangeur pouvant prendre toutes les valeurs entre celle de l'arrière plan (Cf = 0) et celle du premier plan (Cb = 0). Un dispositif de saturation est implémenté à chaque étage du moyen MIX permettant de mélanger les pixels intermédiaires de chaque couche Cl à C4 afin d'éviter que l'usage de coefficients dont la somme excéderait l'unité ne conduise à la création d'une image erronée où il y aurait inversion de couleur, en cas de saturation l'image va tendre vers le blanc.
Le mélangeur évalue aussi la valeur d'opacité alpha qui faut associer aux valeurs colorimétrique, ici le choix a été fait d'utiliser la fonction maximum on a alors : Aout = max (Af,Ab) Cela garanti qu'un élément d'opacité maximum (A = 1) le reste quelle que soit la couche à laquelle il appartient, ce qui est indispensable si l'on désire ultérieurement mélanger l'image ainsi obtenue avec un fond vidéo sans que ce fond ne modifie. L'identifiant de la surface de premier plan est également fourni en compagnie des attributs de choix de vidéo et de curseur qui sont gérés par des circuits annexes; Ces grandeurs sont mises à disposition des utilisateurs pour piloter une génération de curseur et ou un étage mélangeur gérant une ou des vidéo externes.
Les moyens fonctionnels décrits dans la figure sont mis en oeuvre sur un composant électronique à portes logiques de type FPGA ou ASIC par exemple. Le schéma logique mis en oeuvre sur ce type de composant pour exécuter les fonctions SELECT, REQ, ASSEMBLE et MIX du dispositif n'est pas une limitation de la portée de l'invention. L'homme du métier sait également utilisé tout autre composant permettant d'exécuter les mêmes fonctions et par conséquent le choix des composants électroniques permettant d'implémenter ces fonctions n'est pas une limitation à la portée de l'invention.35 (Applications)
L'invention se destine plus particulièrement aux dispositifs d'affichage pour visualisations embarquées dans des engins mobiles et contraintes en ressources et fiabilité. Plus généralement, les dispositifs de génération graphique pour tout type de visualisation sont concernés. 15

Claims (9)

  1. REVENDICATIONS1. Dispositif de génération d'une image comprenant une pluralité de fenêtres d'information pouvant être affichées en superposition, la dite image étant constituée de pixels mélangés dont la valeur est composée d'un mélange de n couches superposées de pixels intermédiaires parmi m couches, une fenêtre d'information étant supportée par une couche de pixels intermédiaires et étant paramétrée par un descripteur de fenêtre, le positionnement d'une fenêtre d'information étant variable dans l'image en surface et en profondeur parmi les couches superposées, les pixels intermédiaires étant enregistrées dans une mémoire image, caractérisé en ce qu'il comporte : - un premier moyen (SELECT) pour sélectionner n pixels intermédiaires appartenant à n fenêtres actives parmi la pluralité de fenêtres pour chaque pixel mélangé de la dite image à générer et pour enregistrer au moins les paramètres suivant issus d'un descripteur (DESC) de fenêtre pour chaque pixel intermédiaire sélectionné : l'identifiant de couche, l'attribut et la valeur de l'adresse mémoire au sein de la mémoire image, - un second moyen (REQ) pour générer une liste de commandes d'accès (L REQ) à au moins une zone mémoire de la mémoire image (MEM_IM) pour un segment de pixels intermédiaires sélectionnés, les adresses mémoires des dits pixels étant contigües et les listes de commandes adressant des adresses mémoire image discontinues, - un troisième moyen (ASSEMBLE) pour enregistrer n lignes composites de pixels intermédiaires, une ligne composite étant constituée d'une pluralité de segments de pixels intermédiaires sélectionnés provenant de couches de pixels distinctes de la mémoire image (MEM_IM), - un quatrième moyen (MIX) pour mélanger les valeurs de n pixels intermédiaires sélectionnés provenant des dites lignes de pixels.
  2. 2. Dispositif selon la revendication 1, caractérisé en ce que le moyen pour sélectionner n pixels intermédiaires comprend comme critère de sélection le coefficient d'opacité des pixels intermédiaires des couches supérieures.
  3. 3. Dispositif selon la revendication 1, caractérisé en ce que la taille du segment de pixels intermédiaires sélectionnés est un multiple de la taille de lecture de données de la mémoire image en mode rafale.
  4. 4. Dispositif selon la revendication 1, caractérisé en ce que le nombre n de pixels intermédiaires sélectionné est configurable.
  5. 5. Dispositif selon la revendication 1, caractérisé en ce que le nombre m de couches superposées est configurable.
  6. 6. Dispositif selon l'une quelconque des revendications précédentes, caractérisé en ce que les premier, second, troisième et quatrième moyens 10 sont implémentés dans un circuit de type FPGA ou circuit de type ASIC.
  7. 7. Procédé de génération d'une image mettant en oeuvre le dispositif selon l'une quelconque des revendications précédentes, caractérisé qu'il comporte les étapes suivantes : Une première étape de sélection des pixels intermédiaires des 15 fenêtres actives parmi les m couches superposées, Une seconde étape de mémorisation des paramètres de pixels intermédiaires sélectionnés : l'identifiant de couche, l'attribut et la valeur de l'adresse mémoire dans la mémoire de l'image, Une troisième étape de génération d'une commande d'accès 20 pour un segment de pixels intermédiaires sélectionnés, Une quatrième étape d'enregistrement d'une liste de commandes d'accès pour des segments de pixels constituant une ligne de pixels intermédiaires. Une cinquième étape d'enregistrement d'une ligne de pixels 25 intermédiaires sélectionnés constituée d'une pluralité des dits segments de pixels, la dite ligne comportant des pixels intermédiaires provenant de couches de pixels distinctes. - Une sixième étape de mélange des pixels des dites lignes enregistrées pour la composition des pixels mélangés de 30 l'image.
  8. 8. Procédé selon la revendication 7, caractérisé en ce que la ligne de commande d'accès est un accès en mode rafale.
  9. 9. Procédé selon la revendication 7, caractérisé en ce que, à la première étape, les pixels intermédiaires des fenêtres actives positionnées sur une couche inférieure à un pixel intermédiaire ayant un coefficient d'opacité maximum ne sont pas sélectionnés.
FR1003482A 2010-08-31 2010-08-31 Dispositif et procede de generation d'images multifenetres a priorite variable Active FR2964236B1 (fr)

Priority Applications (4)

Application Number Priority Date Filing Date Title
FR1003482A FR2964236B1 (fr) 2010-08-31 2010-08-31 Dispositif et procede de generation d'images multifenetres a priorite variable
CA 2750514 CA2750514A1 (fr) 2010-08-31 2011-08-26 Dispositif et procede servant a generer des images multifenetres a priorite variable
US13/220,469 US8842129B2 (en) 2010-08-31 2011-08-29 Device and method for generating variable priority multiwindow images
CN201110260020.9A CN102447900B (zh) 2010-08-31 2011-08-30 用于生成可变优先级多窗口图像的设备和方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
FR1003482A FR2964236B1 (fr) 2010-08-31 2010-08-31 Dispositif et procede de generation d'images multifenetres a priorite variable

Publications (2)

Publication Number Publication Date
FR2964236A1 true FR2964236A1 (fr) 2012-03-02
FR2964236B1 FR2964236B1 (fr) 2012-08-17

Family

ID=43971240

Family Applications (1)

Application Number Title Priority Date Filing Date
FR1003482A Active FR2964236B1 (fr) 2010-08-31 2010-08-31 Dispositif et procede de generation d'images multifenetres a priorite variable

Country Status (4)

Country Link
US (1) US8842129B2 (fr)
CN (1) CN102447900B (fr)
CA (1) CA2750514A1 (fr)
FR (1) FR2964236B1 (fr)

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20130151624A1 (en) 2011-12-12 2013-06-13 International Business Machines Corporation Context-Sensitive Collaboration Channels
US9588652B2 (en) 2011-12-12 2017-03-07 International Business Machines Corporation Providing feedback for screen sharing
US9852432B2 (en) 2011-12-12 2017-12-26 International Business Machines Corporation Customizing a presentation based on preferences of an audience
US9124657B2 (en) 2011-12-14 2015-09-01 International Business Machines Corporation Dynamic screen sharing for optimal performance
US9141264B2 (en) 2011-12-14 2015-09-22 International Business Machines Corporation Variable refresh rates for portions of shared screens
CN104103045B (zh) * 2014-07-09 2017-06-16 广东欧珀移动通信有限公司 终端的高斯模糊处理方法和系统
CN104361556B (zh) * 2014-10-22 2017-11-28 华为技术有限公司 一种图像合成方法和图像芯片以及图像设备
FR3045179B1 (fr) * 2015-12-15 2018-01-26 Areva Np Dispositif electronique et procede de gestion de l'affichage de donnees pour le pilotage d'une centrale nucleaire, systeme de pilotage et produit programme d'ordinateur associes
EP3270371B1 (fr) * 2016-07-12 2022-09-07 NXP USA, Inc. Procédé et appareil de gestion de couches graphiques dans un composant d'affichage graphique
JP2019109353A (ja) * 2017-12-18 2019-07-04 シャープ株式会社 表示制御装置および該表示制御装置を備えた液晶表示装置
US11347463B2 (en) * 2018-10-31 2022-05-31 Honeywell International Inc. Correlative display system with decluttered displays for aircraft

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2009081650A1 (fr) * 2007-12-26 2009-07-02 Nec Corporation Système et procédé d'affichage d'image et support d'enregistrement
US20100079489A1 (en) * 2008-10-01 2010-04-01 Ati Technologies Ulc System and method for efficient digital video composition

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE69315969T2 (de) * 1992-12-15 1998-07-30 Sun Microsystems Inc Darstellung von Informationen in einem Anzeigesystem mit transparenten Fenstern
US6573905B1 (en) * 1999-11-09 2003-06-03 Broadcom Corporation Video and graphics system with parallel processing of graphics windows
US7168048B1 (en) * 1999-03-24 2007-01-23 Microsoft Corporation Method and structure for implementing a layered object windows
FR2826762B1 (fr) 2001-06-29 2004-02-06 Thales Sa Procede de synthese d'une image d'intervisibilite
FR2826720B1 (fr) 2001-06-29 2003-09-05 Thales Sa Procede de synthese d'une image cartographique
FR2826759B1 (fr) 2001-06-29 2003-11-14 Thales Sa Procede de zoom
FR2826721B1 (fr) 2001-06-29 2003-09-05 Thales Sa Procede de synthese d'une image altimetrique
DE602007010514D1 (de) * 2006-12-18 2010-12-23 Koninkl Philips Electronics Nv Bildkomprimierung und dekomprimierung
CN101334725B (zh) * 2007-06-29 2011-05-25 联想(北京)有限公司 提高窗口显示性能的方法与装置
FR2925206B1 (fr) 2007-12-18 2015-05-29 Thales Sa Dispositif d'affichage et procede d'optimisation de la bande passante memoire
JP4971202B2 (ja) * 2008-01-07 2012-07-11 株式会社エヌ・ティ・ティ・ドコモ 情報処理装置及びプログラム
CN101699395A (zh) * 2009-10-23 2010-04-28 深圳市茁壮网络股份有限公司 一种多窗口管理方法及多窗口浏览器

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2009081650A1 (fr) * 2007-12-26 2009-07-02 Nec Corporation Système et procédé d'affichage d'image et support d'enregistrement
US20100079489A1 (en) * 2008-10-01 2010-04-01 Ati Technologies Ulc System and method for efficient digital video composition

Also Published As

Publication number Publication date
CN102447900A (zh) 2012-05-09
US20120050320A1 (en) 2012-03-01
US8842129B2 (en) 2014-09-23
FR2964236B1 (fr) 2012-08-17
CA2750514A1 (fr) 2012-02-29
CN102447900B (zh) 2016-08-03

Similar Documents

Publication Publication Date Title
FR2964236A1 (fr) Dispositif et procede de generation d'images multifenetres a priorite variable
US9699351B2 (en) Displaying image thumbnails in re-used screen real estate
EP1292921B1 (fr) Raffinement d'un maillage triangulaire en trois dimensions
TWI461932B (zh) 多層幻燈片轉換
FR2534400A1 (fr) Procedes et appareil d'affichage graphique
CN103686304B (zh) 一种图层合成方法、装置及终端设备
FR2604019A1 (fr) Dispositif d'affichage video couleur pour systeme d'ordinateur, et procede de conversion de signaux video couleur a cet effet
JP6230076B2 (ja) 仮想サーフェス割り当て
US11594259B1 (en) Simplifying digital content layers of an editing sequence
KR20110033306A (ko) 성능 분석 동안 관련된 그래픽스 데이터에 대한 그래픽스 명령들의 매핑
Rufiange et al. Treematrix: A hybrid visualization of compound graphs
WO2016092704A1 (fr) Dispositif de traitement d'informations, procédé de lecture de vidéo animée, et programme de lecture de vidéo animée
US10424084B2 (en) Digital content rendering that supports alpha is shape (AIS) as part of knockout groups
FR2543721A1 (fr) Dispositif de generation d'images sur un ecran dans un systeme de visualisation commande par ordinateur
US9235575B1 (en) Systems and methods using a slideshow generator
CN117523072A (zh) 渲染处理方法、装置、设备和计算机可读存储介质
EP0178219B1 (fr) Procédé d'élaboration d'images vidéo synthétiques en vue d'une visualisation en temps réel, et à haute densité d'information, et dispositif utilisant ce procédé
US20090002386A1 (en) Graphical Representation Creation Mechanism
Ortíz-García et al. Automated generation and visualization of picture-logic puzzles
EP3082106B1 (fr) Synthèse d'images
CN110503702A (zh) 一种全液晶数字仪表硬件图层分层处理方法及装置
EP0780796B1 (fr) procédé et systéme d'affichage d'images symboliques
CN118541729A (zh) 基于面部特征创建效果
EP2591457B1 (fr) Dispositif de synthèse d'image
EP1223762A1 (fr) Composition d'une image

Legal Events

Date Code Title Description
PLFP Fee payment

Year of fee payment: 7

PLFP Fee payment

Year of fee payment: 8

PLFP Fee payment

Year of fee payment: 9

PLFP Fee payment

Year of fee payment: 10

PLFP Fee payment

Year of fee payment: 11

PLFP Fee payment

Year of fee payment: 12

PLFP Fee payment

Year of fee payment: 13

PLFP Fee payment

Year of fee payment: 14

PLFP Fee payment

Year of fee payment: 15

PLFP Fee payment

Year of fee payment: 16