FR3053507A1 - VIEWER MULTIMODALITY - Google Patents
VIEWER MULTIMODALITY Download PDFInfo
- Publication number
- FR3053507A1 FR3053507A1 FR1656262A FR1656262A FR3053507A1 FR 3053507 A1 FR3053507 A1 FR 3053507A1 FR 1656262 A FR1656262 A FR 1656262A FR 1656262 A FR1656262 A FR 1656262A FR 3053507 A1 FR3053507 A1 FR 3053507A1
- Authority
- FR
- France
- Prior art keywords
- image
- channels
- transformation
- bit format
- projection
- 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.)
- Withdrawn
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T1/00—General purpose image data processing
- G06T1/60—Memory management
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T1/00—General purpose image data processing
- G06T1/20—Processor architectures; Processor configuration, e.g. pipelining
Landscapes
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Image Generation (AREA)
Abstract
La présente invention est une méthode pour visualiser et manipuler une image multicanaux, comprenant les étapes de: stockage de l'image dans une ou plusieurs unités de texture 2D, chaque unité de texture 2D représentant un paquet de quatre tuiles 8-bit correspondant à un ou plusieurs canaux à une position donnée sur l'image ; prise en compte d'une sélection d'un ou plusieurs canaux de l'image multicanaux, prise en compte de paramètres de transformation et/ou de projection pour les canaux sélectionnés ; application d'une transformation sur les canaux sélectionnés, en accord avec les paramètres reçus, tous les pixels des canaux étant calculés en même temps ; projection des canaux sélectionnés dans un espace de couleur RGB, en accord avec les paramètres reçus, tous les pixels des canaux sélectionnés étant projetés en même temps.The present invention is a method for viewing and manipulating a multi-channel image, comprising the steps of: storing the image in one or more 2D texture units, each 2D texture unit representing a package of four 8-bit tiles corresponding to a or more than one channel at a given position on the image; taking into account a selection of one or more channels of the multichannel image, taking into account transformation and / or projection parameters for the selected channels; applying a transformation on the selected channels in accordance with the received parameters, all the pixels of the channels being calculated at the same time; projecting the selected channels in an RGB color space, in accordance with the received parameters, all the pixels of the selected channels being projected at the same time.
Description
® RÉPUBLIQUE FRANÇAISE® FRENCH REPUBLIC
INSTITUT NATIONAL DE LA PROPRIÉTÉ INDUSTRIELLE © N° de publication : 3 053 507 (à n’utiliser que pour les commandes de reproduction)NATIONAL INSTITUTE OF INDUSTRIAL PROPERTY © Publication number: 3,053,507 (to be used only for reproduction orders)
©) N° d’enregistrement national : 16 56262©) National registration number: 16 56 262
COURBEVOIE © IntCI8 COURBEVOIE © IntCI 8
G 06 T 7/00 (2017.01), H 04 N 19/00G 06 T 7/00 (2017.01), H 04 N 19/00
DEMANDE DE BREVET D'INVENTION A1A1 PATENT APPLICATION
(□4/ VIEWER MULTIMODALITE.(□ 4 / MULTIMODALITY VIEWER.
FR 3 053 507 - A1 (ùf) La présente invention est une méthode pour visualiser et manipuler une image multicanaux, comprenant les étapes de: stockage de l'image dans une ou plusieurs unités de texture 2D, chaque unité de texture 2D représentant un paquet de quatre tuiles 8-bit correspondant à un ou plusieurs canaux à une position donnée sur l'image; prise en compte d'une sélection d'un ou plusieurs canaux de l'image multicanaux, prise en compte de paramètres de transformation et/ou de projection pour les canaux sélectionnés; application d'une transformation sur les canaux sélectionnés, en accord avec les paramètres reçus, tous les pixels des canaux étant calculés en même temps; projection des canaux sélectionnés dans un espace de couleur RGB, en accord avec les paramètres reçus, tous les pixels des canaux sélectionnés étant projetés en même temps.FR 3 053 507 - A1 (ùf) The present invention is a method for viewing and manipulating a multichannel image, comprising the steps of: storing the image in one or more 2D texture units, each 2D texture unit representing a packet four 8-bit tiles corresponding to one or more channels at a given position on the image; taking into account a selection of one or more channels of the multichannel image, taking into account transformation and / or projection parameters for the selected channels; applying a transformation on the selected channels, in accordance with the parameters received, all the pixels of the channels being calculated at the same time; projection of the selected channels in an RGB color space, in accordance with the parameters received, all the pixels of the selected channels being projected at the same time.
Viewer multimodalitéMultimodality viewer
La présente invention se réfère à un système et à une méthode de transmission d’image, et plus particulièrement à une méthode d’affichage et de manipulation d’images multicanaux à très grande vitesse.The present invention relates to an image transmission system and method, and more particularly to a method of displaying and manipulating multichannel images at very high speed.
Les systèmes d’imagerie deviennent de plus en plus sophistiqués, capturant d’énormes quantités de données, et ce à une vitesse et à une résolution croissantes. Le principal défi pour une analyse d’image réussie est de pouvoir visualiser, manipuler, analyser et partager des données d’images de manière simple, fiable et rapide.Imaging systems are becoming increasingly sophisticated, capturing huge amounts of data at increasing speed and resolution. The main challenge for a successful image analysis is to be able to visualize, manipulate, analyze and share image data in a simple, reliable and fast way.
Un enjeu d’une analyse d’image multicanaux est d’avoir la possibilité d’afficher une sélection voulue de canaux et d’appliquer des transformations (ex. ajustement de contraste, changement des couleurs...) sur chaque canal séparément.One issue with multichannel image analysis is having the ability to display a desired selection of channels and apply transformations (e.g. contrast adjustment, color change ...) to each channel separately.
Un autre enjeu est de permettre une interprétation collaborative des résultats en permettant aux professionnels d’accéder aux données affichées en même temps, quelque soir leurs localisations géographiques, et à partir de n’importe quel terminal de communication tel qu’un ordinateur, une tablette ou un smartphone.Another challenge is to allow a collaborative interpretation of the results by allowing professionals to access the data displayed at the same time, some evening their geographic locations, and from any communication terminal such as a computer, a tablet or a smartphone.
L’invention concerne un système pour manipuler une image multicanaux stockée dans un serveur. Ce système est accessible à partir de n’importe quel navigateur web sans installation de plugin requise. La méthode de manipulation d’une image multicanaux, selon la présente invention, peut être exécutée sur des terminaux à ressources limitées tels que les téléphones mobiles.The invention relates to a system for manipulating a multichannel image stored in a server. This system is accessible from any web browser with no plugin installation required. The method for manipulating a multichannel image, according to the present invention, can be executed on terminals with limited resources such as mobile telephones.
La présente invention concerne une méthode pour manipuler et afficher une image multicanaux de façon très rapide permettant aux utilisateurs d’accéder en même temps aux données à partir de n’importe quel terminal de communication.The present invention relates to a method for manipulating and displaying a multichannel image in a very rapid manner allowing users to access data simultaneously from any communication terminal.
La méthode comprend une méthode de stockage, pour transformer l’image multicanaux en une multitude d’unités de textures 2D. Cette étape correspond à une étape de prétraitement réalisée sur un serveur.The method includes a storage method, to transform the multichannel image into a multitude of 2D texture units. This step corresponds to a preprocessing step performed on a server.
Le système (framework en anglais) pour réaliser l’exécution de la méthode de manipulation d’images est accessible par une multiplicité d’utilisateurs à partir de tout type de terminaux de communication tels qu’un ordinateur, une tablette, ou un smartphone. Par exemple, lorsqu’un utilisateur choisit une image multicanaux stockée sur le serveur, et sélectionne plusieurs canaux, ces derniers s’affichent sur tous les terminaux de communication connectés.The system (framework in English) for performing the execution of the image manipulation method is accessible by a multiplicity of users from all types of communication terminals such as a computer, a tablet, or a smartphone. For example, when a user chooses a multichannel image stored on the server, and selects several channels, these are displayed on all connected communication terminals.
En général, pour une image multicanaux donnée, n’importe quel utilisateur -mais un à la fois- peut choisir une sélection de canaux à afficher, des paramètres de transformation et de projection pour chaque canal, à tout moment. Les étapes de transformation et de projection sont effectuées sur les canaux sélectionnés à très grande vitesse grâce à une implémentation parallèle des processus (parallel computing en anglais) i.e. tous les pixels de tous les canaux sélectionnés sont traités en même temps sur les processeurs graphiques des terminaux de communication connectés.In general, for a given multichannel image, any user - but one at a time - can choose a selection of channels to display, transformation and projection parameters for each channel, at any time. The transformation and projection steps are performed on the selected channels at very high speed thanks to a parallel implementation of the processes (parallel computing in English) ie all the pixels of all the selected channels are processed at the same time on the graphic processors of the terminals of connected communication.
L’invention peut être utilisée sur tout type d’image multicanaux, qu’elles soient en deux dimensions, en trois dimensions, de format 8-bit ou 16-bit. Les différents canaux de l’image peuvent par ailleurs provenir de différentes modalités d’imagerie.The invention can be used on any type of multichannel image, whether two-dimensional, three-dimensional, 8-bit or 16-bit format. The different image channels can also come from different imaging modalities.
Il est ainsi proposé une méthode pour visualiser et manipuler une image multicanaux, composée de plusieurs canaux, dont les canaux proviennent d’une ou plusieurs modalités d’imagerie, ladite méthode comprenant les étapes de :A method is thus proposed for viewing and manipulating a multichannel image, composed of several channels, the channels of which come from one or more imaging modalities, said method comprising the steps of:
- stockage de l’image multicanaux dans une ou plusieurs unités de texture 2D, chaque unité de texture représentant un paquet de quatre tuiles 8-bit correspondant à un ou plusieurs canaux à une position donnée sur l’image multicanaux, chaque unité de texture 2D étant une unité de stockage mémoire propre à un processeur graphique,- storage of the multi-channel image in one or more 2D texture units, each texture unit representing a packet of four 8-bit tiles corresponding to one or more channels at a given position on the multi-channel image, each 2D texture unit being a memory storage unit specific to a graphics processor,
- prise en compte d’une sélection d’un ou plusieurs canaux de l’image multicanaux,- taking into account a selection of one or more channels of the multichannel image,
- prise en compte de paramètres de transformation et de projection pour les canaux sélectionnés,- taking into account transformation and projection parameters for the selected channels,
- application de la transformation sur la sélection de canaux, en accord avec les paramètres reçus, tous les pixels des canaux sélectionnés étant traités en même temps,- application of the transformation on the selection of channels, in accordance with the parameters received, all the pixels of the selected channels being processed at the same time,
- projection des canaux sélectionnés dans un espace de couleur RGB, en accord avec les paramètres reçus, tous les pixels des canaux sélectionnés étant projetés en même temps.- projection of the selected channels in an RGB color space, in accordance with the parameters received, all the pixels of the selected channels being projected at the same time.
La transformation appliquée peut par exemple être une modification de contraste de l’image déterminée par les paramètres d’entrée.The transformation applied can for example be a change in contrast of the image determined by the input parameters.
L’étape de stockage, conduite pour une image de format 8-bit, comprend les opérations de :The storage step, carried out for an image in 8-bit format, includes the operations of:
- partitionnement de chaque canal de l’image multicanaux en une grille régulière de tuiles 8-bit de mêmes dimensions, et de mêmes dimensions qu’une unité de texture 2D,- partitioning of each channel of the multichannel image into a regular grid of 8-bit tiles of the same dimensions, and of the same dimensions as a 2D texture unit,
- groupement des tuiles 8-bit correspondant à une position donnée dans la grille en une ou plusieurs unités de texture 2D.- grouping of 8-bit tiles corresponding to a given position in the grid in one or more 2D texture units.
Quand l’étape de stockage est réalisée pour une image de format 16-bit, cette étape comprend les opérations de :When the storage step is performed for a 16-bit format image, this step includes the operations of:
- partitionnement de chaque canal de l’image multicanaux en une grille régulière de tuiles 16-bit de même dimension, et de mêmes dimensions qu’une unité de texture 2D,- partitioning of each channel of the multichannel image into a regular grid of 16-bit tiles of the same dimension, and of the same dimensions as a 2D texture unit,
- partitionnement de chaque tuile 16-bit en un couple de deux tuiles 8-bit en séparant les huit bits les plus élevés des huit bits les plus faibles pour chaque valeur de pixel 16-bit,- partitioning of each 16-bit tile into a pair of two 8-bit tiles by separating the highest eight bits from the lowest eight bits for each 16-bit pixel value,
- groupement des tuiles 8-bit correspondant à une position donnée dans la grille régulière en une ou plusieurs unités de texture 2D.- grouping of 8-bit tiles corresponding to a given position in the regular grid in one or more 2D texture units.
L’étape de transformation, conduite pour une image de format 8bit, comprend les opérations de:The transformation step, carried out for an image of 8bit format, includes the operations of:
- attribution de valeurs d’intensité de canaux aux pixels à partir des valeurs stockées dans les canaux des unités de texture 2D,- assignment of channel intensity values to the pixels from the values stored in the channels of the 2D texture units,
- calcul des nouvelles valeurs de pixels en accord avec les paramètres de transformation.- calculation of the new pixel values in accordance with the transformation parameters.
L’étape de projection, conduite pour une image de format 8-bit, comprend l’opération de calcul de la projection linéaire de tous les pixels dans un espace de couleur RGB, en accord avec les paramètres de projection.The projection step, carried out for an image in 8-bit format, includes the operation of calculating the linear projection of all the pixels in an RGB color space, in accordance with the projection parameters.
Dans le cas d’une image de format 16-bit, cette étape de projection comprend les opérations de :In the case of a 16-bit format image, this projection step includes the operations of:
- calcul de la projection linéaire de tous les pixels dans un espace de couleur RGB en utilisant les paramètres de projection,- calculation of the linear projection of all pixels in an RGB color space using the projection parameters,
- conversion de chaque canal R, G et B obtenus en canal 8bit.- conversion of each R, G and B channel obtained into 8bit channel.
L’étape de transformation, conduite pour une image de format 16bit, comprend les opérations de :The transformation step, carried out for a 16bit image, includes the operations of:
- conversion de chaque couple consécutif de canaux d’unités de texture 2D en valeurs de format 16-bit,- conversion of each consecutive pair of channels of 2D texture units into 16-bit format values,
- attribution de valeurs d’intensité de canaux aux pixels à partir des valeurs de format 16-bit,- assignment of channel intensity values to pixels from 16-bit format values,
- calcul de nouvelles valeurs des pixels en accord avec les paramètres de transformation.- calculation of new pixel values in accordance with the transformation parameters.
La présente invention propose également un système, pour manipuler une image multicanaux, ladite image multicanaux étant composée de plusieurs canaux, ledit système comprenant un serveur comportant :The present invention also provides a system for handling a multi-channel image, said multi-channel image being composed of several channels, said system comprising a server comprising:
- un module de conversion pour convertir des images multicanaux en une ou plusieurs unités de texture 2D, chaque unité de texture 2D représentant un paquet de quatre tuiles 8-bit correspondant à un ou plusieurs canaux à une position donnée dans l’image multicanaux, une unité de texture 2D étant une unité de stockage mémoire propre à un processeur graphique,- a conversion module to convert multi-channel images into one or more 2D texture units, each 2D texture unit representing a packet of four 8-bit tiles corresponding to one or more channels at a given position in the multi-channel image, a 2D texture unit being a memory storage unit specific to a graphics processor,
- un module mémoire pour le stockage des unités de texture 2D obtenues,- a memory module for the storage of the 2D texture units obtained,
- un module de connexion pour connecter un ou plusieurs terminaux de communication, tels qu’un ordinateur personnel, une tablette digitale ou un smartphone, sur le même compte,- a connection module to connect one or more communication terminals, such as a personal computer, a digital tablet or a smartphone, to the same account,
- un module de sélection pour recevoir une sélection d’un ou plusieurs canaux d’une image multicanaux stockée sur le serveur, à partir d’un des terminaux de communication connecté au serveur sur un même compte,a selection module for receiving a selection of one or more channels of a multichannel image stored on the server, from one of the communication terminals connected to the server on the same account,
- un module de réglage pour recevoir des paramètres de transformation et de projection en entrées pour les canaux sélectionnés à partir d’un des terminaux de communication connectés au serveur sur le même compte,- an adjustment module to receive transformation and projection parameters as inputs for the channels selected from one of the communication terminals connected to the server on the same account,
- un module de calcul pour donner l’instruction à chaque terminal connecté au serveur sur un même compte, d’appliquer - en accord avec les paramètres reçus - une transformation et une projection des canaux sélectionnés dans un espace RGB, directement dans leurs processeurs graphiques.- a calculation module to give the instruction to each terminal connected to the server on the same account, to apply - in accordance with the parameters received - a transformation and a projection of the selected channels in an RGB space, directly in their graphics processors .
D’autres objets et avantages de l’invention apparaîtront à la lumière de la description ci-après, faite en référence aux dessins et listings joints, dans lesquels :Other objects and advantages of the invention will emerge in the light of the description below, made with reference to the attached drawings and listings, in which:
La FIG.1 est une illustration du système de communication global. La FIG.2 représente un diagramme fonctionnel de la transformation et de la projection dans un espace de couleur RGB pour un exemple d’image de format 8-bit.FIG.1 is an illustration of the overall communication system. FIG. 2 represents a functional diagram of the transformation and the projection in an RGB color space for an example of image in 8-bit format.
La FIG.3 représente un diagramme fonctionnel de la transformationFIG. 3 represents a functional diagram of the transformation
exemple d’image de format 16-bit.example image in 16-bit format.
La FIG.6 représente un diagramme fonctionnel de la transformation et de la projection dans un espace de couleur RGB pour un exemple d’image de format 8-bit.FIG. 6 represents a functional diagram of the transformation and the projection in an RGB color space for an example of image in 8-bit format.
La FIG.7 représente un diagramme fonctionnel de la transformation et de la projection dans un espace de couleur RGB pour un exemple d’image de format 16-bit.FIG. 7 represents a functional diagram of the transformation and the projection in an RGB color space for an example of image in 16-bit format.
Le LISTING.1 est un exemple d’implémentation séquentielle des étapes de transformation et de projection.LISTING.1 is an example of a sequential implementation of the transformation and projection steps.
Le LISTING.2 est un exemple d’implémentation parallèle des étapes de transformation et de projection.LISTING.2 is an example of parallel implementation of the transformation and projection stages.
La FIG.1 représente le système de communication global. Il comprend un serveur 1 avec une unité de mémoire 2 et un processeur central 3 (CPU ou Central Processing Unit en anglais). L’unité de mémoire 2 permet de stocker des images multicanaux en unités de texture 2D. Une unité de texture 2D est une unité de stockage mémoire dont la taille est liée à un processeur graphique. L’étape de transformation d’une image multicanaux en plusieurs unités de texture 2D est réalisée par le processeur central 3 du serveur 1.FIG. 1 represents the global communication system. It includes a server 1 with a memory unit 2 and a central processor 3 (CPU or Central Processing Unit in English). The memory unit 2 makes it possible to store multichannel images in 2D texture units. A 2D texture unit is a memory storage unit whose size is linked to a graphics processor. The step of transforming a multichannel image into several 2D texture units is carried out by the central processor 3 of the server 1.
Plusieurs utilisateurs, et ce quel que soit leur nombre, sont connectés au serveur 1 grâce à un réseau accessible depuis n’importe quel navigateur web, et à partir de tout type de terminaux de communication 4 tels qu’un smartphone, une tablette ou un ordinateur, comme illustré en FIG.1.Several users, regardless of their number, are connected to the server 1 through a network accessible from any web browser, and from any type of communication terminal 4 such as a smartphone, a tablet or a computer, as illustrated in FIG.1.
Lorsqu’un des utilisateurs connectés envoie des paramètres au serveur 1 (flèche A), celui-ci commande aux terminaux de communication connectés 4 de réaliser les étapes de calculs dans leurs processeurs graphiques (flèches B). N’importe quel utilisateur connecté peut entrer de nouveaux paramètres.When one of the connected users sends parameters to the server 1 (arrow A), the latter commands the connected communication terminals 4 to carry out the calculation steps in their graphics processors (arrows B). Any logged in user can enter new settings.
La vitesse élevée de la méthode de calcul proposée par la présente invention, permet à un groupe d’utilisateurs de visualiser en même temps les mêmes données, et les modifications effectuées en temps réel. Dans la présente description le terme de temps réel se réfère à une opération dont le temps d’exécution est inférieur à 40 millisecondes.The high speed of the calculation method proposed by the present invention allows a group of users to view the same data at the same time, and the modifications made in real time. In the present description, the term real time refers to an operation whose execution time is less than 40 milliseconds.
Les modifications que les utilisateurs peuvent réaliser sur les images multicanaux sont:The modifications that users can make on multichannel images are:
la sélection d’un ou plusieurs canaux à afficher sur les écrans des terminaux de communication, les paramètres de transformation pour chaque canal, les paramètres de projection pour chaque canal.the selection of one or more channels to display on the screens of the communication terminals, the transformation parameters for each channel, the projection parameters for each channel.
Les étapes de transformation et de projection sont exécutées sur le processeur graphique de chaque terminal connecté. La FIG.2 est un diagramme fonctionnel des étapes de transformation et de projection dans le cas d’un exemple d’image de format 8-bit. A titre de comparaison, la FIG.3 illustre ces étapes pour un exemple d’image de format 16-bit. Pour une image de format 16-bit, il y a une étape supplémentaire de conversion des données de format 8-bit.The transformation and projection steps are executed on the graphics processor of each connected terminal. FIG. 2 is a functional diagram of the transformation and projection steps in the case of an example image in 8-bit format. For comparison, FIG.3 illustrates these steps for an example of a 16-bit format image. For a 16-bit format image, there is an additional step of converting 8-bit format data.
Les étapes illustrées dans les FIG.2 et FIG.3 sont les étapes de transformation et de projection. L’opération de transformation notée H dans FIG.2 et FIG.3 prend deux données d’entrée pour chaque canal.The steps illustrated in FIG.2 and FIG.3 are the transformation and projection steps. The transformation operation noted H in FIG.2 and FIG.3 takes two input data for each channel.
Cette opération peut par exemple être un ajustement de contraste. La description suivante fait souvent référence à une opération particulière d’ajustement de contraste à titre d’exemple, mais la présente invention n’est pas limitée à ce type de transformation. Tout type de transformation impliquant une modification des valeurs des pixels peuvent être appliquées (ex. défloutage, segmentation...).This operation can for example be a contrast adjustment. The following description often refers to a particular contrast adjustment operation by way of example, but the present invention is not limited to this type of transformation. Any type of transformation involving a modification of the pixel values can be applied (e.g. deflouting, segmentation, etc.).
Une opération d’ajustement de contraste peut être exprimée mathématiquement par:A contrast adjustment operation can be expressed mathematically by:
étant donné x une valeur d’entrée dans [0,255] ou [0,216 -1], et considérant deux paramètres ThL et ThH, six < ThL maxsi x > ThHgiven x an input value in [0.255] or [0.2 16 -1], and considering two parameters ThL and ThH, six <ThL maxsi x> ThH
-(x — ThL) sinon lH—ThL- (x - ThL) otherwise lH — ThL
Dans le cas d’une image de format 8-bit, la valeur max est égale à 255, et dans le le cas d’une image de format 16-bit, la valeur max est égale à 216 - 1.In the case of an image in 8-bit format, the maximum value is equal to 255, and in the case of an image in 16-bit format, the maximum value is equal to 2 16 - 1.
L’opération de projection f dans les FIG.2 et FIG.3 est une projection linéaire des canaux dans un espace de couleur RGB. Elle est définie par une matrice M dont les valeurs sont ajustées par un utilisateur. La matrice M comporte autant de lignes que de canaux d’entrées et trois colonnes.The projection operation f in FIG.2 and FIG.3 is a linear projection of the channels in an RGB color space. It is defined by a matrix M whose values are adjusted by a user. The matrix M has as many rows as there are input channels and three columns.
Les étapes de projection et de transformation sont réalisées en temps réel, ce qui permet aux utilisateurs d’effectuer les modifications et de les visualiser en même temps.The projection and transformation steps are performed in real time, which allows users to make changes and view them at the same time.
Les canaux d’entrée de l’étape de transformation sont de forme particulière. Ceux-ci sont stockés sur le serveur 1 sous forme d’unités de texture 2D. Une unité de texture 2D est une unité de stockage mémoire dont la taille est fixe et liée à un processeur graphique. Une unité de texture 2D, en accord avec la présente invention, est, en particulier, un paquet de tuiles de format 8-bit correspondant à un ou plusieurs canaux à une position donnée dans l’image multicanaux concernées.The input channels of the transformation stage are of particular shape. These are stored on server 1 as 2D texture units. A 2D texture unit is a memory storage unit whose size is fixed and linked to a graphics processor. A 2D texture unit, in accordance with the present invention, is, in particular, a packet of 8-bit format tiles corresponding to one or more channels at a given position in the multichannel image concerned.
La plupart du temps, une unité de texture 2D est utilisée pour afficher une image RGBA i.e. le contenu de l’unité de texture 2D est directement affiché sur un écran. Dans l’usage spécifique fait par la présente invention, les unités de texture 2D sont utilisées uniquement pour leur fonction d’unités de stockage mémoire afin de faciliter et d’améliorer la rapidité de l’ensemble processus.Most of the time, a 2D texture unit is used to display an RGBA image i.e. the content of the 2D texture unit is directly displayed on a screen. In the specific use made by the present invention, the 2D texture units are used only for their function of memory storage units in order to facilitate and improve the speed of the whole process.
Les opérations H et f présentées précédemment sont exécutés directement sur les unités de texture 2D.The operations H and f presented above are executed directly on the 2D texture units.
L’étape de stockage d’une image multicanaux en paquets de tuiles de format 8-bit, selon la présente invention, est pré-calculée sur le processeur central 3 du serveur 1. La méthode de stockage est illustrée en FIG.4 pour une image de format 8-bit et en FIG.5 pour une image de format 16-bit.The step of storing a multichannel image in 8-bit format tile packets, according to the present invention, is pre-calculated on the central processor 3 of the server 1. The storage method is illustrated in FIG. 4 for a 8-bit format image and in FIG.5 for a 16-bit format image.
La méthode de stockage comprend deux étapes : une étape appelée tilling et une autre étape appelée packing. En référence à la FIG.4, l’étape tilling consiste à décomposé un canal donné en une grille régulière de tuiles de mêmes dimensions. Après l’étape tilling, chaque canal est un paquet de plusieurs tuiles, et chaque tuile représente une portion de l’image multicanaux. Par exemple, les tuiles 100, 200, 300, 400, et 500 correspondent à la même position dans l’image multicanaux. Chaque tuile a les mêmes dimensions en pixels qu’une unité de texture 2D i.e. 512 x 512 pixels.The storage method consists of two stages: a stage called tilling and another stage called packing. With reference to FIG. 4, the tilling step consists in breaking down a given channel into a regular grid of tiles of the same dimensions. After the tilling step, each channel is a bundle of several tiles, and each tile represents a portion of the multichannel image. For example, tiles 100, 200, 300, 400, and 500 correspond to the same position in the multi-channel image. Each tile has the same dimensions in pixels as a 2D texture unit i.e. 512 x 512 pixels.
L’étape packing consiste en un groupement de chaque tuile pour une position donnée en paquets de quatre canaux. Dans l’exemple de la FIG.4, l’image d’entrée comporte cinq canaux. Les tuiles situées en haut à gauche sont regroupées en un paquet (100, 200, 300 and 400) et un autre paquet contenant la tuile 500. Dans cet exemple, le nombre de paquets est deux. Le nombre de paquets est noté K et le nombre de fichiers obtenus est noté N dans la FIG.4.The packing step consists of grouping each tile for a given position into bundles of four channels. In the example in FIG. 4, the input image has five channels. The tiles at the top left are grouped into a package (100, 200, 300 and 400) and another package containing tile 500. In this example, the number of packages is two. The number of packets is noted K and the number of files obtained is noted N in FIG. 4.
Les nombres de tuiles, de paquets et de fichiers obtenus dépendent du nombre de canaux d’entrées et des dimensions de l’image d’entrée.The number of tiles, packages and files obtained depends on the number of input channels and the dimensions of the input image.
Le rôle de l’étape packing est de minimiser le nombre de tuiles en les groupant en paquets. Un paquet de quatre tuiles est également appelé unité de texture 2D. Dans l’exemple de la FIG.4, toutes les tuiles sont de format 8-bit.The role of the packing step is to minimize the number of tiles by grouping them into packages. A pack of four tiles is also called a 2D texture unit. In the example in FIG. 4, all the tiles are 8-bit format.
Nous nous référons maintenant à l’étape de stockage illustré par la FIG.5 pour un exemple d’image multicanaux de format 16-bit. Elle comprend les mêmes étapes que dans le cas d’une image de format 8bit, à savoir une étape tilling et une étape packing. De plus, elle comprend une opération supplémentaire appelée S dans la FIG.5. S est une opération de partitionnement consistant à séparer les huit bits les plus élevés des huit bits les plus faibles pour une valeur donnée de format 16-bit. Cette opération est réalisée après l’étape tilling, à l’issue de laquelle les tuiles obtenues sont de format 16-bit. Par exemple, la tuile de format 16-bit situé en haut à gauche et numérotée 100 est divisée en deux tuiles de format 8-bit : 100h contenant les huit bits les plus élevés pour chaque valeur de pixel et 1001 contenant les huit bits les plus faibles pour chaque valeur de pixel.We now refer to the storage step illustrated in FIG. 5 for an example of a 16-bit multi-channel image. It includes the same steps as in the case of an 8bit image, namely a tilling step and a packing step. In addition, it includes an additional operation called S in FIG.5. S is a partitioning operation consisting in separating the highest eight bits from the lowest eight bits for a given value of 16-bit format. This operation is performed after the tilling step, at the end of which the tiles obtained are 16-bit format. For example, the 16-bit format tile located at the top left and numbered 100 is divided into two 8-bit format tiles: 100h containing the highest eight bits for each pixel value and 1001 containing the highest eight bits weak for each pixel value.
La FIG.6 représente un diagramme fonctionnel des étapes de transformation et de projection dans le cas de la même image de format 8-bit de la FIG.4. En particulier, elle montre les différentes étapes effectuées pour le premier fichier comprenant deux unités de texture 2D. Les mêmes opérations sont réalisées sur toutes les autres unités de texture illustrées en FIG.4 mais ne sont pas représentées ici.FIG.6 shows a functional diagram of the transformation and projection steps in the case of the same 8-bit format image of FIG.4. In particular, it shows the different steps performed for the first file comprising two 2D texture units. The same operations are carried out on all the other texture units illustrated in FIG. 4 but are not shown here.
T1 and T2 sont deux unités de textures 2D RGBA. La transformation H est appliquée sur toutes les unités de texture 2D en parallèle, i.e. tous les pixels des unités de texture 2D sont calculés en même temps. Après l’étape de transformation, l’opération de projection f est également appliquée en parallèle sur tous les pixels, ce qui permet l’affichage de l’image en temps réel (i.e. en un temps inférieur à six millisecondes).T1 and T2 are two 2D RGBA texture units. The transformation H is applied to all 2D texture units in parallel, i.e. all the pixels of the 2D texture units are calculated at the same time. After the transformation step, the projection operation f is also applied in parallel to all the pixels, which allows the display of the image in real time (i.e. in less than six milliseconds).
Nous nous référons maintenant à la FIG.7 représentant un diagramme fonctionnel des étapes de transformation et de projection dans le cas de la même image de format 16-bit que dans la FIG.5. En particulier, elle montre les différentes opérations appliquées sur le premier fichier de deux unités de texture 2D. Les mêmes opérations sont appliquées sur toutes les autres unités de texture 2D illustrées en FIG.5 mais non représentées ici.We now refer to FIG.7 representing a functional diagram of the transformation and projection steps in the case of the same 16-bit format image as in FIG.5. In particular, it shows the different operations applied to the first file of two 2D texture units. The same operations are applied to all the other 2D texture units illustrated in FIG. 5 but not shown here.
Dans ce diagramme, il y a deux opérations supplémentaires notées Sr et conversion 8-bit. L’opération Sr est la fonction inverse de la fonction S illustrée en FIG.5. Etant données deux valeurs de format 8bit, la fonction Sr recompose la valeur de format 16-bit. Les valeurs de format 16-bit des pixels sont transformées et projetées dans un espace de couleur RGB directement avant la conversion 8-bit. De la même manière que pour le format 8-bit, tous les pixels sont calculés en parallèle.In this diagram, there are two additional operations denoted Sr and 8-bit conversion. Operation Sr is the inverse function of function S illustrated in FIG.5. Given two 8bit format values, the Sr function recomposes the 16-bit format value. The 16-bit format values of the pixels are transformed and projected in an RGB color space directly before the 8-bit conversion. In the same way as for the 8-bit format, all the pixels are calculated in parallel.
Afin de comparer un algorithme séquentiel et un algorithme parallèle, on se réfère aux pseudocodes LISTING.1 et LISTING.2, respectivement. Ceux-ci sont donnés à titre d’exemple dans le cas où l’opération de transformation est un ajustement de contraste. Selon le LISTING.1, l’approche directe consiste en une implémentation séquentielle des étapes typiquement au niveau d’un processeur central. Avec ce type d’implémentation, les pixels sont calculés séquentiellement. A partir du moment où un utilisateur modifie les paramètres ThLs et ThHs du vecteur de transformation, le temps écoulé avant l’affichage de l’image sur l’écran est trop long. Par exemple, le temps moyen pour afficher une image de trois canaux 8-bit est compris entre deux cents et trois cents millisecondes. Donc l’approche directe ne permet pas la mise à jour en temps réel des paramètres entrés par l’utilisateur.In order to compare a sequential algorithm and a parallel algorithm, we refer to the pseudocodes LISTING.1 and LISTING.2, respectively. These are given by way of example in the case where the transformation operation is a contrast adjustment. According to LISTING.1, the direct approach consists of a sequential implementation of the steps typically at the level of a central processor. With this type of implementation, the pixels are calculated sequentially. From the moment a user modifies the ThLs and ThHs parameters of the transformation vector, the time elapsed before the image is displayed on the screen is too long. For example, the average time to display an image of three 8-bit channels is between two hundred and three hundred milliseconds. Therefore, the direct approach does not allow the parameters entered by the user to be updated in real time.
Comme illustré dans le LISTING.2, la méthode d’implémentation de la présente invention utilise les capacités de programmation parallèle (parallel computing en anglais) des processeurs graphiques pour calculer tous les pixels p en parallèle au lieu de séquentiellement. Une autre différence avec l’approche séquentielle est dans les ressources d’entrées. Avec la présente méthode, les canaux sont sauvegardés sous forme d’unités de texture 2D i.e. en paquets de quatre tuiles plutôt que dans le système mémoire. Les canaux d’entrée se réfèrent au vecteur T de K unités de texture 2D. L’exemple du LISTING.2 est pour un fichier. Les N fichiers correspondant aux m canaux sélectionnés sont calculés en parallèle avec la présente implémentation.As illustrated in LISTING.2, the implementation method of the present invention uses the parallel programming capacities (parallel computing in English) of graphics processors to calculate all the pixels p in parallel instead of sequentially. Another difference from the sequential approach is in the input resources. With this method, channels are saved as 2D texture units i.e. in packs of four tiles rather than in the memory system. The input channels refer to the vector T of K 2D texture units. The example of LISTING.2 is for a file. The N files corresponding to the m channels selected are calculated in parallel with the present implementation.
Par exemple, avec la présente invention, le temps moyen écoulé avant l’affichage de cinq canaux 8-bit est compris entre deux et six millisecondes. La rapidité d’exécution de cette méthode permet la mise à jour en temps réel des paramètres entrés par l’utilisateur.For example, with the present invention, the average time elapsed before displaying five 8-bit channels is between two and six milliseconds. The speed of execution of this method allows the parameters entered by the user to be updated in real time.
Claims (9)
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
FR1656262A FR3053507A1 (en) | 2016-06-30 | 2016-06-30 | VIEWER MULTIMODALITY |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
FR1656262A FR3053507A1 (en) | 2016-06-30 | 2016-06-30 | VIEWER MULTIMODALITY |
FR1656262 | 2016-06-30 |
Publications (1)
Publication Number | Publication Date |
---|---|
FR3053507A1 true FR3053507A1 (en) | 2018-01-05 |
Family
ID=56684105
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
FR1656262A Withdrawn FR3053507A1 (en) | 2016-06-30 | 2016-06-30 | VIEWER MULTIMODALITY |
Country Status (1)
Country | Link |
---|---|
FR (1) | FR3053507A1 (en) |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20030002748A1 (en) * | 2001-04-16 | 2003-01-02 | Fuji Photo Film Co., Ltd. | Image management system, image management method and image display device |
US7283654B2 (en) * | 2004-08-26 | 2007-10-16 | Lumeniq, Inc. | Dynamic contrast visualization (DCV) |
-
2016
- 2016-06-30 FR FR1656262A patent/FR3053507A1/en not_active Withdrawn
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20030002748A1 (en) * | 2001-04-16 | 2003-01-02 | Fuji Photo Film Co., Ltd. | Image management system, image management method and image display device |
US7283654B2 (en) * | 2004-08-26 | 2007-10-16 | Lumeniq, Inc. | Dynamic contrast visualization (DCV) |
Non-Patent Citations (4)
Title |
---|
"EUROGRAPHICS", 1 January 2001, SPRINGER VERLAG, VIENNA, AT, ISSN: 0946-2767, article JONATHAN COHEN ET AL: "Real-Time High Dynamic Range Texture Mapping", pages: 313 - 320, XP055359080 * |
DOMINIK PERPEET ET AL: "ENGINEERING THE IDEAL GIGAPIXEL IMAGE VIEWER", 1 January 2011 (2011-01-01), XP055358748, Retrieved from the Internet <URL:http://www.amostech.com/TechnicalPapers/2011/Poster/PERPEET.pdf> [retrieved on 20170324] * |
JOHN NICKOLLS ET AL: "Graphics and Computing GPUs Scientist NVIDIA", 1 January 2009 (2009-01-01), XP055358761, Retrieved from the Internet <URL:http://www.comp.nus.edu.sg/~cs2100/2_resources/AppendixA_Graphics_and_Computing_GPUs.pdf> [retrieved on 20170323] * |
LEFOHN, A., KNISS, J. AND OWENS, J.: "GPU Gems - Chapter 33. Implementing Efficient Parallel Data Structures on GPUs", GPU GEMS 2 - PROGRAMMING TECHNIQUES FOR HIGH-PERFORMANCE GRAPHICS AND GENERAL-PURPOSE COMPUTATION, 1 January 2005 (2005-01-01), Upper Saddle River, NJ [u.a.], XP055358764, Retrieved from the Internet <URL:http://http.developer.nvidia.com/GPUGems2/gpugems2_chapter33.html> [retrieved on 20170324] * |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Liu et al. | A spectral grouping and attention-driven residual dense network for hyperspectral image super-resolution | |
US20210201445A1 (en) | Image cropping method | |
WO2019192316A1 (en) | Image related processing method and apparatus, device and storage medium | |
US9741137B2 (en) | Image-based color palette generation | |
CN103795920B (en) | Photo processing method and device | |
EP0406074B1 (en) | Image movement field segmentation process for video image coding | |
US10817266B2 (en) | Converting a captured image to visual programming logic for an automation building tool | |
US9361676B2 (en) | System and method for enhancing the legibility of degraded images | |
CN109272526B (en) | Image processing method and system and electronic equipment | |
JP2017520036A (en) | Mosaic image generation method and apparatus | |
AU2019201358A1 (en) | Real time overlay placement in videos for augmented reality applications | |
CN109033935B (en) | Head-up line detection method and device | |
CN110852948A (en) | Image super-resolution method based on feature correlation, storage medium and terminal equipment | |
Wang et al. | No-reference stereoscopic image quality assessment using quaternion wavelet transform and heterogeneous ensemble learning | |
US9824465B2 (en) | Texture repository for image processing applications | |
US10963690B2 (en) | Method for identifying main picture in web page | |
FR3053507A1 (en) | VIEWER MULTIMODALITY | |
EP2022009B1 (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 | |
US9973904B2 (en) | Matrix access review | |
WO2019076110A1 (en) | Image information processing method and apparatus | |
US8908986B1 (en) | Systems and methods for selecting ink colors | |
CN104063796A (en) | Object information display method, system and device | |
Lehman et al. | Stealthy privacy attacks against mobile ar apps | |
CN115482158A (en) | Image processing method, neural network system, computer system, and medium | |
ES2805804T3 (en) | Multimodal viewer |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PLFP | Fee payment |
Year of fee payment: 2 |
|
PLSC | Publication of the preliminary search report |
Effective date: 20180105 |
|
PLFP | Fee payment |
Year of fee payment: 3 |
|
PLFP | Fee payment |
Year of fee payment: 4 |
|
ST | Notification of lapse |
Effective date: 20210206 |