FR2861938A1 - Video image streams and graphic objects combining process for automobile, involves combining values of image planes pixels and determined transparency ratio to determine value of each pixel of resulting video image streams - Google Patents

Video image streams and graphic objects combining process for automobile, involves combining values of image planes pixels and determined transparency ratio to determine value of each pixel of resulting video image streams Download PDF

Info

Publication number
FR2861938A1
FR2861938A1 FR0312681A FR0312681A FR2861938A1 FR 2861938 A1 FR2861938 A1 FR 2861938A1 FR 0312681 A FR0312681 A FR 0312681A FR 0312681 A FR0312681 A FR 0312681A FR 2861938 A1 FR2861938 A1 FR 2861938A1
Authority
FR
France
Prior art keywords
image
pixel
video
stream
transparency
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
FR0312681A
Other languages
French (fr)
Other versions
FR2861938B1 (en
Inventor
Norbert Boigues
Philippe Hauttecoeur
Herve Rostan
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.)
Continental Automotive France SAS
Original Assignee
Siemens VDO Automotive SAS
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 Siemens VDO Automotive SAS filed Critical Siemens VDO Automotive SAS
Priority to FR0312681A priority Critical patent/FR2861938B1/en
Publication of FR2861938A1 publication Critical patent/FR2861938A1/en
Application granted granted Critical
Publication of FR2861938B1 publication Critical patent/FR2861938B1/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

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/36Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators characterised by the display of a graphic pattern, e.g. using an all-points-addressable [APA] memory
    • G09G5/39Control of the bit-mapped memory
    • G09G5/395Arrangements specially adapted for transferring the contents of the bit-mapped memory to the screen
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N9/00Details of colour television systems
    • H04N9/64Circuits for processing colour signals
    • H04N9/641Multi-purpose receivers, e.g. for auxiliary information
    • 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/04Changes in size, position or resolution of an image
    • G09G2340/0407Resolution change, inclusive of the use of different resolutions for different screen areas
    • 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
    • G09G2340/125Overlay of images, i.e. displayed pixel being the result of switching between the corresponding input pixels wherein one of the images is motion video
    • 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/36Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators characterised by the display of a graphic pattern, e.g. using an all-points-addressable [APA] memory
    • G09G5/363Graphics controllers
    • 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/36Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators characterised by the display of a graphic pattern, e.g. using an all-points-addressable [APA] memory
    • G09G5/39Control of the bit-mapped memory
    • G09G5/395Arrangements specially adapted for transferring the contents of the bit-mapped memory to the screen
    • G09G5/397Arrangements specially adapted for transferring the contents of two or more bit-mapped memories to the screen simultaneously, e.g. for mixing or overlay

Landscapes

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

Abstract

The process involves determining a value of each of several image planes according to position and size of each clip art or video image streams. A transparency ratio for each pixel is determined based on a specific transparency ratio. The values of the image planes pixels and the determined transparency ratio are combined by a video/graphics accelerator (12) for determining value of each pixel of resulting video image streams. An independent claim is also included for a device to combine resulting video image stream, input video image stream and a clip art.

Description

La présente invention concerne le domaine du traitement et de l'affichageThe present invention relates to the field of processing and display

de signaux vidéo, notamment en vue de combiner des images vidéo et des objets graphiques fixes ou animés.  video signals, in particular for combining video images and fixed or animated graphic objects.

Elle s'applique notamment, mais non exclusivement, au domaine des 5 systèmes d'affichage embarqués, en particulier adaptés à l'automobile.  It applies in particular, but not exclusively, to the field of on-board display systems, in particular adapted to the automobile.

Dans le domaine de l'automobile notamment, il existe un besoin croissant d'intégration d'applications multimédia, en vue d'améliorer la sécurité, le confort et l'information du conducteur, et d'offrir des divertissements pour les passagers. Ainsi, plusieurs sources d'images (vidéo et objets graphiques) peuvent être amenées à coexister. On peut citer en tant que sources d'images une caméra de rétro-vision, un lecteur de DVD, une console de jeux, un système de navigation. Pour des raisons de coût, d'encombrement et de consommation électrique, on cherche en contre partie à réduire le nombre d'afficheurs nécessaires.  In the automotive field in particular, there is a growing need for integration of multimedia applications, in order to improve the safety, comfort and information of the driver, and to provide entertainment for the passengers. Thus, several image sources (video and graphic objects) can be coexisted. As sources of images, there can be mentioned a retro-vision camera, a DVD player, a game console, a navigation system. For reasons of cost, space and power consumption, it seeks in return to reduce the number of displays required.

Or pour combiner en temps réel des images vidéo et des objets graphiques, il est nécessaire de mettre en oeuvre de puissants moyens de calcul. Il s'avère que de tels moyens sont totalement inadaptés au monde de l'automobile. En effet, ces moyens présentent en général un coût trop élevé, un encombrement et une consommation électrique trop importants. Ils nécessitent un environnement très stable en termes de température et de vibrations, qui est irréalisable à bord d'une automobile. Ils doivent en outre présenter une très grande fiabilité et disponibilité comparables à celles des récepteurs radio conçus pour l'automobile, ce qui est loin d'être le cas des ordinateurs actuels.  But to combine in real time video images and graphic objects, it is necessary to implement powerful computing means. It turns out that such means are totally unsuited to the world of the automobile. Indeed, these means generally have a cost too high, too much space and power consumption. They require a very stable environment in terms of temperature and vibration, which is unfeasible on board an automobile. They must also have a very high reliability and availability comparable to those of radio receivers designed for the automobile, which is far from the case of current computers.

La présente invention a pour but de supprimer ces inconvénients. Cet objectif est atteint au moyen d'un procédé pour combiner en temps réel, en un unique flux d'images vidéo résultant, au moins un flux d'images vidéo d'entrée et au moins un objet graphique, ledit procédé comprenant des étapes consistant à définir plusieurs plans d'image destinés à être superposés dans un flux d'image vidéo résultant, et ayant des dimensions égales à celle des images du flux d'image vidéo résultant, attribuer respectivement à chaque objet graphique et flux d'images vidéo d'entrée l'un des plans d'image, et une position d'affichage dans le plan d'image, déterminer la valeur de chaque pixel de chaque plan d'image, en fonction de la position et de la taille de chaque objet graphique ou flux d'image vidéo attribué au plan image, déterminer pour chaque pixel de chaque plan d'image un coefficient de transparence résultant en fonction d'un coefficient de transparence propre et des coefficients de transparence respectifs de pixels correspondants, ayant la même position dans d'éventuels plans d'image supérieurs, de sorte que chaque pixel du plan d'image est vu au travers des pixels correspondants des éventuels plans d'image supérieurs en tenant compte des coefficients de transparence respectifs de ces derniers, et déterminer la valeur de chaque pixel du flux d'images vidéo résultant, par une combinaison linéaire des valeurs de pixels des plans d'image correspondants ayant la même position, et des coefficients de transparence résultants respectifs calculés pour chacun des pixels de plan d'image correspondants.  The present invention aims to eliminate these disadvantages. This objective is achieved by means of a method for combining in real time, in a single resulting video image stream, at least one input video image stream and at least one graphic object, said method comprising steps of defining a plurality of image planes to be superimposed in a resulting video image stream, and having dimensions equal to that of the images of the resulting video image stream, respectively assigning each graphic object and video image stream to inputting one of the image planes, and a display position in the image plane, determining the value of each pixel of each image plane, according to the position and size of each graphic object or a video image stream assigned to the image plane, determining for each pixel of each image plane a resultant transparency coefficient as a function of a specific transparency coefficient and respective transparency coefficients of corresponding pixels. , having the same position in possible upper image planes, so that each pixel of the image plane is seen through the corresponding pixels of the possible upper image planes taking into account the respective transparency coefficients of the latter and determining the value of each pixel of the resulting video image stream by a linear combination of the pixel values of the corresponding image planes having the same position, and respective resultant transparency coefficients calculated for each of the planar pixels. corresponding image.

Avantageusement, le procédé comprend en outre des étapes consistant à attribuer un coefficient global de transparence à chaque objet graphique et/ou à chaque flux d'images vidéo, et déterminer un nouveau coefficient de transparence propre pour chaque pixel en multipliant le coefficient de transparence propre du pixel par le coefficient de transparence global attribué à l'objet.  Advantageously, the method further comprises steps of assigning a global coefficient of transparency to each graphic object and / or each video image stream, and determining a new coefficient of transparency for each pixel by multiplying the coefficient of transparency of its own. of the pixel by the overall transparency coefficient assigned to the object.

Selon le procédé de l'invention, chaque valeur de pixel comprend une composante couleur pour chaque couleur primaire, rouge, vert, bleu, la détermination de chaque pixel consistant à appliquer la combinaison linéaire à chaque composante couleur.  According to the method of the invention, each pixel value comprises a color component for each primary color, red, green, blue, the determination of each pixel of applying the linear combination to each color component.

Selon une caractéristique particulière du procédé, celui-ci comprend en outre 20 une étape de réduction de la taille des images d'un flux d'images vidéo entrant et l'insertion du flux d'images vidéo à taille d'image réduite dans un plan d'image.  According to a particular feature of the method, it further comprises a step of reducing the size of the images of an incoming video image stream and inserting the reduced image size video image stream into a picture plan.

Selon une autre caractéristique dudit procédé, un objet graphique inséré dans un plan d'image est un objet graphique animé comprenant plusieurs images qui sont insérées successivement dans le plan d'image et à la position attribués à l'objet graphique, à chaque image du flux d'images vidéo résultant.  According to another characteristic of said method, a graphic object inserted in an image plane is an animated graphic object comprising several images which are successively inserted in the image plane and at the position assigned to the graphic object, to each image of the image plane. resulting video image stream.

L'invention propose également un dispositif pour combiner en temps réel en un unique flux d'images vidéo résultant, au moins un flux d'images vidéo d'entrée et au moins un objet graphique, comprenant une unité de traitement comportant un processeur et un accélérateur graphique/vidéo, ce dernier comprenant: É des circuits logiques câblés pour insérer dans des plans d'images distincts des objets graphiques et/ou des flux d'images vidéo numérisés, chaque plan d'image comportant un pixel d'image par pixel d'image du flux vidéo résultant, associé à un coefficient de transparence, É des circuits logiques câblés pour déterminer pour chaque pixel de chaque plan 35 d'image un coefficient de transparence résultant, en fonction d'un coefficient de transparence propre et des coefficients de transparence respectifs de pixels correspondants, ayant la même position dans d'éventuels plans d'image supérieurs, de sorte que chaque pixel du plan d'image est vu au travers des pixels correspondants des éventuels plans d'image supérieurs en tenant compte des coefficients de transparence respectifs de ces derniers, et des circuits logiques câblés pour déterminer la valeur de chaque pixel du flux d'images vidéo résultant, par une combinaison linéaire des valeurs de pixels des plans d'image correspondants ayant la même position, et des coefficients de transparence résultants respectifs calculés pour chacun des pixels de plan d'image correspondants.  The invention also proposes a device for combining in real time into a single stream of resulting video images, at least one input video image stream and at least one graphic object, comprising a processing unit comprising a processor and a processor. a graphics / video accelerator, the latter comprising: É wired logic circuits for inserting graphic objects and / or digitized video image streams in separate image planes, each image plane comprising one pixel per pixel image of the resulting video stream, associated with a coefficient of transparency, É of the wired logic circuits for determining for each pixel of each image plane a resultant transparency coefficient, as a function of a coefficient of transparency and coefficients respective pixels, having the same position in any upper image planes, so that each pixel of the image plane is seen through the corresponding pixels of any higher image planes taking into account the respective transparency coefficients of the latter, and wired logic circuits for determining the value of each pixel of the resulting video image stream, by a linear combination of the pixel values of the corresponding image planes having the same position, and respective resultant transparency coefficients calculated for each of the corresponding image plane pixels.

Le dispositif est également conçu de manière à ce que l'accélérateur comprenne des circuits logiques câblés pour appliquer un coefficient de transparence global à un objet graphique inséré dans un plan d'image.  The device is also designed such that the accelerator includes wired logic circuits for applying an overall transparency coefficient to a graphic object inserted in an image plane.

Selon une caractéristique remarquable du dispositif selon l'invention, le processeur et l'accélérateur communiquent entre eux à l'aide d'une structure d'échange comportant un bloc de données pour chacun des objets graphiques et/ou flux d'image vidéo d'entrée susceptible d'être inséré dans un plan d'image, chaque bloc de données définissant le plan d'image où l'objet graphique doit être inséré, la position et les dimensions de l'objet graphique dans le plan d'image, un coefficient de transparence global à appliquer à l'objet graphique et des indicateurs signalant si l'objet graphique doit être effacé ou mis à jour dans le plan d'image.  According to a remarkable characteristic of the device according to the invention, the processor and the accelerator communicate with each other by means of an exchange structure comprising a data block for each of the graphic objects and / or video image stream. an input capable of being inserted into an image plane, each data block defining the image plane where the graphic object is to be inserted, the position and the dimensions of the graphic object in the image plane, an overall transparency coefficient to be applied to the graphic object and indicators indicating whether the graphic object should be erased or updated in the image plane.

Selon une autre caractéristique du dispositif selon l'invention, l'accélérateur comprend des circuits logiques câblés pour convertir un flux d'images vidéo numérisé YUV en un flux vidéo numérisé RGB.  According to another characteristic of the device according to the invention, the accelerator comprises wired logic circuits for converting a stream of scanned video images YUV into a digitized video stream RGB.

Avantageusement, l'unité de traitement du dispositif selon l'invention est réalisée à l'aide d'un réseau de portes programmable (Field- Programmable Gate Array ou FPGA).  Advantageously, the processing unit of the device according to the invention is implemented using a programmable gate array (Field Programmable Gate Array or FPGA).

Selon une autre caractéristique remarquable du dispositif selon l'invention, celui-ci comprend encore au moins un convertisseur analogique/ numérique pour convertir un flux vidéo analogique en un flux vidéo numérique qui est appliqué en entrée de l'unité de traitement et un convertisseur numérique/analogique pour convertir le flux d'image vidéo résultant en un flux vidéo analogique susceptible d'être affiché à l'aide d'un écran d'affichage.  According to another remarkable feature of the device according to the invention, it further comprises at least one analog / digital converter for converting an analog video stream into a digital video stream which is input to the processing unit and a digital converter. / analog to convert the resulting video image stream into an analog video stream that can be displayed using a display screen.

Un mode de réalisation préféré de l'invention sera décrit ci-après, à titre 35 d'exemple non limitatif, avec référence aux dessins annexés dans lesquels: É La figure 1 représente schématiquement un dispositif de traitement d'image selon l'invention; É La figure 2 montre plus en détail l'unité de traitement du dispositif de traitement d'image représenté sur la figure 1; É La figure 3 montre plus en détail les principales fonctions réalisées par l'accélérateur vidéo du dispositif de traitement d'image représenté sur la figure 2; É La figure 4 montre la structure d'échange entre le processeur et l'accélérateur vidéo; É La figure 5 montre l'organisation de la mémoire vive utilisée par l'unité de traitement.  A preferred embodiment of the invention will be described hereinafter, by way of non-limiting example, with reference to the accompanying drawings in which: Figure 1 shows schematically an image processing device according to the invention; Figure 2 shows in more detail the processing unit of the image processing device shown in Figure 1; Figure 3 shows in greater detail the main functions performed by the video accelerator of the image processing device shown in Figure 2; Figure 4 shows the exchange structure between the processor and the video accelerator; Figure 5 shows the organization of the RAM used by the processing unit.

La figure 1 représente un dispositif pour combiner dans une même image plusieurs sources vidéo et des objets graphiques. Ce dispositif comprend une unité de traitement 1 reliée à des mémoires, telles qu'une mémoire non volatile 3 par exemple de type mémoire Flash et une mémoire vive 4, par exemple de type SDRAM. L'unité de traitement est par ailleurs reliée à une ou plusieurs sources vidéo numériques. Pour pouvoir traiter des sources vidéo analogiques, le dispositif comprend également un ou plusieurs convertisseurs analogiques / numériques 5. Le signal vidéo qui est généré par l'unité de traitement est appliquée à l'entrée d'un convertisseur numérique / analogique 6 pour pouvoir ensuite être appliqué à l'entrée d'un écran d'affichage 7.  FIG. 1 represents a device for combining in the same image several video sources and graphic objects. This device comprises a processing unit 1 connected to memories, such as a non-volatile memory 3 for example of the Flash memory type and a random access memory 4, for example of the SDRAM type. The processing unit is also connected to one or more digital video sources. In order to be able to process analog video sources, the device also comprises one or more analog / digital converters 5. The video signal that is generated by the processing unit is applied to the input of a digital-to-analog converter 6 to then be able to be applied to the input of a display screen 7.

L'unité de traitement 1 est avantageusement constituée d'un processeur 11 couplé à un accélérateur graphique/vidéo 12, constitué de circuits logiques câblés capables d'effectuer plusieurs traitements en parallèle.  The processing unit 1 advantageously consists of a processor 11 coupled to a graphics / video accelerator 12, consisting of hardwired logic circuits capable of carrying out several processes in parallel.

La mémoire non volatile 3 stocke le programme exécuté par le processeur 12, et différents objets graphiques susceptibles d'être affichés.  The non-volatile memory 3 stores the program executed by the processor 12, and various graphic objects that can be displayed.

La mémoire vive 4 est utilisée par l'unité de traitement 1 comme mémoire de travail pour exécuter un programme, et stocker les objets graphiques à afficher, ainsi que différents plans d'image à afficher.  The RAM 4 is used by the processing unit 1 as a working memory for executing a program, and storing the graphic objects to be displayed, as well as various image planes to be displayed.

Les signaux vidéo appliqués en entrée de l'unité de traitement 1 sont de préférence des signaux au format YUV (par exemple YUV422) ou RGB, dans lequel chaque pixel d'image est représenté par un mot contenant les trois composantes couleur primaires, rouge, vert et bleu du pixel, et un coefficient de transparence, ces quatre informations étant codées par exemple sur 8 bits respectivement. Le format YUV rassemble pour chaque pixel une information de luminance (Y), et des informations de chrominance et de saturation (U, V), et peut être converti au format RGB à l'aide de formules de conversion connues.  The video signals applied at the input of the processing unit 1 are preferably signals in the YUV (for example YUV422) or RGB format, in which each image pixel is represented by a word containing the three primary color components, red, green and blue of the pixel, and a coefficient of transparency, these four pieces of information being coded for example on 8 bits respectively. The YUV format collects for each pixel luminance information (Y), and chrominance and saturation information (U, V), and can be converted to RGB format using known conversion formulas.

La figure 2 montre les fonctions principales assurées par l'accélérateur graphique/vidéo 12. Sur cette figure, l'accélérateur graphique/vidéo 12 comprend: É un module de gestion 13 d'objets graphiques conçu pour communiquer avec le processeur 11 via une structure d'échange 22, et pour coordonner les traitements effectués par les autres fonctions de l'accélérateur.  FIG. 2 shows the main functions provided by the graphics / video accelerator 12. In this figure, the graphics / video accelerator 12 comprises: a graphic object management module 13 designed to communicate with the processor 11 via a structure exchange 22, and to coordinate the processing performed by the other functions of the accelerator.

É un module horloge 14 qui assure la synchronisation de l'ensemble des fonctions de l'accélérateur, É une unité DMA (Direct Memory Access) 18 qui permet l'accès direct à la mémoire sans intervention du processeur pour effectuer des transferts de blocs de données d'une adresse mémoire à une autre, É un ensemble de registres ligne 19 dans lesquels sont stockées des lignes de pixels d'image à afficher, et É un module de fusion 20 conçu pour combiner les pixels mémorisés dans les différents registres 19 pour obtenir les pixels d'une ligne d'image à afficher.  É a clock module 14 which synchronizes all the functions of the accelerator, É a unit DMA (Direct Memory Access) 18 which allows direct access to the memory without intervention of the processor to perform block transfers of data from one memory address to another, É a set of line registers 19 in which are stored rows of image pixels to be displayed, and É a fusion module 20 designed to combine the pixels stored in the different registers 19 to get the pixels of an image line to display.

Tous les traitements effectués par l'accélérateur 12 utilisent la même mémoire et sont effectués en parallèle. Le module de gestion 13 a donc en particulier pour rôle de répondre à des requêtes d'accès à la mémoire, émises par les différents traitements, tout en gérant des priorités d'accès.  All the treatments performed by the accelerator 12 use the same memory and are performed in parallel. The management module 13 therefore has the role of responding to requests for access to memory, issued by the various processes, while managing access priorities.

L'unité DMA 18 est activée par le module de gestion 13 pour transférer des flux vidéo ou des objets mémorisés dans la mémoire non volatile 3 vers la mémoire vive 4, et pour remplir les registres 19 à partir de cette dernière.  The DMA unit 18 is activated by the management module 13 to transfer video streams or objects stored in the non-volatile memory 3 to the RAM 4, and to fill the registers 19 from the latter.

Le module horloge 14 a pour rôle de fournir aux autres fonctions de l'accélérateur et à l'écran d'affichage 7 tous les signaux de synchronisation nécessaires, ces signaux étant extraits des signaux vidéo appliqués en entrée de l'unité de traitement. II séquence les autres traitements de l'accélérateur 12 pour que les registres 19 soient rafraîchis à la cadence des signaux de synchronisation appliqués à l'écran 7. Le module horloge comprend un générateur de signaux RGB 15 et un générateur de signaux YUV 16, conçus pour cadencer le convertisseur analogique/numérique 5 selon le format du signal vidéo appliqué en entrée, et délivrer des signaux de synchronisation ligne pour indiquer le début et la fin de chaque ligne d'image.  The purpose of the clock module 14 is to provide the other functions of the accelerator and the display screen 7 with all the necessary synchronization signals, these signals being extracted from the video signals applied at the input of the processing unit. It sequences the other treatments of the accelerator 12 so that the registers 19 are refreshed at the rate of the synchronization signals applied to the screen 7. The clock module comprises an RGB signal generator 15 and a YUV signal generator 16, designed to clock the analog-to-digital converter 5 according to the format of the input video signal, and output line synchronization signals to indicate the beginning and the end of each image line.

En outre, le générateur YUV 16 effectue la conversion du flux vidéo YUV appliqué en entrée en un flux vidéo RGB.  In addition, the YUV generator 16 converts the inputted YUV video stream into an RGB video stream.

Le module horloge 14 peut comprendre en outre un générateur de mire 17 conçu pour envoyer une mire sur l'écran d'affichage 7 lorsque le processeur 11 est arrêté ou lorsque la mémoire 4 ne contient aucune image à afficher.  The clock module 14 may furthermore comprise a pattern generator 17 designed to send a pattern to the display screen 7 when the processor 11 is stopped or when the memory 4 does not contain any image to be displayed.

L'ensemble de registres ligne 19 comprend plusieurs registres ligne destinés chacun à recevoir une ligne d'image à afficher, chaque registre ligne correspondant à un plan d'image. Tel que représenté sur la figure 3, on peut ainsi prévoir un registre ligne 31 d'arrière-plan d'image, un registre ligne 33 d'avant-plan d'image et un registre ligne 32 de plan d'image intermédiaire. D'autres registres ligne 34, 35 peuvent être prévus pour recevoir directement une ligne d'image de signal vidéo appliqué en entrée de l'unité de traitement, par exemple un registre ligne 34 d'image vidéo provenant de l'entrée de signal RGB de l'unité de traitement et un registre ligne 35 d'image vidéo provenant du convertisseur RGB 21 prévu dans le générateur YUV 16.  The set of line registers 19 comprises several line registers each intended to receive an image line to be displayed, each line register corresponding to an image plane. As shown in FIG. 3, it is thus possible to provide an image background line register 31, an image foreground line register 33 and an intermediate image plane line register 32. Other line registers 34, 35 may be provided to directly receive a video signal image line input to the processing unit, for example a video image line register 34 from the RGB signal input. of the processing unit and a video image line register from the RGB converter 21 provided in the YUV generator 16.

On peut prévoir également des registres 36, 37 destinés à recevoir une ligne d'image provenant respectivement des sources vidéo RGB et YUV, et ayant subi un traitement de réduction préalable pour que l'image vidéo ne soit affichée que dans une partie de l'écran d'affichage, par exemple sur un quart de l'écran (incrustation d'une image vidéo animée dans une autre) . Dans une variante, ces images de taille réduite peuvent être inscrites directement dans une zone de plan d'image prévue dans la mémoire vive 4.  It is also possible to provide registers 36, 37 for receiving an image line respectively from the RGB and YUV video sources, and having undergone prior reduction processing so that the video image is displayed only in part of the image. display screen, for example on a quarter of the screen (incrustation of a video image animated in another). In a variant, these images of reduced size can be registered directly in an image plane area provided in the random access memory 4.

Le module de fusion 20 est conçu pour fusionner les lignes d'image stockées dans plusieurs des registres de l'ensemble 19 en vue d'obtenir une seule ligne d'image qui est appliquée en sortie de l'unité de traitement 1 vers le convertisseur numérique / analogique 6.  The merge module 20 is designed to merge the image lines stored in several of the registers of the set 19 in order to obtain a single image line which is applied at the output of the processing unit 1 to the converter digital / analog 6.

Tel que représenté sur la figure 3, le module de fusion comprend autant de multiplexeurs 42, 43, 44 que de plans d'images, ces multiplexeurs étant commandés par le module 13 et permettant de sélectionner une ligne d'image par plan d'image à fusionner parmi les différents registres de l'ensemble 19, et appliquer les lignes d'images sélectionnées pour la fusion en entrée du traitement de fusion 41 proprement dit. Ainsi, dans l'exemple de la figure 3, le multiplexeur 42 permet de sélectionner la ligne à afficher en arrière-plan parmi les registres ligne 31 d'arrière- plan, les registres lignes d'image vidéo 34, 35, et les registres lignes 36, 37 d'image vidéo réduites. Le multiplexeur 43 permet de sélectionner la ligne à afficher en plan intermédiaire parmi les registres ligne 32 de plan intermédiaire, et les registres lignes 36, 37 d'image vidéo réduites. Le multiplexeur 44 permet de sélectionner la ligne à afficher en avant-plan parmi les registres ligne 33 de d'avant-plan, et les registres lignes 36, 37 d'image vidéo réduites.  As represented in FIG. 3, the fusion module comprises as many multiplexers 42, 43, 44 as there are image planes, these multiplexers being controlled by the module 13 and making it possible to select an image line per image plane. to merge among the different registers of the set 19, and to apply the selected image lines for the merger at the input of the merge processing 41 itself. Thus, in the example of FIG. 3, the multiplexer 42 makes it possible to select the line to be displayed in the background among the background line registers 31, the video image line registers 34, 35, and the registers lines 36, 37 of reduced video image. The multiplexer 43 makes it possible to select the line to be displayed in the intermediate plane among the intermediate plane line registers 32, and the reduced video image line registers 36, 37. The multiplexer 44 makes it possible to select the line to be displayed in the foreground among the line registers 33 of the foreground, and the video line registers 36, 37 reduced.

Les images vidéo réduites peuvent ainsi être affichées dans n'importe lequel des trois plans d'image, tandis que les images vidéo non réduites ne peuvent être affichées qu'en arrière-plan d'image.  The reduced video images can thus be displayed in any of the three image planes, while the unreduced video images can only be displayed in the background of the image.

Pour fusionner plusieurs lignes d'image en une seule, le traitement de fusion 41 exploite le coefficient de transparence associé à chaque pixel d'image, ce qui permet d'obtenir des effets de transparence très évolués. Pour pouvoir effectuer les traitements de fusion en temps réel, le module de fusion présente une architecture dite "en pipeline" capable d'effectuer plusieurs opérations simultanément.  To merge several image lines into one, the merge processing 41 exploits the transparency coefficient associated with each image pixel, which makes it possible to obtain highly evolved transparency effects. In order to be able to carry out real-time fusion processing, the fusion module has a "pipeline" architecture capable of performing several operations simultaneously.

Les traitements effectués par le module de fusion 20 sont conçus d'une part, pour qu'un pixel de l'image d'arrière plan soit vu avec son propre coefficient de transparence et au travers des pixels correspondants du plan d'image intermédiaire et de l'avant-plan, en tenant compte des coefficients de transparence respectifs de ces derniers, et d'autre part pour qu'un pixel du plan intermédiaire soit vu avec son propre coefficient de transparence au travers du pixel correspondant de l'avant- plan en tenant compte du coefficient de transparence de celui-ci. A cet effet, on applique les formules suivantes (pour trois plans d'image) : X2 = a2x2 (1) X, = (1 a2)a,x, (2) X0 =(1 a2)(1 al)aoxo (3) dans lesquelles: les indices 0, 1 et 2 font référence respectivement à l'arrière-plan, au plan intermédiaire et à l'avant-plan d'image, x; (i = 0, 1 ou 2) représente la valeur d'une composante R, G ou B d'un pixel du plan d'image i à afficher, , a; (i = 0, 1 ou 2) représente le coefficient de transparence propre du pixel x;, et X; (i = 0, 1 ou 2) correspond à la valeur du pixel d'image calculé pour le plan d'image i.  The processing carried out by the fusing module 20 is designed on the one hand, so that a pixel of the background image is seen with its own coefficient of transparency and through the corresponding pixels of the intermediate image plane and foreground, taking into account the respective coefficients of transparency of the latter, and secondly for a pixel of the intermediate plane to be seen with its own coefficient of transparency through the corresponding pixel of the foreground. plan taking into account the coefficient of transparency of the plan. For this purpose, the following formulas (for three image planes) are applied: X2 = a2x2 (1) X, = (1 a2) a, x, (2) X0 = (1 a2) (1 a1) aoxo ( 3) in which: the indices 0, 1 and 2 refer respectively to the background, the intermediate plane and the foreground of the image, x; (i = 0, 1 or 2) represents the value of a component R, G or B of a pixel of the image plane i to be displayed,, a; (i = 0, 1 or 2) represents the eigenvector coefficient of the pixel x ;, and X; (i = 0, 1 or 2) corresponds to the value of the image pixel calculated for the image plane i.

Dans ces formules, chaque coefficient de transparence est compris entre 0 et 1, et vaut 0 pour une transparence totale et 1 pour une opacité totale. La valeur X d'un pixel à afficher de l'image résultante étant obtenue en faisant la somme des valeurs X; obtenues pour chacun des plans: X=Xo+X,+ X2 (4) Le fait de prévoir d'appliquer un coefficient de transparence aux objets affichés en arrière-plan permet de faire apparaître une couleur de fond d'écran, ce qui permet de réaliser des effets de transitions.  In these formulas, each transparency coefficient is between 0 and 1, and is 0 for full transparency and 1 for full opacity. The X value of a pixel to be displayed of the resulting image being obtained by summing the X values; obtained for each of the planes: X = Xo + X, + X2 (4) Providing to apply a transparency coefficient to the objects displayed in the background makes it possible to display a background color, which allows to achieve transitions effects.

II est à noter que le nombre de plans superposés susceptibles d'être gérés par l'unité de traitement est figé du fait qu'il est défini par l'architecture de l'accélérateur 12 et en particulier par le choix du nombre de registres ligne et l'architecture du module de fusion 20. Pour disposer de moins ou plus de plans d'image superposés, il suffit donc d'adapter le nombre de registres ligne 19 et le module de fusion en conséquence.  It should be noted that the number of superimposed planes that can be managed by the processing unit is fixed because it is defined by the architecture of the accelerator 12 and in particular by the choice of the number of line registers. and the architecture of the fusion module 20. To have fewer or more superimposed image planes, it is therefore sufficient to adapt the number of line registers 19 and the fusion module accordingly.

Le processeur 11 et l'accélérateur 12 communiquent l'un avec l'autre par l'intermédiaire d'une structure d'échange 22 comportant plusieurs blocs de données 50, à raison d'un bloc par objet graphique ou vidéo susceptible d'être affiché simultanément par l'accélérateur 12. Cette structure d'échange est représentée sur la figure 4. Dans cette figure, chaque bloc 50 comprend: É un champ adresse mémoire 51 définissant le premier emplacement dans la mémoire, où se trouvent les données pixels de l'objet, par exemple sur 32 bits, É un champ taille 52 de l'objet, destiné à recevoir deux nombres, par exemple sur 16 bits, définissant le nombre de pixels en largeur et en hauteur de l'objet, É un champ position 53 de l'objet dans l'image, destiné à recevoir deux nombres, par exemple sur 16 bits, définissant les coordonnées d'un pixel de l'écran d'affichage à partir duquel l'objet doit être affiché, par exemple à partir de son coin supérieur gauche, et É un ensemble 54 de paramètres d'affichage de l'objet, à savoir un coefficient de transparence global à appliquer à l'objet, un indicateur de rafraîchissement signalant si l'objet doit ou non être mis à jour dans les images envoyées à l'écran d'affichage, un indicateur d'effacement signalant si l'objet doit ou non être effacé des images envoyées à l'écran d'affichage, et un numéro de plan d'image où l'objet doit être affiché.  The processor 11 and the accelerator 12 communicate with each other via an exchange structure 22 comprising several data blocks 50, one block per graphic or video object likely to be simultaneously displayed by the accelerator 12. This exchange structure is shown in FIG. 4. In this figure, each block 50 comprises: E a memory address field 51 defining the first location in the memory, where the data pixels of the memory are located. the object, for example on 32 bits, É a field size 52 of the object, intended to receive two numbers, for example on 16 bits, defining the number of pixels in width and height of the object, É a field position 53 of the object in the image, intended to receive two numbers, for example on 16 bits, defining the coordinates of a pixel of the display screen from which the object is to be displayed, for example to from its upper left corner, and É an ensem display parameters 54 of the object, ie a global transparency coefficient to be applied to the object, a refresh indicator indicating whether or not the object must be updated in the images sent to the screen display, an erase flag indicating whether or not the object should be erased from the images sent to the display screen, and an image plane number where the object is to be displayed.

On peut prévoir que l'ensemble de paramètres 54 comprend en outre un champ destiné à recevoir un nombre d'images à afficher pour l'objet, afin de produire un effet d'animation de l'objet. Si ce nombre indique que plusieurs images doivent être affichées, l'accélérateur 12 modifie l'image de l'objet à chaque trame d'image à afficher, et tourne en boucle sur le nombre d'images de l'objet. Dans ce cas, toutes les images de l'objet sont situées les unes à la suite des autres dans la mémoire vive 4, à partir de l'adresse définie par le champ adresse 51, chaque image de l'objet ayant la taille définie par le champ taille 52.  It can be provided that the set of parameters 54 further comprises a field intended to receive a number of images to be displayed for the object, in order to produce an animation effect of the object. If this number indicates that multiple images are to be displayed, the accelerator 12 changes the image of the object to each frame of image to be displayed, and loops around the number of images of the object. In this case, all the images of the object are located one after the other in the random access memory 4, starting from the address defined by the address field 51, each image of the object having the size defined by the field size 52.

Dans la structure d'échange 22, on peut ainsi prévoir par exemple 16 blocs de données, dont 14 servent à afficher des objets graphiques et 2 des objets vidéo. Dans les blocs 50 de données d'échange relatifs aux objets vidéo, le champ adresse 51 n'est pas utilisé et est remplacé par un champ définissant la source vidéo à utiliser si le dispositif est conçu pour traiter plusieurs sources vidéo, et un champ indiquant si l'image vidéo doit être affichée en plein écran ou doit être réduite en taille pour être incrustée dans une autre image.  In the exchange structure 22, it is thus possible to provide for example 16 blocks of data, 14 of which are used to display graphic objects and 2 video objects. In the blocks 50 of exchange data relating to the video objects, the address field 51 is not used and is replaced by a field defining the video source to use if the device is designed to handle several video sources, and a field indicating whether the video image should be displayed in full screen or should be reduced in size to be embedded in another image.

L'unité de traitement 1 est avantageusement réalisée à l'aide d'un FPGA 5 (Field-Programmable Gate Array), par exemple le composant CYCLONETM de la société ALTERA.  The processing unit 1 is advantageously carried out using an FPGA 5 (Field Programmable Gate Array), for example the CYCLONETM component of the ALTERA company.

Sur la figure 5, la mémoire vive 4 peut par exemple être utilisée de manière à comprendre: É un bloc 61 de données pixels d'objets graphiques à afficher, É des blocs 62 de données pixels d'images vidéo réduites à incruster dans l'image affichée à l'écran, comportant par exemple un bloc pour la source RGB et un bloc pour la source YUV, É un bloc 63, 64, 65 de données pixels pour chacun des plans d'image à afficher et destinés à recevoir la valeur de tous les pixels du plan d'image à afficher, et É une zone mémoire 66 destinée à recevoir le programme à exécuter par le processeur 11 et utilisable pour mémoriser des données de traitements intermédiaires.  In FIG. 5, the random access memory 4 may for example be used in such a way as to include: E a block 61 of pixel data of graphical objects to be displayed, E blocks 62 of pixel data of reduced video images to be embedded in the an image displayed on the screen, comprising for example a block for the RGB source and a block for the source YUV, É a block 63, 64, 65 of pixel data for each of the image planes to be displayed and intended to receive the value of all the pixels of the image plane to be displayed, and É a memory zone 66 intended to receive the program to be executed by the processor 11 and usable for storing data of intermediate processing.

Le processeur 11 est programmé de manière à offrir un ensemble de fonctions prédéfinies accessibles par l'intermédiaire de ce que l'on appelle une API 20 (Application Program Interface).  The processor 11 is programmed to provide a set of predefined functions accessible through what is called an API 20 (Application Program Interface).

L'API rassemble ainsi des fonctions d'administration permettant d'initialiser et de configurer l'unité de traitement 1, de réserver de l'espace mémoire et d'obtenir des informations sur la configuration matérielle de l'accélérateur, ainsi que des fonctions de gestion de l'affichage d'objets graphiques ou vidéo.  The API thus combines administration functions for initializing and configuring the processing unit 1, reserving memory space and obtaining information on the hardware configuration of the accelerator, as well as functions managing the display of graphic or video objects.

Parmi les fonctions d'administration, on trouve une fonction de configuration de la couleur de fond d'écran recevant en paramètre les valeurs respectives de chaque composante RGB de la couleur de fond souhaitée.  Among the administration functions, there is a configuration function of the background color receiving as parameter the respective values of each RGB component of the desired background color.

Les fonctions de gestion d'objets comprennent des fonctions de création et de suppression d'un objet graphique, la fonction de création recevant en paramètre la taille de l'objet graphique à créer, et étant conçue pour réserver et attribuer à l'objet à afficher un espace mémoire dans la zone 61 des objets graphiques à afficher, ainsi qu'un bloc dans la structure d'échange 22, et pour retourner un identifiant de l'objet, la taille de l'objet à créer étant inscrite dans le champ 51 du bloc 50 attribué à l'objet dans la structure d'échange.  The object management functions include functions for creating and deleting a graphic object, the creation function receiving as parameter the size of the graphic object to be created, and being designed to reserve and assign the object to displaying a memory space in the area 61 of the graphic objects to be displayed, as well as a block in the exchange structure 22, and for returning an identifier of the object, the size of the object to be created being written in the field 51 of the block 50 assigned to the object in the exchange structure.

Une fonction de chargement d'un objet dans la zone mémoire 61 permet de copier les données de pixels d'un objet vers la zone mémoire attribuée à l'objet, cette fonction recevant en paramètre un identifiant de l'objet et une adresse où se trouve l'objet à copier vers la mémoire 4. Si l'image de l'objet à copier est plus grande que l'espace mémoire attribué à l'objet, seul le coin supérieur gauche de l'image est copié.  A function of loading an object in the memory zone 61 makes it possible to copy the pixel data of an object to the memory zone assigned to the object, this function receiving in parameter an identifier of the object and an address where finds the object to be copied to memory 4. If the image of the object to be copied is larger than the memory space allocated to the object, only the upper-left corner of the image is copied.

Les fonctions de gestion d'objets comprennent également des fonctions recevant en paramètre un identifiant d'objet et permettant de mettre à jour les données mémorisées dans le bloc 50 attribué à l'objet dans la structure d'échange 22, à savoir: É l'indicateur de rafraîchissement ou d'effacement dans le champ 54 pour déclencher 10 l'affichage ou l'effacement de l'objet, É les coordonnées dans l'image du coin supérieur gauche de l'objet à afficher, mémorisées dans le champ 53, É le coefficient de transparence global de l'objet, mémorisé dans le champ 54, É le numéro de plan d'affichage de l'objet, mémorisé dans le champ 54, et 15 É le nombre d'images d'un objet graphique animé, mémorisé dans le champ 54.  The object management functions also include functions receiving as parameter an object identifier and making it possible to update the data stored in the block 50 assigned to the object in the exchange structure 22, namely: the refresh or erase flag in the field 54 to trigger the display or the erasure of the object, the coordinates in the image of the upper left corner of the object to be displayed, stored in the field 53 , É the overall transparency coefficient of the object, stored in the field 54, É the display plane number of the object, stored in the field 54, and 15 É the number of images of a graphic object animated, stored in field 54.

Les fonctions de gestion d'objets comprennent en outre des fonctions de gestion d'objets vidéo, dont une fonction permettant de créer un objet vidéo en précisant ses dimensions, et une fonction permettant d'attribuer une source vidéo à un objet vidéo préalablement créé.  The object management functions further include functions for managing video objects, including a function for creating a video object by specifying its dimensions, and a function for assigning a video source to a previously created video object.

Périodiquement, à la fréquence d'affichage des images définie par le module horloge 14, le module de gestion 13 de l'accélérateur scrute la structure d'échange 22, pour déterminer si des objets sont à afficher ou à effacer, grâce aux indicateurs de rafraîchissement et d'effacement prévus dans le champ 54 de chaque bloc 50.  Periodically, at the display frequency of the images defined by the clock module 14, the management module 13 of the accelerator scans the exchange structure 22, to determine whether objects are to be displayed or erased, thanks to the indicators of refresh and erase provided in the field 54 of each block 50.

Si l'indicateur de rafraîchissement d'un bloc 50 signale que l'objet correspondant doit être rafraîchi, le module de gestion 13 déclenche la copie de l'objet graphique correspondant, en tenant compte des informations fournies dans le bloc de données, et en particulier: É l'adresse des données pixels de l'objet, fournie par le champ 51, pour déterminer où se trouvent les données de pixels de l'objet à copier, É le numéro de plan fourni par le champ 54, pour déterminer vers quel plan image 63, 64, 65 l'objet doit être copié, É le coefficient de transparence a fourni par le champ 54, pour déterminer quel coefficient de transparence global appliquer à l'objet, É la position et les dimensions de l'objet fournies par les champs 52, 53, pour déterminer l'emplacement dans le plan d'image où les données de pixels de l'objet doivent être copiées, et É le nombre d'images dans la séquence fourni par le champ 54 si l'objet est animé.  If the refresh flag of a block 50 signals that the corresponding object needs to be refreshed, the management module 13 triggers the copying of the corresponding graphic object, taking into account the information provided in the data block, and particular: E the address of the pixel data of the object, provided by the field 51, to determine where are the pixel data of the object to be copied, É the plane number provided by the field 54, to determine to which image plane 63, 64, 65 the object must be copied, É the coefficient of transparency provided by the field 54, to determine which global transparency coefficient to apply to the object, the position and the dimensions of the object provided by the fields 52, 53, to determine the location in the image plane where the pixel data of the object is to be copied, and E the number of frames in the sequence provided by the field 54 if the object is animated.

Pour appliquer un coefficient de transparence global, l'accélérateur calcule pour chaque pixel de l'objet un nouveau coefficient de transparence en multipliant le coefficient de transparence du pixel par le coefficient de transparence global. A cet effet, l'accélérateur utilise un registre interne pour stocker temporairement la valeur du pixel et son coefficient de transparence.  To apply an overall transparency coefficient, the accelerator calculates for each pixel of the object a new transparency coefficient by multiplying the transparency coefficient of the pixel by the overall transparency coefficient. For this purpose, the accelerator uses an internal register to temporarily store the value of the pixel and its transparency coefficient.

Si l'indicateur d'effacement signale qu'un objet doit être effacé, le module de gestion 13 commande l'effacement de la zone mémoire occupée par l'objet, définie par le champ 54 pour déterminer dans quel plan image 63, 64, 65 se trouve l'objet, et les champs 52 et 53 pour déterminer quels sont les pixels à effacer dans le plan image. L'effacement de l'objet consiste à mettre à 0 le coefficient de transparence de chaque pixel de l'objet dans le plan image, de manière à le rendre complètement transparent.  If the erase flag indicates that an object must be erased, the management module 13 controls the erasure of the memory area occupied by the object, defined by the field 54 to determine in which image plane 63, 64, 65 is the object, and the fields 52 and 53 to determine what are the pixels to be erased in the image plane. Erasing the object consists in setting to 0 the transparency coefficient of each pixel of the object in the image plane, so as to make it completely transparent.

En parallèle de ces traitements, le module de fusion 20 calcule à la fréquence de rafraîchissement de chaque ligne de l'image, la valeur de chaque pixel X de la ligne à afficher en fonction des valeurs respectives des pixels des lignes correspondantes dans chaque plan image 63, 64, 65.  In parallel with these processes, the fusion module 20 calculates, at the refresh rate of each line of the image, the value of each pixel X of the line to be displayed as a function of the respective values of the pixels of the corresponding lines in each image plane. 63, 64, 65.

Pour générer des images réduites incrustées, l'accélérateur traite le flux vidéo à incruster en insérant les pixels d'une ligne d'image à afficher avec leur coefficients de transparence respectifs, dans l'un des registres 36, 37, ces pixels provenant de la zone mémoire 62 prévue à cet effet dans la mémoire vive 4 qui est lue d'une manière asynchrone par le processus d'affichage.  In order to generate reduced incrusted images, the accelerator processes the video stream to be embedded by inserting the pixels of an image line to be displayed with their respective transparency coefficients, in one of the registers 36, 37, these pixels coming from the memory zone 62 provided for this purpose in the RAM 4 which is read asynchronously by the display process.

Il est à noter que la zone mémoire 62 peut être supprimée, les images à afficher pouvant être inscrites directement dans le plan mémoire 63, 64, 65 choisi.  It should be noted that the memory zone 62 can be deleted, the images to be displayed being able to be written directly into the memory plane 63, 64, 65 chosen.

Claims (12)

REVENDICATIONS,CLAIMS, 1. Procédé pour combiner en temps réel, en un unique flux d'images vidéo résultant, au moins un flux d'images vidéo d'entrée et au moins un objet graphique, les images vidéo et les objets graphiques étant constitués de pixels, caractérisé en ce que le procédé comprend des étapes consistant à : É définir plusieurs plans d'image destinés à être superposés dans un flux d'image vidéo résultant, et ayant des dimensions égales à celle des images du flux d'image vidéo résultant, É attribuer respectivement à chaque objet graphique et flux d'images vidéo d'entrée l'un des plans d'image, et une position d'affichage dans le plan d'image, É déterminer la valeur de chaque pixel de chaque plan d'image, en fonction de la position et de la taille de chaque objet graphique ou flux d'image vidéo attribué au plan image, É déterminer pour chaque pixel de chaque plan d'image un coefficient de transparence résultant en fonction d'un coefficient de transparence propre et des coefficients de transparence respectifs de pixels correspondants, ayant la même position dans d'éventuels plans d'image supérieurs, de sorte que chaque pixel du plan d'image est vu au travers des pixels correspondants des éventuels plans d'image supérieurs en tenant compte des coefficients de transparence respectifs de ces derniers, et É déterminer la valeur de chaque pixel du flux d'images vidéo résultant, par une combinaison linéaire des valeurs de pixels des plans d'image correspondants ayant la même position, et des coefficients de transparence résultants respectifs calculés pour chacun des pixels de plan d'image correspondants.  A method for combining in real time, in a single resulting video image stream, at least one input video image stream and at least one graphic object, the video images and graphic objects being pixels, characterized in that the method comprises the steps of: E defining a plurality of image planes to be superimposed in a resulting video image stream, and having dimensions equal to that of the images of the resulting video image stream, E assign respectively to each graphic object and input video image stream one of the image planes, and a display position in the image plane, E determining the value of each pixel of each image plane, according to the position and the size of each graphic object or video image flow attributed to the image plane, É determine for each pixel of each image plane a coefficient of transparency resulting as a function of a coefficient of transparency e t corresponding respective transparency coefficients of corresponding pixels, having the same position in any upper image planes, so that each pixel of the image plane is seen through the corresponding pixels of any upper image planes taking into account counting the respective transparency coefficients of the latter, and É determining the value of each pixel of the resulting video image stream, by a linear combination of the pixel values of the corresponding image planes having the same position, and transparency coefficients respective resultants calculated for each of the corresponding image plane pixels. 2. Procédé selon la revendication 1, caractérisé en ce qu'il comprend en outre des étapes consistant à attribuer un coefficient global de transparence à chaque objet graphique, et déterminer un nouveau coefficient de transparence propre pour chaque pixel d'objet graphique en multipliant le coefficient de transparence propre du pixel d'objet graphique avec le coefficient de transparence global attribué à l'objet.  2. Method according to claim 1, characterized in that it further comprises the steps of assigning a global transparency coefficient to each graphic object, and determining a new coefficient of eigenvice for each graphical object pixel by multiplying the own transparency coefficient of the graphic object pixel with the overall transparency coefficient assigned to the object. 3. Procédé selon la revendication 1 ou 2, caractérisé en ce qu'il comprend en outre des étapes consistant à : attribuer un coefficient global de transparence à un flux d'images vidéo, et déterminer pour chaque pixel du plan d'image attribué au flux d'images vidéo un coefficient de transparence résultant, en fonction du coefficient de transparence global attribué au flux vidéo et des coefficients de transparence respectifs de pixels correspondants ayant la même position dans d'éventuels plans d'image supérieurs, de sorte que chaque pixel du plan d'imagé est vu au travers des pixels correspondants des éventuels plans d'image supérieurs en tenant compte des coefficients de transparence respectifs de ces derniers.  3. Method according to claim 1 or 2, characterized in that it further comprises the steps of: assigning a global transparency coefficient to a stream of video images, and determining for each pixel of the image plane allocated to a resultant transparency coefficient, as a function of the overall transparency coefficient assigned to the video stream and the respective transparency coefficients of corresponding pixels having the same position in any higher image planes, so that each pixel of the image plane is seen through the corresponding pixels of the possible upper image planes taking into account the respective transparency coefficients of the latter. 4. Procédé selon l'une des revendications 1 à 3, caractérisé en ce que chaque valeur de pixel comprend une composante couleur pour chaque couleur primaire, rouge, vert, bleu, la détermination de chaque pixel consistant à appliquer la combinaison linéaire à chaque composante couleur.  4. Method according to one of claims 1 to 3, characterized in that each pixel value comprises a color component for each primary color, red, green, blue, the determination of each pixel of applying the linear combination to each component color. 5. Procédé selon l'une des revendications 1 à 4, caractérisé en ce qu'il comprend en outre une étape de réduction de la taille des images d'un flux d'images vidéo entrant et l'insertion du flux d'images vidéo à taille d'image réduite dans un plan d'image.  5. Method according to one of claims 1 to 4, characterized in that it further comprises a step of reducing the size of the images of an incoming video image stream and the insertion of the video image stream reduced image size in an image plane. 6. Procédé selon l'une des revendications 1 à 5, caractérisé en ce qu'un objet graphique inséré dans un plan d'image est un objet graphique animé comprenant plusieurs images qui sont insérées successivement dans le plan d'image et à la position attribués à l'objet graphique, à chaque image du flux d'images vidéo résultant.  6. Method according to one of claims 1 to 5, characterized in that a graphic object inserted in an image plane is an animated graphic object comprising a plurality of images which are inserted successively in the image plane and at the position assigned to the graphic object, to each image of the resulting video image stream. 7. Dispositif pour combiner en temps réel en un unique flux d'images vidéo résultant, au moins un flux d'images vidéo d'entrée et au moins un objet graphique, les images vidéo et les objets graphiques étant constitués de pixels, caractérisé en ce qu'il comprend une unité de traitement (1) comportant un processeur (11) et un accélérateur graphique/vidéo (12), l'accélérateur graphique/vidéo comprenant: É des circuits logiques câblés (18) pour insérer dans des plans d'images distincts des objets graphiques et/ou des flux d'images vidéo numérisés, chaque plan d'image comportant un pixel d'image par pixel d'image du flux vidéo résultant, associé à un coefficient de transparence, É des circuits logiques câblés (41) pour déterminer pour chaque pixel de chaque plan d'image un coefficient de transparence résultant, en fonction d'un coefficient de transparence propre et des coefficients de transparence respectifs de pixels correspondants, ayant la même position dans d'éventuels plans d'image supérieurs, de sorte que chaque pixel du plan d'image est vu au travers des pixels correspondants des éventuels plans d'image supérieurs en tenant compte des coefficients de transparence respectifs de ces derniers, et É des circuits logiques câblés (41) pour déterminer la valeur de chaque pixel du flux d'images vidéo résultant, par une combinaison linéaire des valeurs de pixels des plans d'image correspondants ayant la même position, et des coefficients de transparence résultants respectifs calculés pour chacun des pixels de plan d'image correspondants.  A device for combining in real time into a single resulting video image stream, at least one input video image stream and at least one graphic object, the video images and graphic objects being pixels, characterized in that it comprises a processing unit (1) comprising a processor (11) and a graphics / video accelerator (12), the graphics / video accelerator comprising: É hardwired logic circuits (18) for inserting in planes d distinct images of the graphic objects and / or digitized video image streams, each image plane comprising an image pixel per image pixel of the resulting video stream, associated with a transparency coefficient, É of the wired logic circuits (41) for determining for each pixel of each image plane a resultant transparency coefficient, as a function of a proper transparency coefficient and the respective transparency coefficients of corresponding pixels, having the same position in possible upper image planes, so that each pixel of the image plane is seen through the corresponding pixels of the possible upper image planes taking into account the respective transparency coefficients of the latter, and É circuits wired logic (41) for determining the value of each pixel of the resulting video image stream by a linear combination of the pixel values of the corresponding image planes having the same position, and respective resultant transparency coefficients calculated for each of the corresponding image plane pixels. 8. Dispositif selon la revendication 7, caractérisé en ce que l'accélérateur (12) comprend des circuits logiques câblés pour appliquer un coefficient de transparence 5 global à un objet graphique inséré dans un plan d'image.  8. Device according to claim 7, characterized in that the accelerator (12) comprises wired logic circuits for applying a global transparency coefficient to a graphic object inserted in an image plane. 9. Dispositif selon la revendication 7 ou 8, caractérisé en ce que le processeur (11) et l'accélérateur (12) communiquent entre eux à l'aide d'une structure d'échange (22) comportant un bloc de données pour chacun des objets graphiques et/ou flux d'image vidéo d'entrée susceptible d'être inséré dans un plan d'image, chaque bloc de données définissant le plan d'image où l'objet graphique doit être inséré, la position et les dimensions de l'objet graphique dans le plan d'image, un coefficient de transparence global à appliquer à l'objet graphique et des indicateurs signalant si l'objet graphique doit être effacé ou mis à jour dans le plan d'image.  9. Device according to claim 7 or 8, characterized in that the processor (11) and the accelerator (12) communicate with each other by means of an exchange structure (22) comprising a block of data for each graphic objects and / or input video image stream capable of being inserted into an image plane, each data block defining the image plane where the graphic object is to be inserted, the position and the dimensions from the graphic object in the image plane, a global transparency coefficient to be applied to the graphic object and indicators indicating whether the graphic object should be erased or updated in the image plane. 10. Dispositif selon l'une des revendications 7 à 9, caractérisé en ce que 15 l'accélérateur (12) comprend des circuits logiques câblés pour convertir un flux d'images vidéo numérisé YUV en un flux vidéo numérisé RGB.  10. Device according to one of claims 7 to 9, characterized in that the accelerator (12) comprises wired logic circuits for converting a digitized video image stream YUV into a digitized RGB video stream. 11. Dispositif selon l'une des revendications 7 à 10, caractérisé en ce que l'unité de traitement (1) est réalisée à l'aide d'un FPGA.  11. Device according to one of claims 7 to 10, characterized in that the processing unit (1) is made using an FPGA. 12. Dispositif selon l'une des revendications 7 à 11, caractérisé en ce qu'il comprend au moins un convertisseur analogique/ numérique (5) pour convertir un flux vidéo analogique en un flux vidéo numérique qui est appliqué en entrée de l'unité de traitement (1), et un convertisseur numérique/analogique (6) pour convertir le flux d'image vidéo résultant en un flux vidéo analogique susceptible d'être affiché à l'aide d'un écran d'affichage (7).  12. Device according to one of claims 7 to 11, characterized in that it comprises at least one analog / digital converter (5) for converting an analog video stream into a digital video stream that is applied to the input of the unit for processing (1), and a digital-to-analog converter (6) for converting the resulting video image stream into an analog video stream that can be displayed using a display screen (7).
FR0312681A 2003-10-29 2003-10-29 METHOD AND DEVICE FOR MANAGING AND DISPLAYING SIMULTANEOUSLY AND IN REAL TIME ON THE SAME SCREEN MULTIPLE VIDEO SOURCES AND GRAPHIC OBJECTS Expired - Fee Related FR2861938B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
FR0312681A FR2861938B1 (en) 2003-10-29 2003-10-29 METHOD AND DEVICE FOR MANAGING AND DISPLAYING SIMULTANEOUSLY AND IN REAL TIME ON THE SAME SCREEN MULTIPLE VIDEO SOURCES AND GRAPHIC OBJECTS

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
FR0312681A FR2861938B1 (en) 2003-10-29 2003-10-29 METHOD AND DEVICE FOR MANAGING AND DISPLAYING SIMULTANEOUSLY AND IN REAL TIME ON THE SAME SCREEN MULTIPLE VIDEO SOURCES AND GRAPHIC OBJECTS

Publications (2)

Publication Number Publication Date
FR2861938A1 true FR2861938A1 (en) 2005-05-06
FR2861938B1 FR2861938B1 (en) 2006-03-03

Family

ID=34429732

Family Applications (1)

Application Number Title Priority Date Filing Date
FR0312681A Expired - Fee Related FR2861938B1 (en) 2003-10-29 2003-10-29 METHOD AND DEVICE FOR MANAGING AND DISPLAYING SIMULTANEOUSLY AND IN REAL TIME ON THE SAME SCREEN MULTIPLE VIDEO SOURCES AND GRAPHIC OBJECTS

Country Status (1)

Country Link
FR (1) FR2861938B1 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP4207790A4 (en) * 2020-10-28 2024-02-28 Samsung Electronics Co., Ltd. Display apparatus and control method therefor

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5936606A (en) * 1996-04-15 1999-08-10 Winbond Electronics Corp. On-screen edit/display controller
US6522341B1 (en) * 1999-06-02 2003-02-18 Matsushita Electric Industrial Co., Ltd. Multi-layer image mixing apparatus
US6573905B1 (en) * 1999-11-09 2003-06-03 Broadcom Corporation Video and graphics system with parallel processing of graphics windows

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5936606A (en) * 1996-04-15 1999-08-10 Winbond Electronics Corp. On-screen edit/display controller
US6522341B1 (en) * 1999-06-02 2003-02-18 Matsushita Electric Industrial Co., Ltd. Multi-layer image mixing apparatus
US6573905B1 (en) * 1999-11-09 2003-06-03 Broadcom Corporation Video and graphics system with parallel processing of graphics windows

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP4207790A4 (en) * 2020-10-28 2024-02-28 Samsung Electronics Co., Ltd. Display apparatus and control method therefor

Also Published As

Publication number Publication date
FR2861938B1 (en) 2006-03-03

Similar Documents

Publication Publication Date Title
CN108986195B (en) Single-lens mixed reality implementation method combining environment mapping and global illumination rendering
EP1982310B1 (en) Method for synthesizing a virtual image by beam launching
EP1292921B1 (en) Refinement of a three-dimensional triangular mesh
EP1527599B1 (en) Method and system enabling real time mixing of synthetic images and video images by a user
EP0202132B1 (en) Method for inserting medallions into the image delivered by a digital image converter, and digital image converter for carrying out such a method
FR2690770A1 (en) System and method of visualization for video games.
FR2988891A1 (en) METHOD FOR ESTIMATING OPACITY LEVEL IN A SCENE AND CORRESPONDING DEVICE
FR2965652A1 (en) METHOD FOR ESTIMATING LIGHT QUANTITY RECEIVED IN ONE POINT OF A VIRTUAL ENVIRONMENT
FR2964775A1 (en) METHOD FOR ESTIMATING OCCULTATION IN A VIRTUAL ENVIRONMENT
FR2920243A1 (en) METHODS AND DEVICES FOR REAL-TIME GENERATION OF MAPPING FUNDS
CA2651465C (en) Method of coding and system for displaying on a screen a numerical mock-up of an object in the form of a synthesis image
EP2297705B1 (en) Method for the real-time composition of a video
EP0619552B1 (en) Object motion estimation device and process in animated successive pictures subdivided in bidimensional image element blocs
FR2861938A1 (en) Video image streams and graphic objects combining process for automobile, involves combining values of image planes pixels and determined transparency ratio to determine value of each pixel of resulting video image streams
EP2444953A1 (en) Device for bitmap display of two merged images
EP2987319A1 (en) Method for generating an output video stream from a wide-field video stream
WO2021214395A1 (en) Methods and devices for coding and decoding a multi-view video sequence
WO2024069003A1 (en) Method for displaying a luminous animation on a light-emitting system of a motor vehicle
WO2024069001A1 (en) Method for displaying a luminous animation on a light-emitting system of a motor vehicle
EP1738349B1 (en) Method and system for volatilely building an image displaceable of a display system from a plurality of objects
FR2817641A1 (en) METHOD AND DEVICE FOR PROCESSING DIGITAL IMAGES
FR3140324A1 (en) Method for displaying a light animation on a lighting system of a motor vehicle
EP3792866A1 (en) Graphic processor and associated method for displaying a set of pixel(s), associated platform and avionics system
EP2204775B1 (en) Incremental polygon triangulation for digital display
FR2900527A1 (en) METHOD FOR ENCODING A COLOR DIGITAL IMAGE HAVING WEIGHTING INFORMATION

Legal Events

Date Code Title Description
CD Change of name or company name
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

ST Notification of lapse

Effective date: 20200910