WO2006040270A2 - Procede de decodage local d'un train binaire de coefficients d'ondelettes - Google Patents

Procede de decodage local d'un train binaire de coefficients d'ondelettes Download PDF

Info

Publication number
WO2006040270A2
WO2006040270A2 PCT/EP2005/054951 EP2005054951W WO2006040270A2 WO 2006040270 A2 WO2006040270 A2 WO 2006040270A2 EP 2005054951 W EP2005054951 W EP 2005054951W WO 2006040270 A2 WO2006040270 A2 WO 2006040270A2
Authority
WO
WIPO (PCT)
Prior art keywords
wavelet
orientation
coefficient
coefficients
wavelet coefficient
Prior art date
Application number
PCT/EP2005/054951
Other languages
English (en)
Other versions
WO2006040270A3 (fr
Inventor
Patrick Gioia
Loïc BOUGET
Original Assignee
France Telecom
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 France Telecom filed Critical France Telecom
Priority to US11/665,136 priority Critical patent/US8086054B2/en
Priority to EP05792261A priority patent/EP1800263A2/fr
Publication of WO2006040270A2 publication Critical patent/WO2006040270A2/fr
Publication of WO2006040270A3 publication Critical patent/WO2006040270A3/fr

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T9/00Image coding
    • G06T9/001Model-based coding, e.g. wire frame
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T17/00Three dimensional [3D] modelling, e.g. data description of 3D objects
    • G06T17/20Finite element generation, e.g. wire-frame surface description, tesselation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T9/00Image coding
    • G06T9/40Tree coding, e.g. quadtree, octree

Definitions

  • the field of the invention is that of encoding images and objects in at least three dimensions. More precisely, the invention relates to the transmission of data representative of three-dimensional scenes or 3D objects, as well as their decoding, with a view to their subsequent reconstruction on a display screen. It can for example be used for the transmission of images or multimedia scenes via the Internet.
  • the invention finds particular applications in the field of adaptive representation of scenes (or scene objects) in three dimensions (3D) represented by meshes.
  • the general principle of this technique is to develop a homeomorphism between an object to be encoded (such as a 3D mesh for example) and a simple mesh (more generally called “basic mesh") in a base of particular functions, called wavelets of second generation.
  • a mesh is therefore represented by a series of coefficients that correspond to the coordinates in a wavelet basis of a parameterization of this mesh by a simple polyhedron.
  • an object coded according to such a technique is presented as the union of the two following elements: the basic mesh, which generally has few facets, and represents a coarse version of the object to be encoded; the wavelet coefficients, which are triplets of real numbers assigned simultaneously to a specific area of the base mesh and to a given subdivision level of this mesh. These wavelet coefficients represent the refinements to be made to the zone with which they are associated to converge towards the geometry of the initial object.
  • wavelet coefficient encoding techniques are known for their transmission to the display terminal, among which the so-called "zero-tree" coding technique presents particularly interesting results in terms of compression.
  • Such a technique consists in describing a coding order of the wavelet coefficients, which is predetermined and known in advance of the transmitter and receiver terminals (for example of a server and a client display terminal). It thus makes it possible, during the transmission of wavelet coefficients, to avoid transmitting information relating to the ranges of coefficients which are not significant for the coding of the object under consideration. The cancellation of the non-significant coefficients thus makes it possible to reach a satisfactory level of compression.
  • the zero-tree coding techniques advantageously exploit the fact that the wavelet coefficients have, at the finest levels of detail, a smaller amplitude than the wavelet coefficients associated with the coarser subdivision levels.
  • Such "zero-tree" encodings are generally coupled to a coding
  • bit plane which allows, when transmitting the coefficients, to transmit the most significant bits of each coefficient first. This satisfies the progressivity requirements of the coding technique.
  • the "zero-tree" coding / decoding algorithm also called SPIHT algorithm (for "Set Partitioning in Hierarchical Trees") makes it possible to obtain a global binary representation. of the set of wavelet coefficients, which contains sort bits and bits from the binary representation of the coefficients.
  • this SPIHT algorithm Applied to the coding of two-dimensional wavelet images, this SPIHT algorithm, during decoding, reconstructs the hierarchy of the pixels of the image and distributes the bits as they are extracted from the bitstream.
  • the SPIHT algorithm originally developed for two-dimensional image coding, has recently been applied to second-generation wavelet coefficients as described in the "Progressive" publications.
  • the inventors of the present patent application have established that its adaptation to the second generation wavelets retained this requirement; thus, in the case of partial or adaptive transmission of the data, the decoding of some wavelet coefficients requires storage in memory of the entire hierarchy of the mesh associated with the 3D object or the multimedia scene that is to be reconstructed.
  • the SPIHT algorithm applied to 3D objects coded by wavelet second generation, therefore has severe limitations in the case where it is desired to perform adaptive decoding of the transmitted object.
  • adaptive decoding proves particularly interesting for many applications, such as, for example, adaptive "streaming" of geographic terrain (in French "streaming”).
  • a user interactively visits a virtual geographical area, transmitted by a server over a communication network, such as the Internet for example.
  • the server transmits to the display terminal only the data that may be seen by the latter.
  • the relevance of the data is determined in particular according to the point of view of the user, his position in the virtual scene, or a specific request sent by the latter to the server, ...
  • Another disadvantage of the SPIHT algorithm of the prior art, in the context of the coding of 3D objects by second generation wavelets, is of algorithmic order.
  • the two phases of the reconstruction of a scene or a 3D object, from a bit stream (or "bitstream"), to obtain a 3D mesh are as follows : “zero-tree” decoding, which, from the bit stream of data, produces wavelet coefficients; and the inverse wavelet transform, which, from the wavelet coefficients extracted from the bit stream, produces a 3D mesh.
  • the wavelet coefficients 15, after "zero-tree" decoding are stored in a cache 10, accompanied by a location information, expressed for example in the form of barycentric coordinates.
  • F, A, B, C a facet of the basic mesh on which is the vertex indexing the wavelet coefficient
  • A, B and C are barycentric coordinates of the vertex on the facet F.
  • 3D is therefore that the reconstruction process 11 is dependent on the stopping of the decoding process 13. In other words, it is not possible to carry out an adaptive reconstruction of the only portion of the 3D object likely to interest the user as the entire bit stream 14 has not been decoded 13.
  • Such a SPIHT technique does not allow particular adaptive visualization in real time objects or 3D scenes.
  • an object of the invention is to provide a decoding technique of a data stream representative of a 3D object that allows reconstruction of the 3D object faster than according to the prior art, in particular the SPIHT algorithm.
  • An objective of the invention is in particular to propose such a decoding technique that allows an adaptive visualization in real time of a 3D object.
  • Another object of the invention is to provide such a decoding technique that allows space saving in memory size compared to prior techniques. More precisely, an object of the invention is to propose such a decoding technique that does not require storing in an intermediate structure the entirety of the decoded data before the beginning of the reconstruction phase of the representation of the 3D object.
  • the invention also aims to provide such a decoding technique that allows a partial reconstruction of the 3D object, according to the wishes of a user.
  • Another object of the invention is to propose such a decoding technique that makes it possible to decode a bit stream of wavelet coefficients by a process independent of the reconstruction of the representation of the 3D object or the associated multimedia scene.
  • such a method implements the following steps: determining an orientation of an edge carrying said vertex indexing said wavelet coefficient, called the orientation of said wavelet coefficient; determining, according to said orientation, location information in said base mesh of at least one descendant of said wavelet coefficient, distinct location rules being associated with each orientation, so as to extract from said data stream at least some of said wavelet coefficients, each associated with location information.
  • the invention is based on a completely new and inventive approach to the decoding of a bit stream containing wavelet coefficients, allowing the reconstruction of a 3D object or a multimedia scene.
  • the invention proposes, as the decoding of the bitstream, to determine, for each wavelet coefficient, location information of its descendants, or son. In this way, these coefficients can be directly used during the reconstruction of the 3D object. It is therefore no longer necessary to have decoded the entire bit stream to be able to have the location information associated with each of the wavelet coefficients, and thus to begin the reconstruction of the representation of the 3D object, by applying the wavelet coefficients decoded at the basic mesh.
  • the location information associated with the wavelet coefficients and their descendants is thus calculated during the decoding, as a function of the orientation of the edge of the base mesh that carries the vertex indexing the wavelet coefficient.
  • we determine the orientation of a parent wavelet coefficient and we deduce what is the calculation rule to be applied to determine the location information of one of his descendants, as more in detail later in this document. Since such decoding makes it possible to directly access the wavelet coefficients of the bit stream, associated with information making it possible to locate them in the basic mesh, the invention makes it possible to carry out an adaptive reconstruction in real time of the object. 3D thus coded.
  • said method implements a step of modifying said affine base, so that said information of localization expressed in said modified affine base satisfies said at least one criterion.
  • such a decoding method also comprises, for said at least one descendant, a subsequent step of reducing said location information.
  • Such a reduction step makes it possible, on the one hand, to have uniqueness of the location information of a wavelet coefficient at the output of the decoding method and, on the other hand, to reduce as much as possible the memory space occupied by this location information.
  • said wavelet coefficients are coded according to a zero-tree type technique, in said bit stream.
  • said location information comprises four parameters (F (n), A (n), B (n), C (n)), where F (n) is a facet of said base mesh on which is said vertex indexing said coefficient of wavelets, and wherein A (n), B (n) and C (n) are integer multiples of barycentric coordinates of said vertex on said facet F (n).
  • the affine base in which the location information is expressed thus corresponds to the facet of the mesh in which the barycentric coordinates of the vertex indexing the wavelet coefficient are expressed.
  • such a decoding method comprises a preliminary step of initialization of said location information, during which said parameters (F (n), A (n), B (n) , C (n)) the value zero.
  • a (n) 2 * A (m) + l
  • a (n) 2 * A (m) + l
  • C (n) 2 * C (m) -2; where m denotes the index of said wavelet coefficient and n denotes the index of said descendant.
  • said location information does not satisfy said at least one predetermined criterion if said vertex indexing said wavelet coefficient is located on an edge of said basic mesh.
  • said location information does not satisfy said at least one predetermined criterion if at least one of the parameters A (n), B (n) and C (n) of said wavelet coefficient is negative. Indeed, when a vertex is located on an edge of the mesh, at least one of its barycentric coordinates is negative.
  • said parameters A (n), B (n) and C (n) are divided by two, as long as said parameters A (n), B (n) and C (n) are all peers.
  • such a decoding method also comprises, for each of said wavelet coefficients extracted from said data stream, a subsequent step of storage in a cache of said wavelet coefficient and said associated reduced location information, so as to what said stored wavelet coefficients may be used during a step of reconstructing said at least three-dimensional object implementing an inverse wavelet transform.
  • the wavelet coefficients associated with information for locating them in the basic mesh are stored directly in the cache.
  • such a decoding method is implemented in the context of an algorithm for sorting the wavelet coefficients of said data stream of SPIHT type ("Set Partitioning In Hierarchical Trees", in French “partitioning of sets in hierarchical trees ").
  • the invention also relates to a device for decoding a data stream representative of an object having at least three dimensions, said object being associated with a basic mesh consisting of a set of facets defined by a set vertices and edges, and coefficients in a wavelet basis corresponding to local modifications of said basic mesh, said wavelet coefficients, each wavelet coefficient being indexed by a vertex of said basic mesh, said train of data comprising at least some of said wavelet coefficients.
  • such a decoding device implements the following means: means for determining an orientation of an edge carrying said vertex indexing said coefficient of wavelets, referred to as the orientation of said wavelet coefficient; means for determining, according to said orientation, location information in said basic mesh of at least one descendant of said wavelet coefficient, distinct location rules being associated with each orientation, so as to extract said data stream at least some of said wavelet coefficients, each associated with location information.
  • the invention also relates to a terminal for restoring an object to at least three dimensions, said object being associated with a basic mesh consisting of a set of facets defined by a set of vertices and edges, and coefficients in a wavelet basis corresponding to local modifications of said basic mesh, called wavelet coefficients, each wavelet coefficient being indexed by a vertex of said basic mesh, said terminal comprising means for receiving a data stream representative of said object comprising at least some of said wavelet coefficients.
  • such a restitution terminal implements the following means: means for determining an orientation of an edge carrying said vertex indexing said coefficient of wavelets, referred to as the orientation of said wavelet coefficient; means for determining, according to said orientation, a location information in said base mesh of at least one descendant of said wavelet coefficient, distinct location rules being associated with each orientation, and in that said terminal includes means for cache storage of said wavelet coefficients , each associated with location information, and means for reconstructing said at least three-dimensional object implementing an inverse wavelet transform.
  • the invention further relates to a computer program product comprising program code instructions recorded on a medium usable in a computer, and for decoding a data stream representative of an object having at least three dimensions, said object being associated with a basic mesh consisting of a set of facets defined by a set of vertices and edges, and coefficients in a wavelet basis corresponding to local modifications of said basic mesh, called wavelet coefficients each wavelet coefficient being indexed by a vertex of said base mesh, said data stream comprising at least some of said wavelet coefficients.
  • such a computer program product comprises computer readable programming means for performing, for at least some wavelet coefficients of said data stream: a step of determining an orientation of an edge carrying said vertex indexing said wavelet coefficient, referred to as the orientation of said wavelet coefficient; a step of determining, according to said orientation, location information in said base mesh of at least one descendant of said wavelet coefficient, distinct location rules being associated with each orientation, so as to extract from said train at least some of said wavelet coefficients, each associated with location information.
  • FIG. 2 illustrates, according to the prior art, the hierarchical structure of an image in the context of the SPIHT algorithm for the coding of two-dimensional images
  • FIG. 3 describes, according to the invention, the hierarchical structure of a mesh in the context of the application of the SPIHT algorithm to the coding of semi-regular meshes (associated with 3D objects)
  • FIG. 4 presents a flowchart of the SPIHT algorithm of the prior art
  • FIG. 5 illustrates the different steps implemented in the method of decoding a bit stream according to the invention
  • Figure 6 illustrates the notion of orientation, as defined and used throughout this document. 7. Description of an embodiment of the invention
  • the general principle of the invention is based on the direct determination, during the decoding of a bit stream, of the location information associated with a wavelet coefficient and its descendants, as a function of the orientation, in the basic mesh. , of the edge with which the father coefficient is associated.
  • FIGS. 2 and 4 the technique of the SPIHT algorithm, presented by A. Said and WA Pearlman in "A New, Fast, and Efficient Coded Image". Based on Set Partitioning in Hierarchical Trees "for the coding of 2D images.
  • Figure 2 shows the hierarchical structure of a two-dimensional image used in the SPIHT algorithm of the prior art.
  • a tree structure, or tree defines the spatial relationships in the hierarchical pyramid associated with the image.
  • Figure 2 shows such a tree in the case of a pyramid constructed by recursively dividing the 2D image into 4 subbands.
  • Each node of the tree corresponds to a pixel of the image and is identified by the coordinates of the pixel in the image. His direct descendants correspond to pixels of the same spatial position in the next level of sophistication of the pyramid.
  • the tree is defined in such a way that each node has either no descendants or four descendants, which always form a group of adjacent 2x2 pixels.
  • the arrows are oriented from the parent node to its four sons.
  • the pixels of the highest level of the pyramid form the roots of the tree, and are also grouped into sets of 2x2 adjacent pixels.
  • the pixel referenced 201 of the level of subdivision 20 of the image has four son pixels referenced 211 to 214 in the next level of subdivision 21.
  • the son referenced 212 itself has four descendants referenced 221 to 224 in the level of next subdivision of the hierarchical pyramid.
  • FIG. 4 presents a flow diagram of the SPIHT decoding algorithm of the bit stream (or "bitstream"), making it possible, for a 2D image, to pass from the bitstream to a set of wavelet coefficients.
  • bitstream or "bitstream”
  • the detailed algorithm can be found in the article by A. Said and WA Pearlman in “A New, Fast, and Efficient Image Coded Based on Partitioning in Hierarchical Trees” (IEEE Trans. 6 (3), June 1996).
  • the principle of this algorithm is based on the use and management of three ordered lists, in which the relevance information relating to each pixel of the image is stored; these three lists are: the list LIS 41 of non-significant sets (List of Insignificant Sets); the LIP 40 list of non-significant pixels (List of Insignificant Pixels); the LSP 42 list of significant pixels (List of Significant Pixels).
  • the LSP 42 is initialized to the empty list, the LIS 41 and the LIP 40 are initialized to all the roots of the hierarchy of FIG. 2.
  • the LIP list 40 is then scanned for all the pixels that are not significant for rendering the image, and 401 is determined if, taking into account the relevance threshold associated with this level of subdivision, the coefficient d wavelet associated with one of these pixels must now be considered relevant. In the negative 402, this pixel is left in the LIP 40 list.
  • the value of the wavelet coefficient is sent, and the pixel is moved in the list LSP 42.
  • the LIS 41 list of sets of non-significant pixels.
  • the wavelet coefficient associated with a pixel When the wavelet coefficient associated with a pixel is considered relevant, its direct descendants are searched in the hierarchy to determine whether or not they are equally relevant, and therefore decide whether to move 413, 412 in the hierarchy.
  • LSP 42 or LIP 40 list When the wavelet coefficient associated with a pixel is considered relevant, its direct descendants are searched in the hierarchy to determine whether or not they are equally relevant, and therefore decide whether to move 413, 412 in the hierarchy.
  • LSP 42 or LIP 40 list When the wavelet coefficient associated with a pixel is considered relevant, its direct descendants are searched in the hierarchy to determine whether or not they are equally relevant, and therefore decide whether to move 413, 412 in the hierarchy.
  • LSP 42 or LIP 40 list When the wavelet coefficient associated with a pixel is considered relevant, its direct descendants are searched in the hierarchy to determine whether or not they are equally relevant, and therefore decide whether to move 413, 412 in the hierarchy.
  • the set of wavelet coefficients associated with the pixels of the LSP list 42 are extracted, and sent 420 in the form of refinement bits, to be used during the reconstruction of the image.
  • the present invention is in the context of the application of this SPIHT algorithm to 3D objects encoded by meshes and wavelets of second generation (it is recalled that a wavelet is called "second generation” if it is a wavelet allowing the coding of semi-regular meshes, as opposed to the classical wavelets which encode the pixels of a 2D image).
  • FIG. 3 illustrates the hierarchical structure used in this framework for meshing.
  • Each wavelet coefficient is associated bijectively with an edge of the base mesh, and is indexed by the vertex forming the middle of this edge.
  • the middle of each edge is therefore associated with a wavelet coefficient, which is the root of a subtree.
  • Each edge of the base mesh is the parent of four edges of the same orientation (i.e. parallel to it) in the directly adjacent refined mesh in the hierarchical subdivision order.
  • the wavelet coefficient associated with the vertex C, middle of [IJ], has four descendants, or sons, which are respectively associated with the following vertices:
  • a wavelet coefficient of index n in the coefficient table is identified, in such a hierarchical mesh, by four parameters, given by four functions F (n), A (n), B (n) and C (n).
  • the first function indicates a facet of the base mesh on which is the vertex indexing the coefficient.
  • the other three coefficients A (n), B (n) and C (n) are the smallest integer multiples of the barycentric coordinates of this vertex on the facet F (n).
  • the basic mesh is a mesh having few facets and which is intended to be refined according to the information carried by the coefficients of wavelets.
  • the invention consists in modifying this algorithm so that each time that a test is made on the descendants of a coefficient of wavelets, one proceeds in the manner next: if at least one of the descendants does not exist in the cache 10 of FIG. 1, it is created in memory and it is assigned location information in the base mesh, which is determined according to the algorithm presented below in connection with FIG.
  • these coefficients can thus be directly used during the 3D reconstruction. Indeed, as soon as these wavelet coefficients are extracted from the bitstream and decoded, they are directly registered in the cache 10, so that they are directly usable for the reconstruction 11 of the 3D object 12. Thanks to the using a "zero-tree" coding technique, only part of the bitstream 14 corresponding to the visually relevant areas of the 3D object 12 can be decoded from a user's point of view. In particular, the client user can ask a server to send him only the bits of bitstream 14 corresponding to the subtrees, or "zero-tree", whose root is a visible edge of the mesh zone which interested.
  • the cache 10 then contains only the wavelet coefficients 15 relevant for the reconstruction 11.
  • the location information associated with the wavelet coefficients takes the form of the quadruplet
  • the invention consists, during the decoding of the bit stream, in performing tests on the progeny of the wavelet coefficients, in order to locate the entire hierarchy as a function of the quadruplets (F, A, B, C) of the descendants. It thus makes it possible to perform the maintenance of the cache 10, and the association of the wavelet coefficients with their barycentric coordinates. In other words, the invention makes it possible to directly manage the hierarchy of wavelet coefficients in a cache used for the reconstruction.
  • FIG. 5 The different steps of the decoding algorithm of the invention are now presented in greater detail in connection with FIG.
  • a bit stream which contains at least the zero-tree encoded wavelet coefficients associated with a multimedia scene or a 3D object (for example a relief of field, or a 3D avatar evolving in a virtual environment).
  • the steps of FIG. 5 are repeated for each of the subtrees or "zero-trees" that one wishes to decode. For example, we first look at a first subtree, whose root is a parent node of the basic mesh, index m.
  • a first initialization step referenced 50 the new coordinates F (n), A (n), B (n) and C (n) are initialized to 0, where n is the index of the descendant of the node m. whose coordinates are to be determined.
  • a second referenced orientation step 51 the orientation of the wavelet coefficient indexed by the node of index m is determined according to the formula:
  • the mesh comprises three types of distinct edges: the edges referenced 60, which are parallel to (KJ), and whose orientation is 1; the referenced edges 61, which are parallel to (JI), and whose orientation is 2; the edges referenced 62, which are parallel to (KI), and whose orientation is 3.
  • the coordinates of the first son C 0 are calculated according to the formulas:
  • a (n) 2 * A (m) -1
  • the coordinates of the third son C 2 are calculated according to the formulas:
  • a (n) 2 * A (m) -1
  • a (n) 2 * A (m) -1
  • a wavelet coefficient has less than four descendants, for example if it is located on one edge of the mesh. It can be determined that one is on an edge of the mesh if the parent edge of level 0 is traversed only once in the basic mesh.
  • the first son C 0 of the wavelet coefficient C of level j is indexed by the level vertex (j + 1) which has the mother edge [aC], where C is the middle of the ridge [ab].
  • the second son C 1 of C is indexed by the level vertex (j + 1) which has the mother edge [bC].
  • C belongs to at least 6 level faces (J + I) 5 , two of which have for their only intersection with the mother vertex [ab] the vertex C. These two faces have two potentially mother edges which do not contain C
  • the third son C 2 is such that abC 2 is oriented in the same direction as KJI.
  • the fourth son C 3 is such that abC 3 is oriented in the other direction.
  • this affine base change step 53 the objective of this affine base change step 53 is to find a face F of the mesh in which all the associated barycentric coordinates A, B and C are positive or zero.
  • Each affine base being associated with one face of the mesh, an affine base change therefore amounts to effecting a face change.
  • a (n), B (n) and C (n) are indeed the smallest integer multiples of the barycentric coordinates ⁇ , ⁇ and ⁇ , which makes it possible to on the one hand, to have uniqueness of the output solution 55 of the algorithm of FIG. 5, and on the other hand, to reduce as much as possible the memory space occupied by these coordinates (for example in the cache 10 ).
  • the algorithm of FIG. 5 can be reiterated for each of the subtrees of the bitstream that it is desired to decode. It makes it possible to follow the coordinates of the wavelet coefficients and their descendants during the course of the SPIHT type algorithm of FIG. 4, so as to minimize the memory space used and the management of the processes using a single memory cache .
  • the invention is particularly applicable to the decoding of binary trains representative of terrain reliefs, as part of the transmission and reconstruction of large virtual environments. It is recalled that, in this context, various topographic surveys are carried out, which make it possible to construct the basic mesh, and aerial photographs are used to determine the texture to be associated with this basic mesh, with a view to determining the coefficients of gravity. wavelet.

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Multimedia (AREA)
  • Computer Graphics (AREA)
  • Geometry (AREA)
  • Software Systems (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)

Abstract

L'invention concerne un procédé de décodage d'un train de données représentatives d'un objet à au moins trois dimensions, associé à un maillage de base constitué d'un ensemble de facettes définies par un ensemble de sommets et d'arêtes, et à des coefficients d'ondelettes correspondant à des modifications locales du maillage de base, indexés chacun par un sommet du maillage de base. Selon l'invention, pour au moins certains coefficients d'ondelettes du train de données, un tel procédé met en oeuvre les étapes suivantes : détermination d'une orientation d'une arête portant le sommet indexant le coefficient d'ondelettes, appelée orientation du coefficient d'ondelettes ; détermination, en fonction de l'orientation, d'une information de localisation dans le maillage de base d'au moins un descendant du coefficient d'ondelettes, des règles de localisation distinctes étant associées à chaque orientation, de façon à extraire du train de données au moins certains des coefficients d'ondelettes, associés chacun à une information de localisation.

Description

Procédé de décodage local d'un train binaire de coefficients d'ondelettes. 1. Domaine de l'invention
Le domaine de l'invention est celui du codage d'images et d'objets à au moins trois dimensions. Plus précisément, l'invention concerne la transmission de données représentatives de scènes tridimensionnelles ou d'objets 3D, ainsi que leur décodage, en vue de leur reconstruction ultérieure sur un écran de visualisation. Elle peut par exemple être utilisée pour la transmission d'images ou de scènes multimédia via le réseau Internet.
L'invention trouve notamment des applications dans le domaine de la représentation adaptative de scènes (ou d'objets de scène) en trois dimensions (3D) représentées par des maillages.
Elle s'inscrit plus particulièrement dans le cadre du décodage et de la représentation d'objets d'une scène graphique codés par maillages au moyen de méthodes dites "à ondelettes", mettant notamment en œuvre des ondelettes de 2ème génération, présentées dans le document de Wim Sweldens, intitulé "The Lifting Scheme : A Construction of Second Génération Wavelets" (en français, "Le procédé d'élévation : une construction des ondelettes de deuxième génération"), SIAM Journal on Mathematical Analysis, Volume 29, number 2, pp 511-546, 1998. 2. Solutions de l'art antérieur
On rappelle que les méthodes de codage dites "à ondelettes" permettent de représenter un maillage comme une succession de détails ajoutés à un maillage de base. La théorie générale de cette technique est notamment décrite dans l'article de M. Lounsbery, T. DeRose et J. Warren, "Multiresolution Analysis for Surfaces of Arbitrary Topological Type" (ACM Transaction on Graphics, Vol. 16, No.1, pp. 34-73, Janvier 1997).
Le principe général de cette technique consiste à développer un homéomorphisme entre un objet à coder (tel qu'un maillage 3D par exemple) et un maillage simple (plus généralement appelé "maillage de base") dans une base de fonctions particulières, appelées ondelettes de deuxième génération. Selon cette technique, un maillage est donc représenté par une suite de coefficients qui correspondent aux coordonnées dans une base d'ondelettes d'une paramétrisation de ce maillage par un polyèdre simple.
Ainsi, un objet codé selon une telle technique se présente comme l'union des deux éléments suivants : le maillage de base, qui comporte généralement peu de facettes, et représente une version grossière de l'objet à coder ; les coefficients d'ondelettes, qui sont des triplets de réels affectés simultanément à une zone précise du maillage de base et à un niveau de subdivision donné de ce maillage. Ces coefficients d'ondelettes représentent les raffinements à apporter à la zone à laquelle ils sont associés pour converger vers la géométrie de l'objet initial.
Pour pouvoir reconstruire une représentation de l'objet codé sur un terminal de visualisation, il est nécessaire de transmettre à ce dernier, d'une part le maillage de base, et d'autre part les coefficients d'ondelettes associés.
On connaît plusieurs techniques de codage des coefficients d'ondelettes, en vue de leur transmission vers le terminal de visualisation, parmi lesquelles la technique de codage dite de "zero-tree" présente des résultats particulièrement intéressants en termes de compression. Une telle technique consiste à décrire un ordre de codage des coefficients d'ondelettes, qui est prédéterminé et connu à l'avance des terminaux émetteur et récepteur (par exemple d'un serveur et d'un terminal de visualisation client). Elle permet donc, lors de la transmission de coefficients d'ondelettes, d'éviter de transmettre des informations relatives aux plages de coefficients non- significatifs pour le codage de l'objet considéré. L'annulation des coefficients non- significatifs permet ainsi d'atteindre un niveau de compression satisfaisant.
Les techniques de codage par "zero-tree" exploitent avantageusement le fait que les coefficients d'ondelettes présentent, aux niveaux de détail les plus fins, une amplitude plus faible que les coefficients d'ondelettes associés aux niveaux de subdivision plus grossiers.
De tels codages par "zero-trees" sont généralement couplés à un codage
"par plan de bits", qui permet, lors de la transmission des coefficients, de transmettre les bits les plus significatifs de chaque coefficient en premier. On satisfait ainsi aux exigences de progressivité de la technique de codage.
Pour une description plus détaillée des techniques par "zero-trees", on pourra se référer aux articles de Jérôme M. Shapiro, "Embedded Image Coding
Using Zerotrees of Wavelet Coefficients" (IEEE Trans. Sig. Proc. 41(12), Dec.1993) et de A. Said, W. A. Pearlman, "A New, Fast, and Efficient Image
Codée Based on Set Partitioning in Hierarchical Trees" (IEEE Trans. Cire.
Système. For Video Tech., 6(3), Juin 1996).
Comme exposé dans ce dernier article de A. Said et W. A. Pearlman, l'algorithme de codage/décodage par "zero-tree", encore appelé algorithme SPIHT (pour "Set Partitioning in Hierarchical Trees") permet d'obtenir une représentation binaire globale de l'ensemble des coefficients d'ondelettes, qui contient des bits de tri et des bits provenant de la représentation binaire des coefficients. Appliqué au codage d'images bidimensionnelles par ondelettes, cet algorithme SPIHT, lors du décodage, reconstruit la hiérarchie des pixels de l'image et distribue les bits au fur et à mesure de leur extraction du train binaire, ou "bitstream".
L'algorithme SPIHT, initialement développé pour le codage d'images bidimensionnelles, a récemment été appliqué aux coefficients d'ondelettes de deuxième génération, ainsi que décrit dans les publications "Progressive
Geometry Compression" (SIGGRAPH 2000 proceedings) par A. Khodakovsky, P. Schrôder et W. Sweldens, et "Hierarchical Coding of 3D Models with Subdivision
Surfaces" (IEEE ICIP 2000 Proceedings) par F. Moran et N. Garcia.
On obtient ainsi, pour des ondelettes de deuxième génération, un train binaire présentant le même type de format que pour des ondelettes classiques, utilisées pour le codage d'images bidimensionnelles. 3. Inconvénients de l'art antérieur Tel que présenté initialement dans le cadre du codage par ondelettes classiques d'images 2D, par A. Said et W. A. Pearlman dans l'article cité ci- dessus, l'algorithme SPIHT nécessite de tenir en mémoire un tableau de la taille de l'image à reconstruire, c'est-à-dire contenant autant d'éléments que de coefficients d' ondelettes. Les inventeurs de la présente demande de brevet ont établi que son adaptation aux ondelettes de deuxième génération conservait cette exigence ; ainsi, dans le cas de transmission partielle ou adaptative des données, le décodage de quelques coefficients d'ondelettes nécessite le stockage en mémoire de toute la hiérarchie du maillage associé à l'objet 3D ou à la scène multimédia que l'on souhaite reconstruire.
L'algorithme SPIHT, appliqué aux objets 3D codés par ondelettes de deuxième génération, présente donc de sévères limitations dans le cas où l'on souhaite réaliser un décodage adaptatif de l'objet transmis.
Or un tel décodage adaptatif s'avère particulièrement intéressant pour de nombreuses applications, telles que par exemple le "streaming" adaptatif de terrain géographique (en français "lecture en continu"). Dans une telle application, un utilisateur visite de manière interactive une zone géographique virtuelle, transmise par un serveur sur un réseau de communication, tel que le réseau Internet par exemple. En fonction de la zone visitée par l'utilisateur, le serveur ne transmet au terminal de restitution que les données susceptibles d'être vues par ce dernier. La pertinence des données est notamment déterminée en fonction du point de vue de l'utilisateur, de sa position dans la scène virtuelle, ou d'une requête spécifique adressée par ce dernier au serveur, ...
Un premier inconvénient de l'algorithme SPIHT de l'art antérieur, dans le cadre du codage d'objets 3D par ondelettes de deuxième génération, réside donc dans la nécessité de devoir tenir en mémoire la totalité de la hiérarchie du "zero- tree". En effet, un décodage partiel du train binaire nécessite de créer en mémoire la totalité de la structure hiérarchique, alors même qu'une partie de cette structure est destinée à ne contenir que des zéros, seule une partie de la scène codée dans le train binaire étant visible par, ou d'intérêt pour, l'utilisateur. Un autre inconvénient de l'algorithme SPIHT de l'art antérieur, dans le cadre du codage d'objets 3D par ondelettes de deuxième génération, est d'ordre algorithmique.
En effet, lors d'une transmission adaptative, les deux phases de la reconstruction d'une scène ou d'un objet 3D, à partir d'un train binaire (ou "bitstream"), pour obtenir un maillage 3D, sont les suivantes : le décodage "zero-tree", qui, à partir du train binaire de données, produit des coefficients d'ondelettes ; et la transformée en ondelettes inverse, qui, à partir des coefficients d'ondelettes extraits du train binaire, produit un maillage 3D.
De façon classique, et comme illustré en figure 1, les coefficients d'ondelettes 15, après décodage "zero-tree", sont stockés dans un cache 10, accompagnés d'une information de localisation, exprimée par exemple sous la forme de coordonnées barycentriques (F, A, B, C), où F est une facette du maillage de base sur laquelle se trouve le sommet indexant le coefficient d'ondelettes, et où A, B et C sont des coordonnées barycentriques du sommet sur la facette F. Cette information de localisation permet au processus de reconstruction 11 d'intégrer le coefficient d'ondelettes correspondant dans la représentation 3D 12 de façon indépendante. Un inconvénient de la technique SPIHT de l'art antérieur pour les objets
3D est donc que le processus de reconstruction 11 est dépendant de l'arrêt du processus de décodage 13. En d'autres termes, il n'est pas possible de réaliser une reconstruction adaptative de la seule portion de l'objet 3D susceptible d'intéresser l'utilisateur tant que l'intégralité du train binaire 14 n'a pas été décodée 13. Une telle technique SPIHT ne permet donc notamment pas une visualisation adaptative en temps réel d'objets ou de scènes 3D.
4. Objectifs de l'invention
L'invention a notamment pour objectif de pallier ces inconvénients de l'art antérieur. Plus précisément, un objectif de l'invention est de fournir une technique de décodage d'un train de données représentatives d'un objet 3D qui permette une reconstruction de l'objet 3D plus rapide que selon les techniques antérieures, notamment l'algorithme SPIHT. Un objectif de l'invention est notamment de proposer une telle technique de décodage qui permette une visualisation adaptative et en temps réel d'un objet 3D.
Un autre objectif de l'invention est de fournir une telle technique de décodage qui permette un gain de place en taille mémoire par rapport aux techniques antérieures. Plus précisément, un objectif de l'invention est de proposer une telle technique de décodage qui ne nécessite pas de stocker dans une structure intermédiaire l'intégralité des données décodées avant le début de la phase de reconstruction de la représentation de l'objet 3D.
L'invention a encore pour objectif de fournir une telle technique de décodage qui permette une reconstruction partielle de l'objet 3D, en fonction de souhaits d'un utilisateur.
Un autre objectif de l'invention est de proposer une telle technique de décodage qui permette de décoder un train binaire de coefficients d'ondelettes par un processus indépendant de la reconstruction de la représentation de l'objet 3D ou de la scène multimédia associés.
5. Caractéristiques essentielles de l'invention
Ces objectifs, ainsi que d'autres qui apparaîtront par la suite, sont atteints à l'aide d'un procédé de décodage d'un train de données représentatives d'un objet à au moins trois dimensions, ledit objet étant associé à un maillage de base constitué d'un ensemble de facettes définies par un ensemble de sommets et d'arêtes, et à des coefficients dans une base d'ondelettes correspondant à des modifications locales dudit maillage de base, dits coefficients d'ondelettes, chaque coefficient d'ondelettes étant indexé par un sommet dudit maillage de base, ledit train de données comprenant au moins certains desdits coefficients d'ondelettes. Selon l'invention, pour au moins certains coefficients d'ondelettes dudit train de données, un tel procédé met en œuvre les étapes suivantes : détermination d'une orientation d'une arête portant ledit sommet indexant ledit coefficient d'ondelettes, appelée orientation dudit coefficient d'ondelettes ; détermination, en fonction de ladite orientation, d'une information de localisation dans ledit maillage de base d'au moins un descendant dudit coefficient d'ondelettes, des règles de localisation distinctes étant associées à chaque orientation, de façon à extraire dudit train de données au moins certains desdits coefficients d'ondelettes, associés chacun à une information de localisation.
Ainsi, l'invention repose sur une approche tout à fait nouvelle et inventive du décodage d'un train binaire contenant des coefficients d'ondelettes, permettant la reconstruction d'un objet 3D ou d'une scène multimédia. En effet, l'invention propose, au fur et à mesure du décodage du train binaire, de déterminer, pour chaque coefficient d'ondelettes, une information de localisation de ses descendants, ou fils. De cette façon, ces coefficients peuvent être directement utilisés lors de la reconstruction de l'objet 3D. Il n'est donc plus nécessaire d'avoir décodé l'intégralité du train binaire pour pouvoir disposer des informations de localisation associées à chacun des coefficients d'ondelettes, et donc commencer la reconstruction de la représentation de l'objet 3D, en appliquant les coefficients d'ondelettes décodés au maillage de base.
Les informations de localisation associées aux coefficients d'ondelettes et à leurs descendants sont ainsi calculées lors du décodage, en fonction de l'orientation de l'arête du maillage de base qui porte le sommet indexant le coefficient d'ondelettes. En d'autres termes, on détermine l'orientation d'un coefficient d'ondelettes parent, et on en déduit quelle est la règle de calcul à appliquer pour déterminer l'information de localisation de l'un de ses descendants, comme exposé plus en détail dans la suite de ce document. Un tel décodage permettant d'accéder de manière directe aux coefficients d'ondelettes du train binaire, associés à une information permettant de les localiser dans le maillage de base, l'invention permet de réaliser une reconstruction adaptative et en temps réel de l'objet 3D ainsi codé. En outre, contrairement aux techniques de l'art antérieur, il n'est plus nécessaire, selon l'invention, de disposer d'une structure intermédiaire volumineuse dans laquelle stocker l'intégralité de la hiérarchie de codage de l'objet 3D. On peut se contenter de ne décoder que les portions d'intérêt du train binaire, et de stocker dans un cache les seuls coefficients d'ondelettes décodés, associés à une information de localisation, en vue de la reconstruction de l'objet 3D.
Préférentiellement, pour ledit au moins un descendant, si ladite information de localisation exprimée dans une base affine ne satisfait pas au moins un critère prédéterminé, ledit procédé met en œuvre une étape de modification de ladite base affine, de façon à ce que ladite information de localisation exprimée dans ladite base affine modifiée satisfasse ledit au moins un critère.
Selon une caractéristique avantageuse de l'invention, un tel procédé de décodage comprend également, pour ledit au moins un descendant, une étape ultérieure de réduction de ladite information de localisation.
Une telle étape de réduction permet d'une part, d'avoir unicité de l'information de localisation d'un coefficient d'ondelettes en sortie du procédé de décodage, et d'autre part, de réduire autant que faire se peut, la place mémoire occupée par cette information de localisation. Avantageusement, lesdits coefficients d'ondelettes sont codés selon une technique de type zero-tree, dans ledit train binaire.
Comme indiqué précédemment dans ce document, une telle technique de type "zero-tree" permet en effet d'atteindre des résultats satisfaisants en termes de compression des coefficients à transmettre. De manière préférentielle, pour un coefficient d'ondelettes d'indice n, ladite information de localisation comprend quatre paramètres (F(n), A(n), B(n), C(n)), où F(n) est une facette dudit maillage de base sur laquelle se trouve ledit sommet indexant ledit coefficient d'ondelettes, et où A(n), B(n) et C(n) sont des multiples entiers de coordonnées barycentriques dudit sommet sur ladite facette F(n).
La base affine dans laquelle est exprimée l'information de localisation correspond donc à la facette du maillage dans laquelle sont exprimés les coordonnées barycentriques du sommet indexant le coefficient d'ondelettes.
Selon une caractéristique avantageuse de l'invention, un tel procédé de décodage comprend une étape préliminaire d'initialisation de ladite information de localisation, au cours de laquelle on affecte auxdits paramètres (F(n), A(n), B(n), C(n)) la valeur zéro.
De manière avantageuse, ladite orientation dudit coefficient d'ondelettes d'indice n est donnée par la formule : Orientation = (!(A(n)%2))+2*(!(B(n)%2))+3*(!(C(n)%2)) où % est l'opérateur du reste de la division euclidienne, ! est l'opérateur de négation booléenne, et où A(n), B(n) et C(n) sont les coordonnées barycentriques (ou des multiples de ces coordonnées) du coefficient d'ondelettes d'indice n dans la facette F(n) du maillage. Préférentiellement, ladite information de localisation desdits descendants dudit coefficient d'ondelettes est déterminée selon les formules suivantes (où l'indice n désigne le coefficient d'ondelettes père et m, son descendant) : pour un premier descendant dudit coefficient d'ondelettes : si l'orientation dudit coefficient d'ondelettes vaut 1 : F(n)=F(m)
A(n)=2*A(m) B(n)=2*B(m)+l C(n)=2*C(m)-l ; si l'orientation dudit coefficient d'ondelettes vaut 2 : F(n)=F(m) A(n)=2*A(m)-l
B(n)=2*B(m)
C(n)=2*C(m)+l ; si l'orientation dudit coefficient d'ondelettes vaut 3 : F(n)=F(m)
A(n)=2*A(m)+l
B(n)=2*B(m)-l
C(n)=2*C(m) ; pour un deuxième descendant dudit coefficient d'ondelettes : - si l'orientation dudit coefficient d'ondelettes vaut 1 :
F(n)=F(m)
A(n)=2*A(m)
B(n)=2*B(m)-l
C(n)=2*C(m)+l; - si l'orientation dudit coefficient d'ondelettes vaut 2 :
F(n)=F(m)
A(n)=2*A(m)+l
B(n)=2*B(m)
C(n)=2*C(m)-l ; - si l'orientation dudit coefficient d'ondelettes vaut 3 :
F(n)=F(m)
A(n)=2*A(m)-l
B(n)=2*B(m)+l
C(n)=2*C(m) ; pour un troisième descendant dudit coefficient d'ondelettes : si l'orientation dudit coefficient d'ondelettes vaut 1 :
F(n)=F(m)
A(n)=2*A(m)+2
B(n)=2*B(m)-l C(n)=2*C(m)-l; si l'orientation dudit coefficient d'ondelettes vaut 2 :
F(n)= F(m)
A(n)=2*A(m)-l
B(n)=2*B(m)+2 C(n)=2*C(m)-l si l'orientation dudit coefficient d'ondelettes vaut 3 :
F(n)= F(m)
A(n)=2*A(m)-l
B(n)=2*B(m)-l C(n)=2*C(m)+2 pour un quatrième descendant dudit coefficient d'ondelettes, s'il existe : si l'orientation dudit coefficient d'ondelettes vaut 1 :
F(n)= F(m)
A(n)=2*A(m)-2 B(n)=2*B(m)+l
C(n)=2*C(m)+l ; si l'orientation dudit coefficient d'ondelettes vaut 2 :
F(n)= F(m)
A(n)=2*A(m)+l B(n)=2*B(m)-2
C(n)=2*C(m)+l; si l'orientation dudit coefficient d'ondelettes vaut 3 :
F(n)= F(m)
A(n)=2*A(m)+l B(n)=2*B(m)+l
C(n)=2*C(m)-2 ; où m désigne l'indice dudit coefficient d'ondelettes et n désigne l'indice dudit descendant.
Selon une caractéristique avantageuse de l'invention, ladite information de localisation ne satisfait pas ledit au moins un critère prédéterminé si ledit sommet indexant ledit coefficient d'ondelettes est situé sur un bord dudit maillage de base.
Ainsi, ladite information de localisation ne satisfait pas ledit au moins un critère prédéterminé si l'un au moins des paramètres A(n), B(n) et C(n) dudit coefficient d'ondelettes est négatif. En effet, lorsqu'un sommet est situé sur un bord du maillage, l'une au moins de ses coordonnées barycentriques est négative.
Préférentiellement, lors de ladite étape de réduction de ladite information de localisation, on divise lesdits paramètres A(n), B(n) et C(n) par deux, tant que lesdits paramètres A(n), B(n) et C(n) sont tous pairs.
De cette façon, on détermine les plus petits multiples entiers des coordonnées barycentriques du coefficient d'ondelettes d'indice n.
De manière avantageuse, un tel procédé de décodage comprend également, pour chacun desdits coefficients d'ondelettes extraits dudit train de données, une étape ultérieure de stockage dans un cache dudit coefficient d'ondelettes et de ladite information de localisation réduite associée, de façon à ce que lesdits coefficients d'ondelettes stockés puissent être utilisés lors d'une étape de reconstruction dudit objet à au moins trois dimensions mettant en œuvre une transformée en ondelettes inverse.
On stocke ainsi directement dans le cache, au fur et à mesure de leur décodage, les coefficients d'ondelettes associés à une information permettant de les localiser dans le maillage de base. On peut donc procéder, à partir des informations de ce cache, à la reconstruction adaptative et en temps réel d'une représentation de l'objet 3D ou de la scène multimédia considérée, sans qu'il soit nécessaire d'avoir préalablement décodé l'intégralité du train binaire.
De manière préférentielle, un tel procédé de décodage est mis en œuvre dans le cadre d'un algorithme de tri des coefficients d'ondelettes dudit train de données de type SPIHT (« Set Partitioning In Hierarchical Trees », en français « partitionnement d'ensembles dans des arbres hiérarchiques »).
L'invention concerne aussi un dispositif de décodage d'un train de données représentatives d'un objet à au moins trois dimensions, ledit objet étant associé à un maillage de base constitué d'un ensemble de facettes définies par un ensemble de sommets et d'arêtes, et à des coefficients dans une base d'ondelettes correspondant à des modifications locales dudit maillage de base, dits coefficients d'ondelettes, chaque coefficient d'ondelettes étant indexé par un sommet dudit maillage de base, ledit train de données comprenant au moins certains desdits coefficients d'ondelettes.
Selon l'invention, pour au moins certains coefficients d'ondelettes dudit train de données, un tel dispositif de décodage met en œuvre les moyens suivants : des moyens de détermination d'une orientation d'une arête portant ledit sommet indexant ledit coefficient d'ondelettes, appelée orientation dudit coefficient d'ondelettes ; des moyens de détermination, en fonction de ladite orientation, d'une information de localisation dans ledit maillage de base d'au moins un descendant dudit coefficient d'ondelettes, des règles de localisation distinctes étant associées à chaque orientation, de façon à extraire dudit train de données au moins certains desdits coefficients d'ondelettes, associés chacun à une information de localisation.
L'invention concerne également un terminal de restitution d'un objet à au moins trois dimensions, ledit objet étant associé à un maillage de base constitué d'un ensemble de facettes définies par un ensemble de sommets et d'arêtes, et à des coefficients dans une base d'ondelettes correspondant à des modifications locales dudit maillage de base, dits coefficients d'ondelettes, chaque coefficient d'ondelettes étant indexé par un sommet dudit maillage de base, ledit terminal comprenant des moyens de réception d'un train de données représentatives dudit objet comprenant au moins certains desdits coefficients d'ondelettes. Selon l'invention, pour au moins certains coefficients d'ondelettes dudit train de données, un tel terminal de restitution met en œuvre les moyens suivants : des moyens de détermination d'une orientation d'une arête portant ledit sommet indexant ledit coefficient d'ondelettes, appelée orientation dudit coefficient d'ondelettes ; - des moyens de détermination, en fonction de ladite orientation, d'une information de localisation dans ledit maillage de base d'au moins un descendant dudit coefficient d'ondelettes, des règles de localisation distinctes étant associées à chaque orientation, et en ce que ledit terminal comprend des moyens de stockage dans un cache desdits coefficients d'ondelettes, associés chacun à une information de localisation, et des moyens de reconstruction dudit objet à au moins trois dimensions mettant en œuvre une transformée en ondelettes inverse.
L'invention concerne encore un produit programme d'ordinateur comprenant des instructions de code de programme enregistrées sur un support utilisable dans un ordinateur, et destinées au décodage d'un train de données représentatives d'un objet à au moins trois dimensions, ledit objet étant associé à un maillage de base constitué d'un ensemble de facettes définies par un ensemble de sommets et d'arêtes, et à des coefficients dans une base d'ondelettes correspondant à des modifications locales dudit maillage de base, dits coefficients d'ondelettes, chaque coefficient d'ondelettes étant indexé par un sommet dudit maillage de base, ledit train de données comprenant au moins certains desdits coefficients d'ondelettes.
Selon l'invention, un tel produit programme d'ordinateur comprend des moyens de programmation lisibles par ordinateur pour effectuer, pour au moins certains coefficients d'ondelettes dudit train de données : une étape de détermination d'une orientation d'une arête portant ledit sommet indexant ledit coefficient d'ondelettes, appelée orientation dudit coefficient d'ondelettes ; une étape détermination, en fonction de ladite orientation, d'une information de localisation dans ledit maillage de base d'au moins un descendant dudit coefficient d'ondelettes, des règles de localisation distinctes étant associées à chaque orientation, de façon à extraire dudit train de données au moins certains desdits coefficients d'ondelettes, associés chacun à une information de localisation. 6. Liste des figures D'autres caractéristiques et avantages de l'invention apparaîtront plus clairement à la lecture de la description suivante d'un mode de réalisation préférentiel, donné à titre de simple exemple illustratif et non limitatif, et des dessins annexés, parmi lesquels : - la figure 1, déjà décrite en relation avec l'art antérieur, présente un synoptique du processus de décodage d'un train binaire et de reconstruction de la représentation 3D de l'objet associé ; la figure 2 illustre, selon l'art antérieur, la structure hiérarchique d'une image dans le cadre de l'algorithme SPIHT pour le codage d'images bidimensionnelles ; la figure 3 décrit, selon l'invention, la structure hiérarchique d'un maillage dans le cadre de l'application de l'algorithme SPIHT au codage de maillages semi-réguliers (associés à des objets 3D) ; la figure 4 présente un organigramme de l'algorithme SPIHT de l'art antérieur ; la figure 5 illustre les différentes étapes mises en œuvre dans le procédé de décodage d'un train binaire selon l'invention ; la figure 6 illustre la notion d'orientation, telle qu'elle est définie et utilisée dans l'ensemble de ce document. 7. Description d'un mode de réalisation de l'invention
Le principe général de l'invention repose sur la détermination directe, lors du décodage d'un train binaire, des informations de localisation associées à un coefficient d'ondelettes et à ses descendants, en fonction de l'orientation, dans le maillage de base, de l'arête à laquelle est associé le coefficient père. Afin de mieux comprendre ce principe, on rappelle tout d'abord, en relation avec les figures 2 et 4, la technique de l'algorithme SPIHT, présentée par A. Said et W. A. Pearlman dans "A New, Fast, and Efficient Image Codée Based on Set Partitioning in Hierarchical Trees" (IEEE Trans. Cire. Système. For Video Tech., 6(3), Juin 1996) pour le codage d'images 2D. La figure 2 présente la structure hiérarchique d'une image bidimensionnelle utilisée dans l'algorithme SPIHT de l'art antérieur. Une structure arborescente, ou arbre, définit les relations spatiales dans la pyramide hiérarchique associée à l'image. La figure 2 présente un tel arbre dans le cas d'une pyramide construite par subdivision récursive de l'image 2D en 4 sous-bandes. Chaque nœud de l'arbre correspond à un pixel de l'image et est identifié par les coordonnées du pixel dans l'image. Ses descendants directs correspondent aux pixels de même position spatiale dans le niveau de raffinement suivant de la pyramide. L'arbre est défini de façon telle que chaque nœud ait, soit aucun descendant, soit quatre descendants, qui forment toujours un groupe de 2x2 pixels adjacents. Sur la figure 2, les flèches sont orientées du nœud parent vers ses quatre fils. Les pixels du niveau le plus élevé de la pyramide forment les racines de l'arbre, et sont également groupés en ensembles de 2x2 pixels adjacents.
Ainsi, le pixel référencé 201 du niveau de subdivision 20 de l'image a quatre pixels-fils référencés 211 à 214 dans le niveau de subdivision suivant 21. Le fils référencé 212 a lui-même quatre descendants référencés 221 à 224 dans le niveau de subdivision suivant de la pyramide hiérarchique.
La figure 4 présente un organigramme de l'algorithme SPIHT de décodage du train binaire (ou "bitstream"), permettant, pour une image 2D, de passer du train binaire à un ensemble de coefficients d'ondelettes. L'algorithme détaillé peut être trouvé dans l'article de A. Said et W. A. Pearlman dans "A New, Fast, and Efficient Image Codée Based on Set Partitioning in Hierarchical Trees" (IEEE Trans. Cire. Système. For Video Tech., 6(3), Juin 1996).
Le principe de cet algorithme repose sur l'utilisation et la gestion de trois listes ordonnées, dans lesquelles sont stockées les informations de pertinence relatives à chaque pixel de l'image ; ces trois listes sont: la liste LIS 41 des ensembles non-significatifs (List of Insignificant Sets) ; la liste LIP 40 des pixels non-significatifs (List of Insignificant Pixels) ; la liste LSP 42 des pixels significatifs (List of Significant Pixels). A l'initialisation, la LSP 42 est initialisée à la liste vide, la LIS 41 et la LIP 40 sont initialisées à toutes les racines de la hiérarchie de la figure 2.
A un niveau de subdivision donné, on parcourt donc la liste LIP 40 de tous les pixels non significatifs pour le rendu de l'image, et on détermine 401 si, compte tenu du seuil de pertinence associé à ce niveau de subdivision, le coefficient d'ondelettes associé à l'un de ces pixels doit être désormais considéré comme pertinent. Dans la négative 402, on laisse ce pixel dans la liste LIP 40.
Dans l'affirmative 403, on envoie la valeur du coefficient d'ondelettes, et on déplace le pixel dans la liste LSP 42.
On procède de même pour la liste LIS 41 des ensembles de pixels non- significatifs. Lorsque le coefficient d'ondelettes associé à un pixel est considéré comme pertinent, on scrute 410 ses descendants directs dans la hiérarchie pour déterminer 411 s'ils sont ou non également pertinents, et donc décider s'ils doivent être déplacés 413, 412 dans la liste LSP 42 ou LIP 40.
L'ensemble des coefficients d'ondelettes associés aux pixels de la liste LSP 42 sont extraits, et envoyés 420 sous forme de bits de raffinement, pour être utilisés lors de la reconstruction de l'image.
La présente invention s'inscrit dans le contexte de l'application de cet algorithme SPIHT aux objets 3D codés par maillages et ondelettes de deuxième génération (on rappelle qu'une ondelette est dite "de deuxième génération" s'il s'agit d'une ondelette permettant le codage de maillages semi-réguliers, par opposition aux ondelettes classiques qui codent les pixels d'une image 2D).
La figure 3 illustre la structure hiérarchique utilisée dans ce cadre pour le codage de maillages. Chaque coefficient d'ondelettes est associé de manière bijective à une arête du maillage de base, et est indexé par le sommet formant le milieu de cet arête. Dans le maillage de base, le milieu de chaque arête est donc associé à un coefficient d'ondelettes, qui est la racine d'un sous-arbre. Chaque arête du maillage de base est le parent de quatre arêtes de même orientation (c'est-à-dire qui lui sont parallèles) dans le maillage raffiné directement adjacent dans l'ordre de subdivision hiérarchique.
Ainsi, sur la figure 3, le coefficient d'ondelettes associé au sommet C, milieu de [IJ], a quatre descendants, ou fils, qui sont respectivement associés aux sommets suivants:
C0, milieu de [CJ] ; C1, milieu de [IC] ; C2, milieu de [MN] ; - C3, milieu de [GH].
Dans un mode de réalisation particulier de l'invention, auquel on se limitera dans toute la suite de ce document, un coefficient d'ondelettes d'indice n dans la table des coefficients est repéré, dans un tel maillage hiérarchique, par quatre paramètres, donnés par quatre fonctions F(n), A(n), B(n) et C(n). La première fonction indique une facette du maillage de base sur laquelle se trouve le sommet indexant le coefficient. Les trois autres coefficients A(n), B(n) et C(n) sont les plus petits multiples entiers des coordonnées barycentriques de ce sommet sur la facette F(n). On choisit en effet de travailler avec des coordonnées entières, par souci de simplification, et on ne manipule donc pas toujours les coordonnées barycentriques, qui peuvent être des nombres décimaux. Par abus de langage, on parlera indifféremment dans la suite de ce document de coordonnées barycentriques ou des plus petits multiples entiers de ces coordonnées.
Le maillage de base est un maillage comportant peu de facettes et qui est destiné à être raffiné en fonction de l'information portée par les coefficients d'ondelettes.
Pour pouvoir appliquer l'algorithme SPIHT aux objets 3D codés par ondelettes de deuxième génération, il convient de remplacer la hiérarchie de la figure 2 par celle de la figure 3, et de remplacer la notion de pixel par celle de coefficient d'ondelettes, ou de sommet du maillage indexant ce coefficient. C'est dans ce contexte que s'inscrit la présente invention. Afin d'éviter les inconvénients de l'algorithme SPIHT adapté au codage d'objets 3D mentionnés au début de ce document (lenteur et non-adaptativité de la reconstruction, liées à la nécessité de stocker l'intégralité de la hiérarchie de l'objet 3D dans un cache avant de pouvoir commencer la reconstruction), l'invention consiste à modifier cet algorithme de telle façon qu'à chaque fois qu'un test est fait sur les descendants d'un coefficient d'ondelettes, on procède de la manière suivante : si l'un au moins des descendants n'existe pas dans le cache 10 de la figure 1, on le crée en mémoire et on lui affecte une information de localisation dans le maillage de base, que l'on détermine selon l'algorithme présenté ci-dessous en relation avec la figure 5.
Ces coefficients peuvent ainsi être directement utilisés lors de la reconstruction 3D. En effet, dès que ces coefficients d'ondelettes sont extraits du train binaire et décodés, ils sont directement inscrits dans le cache 10, de sorte qu'ils sont directement utilisables pour la reconstruction 11 de l'objet 3D 12. Grâce à l'utilisation d'une technique de codage par "zero-tree", on peut ne décoder qu'une partie du train binaire 14, correspondant aux zones visuellement pertinentes de l'objet 3D 12 compte tenu du point de vue d'un utilisateur. Notamment, l'utilisateur client peut demander à un serveur de ne lui envoyer que les parties du train binaire 14 correspondant aux sous-arbres, ou "zero-tree", qui ont pour racine une arête visible de la zone du maillage qui l'intéresse. Une telle technique est par exemple décrite dans demande de brevet internationale publiée sous le numéro WO 03/009234 intitulée "Procédé de codage par ondelettes d'un objet maillé à au moins deux dimensions permettant une transmission adaptative de coefficients d'ondelettes, signal, système et dispositifs correspondants" au nom des mêmes demandeurs que la présente demande de brevet.
Le cache 10 ne contient alors que les coefficients d'ondelettes 15 pertinents pour la reconstruction 11.
Il n'est donc plus nécessaire d'attendre que tout le train binaire 14 soit décodé 13 pour commencer la phase de reconstruction 11, de sorte qu'il est possible d'envisager des applications en temps réel. Dans le mode de réalisation de l'invention décrit ci-après, l'information de localisation associée aux coefficients d'ondelettes prend la forme du quadruplet
(F, A, B, C), où F est la face du maillage sur laquelle se trouve le coefficient, et
(A5B5C) sont les plus petits multiples entiers de ses coordonnées barycentriques sur cette face.
L'invention consiste, lors du décodage du train binaire, à réaliser des tests sur la descendance des coefficients d'ondelettes, pour repérer la totalité de la hiérarchie en fonction des quadruplets (F, A, B, C) des descendants. Elle permet donc de réaliser la maintenance du cache 10, et de l'association des coefficients d'ondelettes avec leurs coordonnées barycentriques. En d'autres termes, l'invention permet de gérer directement la hiérarchie des coefficients d'ondelettes dans un cache utilisé pour la reconstruction.
On présente désormais plus en détail, en relation avec la figure 5, les différentes étapes de l'algorithme de décodage de l'invention. On reçoit, en entrée de cet algorithme, des portions d'un train binaire, qui contient au moins les coefficients d'ondelettes encodés par "zero-tree", associés à une scène multimédia ou à un objet 3D (par exemple un relief de terrain, ou un avatar 3D évoluant dans un environnement virtuel). On réitère les étapes de la figure 5 pour chacun des sous-arbres ou "zero-tree" que l'on souhaite décoder. On s'intéresse par exemple tout d'abord à un premier sous-arbre, dont la racine est un nœud parent du maillage de base, d'indice m.
Lors d'une première étape d'initialisation référencée 50, on initialise les nouvelles coordonnées F(n), A(n), B(n) et C(n) à 0, où n est l'indice du descendant du nœud m dont on cherche à déterminer les coordonnées. Lors d'une deuxième étape d'orientation référencée 51, on détermine l'orientation du coefficient d'ondelette indexé par le nœud d'indice m selon la formule :
Orientation = (!(A(m)%2))+2*(!(B(m)%2))+3*(!(C(m)%2)) où % est l'opérateur du reste de la division euclidienne et ! l'opérateur de négation booléenne. On rappelle que la notion d'orientation, telle qu'elle est utilisée et définie dans l'ensemble de ce document, est fonction de l'orientation de l'arête du maillage dont le milieu est le sommet indexant le coefficient d'ondelettes considéré. En se référant à la figure 6, qui illustre un maillage de base, l'orientation d'une arête est décrite par l'ordre des sommets KJI du maillage de base. Comme illustré sur cette figure, le maillage comprend trois types d'arêtes distinctes: les arêtes référencées 60, qui sont parallèles à (KJ), et dont l'orientation vaut 1 ; les arêtes référencées 61, qui sont parallèles à (JI), et dont l'orientation vaut 2 ; les arêtes référencées 62, qui sont parallèles à (KI), et dont l'orientation vaut 3.
Après détermination de l'orientation du coefficient d'ondelette C d'indice m, on calcule 52 les coordonnées des fils C0, C1, C2 et C3 de ce coefficient dans la structure hiérarchique de la figure 3.
Les coordonnées du premier fils C0 sont calculées selon les formules :
F(n)=F(m)
A(n)=2*A(m)
B(n)=2*B(m)+1 C(n)=2*C(m)-1 , si l'orientation du coefficient C vaut 1 ,
F(n)=F(m)
A(n)=2*A(m)-1
B(n)=2*B(m)
C(n)=2*C(m)+1, si l'orientation du coefficient C vaut 2, - F(n)=F(m)
A(n)=2*A(m)+1
B(n)=2*B(m)-1
C(n)=2*C(m), si l'orientation du coefficient C vaut 3.
Les coordonnées du deuxième fils C1 sont calculées selon les formules : - F(n)=F(m) A(n)=2*A(m)
B(n)=2*B(m)-1
C(n)=2*C(m)+1, si l'orientation du coefficient C vaut 1,
F(n)=F(m) A(n)=2*A(m)+1
B(n)=2*B(m)
C(n)=2*C(m)-1 , si l'orientation du coefficient C vaut 2,
F(n)=F(m)
A(n)=2*A(m)-1 B(n)=2*B(m)+1
C(n)=2*C(m), si l'orientation du coefficient C vaut 3.
Les coordonnées du troisième fils C2 sont calculées selon les formules :
F(n)=F(m)
A(n)=2*A(m)+2 B(n)=2*B(m)-1
C(n)=2*C(m)-1 , si l'orientation du coefficient C vaut 1 ,
F(n)=F(m)
A(n)=2*A(m)-1
B(n)=2*B(m)+2 C(n)=2*C(m)-1 , si l'orientation du coefficient C vaut 2,
F(n)=F(m)
A(n)=2*A(m)-1
B(n)=2*B(m)-1
C(n)=2*C(m)+2, si l'orientation du coefficient C vaut 3. Les coordonnées du quatrième fils C3, s'il existe, sont calculées selon les formules :
F(n)=F(m)
A(n)=2*A(m)-2
B(n)=2*B(m)+1 C(n)=2*C(m)+1, si l'orientation du coefficient C vaut 1, F(n)=F(m) A(n)=2*A(m)+1 B(n)=2*B(m)-2
C(n)=2*C(m)+1 , si l'orientation du coefficient C vaut 2, - F(n)=F(m)
A(n)=2*A(m)+1 B(n)=2*B(m)+1
C(n)=2*C(m)-2, si l'orientation du coefficient C vaut 3.
Il est en effet possible qu'un coefficient d'ondelettes ait moins de quatre descendants, par exemple s'il est situé sur un bord du maillage. On peut déterminer que l'on est sur un bord du maillage si l'arête-mère de niveau 0 n'est parcourue qu'une seule fois dans le maillage de base.
On rappelle, en relation avec la figure 6, que le premier fils C0 du coefficient d'ondelettes C de niveau j est indexé par le sommet de niveau (j+1) qui a pour arête mère [aC], où C est le milieu de l'arête [ab]. Le deuxième fils C1 de C est indexé par le sommet de niveau (j+1) qui a pour arête mère [bC].
En outre, C appartient à au moins 6 faces de niveau (J+I)5 dont deux ont pour seule intersection avec l'arête-mère [ab] le sommet C. Ces deux faces ont deux arêtes potentiellement mères qui ne contiennet pas C. Le troisième fils C2 est tel que abC2 est orienté dans le même sens que KJI. Le quatrième fils C3 est tel que abC3 est orienté dans l'autre sens.
Après détermination des coordonnées barycentriques (à un multiple près) des descendants du coefficient d'ondelettes d'indice m, on teste le signe de ces coordonnées. Si A(n)<0 ou B(n)<0 ou C(n)<0, on doit procéder à un changement de base affine 53, pour les exprimer sur une facette du maillage où ces coordonnées barycentriques seront non-négatives. On procède selon l'algorithme suivant :
Pour chaque face F' voisine de F(n) sur le maillage de base et tant que A(n)<0 ou B(n)<0 ou C(n)<0 Calculer F'(n), A'(n), B'(n) et C'(n) comme décrit dans la suite Si A'(n)>0 et B'(n)>0 et C(n)>0 {
F(n)=F(n)
Figure imgf000026_0001
C(n)=C'(n)
} } Le calcul de F'(n), A'(n), B'(n) et C'(n) est réalisé quant à lui de la manière suivante : Soient FOa[O], FOa[I] et F0a[2] les sommets de F(n) et soient FOb[O], FOb[I] et F0b[2] les sommets de F. F'(n)=F Si A(n)+B(n)+C(n)==1 { ind1 =2*(A(n)==1 )+3*(B(n)==1 )+4*(C(n)==1 )-2 ind2=(F0a[ind1]==F0b[0])+2*(F0a[ind1]==F0b[1])+3*(F0a[ind1]==F0b[2]) si ind2==1
AXn)=I BXn)=O CXn)=O si ind2==2
AXn)=O BXn)=I CXn)=O si ind2==3 AXn)=O
BXn)=O CXn)=I } sinon { si (F0a[0]==F0b[0] et F0a[1 ]==F0b[2]) { Aχn)=A(n) BW≈Cfn) CI(n)=B(n)
} si F0a[0]==F0b[1] et F0a[1 ]==F0b[0] { 5 A'(n)=B(n);
BI(n)=A(n); C'(n)=C(n);
} si F0a[0]==F0b[2] et F0a[1 ]==F0b[1] { 10 A'(n)=C(n);
BI(n)=B(n); CI(n)=A(n);
} si F0a[1 ]==F0b[0] et F0a[2]==F0b[2] { 15 A'(n)=B(n);
BI(n)=A(n); C'(n)=C(n);
} si F0a[1 ]==F0b[2] et F0a[2]==F0b[1] { 20 A'(n)=A(n);
BW≈Cfn); CI(n)=B(n);
} si F0a[1 ]==F0b[1] et F0a[2]==F0b[0] { 25 A'(n)=C(n);
BI(n)=B(n); CI(n)=A(n);
} si F0a[0]==F0b[0] et F0a[2]==F0b[1] { 30 A'(n)=A(n); BW≈Cfn); CI(n)=B(n);
} si F0a[0]==F0b[2] et F0a[2]==F0b[0] { A(n)=C(n);
BI(n)=B(n); CI(n)=A(n);
} si F0a[0]==F0b[1] et F0a[2]==F0b[2] { A'(n)=B(n);
BI(n)=A(n);
C'(n)=C(n); }
} Ainsi, l'objectif de cette étape 53 de changement de base affine est de trouver une face F du maillage dans laquelle toutes les coordonnées barycentriques A, B et C associées sont positives ou nulles. Chaque base affine étant associée à une face du maillage, un changement de base affine revient donc à effectuer un changement de face. Par ce changement, on cherche à exprimer les coordonnées d'un point du maillage en fonction des sommets d'une autre face à laquelle il appartient, de façon à ce que toutes ces coordonnées soient positives ou nulles.
Enfin, au cours d'une étape référencée 54 de réduction des coordonnées, on procède à l'opération suivante tant que A(n), B(n) et C(n) sont tous pairs : A(n) :=A(n)/2
B(n) :=B(n)/2
C(n) :=C(n)/2
En d'autres termes, si l'on désigne par α, β et γ les véritables coordonnées barycentriques d'un sommet du maillage, on a, par définition : α + β + γ = 1. Selon l'invention, on travaille lors du décodage avec des composantes, que l'on pourrait qualifier de coordonnées barycentriques étendues A(n), B(n) et C(n), qui sont telles que : A(n) + B(n) + C(n) = 2\ où j est un entier positif. Ainsi, on a :
A(n)= 2fα
B(n)= 2'β C(n)= 2'γ, ce qui permet de manipuler les coordonnées sous forme de valeurs entières sans perdre en précision.
Lors de l'étape de réduction 54 des coordonnées, on vérifie que A(n), B(n) et C(n) sont bien les plus petits multiples entiers des coordonnées barycentriques α, β et γ, ce qui permet, d'une part, d'avoir unicité de la solution en sortie 55 de l'algorithme de la figure 5, et d'autre part, de réduire autant que faire se peut, la place mémoire occupée par ces coordonnées (par exemple dans le cache 10).
L'algorithme de la figure 5 peut être réitéré pour chacun des sous-arbres du train binaire que l'on souhaite décoder. Il permet de suivre les coordonnées des coefficients d'ondelettes et de leurs descendants au cours du déroulement de l'algorithme de type SPIHT de la figure 4, de façon à minimiser l'espace mémoire utilisé et la gestion des processus utilisant un cache mémoire unique.
L'invention s'applique tout particulièrement au décodage de trains binaires représentatifs de reliefs de terrains, dans le cadre de la transmission et de la reconstruction de grands environnements virtuels. On rappelle que, dans ce contexte, on procède à divers relevés topographiques, qui permettent de construire le maillage de base, et des photographies aériennes sont utilisées pour déterminer la texture à associer à ce maillage de base, en vue de la détermination des coefficients d'ondelettes.

Claims

REVENDICATIONS
1. Procédé de décodage d'un train de données représentatives d'un objet à au moins trois dimensions, ledit objet étant associé à un maillage de base constitué d'un ensemble de facettes définies par un ensemble de sommets et d'arêtes, et à des coefficients dans une base d'ondelettes correspondant à des modifications locales dudit maillage de base, dits coefficients d'ondelettes, chaque coefficient d'ondelettes étant indexé par un sommet dudit maillage de base, ledit train de données comprenant au moins certains desdits coefficients d'ondelettes, caractérisé en ce que, pour au moins certains coefficients d'ondelettes dudit train de données, ledit procédé met en œuvre les étapes suivantes : détermination d'une orientation d'une arête portant ledit sommet indexant ledit coefficient d'ondelettes, appelée orientation dudit coefficient d'ondelettes ; - détermination, en fonction de ladite orientation, d'une information de localisation dans ledit maillage de base d'au moins un descendant dudit coefficient d'ondelettes, des règles de localisation distinctes étant associées à chaque orientation, de façon à extraire dudit train de données au moins certains desdits coefficients d'ondelettes, associés chacun à une information de localisation.
2. Procédé de décodage selon la revendication 1, caractérisé en ce que, pour ledit au moins un descendant, si ladite information de localisation exprimée dans une base affine ne satisfait pas au moins un critère prédéterminé, ledit procédé met en œuvre une étape de modification de ladite base affine, de façon à ce que ladite information de localisation exprimée dans ladite base affine modifiée satisfasse ledit au moins un critère.
3. Procédé de décodage selon l'une quelconque des revendications 1 et 2, caractérisé en ce qu'il comprend également, pour ledit au moins un descendant, une étape ultérieure de réduction de ladite information de localisation.
4. Procédé de décodage selon l'une quelconque des revendications 1 à 3, caractérisé en ce que lesdits coefficients d'ondelettes sont codés selon une technique de type zero-tree, dans ledit train binaire.
5. Procédé de décodage selon l'une quelconque des revendications 1 à 4, caractérisé en ce que, pour un coefficient d'ondelettes d'indice n, ladite information de localisation comprend quatre paramètres F(n), A(n), B(n), C(n), où F(n) est une facette dudit maillage de base sur laquelle se trouve ledit sommet indexant ledit coefficient d'ondelettes, et où A(n), B(n) et C(n) sont des multiples entiers de coordonnées barycentriques dudit sommet sur ladite facette F(n).
6. Procédé de décodage selon la revendication 5, caractérisé en ce qu'il comprend une étape préliminaire d'initialisation de ladite information de localisation, au cours de laquelle on affecte auxdits paramètres F(n), A(n), B(n), C(n) la valeur zéro.
7. Procédé de décodage selon l'une quelconque des revendications 5 et 6, caractérisé en ce que ladite orientation dudit coefficient d'ondelettes d'indice n est donnée par la formule :
Orientation = (!(A(n)%2))+2*(!(B(n)%2))+3*(!(C(n)%2)) où % est l'opérateur du reste de la division euclidienne et ! est l'opérateur de négation booléenne.
8. Procédé de décodage selon l'une quelconque des revendications 5 à 7, caractérisé en ce que ladite information de localisation desdits descendants dudit coefficient d'ondelettes est déterminée selon les formules suivantes : pour un premier descendant dudit coefficient d'ondelettes : si l'orientation dudit coefficient d'ondelettes vaut 1 :
F(n)=F(m) A(n)=2*A(m)
B(n)=2*B(m)+l
C(n)=2*C(m)-l ; si l'orientation dudit coefficient d'ondelettes vaut 2 :
F(n)=F(m) A(n)=2*A(m)-l B(n)=2*B(m)
C(n)=2*C(m)+l ; si l'orientation dudit coefficient d'ondelettes vaut 3 :
F(n)=F(m) A(n)=2*A(m)+l
B(n)=2*B(m)-l
C(n)=2*C(m) ; pour un deuxième descendant dudit coefficient d'ondelettes : si l'orientation dudit coefficient d'ondelettes vaut 1 : F(n)=F(m)
A(n)=2*A(m)
B(n)=2*B(m)-l
C(n)=2*C(m)+l; si l'orientation dudit coefficient d'ondelettes vaut 2 : F(n)=F(m)
A(n)=2*A(m)+l
B(n)=2*B(m)
C(n)=2*C(m)-l ; si l'orientation dudit coefficient d'ondelettes vaut 3 : F(n)=F(m)
A(n)=2*A(m)-l
B(n)=2*B(m)+l
C(n)=2*C(m) ; pour un troisième descendant dudit coefficient d'ondelettes : - si l'orientation dudit coefficient d'ondelettes vaut 1 :
F(n)=F(m)
A(n)=2*A(m)+2
B(n)=2*B(m)-l
C(n)=2*C(m)-l; - si l'orientation dudit coefficient d'ondelettes vaut 2 : F(n)= F(m)
A(n)=2*A(m)-l
B(n)=2*B(m)+2
C(n)=2*C(m)-l - si l'orientation dudit coefficient d'ondelettes vaut 3 :
F(n)= F(m)
A(n)=2*A(m)-l
B(n)=2*B(m)-l
C(n)=2*C(m)+2 - pour un quatrième descendant dudit coefficient d'ondelettes, s'il existe : si l'orientation dudit coefficient d'ondelettes vaut 1 :
F(n)= F(m)
A(n)=2*A(m)-2
B(n)=2*B(m)+l C(n)=2*C(m)+l ; si l'orientation dudit coefficient d'ondelettes vaut 2 :
F(n)= F(m)
A(n)=2*A(m)+l
B(n)=2*B(m)-2 C(n)=2*C(m)+l; si l'orientation dudit coefficient d'ondelettes vaut 3 :
F(n)= F(m)
A(n)=2*A(m)+l
B(n)=2*B(m)+l C(n)=2*C(m)-2 ; où m désigne l'indice dudit coefficient d'ondelettes et n désigne l'indice dudit descendant.
9. Procédé de décodage selon l'une quelconque des revendications 1 à 8, caractérisé en ce que ladite information de localisation ne satisfait pas ledit au moins un critère prédéterminé si ledit sommet indexant ledit coefficient d'ondelettes est situé sur un bord dudit maillage de base.
10. Procédé de décodage selon la revendication 9, caractérisé en ce que ladite information de localisation ne satisfait pas ledit au moins un critère prédéterminé si l'un au moins des paramètres A(n), B(n) et C(n) dudit coefficient d'ondelettes est négatif.
11. Procédé de décodage selon l'une quelconque des revendications 3 et 5 à 10, caractérisé en ce que, lors de ladite étape de réduction de ladite information de localisation, on divise lesdits paramètres A(n), B(n) et C(n) par deux, tant que lesdits paramètres A(n), B(n) et C(n) sont tous pairs.
12. Procédé de décodage selon l'une quelconque des revendications 1 à 11, caractérisé en ce qu'il comprend également, pour chacun desdits coefficients d'ondelettes extraits dudit train de données, une étape ultérieure de stockage dans un cache dudit coefficient d'ondelettes et de ladite information de localisation réduite associée, de façon à ce que lesdits coefficients d'ondelettes stockés puissent être utilisés lors d'une étape de reconstruction dudit objet à au moins trois dimensions mettant en œuvre une transformée en ondelettes inverse.
13. Procédé de décodage selon l'une quelconque des revendications 1 à 12, caractérisé en ce qu'il est mis en œuvre dans le cadre d'un algorithme de tri des coefficients d'ondelettes dudit train de données de type SPIHT (« Set Partitioning In Hierarchical Trees », en français « partitionnement d'ensembles dans des arbres hiérarchiques »).
14. Dispositif de décodage d'un train de données représentatives d'un objet à au moins trois dimensions, ledit objet étant associé à un maillage de base constitué d'un ensemble de facettes définies par un ensemble de sommets et d'arêtes, et à des coefficients dans une base d'ondelettes correspondant à des modifications locales dudit maillage de base, dits coefficients d'ondelettes, chaque coefficient d'ondelettes étant indexé par un sommet dudit maillage de base, ledit train de données comprenant au moins certains desdits coefficients d'ondelettes, caractérisé en ce que, pour au moins certains coefficients d'ondelettes dudit train de données, ledit dispositif met en œuvre les moyens suivants : des moyens de détermination d'une orientation d'une arête portant ledit sommet indexant ledit coefficient d'ondelettes, appelée orientation dudit coefficient d'ondelettes ; des moyens de détermination, en fonction de ladite orientation, d'une information de localisation dans ledit maillage de base d'au moins un descendant dudit coefficient d'ondelettes, des règles de localisation distinctes étant associées à chaque orientation, de façon à extraire dudit train de données au moins certains desdits coefficients d'ondelettes, associés chacun à une information de localisation.
15. Terminal de restitution d'un objet à au moins trois dimensions, ledit objet étant associé à un maillage de base constitué d'un ensemble de facettes définies par un ensemble de sommets et d'arêtes, et à des coefficients dans une base d'ondelettes correspondant à des modifications locales dudit maillage de base, dits coefficients d'ondelettes, chaque coefficient d'ondelettes étant indexé par un sommet dudit maillage de base, ledit terminal comprenant des moyens de réception d'un train de données représentatives dudit objet comprenant au moins certains desdits coefficients d'ondelettes, caractérisé en ce que, pour au moins certains coefficients d'ondelettes dudit train de données, ledit terminal met en œuvre les moyens suivants : des moyens de détermination d'une orientation d'une arête portant ledit sommet indexant ledit coefficient d'ondelettes, appelée orientation dudit coefficient d'ondelettes ; des moyens de détermination, en fonction de ladite orientation, d'une information de localisation dans ledit maillage de base d'au moins un descendant dudit coefficient d'ondelettes, des règles de localisation distinctes étant associées à chaque orientation, et en ce que ledit terminal comprend des moyens de stockage dans un cache desdits coefficients d'ondelettes, associés chacun à une information de localisation, et des moyens de reconstruction dudit objet à au moins trois dimensions mettant en œuvre une transformée en ondelettes inverse.
16. Produit programme d'ordinateur comprenant des instructions de code de programme enregistrées sur un support utilisable dans un ordinateur, et destinées au décodage d'un train de données représentatives d'un objet à au moins trois dimensions, ledit objet étant associé à un maillage de base constitué d'un ensemble de facettes définies par un ensemble de sommets et d'arêtes, et à des coefficients dans une base d'ondelettes correspondant à des modifications locales dudit maillage de base, dits coefficients d'ondelettes, chaque coefficient d'ondelettes étant indexé par un sommet dudit maillage de base, ledit train de données comprenant au moins certains desdits coefficients d'ondelettes, ledit produit programme d'ordinateur comprenant des moyens de programmation lisibles par ordinateur pour effectuer, pour au moins certains coefficients d'ondelettes dudit train de données : une étape de détermination d'une orientation d'une arête portant ledit sommet indexant ledit coefficient d'ondelettes, appelée orientation dudit coefficient d'ondelettes ; une étape détermination, en fonction de ladite orientation, d'une information de localisation dans ledit maillage de base d'au moins un descendant dudit coefficient d'ondelettes, des règles de localisation distinctes étant associées à chaque orientation, de façon à extraire dudit train de données au moins certains desdits coefficients d'ondelettes, associés chacun à une information de localisation.
PCT/EP2005/054951 2004-10-14 2005-09-30 Procede de decodage local d'un train binaire de coefficients d'ondelettes WO2006040270A2 (fr)

Priority Applications (2)

Application Number Priority Date Filing Date Title
US11/665,136 US8086054B2 (en) 2004-10-14 2005-09-30 Method for locally decoding a bitstream of wavelet coefficients
EP05792261A EP1800263A2 (fr) 2004-10-14 2005-09-30 Procede de decodage local d'un train binaire de coefficients d'ondelettes

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
FR0410875A FR2876821A1 (fr) 2004-10-14 2004-10-14 Procede de decodage local d'un train binaire de coefficients d'ondelettes
FR0410875 2004-10-14

Publications (2)

Publication Number Publication Date
WO2006040270A2 true WO2006040270A2 (fr) 2006-04-20
WO2006040270A3 WO2006040270A3 (fr) 2006-08-03

Family

ID=34949931

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/EP2005/054951 WO2006040270A2 (fr) 2004-10-14 2005-09-30 Procede de decodage local d'un train binaire de coefficients d'ondelettes

Country Status (4)

Country Link
US (1) US8086054B2 (fr)
EP (1) EP1800263A2 (fr)
FR (1) FR2876821A1 (fr)
WO (1) WO2006040270A2 (fr)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2008110719A1 (fr) * 2007-02-01 2008-09-18 France Telecom Procede de codage de donnees representatives d'une texture multidimensionnelle, dispositif de codage, procede et dispositif de decodage, signal et programme correspondants
CN109671139A (zh) * 2017-10-13 2019-04-23 达索系统公司 用于创建概括三维对象的设计过程的动画的方法

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8635357B2 (en) 2009-09-08 2014-01-21 Google Inc. Dynamic selection of parameter sets for transcoding media data
US9035807B2 (en) * 2011-08-25 2015-05-19 Thomson Licensing Hierarchical entropy encoding and decoding
EP2910026B1 (fr) * 2012-10-19 2017-11-29 Visa International Service Association Procédés de diffusion numérique mettant en uvre des réseaux maillés et des ondelettes sécurisés
CN105066905B (zh) * 2015-07-20 2018-01-12 中国科学院上海光学精密机械研究所 小波变换轮廓术抑噪方法

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2003009234A1 (fr) * 2001-07-10 2003-01-30 France Telecom Procede de codage par ondelettes d'un objet maille

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR2781908B1 (fr) * 1998-08-03 2000-09-29 France Telecom Procede de codage d'un maillage a nombre reduit de facettes, procede de reconstruction et applications correspondants
US6438266B1 (en) * 1998-08-27 2002-08-20 Lucent Technologies Inc. Encoding images of 3-D objects with improved rendering time and transmission processes
US6995761B1 (en) * 2000-01-14 2006-02-07 California Institute Of Technology Compression of 3D surfaces using progressive geometry
FR2817066B1 (fr) * 2000-11-21 2003-02-07 France Telecom Procede de codage par ondelettes d'un maillage representatif d'un objet ou d'une scene en trois dimensions, dispositifs de codage et decodage, systeme et structure de signal correspondants
KR100492517B1 (ko) * 2002-03-07 2005-06-03 장형수 닥나무 인피섬유를 이용한 인피섬유지 제조장치, 제조방법및 그 방법에 의해 제조된 인피섬유지

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2003009234A1 (fr) * 2001-07-10 2003-01-30 France Telecom Procede de codage par ondelettes d'un objet maille

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
GIOIA P ET AL: "Real-time reconstruction of wavelet encoded meshes for view-dependent transmission and visualization" PROCEEDINGS OF THE INTERNATIONAL CONFERENCE ON IMAGE PROCESSING (ICIP 2002), vol. 2 OF 3, 22 septembre 2002 (2002-09-22), - 25 septembre 2002 (2002-09-25) pages 9-12, XP010607497 IEEE, NEW YORK, US ISBN: 0-7803-7622-6 *
GIOIA P ET AL: "REAL-TIME RECONSTRUCTION OF WAVELET-ENCODED MESHES FOR VIEW-DEPENDENT TRANSMISSION AND VISUALIZATION" IEEE TRANSACTIONS ON CIRCUITS AND SYSTEMS FOR VIDEO TECHNOLOGY, IEEE INC. NEW YORK, US, vol. 14, no. 7, juillet 2004 (2004-07), pages 1009-1020, XP001198601 ISSN: 1051-8215 *
MORÁN F ET AL: "Subdivision surfaces in MPEG-4" PROCEEDINGS OF THE INTERNATIONAL CONFERENCE ON IMAGE PROCESSING (ICIP 2002), vol. 2 OF 3, 22 septembre 2002 (2002-09-22), - 25 septembre 2002 (2002-09-25) pages 5-8, XP010607496 IEEE, NEW YORK, US ISBN: 0-7803-7622-6 *

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2008110719A1 (fr) * 2007-02-01 2008-09-18 France Telecom Procede de codage de donnees representatives d'une texture multidimensionnelle, dispositif de codage, procede et dispositif de decodage, signal et programme correspondants
CN109671139A (zh) * 2017-10-13 2019-04-23 达索系统公司 用于创建概括三维对象的设计过程的动画的方法
CN109671139B (zh) * 2017-10-13 2024-05-17 达索系统公司 用于创建概括三维对象的设计过程的动画的方法

Also Published As

Publication number Publication date
US8086054B2 (en) 2011-12-27
EP1800263A2 (fr) 2007-06-27
US20080193027A1 (en) 2008-08-14
WO2006040270A3 (fr) 2006-08-03
FR2876821A1 (fr) 2006-04-21

Similar Documents

Publication Publication Date Title
EP1101200B1 (fr) Affinement selectif de mailles
EP1457023B1 (fr) Procede de transmission d&#39;objets entre un serveur et un terminal client mettant en oeuvre une gestion de cache
EP1800263A2 (fr) Procede de decodage local d&#39;un train binaire de coefficients d&#39;ondelettes
WO2013121140A1 (fr) Procédé de codage de motif holographique, dispositif de codage et programme d&#39;ordinateur correspondants
WO2003009234A1 (fr) Procede de codage par ondelettes d&#39;un objet maille
EP1340195B1 (fr) Procede de codage par ondelettes d&#39;un maillage
WO2008110719A1 (fr) Procede de codage de donnees representatives d&#39;une texture multidimensionnelle, dispositif de codage, procede et dispositif de decodage, signal et programme correspondants
EP1864258A1 (fr) Procede de transmission de donnees de visualisation d&#39;un contenu entre un serveur et au moins un terminal client, serveur, terminal et programme d&#39;ordinateur correspondants
EP1784786A2 (fr) Edition de graphiques vectoriels , notamment de cartes geographiques
WO2021004797A1 (fr) Procédé et dispositif de codage d&#39;une séquence d&#39;hologrammes numériques
WO2002100111A1 (fr) Procedes et dispositifs de codage et de decodage d&#39;images mettant en oeuvre des maillages emboites, programme, signal et applications correspondantes
EP1116185B1 (fr) Methode de compression et de codage d&#39;un reseau maille tridimensionnel
EP1101199A1 (fr) Simplification et codage d&#39;un maillage source
EP1574068B1 (fr) Procede de codage d&#39;une image par ondelettes et procede de decodage correspondant
WO2004114669A2 (fr) Procede de representation d’une sequence d’images par modeles 3d, signal et dispositifs correspondants
EP1110409B1 (fr) Procede d&#39;estimation du mouvement entre deux images
Hakami Wavelet based multimedia data compression techniques
WO2000042575A1 (fr) Procede de simplification d&#39;un maillage source, tenant compte de la courbure locale et de la dynamique geometrique locale, et applications correspondantes
WO2021123617A1 (fr) Procede d&#39;encodage d&#39;une image numerique en vue de sa compression
EP1121665A1 (fr) Procede de codage d&#39;un maillage source, avec optimisation de la position d&#39;un sommet resultant d&#39;une fusion d&#39;arete, et applications correspondantes

Legal Events

Date Code Title Description
AK Designated states

Kind code of ref document: A2

Designated state(s): AE AG AL AM AT AU AZ BA BB BG BR BW BY BZ CA CH CN CO CR CU CZ DE DK DM DZ EC EE EG ES FI GB GD GE GH GM HR HU ID IL IN IS JP KE KG KM KP KR KZ LC LK LR LS LT LU LV LY MA MD MG MK MN MW MX MZ NA NG NI NO NZ OM PG PH PL PT RO RU SC SD SE SG SK SL SM SY TJ TM TN TR TT TZ UA UG US UZ VC VN YU ZA ZM ZW

AL Designated countries for regional patents

Kind code of ref document: A2

Designated state(s): BW GH GM KE LS MW MZ NA SD SL SZ TZ UG ZM ZW AM AZ BY KG KZ MD RU TJ TM AT BE BG CH CY CZ DE DK EE ES FI FR GB GR HU IE IS IT LT LU LV MC NL PL PT RO SE SI SK TR BF BJ CF CG CI CM GA GN GQ GW ML MR NE SN TD TG

121 Ep: the epo has been informed by wipo that ep was designated in this application
REEP Request for entry into the european phase

Ref document number: 2005792261

Country of ref document: EP

WWE Wipo information: entry into national phase

Ref document number: 2005792261

Country of ref document: EP

NENP Non-entry into the national phase

Ref country code: DE

WWP Wipo information: published in national office

Ref document number: 2005792261

Country of ref document: EP

WWE Wipo information: entry into national phase

Ref document number: 11665136

Country of ref document: US