Procédé et dispositif de traitement d'images numériques-
La présente invention relève du domaine du traitement des images numériques que l'on affiche sur un écran, notamment d'ordinateur ou de télévision.
Actuellement, les marchés de l'ordinateur portable et de la télévision sont en train de fusionner, sous l'effet d'entraînement du développement de l'internet et de la télévision interactive qui requiert des technologies associées. Il est donc souhaitable de pouvoir afficher des images graphiques, telles que les pages diffusées par le réseau internet, ou les images tridimensionnelles d'un jeu vidéo sur un écran de télévision standard avec un confort visuel acceptable par l'utilisateur. En particulier, les images de jeu vidéo sont soumises à un phénomène de repliement de spectre également appelé "aliasing", nuisible à la qualité des images.
Une structure, telle qu'un arbre, un véhicule, un bâtiment, dans une image de jeu vidéo est généralement décrite par un réseau de triangles définissant un contour de la structure et une texture à plusieurs échelles, l'échelle étant déterminée en fonction de l'orientation de chaque triangle. Dans un jeu vidéo classique mis en oeuvre sur une console de jeu, toutes les textures de toutes échelles sont préenregistrées. L'invention propose un traitement d'images permettant de générer des images tridimensionnelles de qualité, aptes à une diffusion sur un écran de télévision à partir d'un flot de données pouvant provenir d'une diffusion hertzienne, satellitaire, par câble, etc.
L'invention propose un traitement d'images permettant de générer des images tridimensionnelles à partir d'un flot de données en
temps réel.
Le procédé de traitement d'images numériques, selon un aspect de l'invention, comprend les étapes suivantes :
- on génère par filtrage une pluralité d'images de taille réduite à partir d'une image bidimensionnelle, lesdites tailles réduites étant différentes les unes des autres,
- on transmet à un accélérateur 3D lesdites images de taille réduite, encapsulées selon une structure prédéterminée,
- on stocke en mémoire lesdites images de taille réduite par extraction des images de la structure d'encapsulation, et
- on génère en temps réel une image tridimensionnelle à partir d'une trame pourvue de surfaces élémentaires, et de pixels choisis p---rmi ladite image et lesdites images de taille réduite, le choix étant effectué en fonction de l'orientation d'une surface élémentaire à laquelle sera affecté ledit pixel.
En d'autres termes, on transfère cette vidéo préprocessée à l'opérateur de rendu 3D. Toutes les images de taille réduite sont encapsulées dans un signal vidéo digital standard, selon une convention de placement X-Y. Le standard peut être de type ITU-RBT.656. Le port de capture du processeur 3D récupère cette vidéo, et en extrait la suite d'images encapsulées. On la range en mémoire selon une organisation qui permettra à l'opérateur de rendu, de tirer la meilleure qualité possible de la source vidéo.
Avantageusement, la génération d'une image réduite est effectuée à partir de l'ensemble d'une image bidimensionnelle animée.
Avantageusement, lesdites tailles réduites suivent une progression géométrique.
Dans un mode de réalisation de l'invention, la première image réduite est réduite d'un facteur 2. Dans un mode de réalisation de l'invention, la énième image réduite est réduite d'un facteur 2n.
De préférence, le stockage en mémoire s'effectue selon un ordre d'écriture déterminé.
De préférence, la lecture en mémoire s'effectue selon un ordre déterminé. Avantageusement, on dispose lesdites images de taille réduite
dans le format de ladite image de façon que l'ensemble desdites images de taille réduite occupe un espace inférieur ou égal à celui de ladite image.
Dans un mode de réalisation de l'invention, l'orientation de la surface élémentaire à laquelle sera affecté ledit pixel est déterminée par un vecteur normal à ladite surface élémentaire.
Dans un mode de réalisation de l'invention, on mémorise l'image tridimensionnelle.
Dans un mode de réalisation de l'invention, on envoie l'image tridimensionnelle vers un moyen d'affichage. Une unité centrale peut être apte à déterminer l'orientation de la surface élémentaire à laquelle sera affecté ledit pixel. Un terminal numérique peut être apte à générer les images d'échelles réduites en temps réel sur une vidéo animée. Une unité auxiliaire peut être apte à affecter à une surface élémentaire un pixel de coordonnées correspondantes choisi dans une des images d'échelles réduites ou dans l'image d'échelle 1/1. Le choix de l'image où est prélevé ledit pixel est effectué en fonction de l'orientation de la surface élémentaire correspondante.
Ainsi, une image bidimensionnelle transportée dans un flot de données fait l'objet de réductions successives d'échelle pour obtenir une pluralité d'images de taille réduite. L'image bidimensionnelle à échelle d'origine peut être stockée en mémoire de même que les images de taille réduite. A partir d'une trame pourvue de surfaces élémentaires, et de pixels choisis parmi ladite image à échelle d'origine et lesdites images de taille réduite, on génère en temps réel une image tridimensionnelle. Le choix des pixels est effectué en fonction de l'orientation d'une surface élémentaire à laquelle sera affecté ledit pixel.
La présente invention concerne également un dispositif de traitement d'images numériques, comprenant un terminal numérique, une unité centrale, des moyens -mémoire, et une unité d'affichage. Le terminal numérique comprend un module de traitement de blocs de bits apte à effectuer des réductions de taille d'une image bidimensionnelle. Les moyens-mémoire sont aptes à stocker une pluralité d'images de taille réduite à partir d'une image bidimensionnelle, lesdites tailles réduites étant différentes les unes des autres. Un module auxiliaire associé au terminal numérique génère une image tridimensionnelle à partir d'une
trame pourvue de surfaces élémentaires, et de pixels choisis parmi ladite image bidimensionnelle et des images de taille réduite issues du module de traitement de blocs de bits. Le choix est effectué en fonction de l'orientation d'une surface élémentaire à laquelle sera affecté ledit pixel. Ladite image tridimensionnelle est envoyée à l'unité d'affichage.
Dans un mode de réalisation de l'invention, le module auxiliaire est pourvu d'une sortie d'affichage reliée à l'unité d'affichage.
Avantageusement, le module auxiliaire est pourvu d'une sortie d'affichage reliée au terminal numérique. Avantageusement, l'unité centrale est apte à déterminer l'orientation de la surface élémentaire à laquelle sera affecté ledit pixel. En d'autres termes, on insère dans un terminal numérique un circuit de rendu 3D pour obtenir les images temps réel de haute qualité.
L'invention permet d'offrir un effet tridimensionnel de haute qualité en évitant les artefacts du repliement de spectre en fonction de l'orientation des surfaces élémentaires du réseau décrivant la structure représentée. On utilise non seulement l'image à pleine échelle, mais également à échelle 1/2, 1/4, etc., jusqu'à l'échelle 1 pixel par surface élémentaire. La mise en oeuvre d'images à échelle réduite permet un filtrage localement adapté en fonction de l'orientation de chaque surface élémentaire relativement au plan d'affichage.
A titre d'exemple, à une surface élémentaire dont la normale présente un angle par rapport au plan d'affichage dont le sinus est compris entre 1 et 0,75 est affecté un pixel provenant de l'image à échelle 1. Si le sinus est compris entre 0,75 et 0,375, le pixel affecté provient de l'image à échelle 1/2. Si le sinus est compris entre 0,375 et 0,1875, le pixel affecté provient de l'image à échelle 1/4. Si le sinus est compris entre 0,1875 et 0,09375, le pixel affecté provient de l'image à échelle 1/8. Si le sinus est inférieur à 0,09375, le pixel affecté provient de l'image à échelle 1/16. La présente invention sera mieux comprise et d'autres avantages apparaîtront à la lecture de la description détaillée d'un mode de réalisation pris à titre d'exemple nullement limitatif et illustré par les dessins annexés, sur lesquels :
- la figure 1 montre un exemple d'image bidimensionnelle pleine échelle;
- la figure 2 montre un exemple correspondant d'images bidimensionnelles à échelles réduites;
- la figure 3 est un schéma de la reconstruction tridimensionnelle cylindrique; et - la figure 4 est une vue schématique d'un dispositif selon un aspect de l'invention.
Sur la figure 1, est illustré un exemple d'une image bidimensionnelle à pleine échelle, ici sur 512 x 256 pixels.
Sur la figure 2, on voit que dans un format prédéterminé représenté par le rectangle 2, on a disposé l'image 1 à pleine échelle, une image 3 à échelle 1/2, une image 4 à échelle 1/4, une image 5 à échelle 1/8, une image 6 à échelle 1/16 et une image 7 à échelle 1/32. En passant de l'une de ces images à l'image de format réduit immédiatement suivante, on voit que l'échelle s'applique à la fois à la largeur et à la hauteur de l'image et que la quantité de pixels, c'est-à-dire la quantité de données, est réduite d'un facteur 4 à chaque fois que l'on passe d'une échelle 1/2 de puissance x à l'échelle 1/2 à la puissance x+1.
Les images 3 à 7 de format réduit sont générées à partir de l'image 1 par filtrage. Le filtrage peut être du type où l'on prend un pixel sur quatre, par exemple une ligne sur deux et une colonne sur deux, ou encore du genre où l'on calcule une moyenne de pixels adjacents, ou encore une moyenne pondérée d'un plus grand nombre de pixels. Ainsi, l'image 3 est générée par filtrage de la figure 1.
L'image 4 est générée par filtrage de la figure 3, opération qui peut être effectuée quatre fois plus vite que le filtrage de la figure 1 le nombre de pixels étant quatre fois plus faible, et ainsi de suite. Il en découle que la durée du filtrage des images 3 à 6 pour générer respectivement les images 4 à 7, est de l'ordre du tiers de la durée du filtrage de l'image 1 pour générer l'image 3. Si l'on utilise un facteur de réduction de l'échelle plus élevé, par exemple 3, ladite durée est encore plus réduite, par exemple de l'ordre de 12,5%. Les images 1 et 3 à 7 sont disposées ici les unes à la suite des autres à partir de la première colonne et de la première ligne laissée libre par les images de rang supérieur. L'adressage qui permet de récupérer lesdites images est donc particulièrement simple.
Cette vidéo est ensuite transmise selon un protocole vidéo standard ITU-RBT.656 vers un opérateur de rendu 3D, analogue aux accélérateurs graphiques issus du monde PC.
Toutefois, pour un rangement en mémoire optimal et permettant donc de réduire l'espace-mémoire utilisé, on pourrait prévoir de disposer l'image 4 en dessous de l'image 1 et à droite de l'image 3, en d'autres termes à partir de la première ligne laissée libre par l'image 1 et de la première colonne laissée libre par l'image 3, et ainsi de suite.
En d'autres termes, on ajoute un contrôleur 3D dans un terminal numérique afin d'en tirer le maximum, en termes de qualité d'image, lorsque celui-ci manipule une vidéo animée (par exemple : changements de programmes avec effets 3D de transition : tourné de page, explosion, déchirement, ... ) .
Sur la figure 3, est représenté un cylindre 8 d'axe vertical dans le plan du dessin et sur lequel on projette des pixels pour obtenir une image tridimensionnelle. Le cylindre est ici divisé en rectangles élémentaires dont la surface apparente est maximale lorsque le rectangle est dans le plan du dessin, c'est-à-dire parallèle à l'écran sur lequel sera visualisée l'image, en d'autres termes la normale du rectangle est dirigée vers l'utilisateur de l'image et d'autant plus faible que le rectangle présente un angle élevé par rapport au rectangle précédemment décrit, en d'autres termes que la normale du rectangle se rapproche d'un plan parallèle à l'écran de visualisation.
On définit sur la surface du cylindre 8, des zones 9 à 12 selon ce critère, la zone 9 comprenant les rectangles élémentaires sensiblement parallèles au plan de l'écran de visualisation et la zone 12 comprenant des rectangles élémentaires sensiblement orthogonaux audit plan de visualisation. On aurait pu prévoir une répartition en un plus grand nombre de zones. Toutefois, pour la clarté de l'image, on les a ici limitées à quatre. La zone 9 est remplie avec des pixels à échelle 1/1 provenant de l'image 1. La zone 10 est remplie avec des pixels de coordonnées correspondant à l'échelle 1/2 de l'image 3. La zone 1 1 est remplie avec des pixels de coordonnées correspondant à l'échelle 1/4 de la zone 4, et la zone 12 est remplie avec des pixels de coordonnées correspondant à l'échelle 1/8 provenant de la zone 5, et ainsi de suite si un plus grand nombre de
zones est prévu.
Le dispositif de traitement illustré sur la figure 4 comprend un terminal numérique 15 pourvu d'un port d'entrée 16, d'un port de sortie vidéo 17 et de ports de communication 18, 19 et 20, une unité centrale 21 apte à communiquer avec le port 18 du terminal numérique 15 et une unité de traitement auxiliaire tridimensionnelle 22 apte à communiquer, d'une part avec l'unité centrale 21 et, d'autre part avec le terminal numérique 15 par l'intermédiaire du port d'entrée 19 et du port de sortie 20.
Le port de sortie 17 du terminal numérique 15 sera généralement relié à un écran vidéo 23, par exemple à moniteur de télévision, notamment du genre à balayage entrelacé. De façon optionnelle, l'unité auxiliaire 22 peut être pourvue d'une sortie au standard VGA, non représenté.
A partir d'un flot de données relatives à des images bidimensionnelles arrivant sur le port d'entrée 16, le terminal numérique
15 génère un fichier image du type de la figure 2 et l'envoie par le port de sortie 20 à l'unité auxiliaire 22. L'unité centrale 21 reçoit par l'intermédiaire du terminal numérique 15 le flot de données entrant et effectue le calcul géométrique, c'est-à-dire pour chaque surface élémentaire, le calcul de l'angle du vecteur normal à ladite surface et l'envoie à l'unité auxiliaire 22.
L'unité auxiliaire 22 effectue alors l'assemblage de l'image tridimensionnelle selon ce qui a été expliqué en référence à la figure 3. Connaissant l'angulation du vecteur normal à une surface élémentaire, l'unité auxiliaire 22 détermine quelle image réduite ou non doit être utilisée et affecte le pixel correspondant à ladite surface élémentaire. L'image tridimensionnelle prête à afficher est renvoyée au terminal numérique 15 qui la renvoie par son port de sortie 17 à l'écran 23.
L'invention s'applique particulièrement à la génération d'effets de transition entre deux applications, par exemple un effet de tourné de page. Elle permet de doter une séquence vidéo télédiffusée, et donc non stockée au préalable chez l'utilisateur d'une qualité d'image très élevée, comparable à celle des jeux vidéo mis en oeuvre sur des consoles dédiées et dont les images sont stockées dans une mémoire de la console. En amont du terminal numérique 15 de la figure 4, peut être
prévu un décodeur, par exemple du type MPEG et/ou dédié au désembrouillage 7, lui-même précédé d'un démodulateur.
Plus particulièrement, on prévoira de doter le terminal numérique 15 d'un module de traitement de blocs de bits également appelé "blitter", référencé 24 sur la figure 4, et permettant d'effectuer les étapes de filtrage qui sont nécessités par la génération d'images à échelle réduite. En sortie du blitter, on viendra disposer les images de format réduit dans une mémoire selon un adressage particulier, par exemple de façon que les images 3 à 7 soient rangées comme illustré sur la figure 2.