EP1864258A1 - Procede de transmission de donnees de visualisation d'un contenu entre un serveur et au moins un terminal client, serveur, terminal et programme d'ordinateur correspondants - Google Patents

Procede de transmission de donnees de visualisation d'un contenu entre un serveur et au moins un terminal client, serveur, terminal et programme d'ordinateur correspondants

Info

Publication number
EP1864258A1
EP1864258A1 EP06708542A EP06708542A EP1864258A1 EP 1864258 A1 EP1864258 A1 EP 1864258A1 EP 06708542 A EP06708542 A EP 06708542A EP 06708542 A EP06708542 A EP 06708542A EP 1864258 A1 EP1864258 A1 EP 1864258A1
Authority
EP
European Patent Office
Prior art keywords
node
nodes
client
server
interest
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Withdrawn
Application number
EP06708542A
Other languages
German (de)
English (en)
Inventor
Romain Cavagna
Jérôme Royan
Olivier Aubault
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Orange SA
Original Assignee
France Telecom SA
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by France Telecom SA filed Critical France Telecom SA
Publication of EP1864258A1 publication Critical patent/EP1864258A1/fr
Withdrawn legal-status Critical Current

Links

Classifications

    • 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/005Tree description, e.g. octree, quadtree
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T17/00Three dimensional [3D] modelling, e.g. data description of 3D objects
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions

Definitions

  • the field of the invention is that of the visualization of two- or three-dimensional images and 3D scenes. More specifically, the invention relates to a data transmission technique for viewing such images or scenes on a client terminal.
  • the invention applies more particularly to the field of multi-level information retrieval of detail, in which the data are structured in a tree form, and in which each node of the tree corresponds to a specific element to be displayed, at a given level of detail. It is of particular interest for network visualization of very large environments, such as city models for example, but more generally applies to any type of data organized in a hierarchical tree, whether it concerns 3D content or progressive images for example.
  • the first of these techniques consists, for the server 10, to transmit to the client 11 the entirety of the visualization data, before the client 11 can begin to reconstruct the associated representation, and possibly navigate it. It applies in particular to the transmission of 3D scenes coded in VRML ("Virtual Reality Modeling Language" for "virtual reality modeling language"), for which a progressive transmission of the data is not possible.
  • VRML Virtual Reality Modeling Language
  • the client 11 sends a first request Yl x to the server 10, asking it to transmit all the data present in the database, and to reconstruct a representation of a 3D image or scene.
  • the server 10 responds 13j by transmitting the entire required model.
  • the client 11 can then navigate H 1 in the loaded model. If the client 11 wishes to change the model, he must issue a new model request 12 2 , to which the server 10 responds with a new transmission 13 2 of all the visualization data associated with the new required model. It is only after loading the entire new model that the client 11 can begin to navigate 14 2 in its representation.
  • the second known transmission technique is based on the progressive transmission of the model (2D or 3D) from the server 10 to the client 11. It concerns the images, or 3D contents, encoded according to a tree or hierarchical structure, of which the visualization requires, at a given instant, to have all the parent nodes of the active nodes (that is to say nodes rendered in the visual representation of the model at the moment considered). Indeed, in the case of a hierarchical structure, there is a strong dependence between the nodes of the structure, the client can not know the existence of an element if the parent element has not yet been transmitted. In such a context of data transmission on demand, the client must therefore request the child nodes, then wait for their transmission before they can request the following child nodes.
  • the first step 21 allows the client 11 to recover 2I 2 the first node 24 of the tree it receives after sending a specific request 2I 1 to the server 10.
  • the following steps 22 and 23 enable the client 11 to retrieve the information he needs according to his position in the scene or in the image.
  • the first node 24 After having recovered 2I 2 the first node 24, it can determine according to its position whether or not it needs to develop it, that is to say if its position requires a more detailed representation of the scene or the scene. 'picture. It performs recursively this operation until it converges to the optimal model corresponding to its position.
  • the client 11 traverses the tree after rebuilding it, to determine whether it needs the child nodes of some of the nodes that it already has: in other words, it determines whether one or more nodes of the tree should be expanded.
  • the client 11 thus determines during the journey 25j of the tree that the first node 24 must be developed.
  • it sends a request 2I 1 to the server 10, which sends back 22 2 the son nodes 26 and 27 required.
  • a new path 25 2 of the tree enables him to determine that he needs the child nodes of the nodes 26 and 27 that he has just received.
  • a disadvantage of the first transmission technique of Figure 1 is that it is not suitable for the transmission of models or complex images, associated with a large amount of visualization data. Indeed, for such models, the initial transmission time of the data, from the server to the client, is very important, and even prohibitive for the customer, who must wait for the model to fully load before he can start viewing it. According to this first technique, the user can not navigate quickly in the image or in the scene.
  • the second transmission technique of FIG. 2 makes it possible to solve this problem of waiting for complete loading before being able to start the visualization.
  • it has the disadvantage of generating an exchange of important messages (requests 2I 1 , 2I 2 , 2I 1 to 22 4 , 23 ls ...), especially when the desired level of detail corresponds to a deep branch of the tree structure.
  • Another disadvantage of this technique is that it induces the transmission of unnecessary information, and in particular of certain nodes that are not displayed by the client. Indeed, upon receipt of a request for development of a node, the server sends the client all the child nodes of the node to be developed.
  • the many client-server exchanges of the technique of Figure 2 limit the speed at which the tree structure present in the client converges to the optimal level of detail depending on the position of the user.
  • a disadvantage of this technique is that the progressive refinement of the representation of the image or scene is visible to the client at the beginning of navigation, which induces a visual discomfort for the latter.
  • the invention proposes a solution that does not have these disadvantages of the prior art, in the form of a method for transmitting data for viewing a content between a server and at least one terminal.
  • client said data being organized in nodes of a hierarchical tree comprising at least one parent node and at least one child node, a displayable element being associated with each of said nodes.
  • such a method comprises the following steps: transmission by said server to said client of a simplified representation of said tree comprising, for at least some of said nodes, only information of location of said visualizable element in said content to be viewed; selection by said client terminal, from said simplified representation, of at least one node of interest, as a function of a distance criterion from said client to said viewable element associated with said node of interest, in said content to be viewed; transmission of geometric data enabling reconstruction of said visualizable element for the selected one or more nodes of interest.
  • the invention is based on a completely new and inventive approach to the transmission, between a server and one or more client terminals, of visualization data organized according to a tree structure.
  • the invention is based on the initial transmission of a simplified tree structure, which does not contain the geometric data allowing the reconstruction of the image or the scene, but allows the user to view the complete hierarchical tree, and selecting the node (s) containing geometric data necessary for reconstruction of the scene or image, according to its current viewpoint. He can then generate queries that exactly match his needs.
  • This transmission technique makes it possible, with respect to prior techniques, to load the tree data more quickly, and thus allows the user to start a scene or image visualization with an optimal level of detail, adapted to his point of view. .
  • the invention provides the same advantage in case of rapid change of position of the user.
  • the invention proposes, in an advantageous embodiment, a faster convergence to an optimal level of detail of the representation, both during the initialization and in case of rapid change of the position of the user.
  • the invention thus proposes, according to this advantageous embodiment, a technique allowing a pleasant visual rendering for the user, without successive refinements of the reconstructed image or scene being visible.
  • the invention is suitable for use in a network of tree-type content and optimizes viewing applications that operate in query mode.
  • the invention proposes a transmission technique of visualization data organized according to a tree structure well adapted to a client-server architecture operating in query mode.
  • the invention is suitable for client terminals of various processing capabilities, and in particular a client-server architecture in which a large number of client terminals access the same data server.
  • such a visualization data transmission technique is inexpensive in resources, especially in bandwidth and transmission time.
  • said simplified representation comprises, for each of said nodes of the tree: an identifier of said node; information making it possible to link said node to said parent node of said node and / or to said child node (s) of said node; a position of a center of said viewable element associated with said node in said content to be displayed (for example the center of gravity of the element in a Cartesian coordinate system associated with the scene or the image); a selection zone of said viewable element associated with said node.
  • Such a selection area is for example a sphere of radius R if the content to be viewed is a 3D scene, or a disc of radius R if the content to be viewed is a two-dimensional image. It can also take any other form adapted to the nature of the content or the needs of the intended application.
  • Information for linking a child node to a parent node can take the form of an identifier of the parent node of the node considered in the simplified tree.
  • a node of said tree is selected as a node of interest if a current position of said client is included in said selection area.
  • the position of the user is viewed in a Cartesian coordinate system associated with the scene or the image, and it is determined whether this position is included in the sphere of radius R associated with the considered node.
  • said client terminal sends to said server a request for obtaining said display data of said nodes of interest. Thanks to the geometrical data contained in the nodes of interest, the customer will be able to reconstruct a representation of the image or the scene adapted to his point of view. These queries are targeted and perfectly match the needs of the user, which avoids any transmission of unnecessary information.
  • a user can thus navigate quickly in the scene or in the reconstructed image.
  • said client terminal verifies the presence of said data of said nodes of interest in a cache of said terminal, and said request is not sent to said server for said data already present in said cache.
  • the server transmits only the necessary geometrical data to the user of whom it is not yet available: it avoids unnecessary network overhead by limiting the data traffic to the minimum necessary.
  • said client terminal in the event of a change in said current position of said client, sends to said server a request to cancel said request for obtaining said data from at least one node which is not plus a node of interest, if said data have not yet been transmitted by said server.
  • said client terminal does not traverse a node of said simplified representation to determine whether said distance criterion is verified for said browsed node that if said parent node of said searched node is a node of interest.
  • said user tests the different nodes of the hierarchical tree to determine if the geometric data they contain are necessary for viewing the content, it does not scan the child nodes of a tree. father node, if this father node is not a node of interest. It is not necessary to browse the entire tree to determine which nodes are visible. This characteristic stems directly from the inclusion property of the selection zones of the father and son nodes which will be described in more detail below.
  • the invention also relates to a computer program comprising program code instructions for executing the steps of the method of transmitting data for viewing content between a server and at least one client terminal described above when said program is executed by a processor.
  • the invention also relates to a content viewing data server intended for at least one client terminal, said data being organized in nodes of a hierarchical tree comprising at least one parent node and at least one child node, an element viewable being associated with each of said nodes.
  • Such a server comprises: means for generating and transmitting to said client a simplified representation of said tree comprising, for at least some of said nodes, only information of location of said visible element in said content to be displayed, so that said client selects from said simplified representation, at least one node of interest, according to a distance criterion of said client to said viewable element associated with said node of interest, in said content to be viewed; and means for transmitting to said client geometric data allowing a reconstruction of said visualizable element for the selected one or more nodes of interest.
  • the invention also relates to a computer program product comprising program code instructions recorded on a medium that can be used in or by a computer, said program enabling the transmission of data for viewing content between a server and at least one terminal.
  • client said data being organized in nodes of a hierarchical tree comprising at least one parent node and at least one child node, a displayable element being associated with each of said nodes.
  • Such a computer program includes: computer readable programming means for performing a step transmission by said server to said client of a simplified representation of said tree comprising, for at least some of said nodes, only information of location of said visualizable element in said content to be viewed; computer readable programming means for performing a selection step by said client terminal, from said simplified representation, of at least one node of interest, as a function of a distance criterion of said client to said associated displayable element; said node of interest, in said content to be viewed; - Computer readable programming means for performing a geometric data transmission step for a reconstruction of said visualizable element for the selected one or more nodes of interest.
  • the invention also relates to a client terminal for viewing content from visualization data organized in nodes of a hierarchical tree comprising at least one parent node and at least one child node, a displayable element being associated with each of said nodes. nodes.
  • a terminal comprises: means for receiving a simplified representation of said tree, transmitted by a server, and comprising, for at least some of said nodes, only information of location of said visible element in said content to be viewed; means for selecting, from said simplified representation, at least one node of interest, as a function of a distance criterion from said client to said viewable element associated with said node of interest, in said content to be displayed; geometric data transmission means for reconstructing said visualizable element for the selected one or more nodes of interest. 5.
  • FIG. 1 already described in relation with the prior art, presents a visualization data transmission technique between a server and a client terminal, based on an integral and prior transmission of the model to be visualized;
  • FIG. 2 also illustrates a prior art implementing a progressive transmission of the model to be displayed, by successive exchanges of requests between the client and the server;
  • Figure 3 shows a block diagram of the transmission technique of the invention;
  • FIG. 4 describes a tree structure of PBTree type associated with a 3D representation of a city, in a particular embodiment of the invention;
  • FIG. 5 is a block diagram of the method for generating the description file of the tree structure of FIG. 4;
  • FIG. 6 illustrates the geometric representation of the description file of the tree structure generated according to the diagram of FIG. 5;
  • FIG. 7 presents a block diagram of the selection mechanism of the nodes of interest by the client terminal;
  • FIG. 8 illustrates an example of a two-dimensional image in which the selection zones are not regular;
  • Figures 9 and 10 show block diagrams of a server and a client terminal according to the invention.
  • the first phase 30 corresponds to the initialization of the client 11. After a connection procedure 3O 1 , it receives 3O 2 , in a file, a simplified description of the scene or the image to be displayed.
  • This description file of the tree is generated by the server 10 and contains only the information that allows the selection of the nodes to be displayed; thus, the file contains, for each node associated with a level of detail of the tree, its position in the frame of the scene as well as a selection area, or for each of the nodes: the index of the node; the position of the center of the node (position x, y, z of the center of gravity for example in a cartesian coordinate system associated with the image or the scene); the selection area for this node (a radius r for example if the selection area is a sphere or a disk); the index of the father node.
  • the terminal 11 Upon receipt of the tree description file 3O 2 by the client, the terminal 11 decodes this file and then verifies that the selection areas of all the threads of the nodes are included in the selection area of their father. If need be, the client makes the necessary corrections to respect this property of inclusion, by widening the selection zones of the fathers nodes. Once the corrections are made, the client rebuilds the tree structure that has been transmitted. Note that this verification is not mandatory, and could be done by the server, or by third party equipment.
  • the second phase (31 to 33) corresponds to the visualization of the scene.
  • the client 11 takes care of the selection of the nodes 35 to be displayed, according to the position of the user in the scene or the image (expressed also in the form of coordinates (x, y, z) in a Cartesian coordinate system associated with the scene or image). It uses (34j to 34 3) the description file which is transmitted by the server 10 to the boot 30. If the current position of the user 11 is included in the selection area of a node 35 is justify- this is selected. Every moment, depending on the loaded data and the required nodes, the client sends requests to the server to receive the visualization data.
  • the information that the client needs for the visualization of the scene or the image can be geometric representations, compressed images, links to textures, wavelet coefficients, etc.
  • the client 11 travels 34 ! the simplified representation of the received tree 3O 2 of the server 10, and determines that it needs the geometrical data contained in the nodes referenced 35 1 to 35 3 . It sends to the server 10 a request 3I 1 to obtain this data, which the server 10 transmits 3I 2 .
  • the client 10 can then view the elements of the scene or the image associated with the nodes referenced 35 1 to 35 3 . For example, if the scene is a city model, the client 11 displays the buildings he sees according to his position.
  • the client terminal 34 After a first displacement 15j of the user in the scene, the client terminal 34 travels again 2 the simplified tree, testing each of the nodes of the tree, and determines that it also needs the geometric data in nodes son 35 4 to 35 7 of the nodes 35 2 and 35 3 previously received. It then sends the server 10 a request 32 t to obtain the only missing data, which the server sends 32 2 .
  • the client reconstructs, on reception, the representation of all the elements associated with the nodes referenced 3S 1 to 35 7 , from the received data (35 4 to 35 7 ), and data already present in its cache (3S 1 to 3). 35 3 ).
  • the user starts a third step 33 of visualization, by a new path 34 3 of the simplified tree, which allows him to determine that in view of his new position, only the nodes referenced 3S 1 to 35 5 constitute for it nodes of interest. Since all the geometrical data contained in these nodes of interest 35 1 to 35 5 are already stored in the cache of the client terminal 11, no exchange with the server is necessary for this third display step 33: the client 11 uses the data that he has already loaded.
  • This transmission technique illustrated in FIG. 3 applies to all types of tree data, and in particular to multilevel representations of detail of 3D scenes and two-dimensional images. Indeed, a multi-level representation of detail makes it possible to adapt the complexity of the scene or the image in relation to the point of view.
  • a tree structure is used to store the different levels of detail in the scene. The root node represents the coarsest level of detail, and the leaf nodes correspond to the most detailed models in the scene (initial models). Several pieces of information can be stored in the tree nodes.
  • PBTree proposed by J. Royan et al. (in “PBTree - A new progressive and hierarchical representation for network-based navigation in urban environments", VMV 2003, Kunststoff, Germany) stores simplifications made on buildings represented in 2D 1/2 (footprint, altitude, height) ; VRML detail levels are used to store a facet index for each level of detail of a 3D object.
  • image detail representations such as MPEG4 (Motion Picture Expert Group) VTC and JPEG 2000 (Joint Picture Expert Group)
  • the tree structure is implicit, and is based on a division of the image.
  • image in nested pixel areas for example, the image is divided into four zones, associated with four nodes of the tree, then each of these mother zones is in turn divided into four daughter zones associated with four child nodes of the tree, and so on).
  • Information is transmitted to refine a particular area of the image.
  • FIG. 4 shows the tree structure (PBTree) associated with such a representation.
  • PBTree tree structure
  • Each 4O 1 node of this PBTree stores a 2D 1/2 building model at a given level of detail.
  • the simplifications used to generate this multi-level representation of details of a set of buildings are three in number: the removal of a vertex from the footprint; the merging of two adjacent buildings; the merger of two non-adjacent buildings.
  • the set of nodes referenced 41 groups all the mergeable nodes, and the set of nodes referenced 42 represents the list of active nodes (that is, whose associated contents are displayed on the terminal and which are likely to be refined).
  • the city model is described by means of a vector that defines the footprints of the buildings associated with each of the nodes.
  • Each node must contain a 2D 1/2 representation that allows a 3D reconstruction of the associated building and includes the following elements: a tree node structure; a footprint of a building (a polygon indexed to the vector above); height ; - an altitude; a roof model; possibly one or more parameters allowing a more complex 3D modeling of the building.
  • This representation allows a progressive transmission, and dependent on the point of view, towards the customer.
  • the implementation described below relates more specifically to the selection of the nodes to be transmitted according to the position of the user.
  • FIG. 5 presents a block diagram of the method for generating the description file of the tree structure, which comprises six successive steps organized in two main phases. This generation is implemented by the server, either on storage of visualization data of an object, or on receipt of a first request from a user wishing to access this object.
  • the first phase 50 consists of a calculation of the selection zones associated with each of the nodes. It begins with a loading 52 of the entire tree representing the object (scene or image - in this case, a city) that the client terminal wishes to view. In an iterative loop, the server then traverses each of the nodes of the loaded tree in an arbitrary path of order. For each of the nodes traversed, the server determines 54 the selection area of the node, that is to say the geographical area in which the user will have to be for the need to load the contents of the node. In a particular embodiment of the invention, it is proposed to use, to define this selection area, a geometric error which is calculated according to the original model. More precisely, the selection area is a sphere whose radius is chosen according to a geometric error with respect to the original model, by using a generic cost function with multiple parameters.
  • the server saves the center of each of the selection areas that it has just calculated, and then checks that all the nodes of the tree have been processed. If not, it loops back to the referenced step 53 of travel of the tree; if so, it moves to the second phase of the process.
  • This second phase 51 for generating the simplified representation of the hierarchical tree consists of a verification of the inclusion property of the zone of the son nodes in that of the fathers nodes. Indeed, in this particular embodiment, it is required that this inclusion constraint be verified for all the nodes of the tree.
  • This second phase 51 is optional.
  • the server goes through each of the nodes of the tree, but the order of the route is now imposed: we start by traversing the nodes of the bottom of the tree, that is to say the leaf nodes, for finish with the root. For each of the nodes traveled, 58 is checked if this node has one or more son. If not, we return to the previous step 57 of course of the nodes of the tree. If so, we proceed to the next step 59 of checking the inclusion of the selection areas of all the child nodes in the selection area of the parent node. The progeny test 58 indicates that there can be no modification of the selection areas associated with leaf nodes of the tree.
  • the step 59 of checking the inclusion property of the selection zones of the child and father nodes implements the following calculation.
  • O p be the center of the selection zone of the parent node p
  • O n be the center of the selection zone of the child node n.
  • R p be the radius of the selection zone of the parent node p
  • R n the radius of the selection zone of the child node n.
  • Ad n is the distance between p and O O n. It must be verified that:
  • the selection area of the parent node is widened so that the inclusion property is satisfied.
  • FIG. 6 illustrates the geometric representation of the description file of the tree structure generated according to the diagram of FIG. 5.
  • the displayable elements associated with each of the nodes have a position in the description space of the city.
  • FIG. 6 illustrates the various nodes 6I 1 to IA x of the tree structure making it possible to describe the city in question, as well as the area of selection.
  • FIG. 6 illustrates the inclusion property of the selection zones of the nodes 6I 1 to IA x . Note that a node and the associated selection area have the same reference numerical, to the index, the index associated with the node being 1, and the index associated with the selection zone being 2.
  • the selection areas 72 2, 73 2 and 74 2 associated with the leaf nodes 72 ls 73j and 74 1 are included in the selection area 67 2 associated with the referenced node 6I 1 .
  • the selection areas 65 2 66 2 and 67 2 associated with the son nodes 65 ls 6O 1 and 67! are included in the selection area 62 2 associated with the node referenced 6I 1 .
  • the selection areas 62 2, 63 2 and 64 2 associated with the nodes 62 ls 63 1 and 64 1 are included in the selection area 6I 2 associated with the root node 1 6I.
  • selection fields are circles.
  • selection areas are spheres. It is important to note that the centers of these spheres are not necessarily located on the same plane (unless there is no relief in the city). It is therefore necessary to consider that FIG. 6 is a view from above in the case considered of representation of a city.
  • a file which contains, for each of the nodes of the hierarchical tree: the index of the node in the tree; the position of the center of gravity of the node (in the form of Cartesian coordinates (x, y, z) in a coordinate system associated with the representation of the city); the area of selection for this node (expressed as a radius r, the selection area being a sphere centered on the center of gravity of the node); the index of the father node.
  • Figure 7 illustrates the selection mechanism of the nodes of interest, implemented by the client terminal to view the city, on receipt of this file.
  • the client who selects the nodes to be viewed. It is he who transmits the requests to the server so that he sends him the data he needs to visualize the tree structure. Indeed, the simplified representation of the tree (or description file of the tree structure) does not contain the geometric information to reconstruct the city, so the client must ask the server once he has selected a node.
  • the selection of the nodes and the transmission of the requests are deported to an intermediate equipment of the network, endowed, for example, with larger processing capacities than the client terminal.
  • the selection of the nodes of interest by the client terminal comprises two main phases, namely a phase 76 for generating a list of potentially interesting nodes (LNP), from a list of nodes to be tested (LNT), and a second phase 77 refining the LNP list to select the nodes to load or transmit.
  • the client terminal first loads the simplified representation of the tree, then tests 75 if the position of the user in the scene has changed since the last selection of nodes of interest.
  • the answer to this question is affirmative, and allows the client terminal to enter the first phase 76 of treatment.
  • the step referenced 76 4 consists of checking whether the current position of the user is included in the selection area of the current node. Let O be the position of the observer, the center of the selection zone of the current node and Rn the radius of this zone. If I On-O I ⁇ Rn, there is inclusion. Then moves on to the next step 76 5 of adding the current node in the LNP list of potential nodes, ie nodes that are potentially of interest. Then 76 6 is tested if this node is a leaf. If not, add the child nodes of this node to the end of the LNT list. If the user's position is not in the selection area of the current node
  • the second processing phase 77 can be considered as a correction phase of the LNP list to avoid redundancies of transmission between the server and the client.
  • Each of the nodes of the LNP list is scanned 77 1 , and for each one checks 77 2 if this node is present in the cache of the client (the use of the cache is necessary to avoid transmitting the same information several times). If the node is already in the cache, remove the node 77 3 of the LNP. Then, or in the event of a negative response to the test referenced 77 2 , 77 4 is determined if there are still nodes to check in the LNP. If so, we go back to the first step 77 ! of the second phase 77.
  • the client terminal has, with the corrected LNP list, all the nodes of interest whose content is necessary for viewing the city. It can then send the server a request to obtain the geometric data associated with each of these nodes.
  • the step referenced 78 is the step of transmitting the geometric data of the node if necessary (if these data are not in the cache). Then return to the referenced step 75 test new position until all the geometric data of the nodes of interest are loaded. To optimize the processing of FIG. 7, it is possible to avoid testing the child nodes if the parent node is not selected as the node of interest. With this optimization, it is not necessary to browse the entire tree to determine the nodes whose content is visible to the user (knowing that the selection areas of the child nodes are included in that of their father).
  • Figures 9 and 10 show two block diagrams of the server and the client terminal of the invention.
  • the server comprises a memory M 91, and a processing unit 90 equipped with a processor P, which is controlled by the computer program Pg 92.
  • the processing unit 90 receives as input visualization data 93 of an image or a 3D scene, organized under hierarchical tree form, from which the processor P generates, according to the instructions of the program Pg 92, a simplified representation 95 of the tree does not contain the geometric information of the nodes.
  • the processing unit 90 also has an input intended to receive the requests 94 from a client terminal, from which the processor P triggers the transmission of the simplified representation 95, or of geometric data 96 enabling the terminal to reconstruct the content to be read. visualize according to his point of view.
  • the client terminal comprises a memory M 101, and a processing unit 100 equipped with a processor P, which is controlled by the computer program Pg 102.
  • the processing unit 100 receives as input the simplified representation 95 of the hierarchical tree generated by the server, from which the processor P selects, according to the instructions of the program Pg 102, one or more nodes of interest according to the point of view of the user, and issues a request 103 corresponding to the server.
  • the processing unit 100 also has an input intended to receive geometric data 96 supplied by the server, from which the processor P reconstructs the content to be viewed 104 according to its point of view.
  • the technique of the invention allows a faster loading of tree data. You do not have to go through all visible nodes to see if they need to be expanded or merged. Nor is it necessary to transmit the nodes recursively. In addition, in the case of a very fast movement of the user in the scene to be viewed, it is possible to cancel the transmission of nodes become obsolete given the new position.
  • the content to be viewed by the client terminal is a two-dimensional image
  • the selection areas associated with the image are regular
  • Figure 8 shows this example of use: knowing the "mapping" of the image, the user can request the information he needs according to its position relative to the image.
  • the different zones 81, 82, 83 of FIG. 8 could correspond to different compression formats (JPEG, JPEG 2000, etc.).
  • tiles of different sizes according to the zones.

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Graphics (AREA)
  • Geometry (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • Mathematical Physics (AREA)
  • General Engineering & Computer Science (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

L'invention concerne un procédé de transmission de données de visualisation d'un contenu entre un serveur et au moins un terminal client, lesdites données étant organisées dans des noeds d'un arbre hiérarchique comprenant au moins un noed parent et au moins un noed fils, un élément visualisable étant associé à chacun desdits noeds. Selon l'invention, un tel procédé comprend les étapes suivantes: transmission par ledit serveur audit client d'une représentation simplifiée dudit arbre comprenant, pour au moins certains desdits noeds, uniquement une information de localisation dudit élément visualisable dans ledit contenu à visualiser; sélection par ledit terminal client, à partir de ladite représentation simplifiée, d'au moins un noed d'intérêt, en fonction d'un critère de distance dudit client audit élément visualisable associé audit noed d'intérêt, dans ledit contenu à visualiser; - transmission de données géométriques permettant une reconstruction dudit élément visualisable pour le ou lesdits noeds d'intérêt sélectionnés.

Description

Procédé de transmission de données de visualisation d'un contenu entre un serveur et au moins un terminal client, serveur, terminal et programme d'ordinateur correspondants.
1. Domaine de l'invention Le domaine de l'invention est celui de la visualisation d'images bi- ou tridimensionnelles et de scènes 3D. Plus précisément, l'invention concerne une technique de transmission de données permettant la visualisation de telles images ou de telles scènes sur un terminal client.
L'invention s'applique plus particulièrement au domaine de la consultation d'informations multi-niveaux de détail, dans lequel les données sont structurées sous une forme arborescente, et dans lequel chaque nœud de l'arborescence correspond à un élément précis à visualiser, à un niveau de détail donné. Elle présente un intérêt tout particulier pour la visualisation en réseau d'environnements très vastes, tels que des modèles de villes par exemple, mais s'applique plus généralement à tout type de données organisées dans un arbre hiérarchique, qu'il s'agisse de contenus 3D ou d'images progressives par exemple.
2. Solutions de l'art antérieur
II existe un besoin croissant de pouvoir visualiser de manière rapide et interactive, sur un terminal client, des images ou des scènes de grande taille, stockées sur un serveur auquel le client accède par un réseau de communication, tel que le réseau mondial Internet. Or, les bases de données nécessaires à la reconstruction de tels modèles 3D, ou de telles images progressives, sont de plus en plus volumineuses (notamment lorsqu'elles permettent par exemple une représentation progressive et hiérarchique de grandes villes), et le coût de leur transmission vers le terminal client (en termes de bande passante ou de temps de transmission) est donc de plus en plus élevé.
On connaît à ce jour deux techniques principales de transmission de données de visualisation dans une architecture de type client-serveur, que l'on présente ci-dessous en relation avec les figures 1 et 2. La première de ces techniques consiste, pour le serveur 10, à transmettre au client 11 l'intégralité des données de visualisation, avant que le client 11 ne puisse commencer à reconstruire la représentation associée, et éventuellement à y naviguer. Elle s'applique notamment à la transmission de scènes 3D codées en VRML ("Virtual Reality Modeling Language", pour "langage de modélisation de réalité virtuelle"), pour lesquelles une transmission progressive des données n'est pas possible. Ainsi, le client 11 émet une première requête Ylx au serveur 10, lui demandant de lui transmettre toutes les données présentes dans la base, et permettant de reconstruire une représentation d'une image ou d'une scène 3D. Le serveur 10 répond 13j en transmettant l'intégralité du modèle requis. Le client 11 peut alors naviguer H1 dans le modèle chargé. Si le client 11 souhaite changer 15 de modèle, il doit émettre une nouvelle requête 122 de modèle, à laquelle le serveur 10 répond par une nouvelle transmission 132 de l'intégralité des données de visualisation associées au nouveau modèle requis. Ce n'est qu'après chargement de l'intégralité de ce nouveau modèle que le client 11 peut commencer à naviguer 142 dans sa représentation.
La deuxième technique de transmission connue, illustrée par la figure 2, repose sur la transmission progressive du modèle (2D ou 3D) du serveur 10 au client 11. Elle concerne les images, ou contenus 3D, codés selon une structure arborescente ou hiérarchique, dont la visualisation nécessite, à un instant donné, de disposer de tous les nœuds parents des nœuds actifs (c'est-à-dire des nœuds rendus dans la représentation visuelle du modèle à l'instant considéré). En effet, dans le cas d'une structure hiérarchique, il existe une forte dépendance entre les nœuds de la structure, le client ne pouvant pas connaître l'existence d'un élément si l'élément parent n'a pas encore été transmis. Dans un tel contexte de transmission de données à la demande, le client doit donc demander les nœuds fils, puis attendre leur transmission avant de pouvoir demander les nœuds fils suivants. Ainsi, selon cette technique, pour pouvoir consulter une donnée au niveau de détail adapté au point de vue de l'utilisateur, il est nécessaire de réaliser une transmission progressive de l'arbre hiérarchique. Le raffinement de l'arbre se fait de manière récursive, en partant du nœud père jusqu'aux nœuds correspondant au point de vue courant. Le parcours de l'arbre se fait donc en profondeur. La première étape 21 permet au client 11 de récupérer 2I2 le premier nœud 24 de l'arbre qu'il reçoit après avoir envoyé une requête spécifique 2I1 au serveur 10. Les étapes 22 et 23 qui suivent permettent au client 11 de récupérer les informations dont il a besoin en fonction de sa position dans la scène ou dans l'image. Après avoir récupéré 2I2 le premier nœud 24, il peut déterminer en fonction de sa position s'il a besoin ou non de le développer, c'est-à-dire si sa position nécessite une représentation plus détaillée de la scène ou de l'image. Il effectue de manière récursive cette opération jusqu'à ce qu'il converge vers le modèle optimal correspondant à sa position.
Ainsi, après chaque réception d'un ou plusieurs nœuds de l'arbre, le client 11 parcourt 25 l'arbre après l'avoir reconstruit, pour déterminer s'il a besoin des nœuds fils de certains des nœuds dont il dispose déjà : en d'autres termes, il détermine si un ou plusieurs nœuds de l'arbre doivent être développés. Sur la figure 2, le client 11 détermine ainsi lors du parcours 25j de l'arbre que le premier nœud 24 doit être développé. Lors de l'étape référencée 22, il adresse une requête 2I1 au serveur 10, qui lui adresse en retour 222 les nœuds fils 26 et 27 requis. Un nouveau parcours 252 de l'arbre lui permet de déterminer qu'il a besoin des nœuds fils des nœuds 26 et 27 qu'il vient de recevoir. Il adresse donc une nouvelle requête 223 au serveur 10, qui lui adresse en retour 224 les nœuds fils des nœuds 26 et 27. En cas de changement de position 15 du client 11, un nouveau parcours de l'arbre 253 peut lui permettre de déterminer que le nœud 26 ne lui est plus utile, mais que les nœuds fils du nœud 27 auraient besoin d'être développés. Il adresse alors une requête 2S1 dans ce sens au serveur 10.
3. Inconvénients de l'art antérieur
Un inconvénient de la première technique de transmission de la figure 1 est qu'elle n'est pas adaptée à la transmission de modèles ou d'images complexes, associés à un volume de données de visualisation important. En effet, pour de tels modèles, le temps de transmission initial des données, du serveur au client, est très important, et même prohibitif pour le client, qui doit attendre le chargement complet du modèle avant de pouvoir commencer à le visualiser. Selon cette première technique, l'utilisateur ne peut donc pas naviguer rapidement dans l'image ou dans la scène.
La deuxième technique de transmission de la figure 2 permet de résoudre ce problème d'attente de chargement complet avant de pouvoir commencer la visualisation. Cependant, elle présente pour inconvénient de générer un échange de messages important (requêtes 2I1, 2I2, 2I1 à 224, 23ls ...), notamment lorsque le niveau de détail souhaité correspond à une branche profonde de la structure arborescente.
Un autre inconvénient de cette technique est qu'elle induit la transmission d'informations inutiles, et notamment de certains nœuds qui ne sont pas visualisés par le client. En effet, sur réception d'une requête de développement d'un nœud, le serveur adresse au client tous les nœuds fils du nœud à développer.
En outre, les nombreux échanges client-serveur de la technique de la figure 2 limitent la vitesse à laquelle la structure arborescente présente chez le client converge vers le niveau de détail optimal dépendant de la position de l'utilisateur. Un inconvénient de cette technique est donc que le raffinement progressif de la représentation de l'image ou de la scène est visible pour le client au début de la navigation, ce qui induit une gêne visuelle pour ce dernier.
Ces inconvénients se manifestent également en cas de déplacement rapide du client dans la scène ou dans l'image : le manque d'information adaptée au nouveau point de vue de l'utilisateur induit une visibilité des raffinements successifs, au fur et à mesure de la réception de nouveaux nœuds depuis le serveur. A nouveau, le mode de parcours de l'arbre et les échanges qu'il suscite ne permettent pas de converger rapidement vers le niveau de détail optimal.
4. Exposé de l'invention L'invention propose une solution qui ne présente pas ces inconvénients de l'art antérieur, sous la forme d'un procédé de transmission de données de visualisation d'un contenu entre un serveur et au moins un terminal client, lesdites données étant organisées dans des nœuds d'un arbre hiérarchique comprenant au moins un nœud parent et au moins un nœud fils, un élément visualisable étant associé à chacun desdits nœuds.
Selon l'invention, un tel procédé comprend les étapes suivantes : transmission par ledit serveur audit client d'une représentation simplifiée dudit arbre comprenant, pour au moins certains desdits nœuds, uniquement une information de localisation dudit élément visualisable dans ledit contenu à visualiser ; sélection par ledit terminal client, à partir de ladite représentation simplifiée, d'au moins un nœud d'intérêt, en fonction d'un critère de distance dudit client audit élément visualisable associé audit nœud d'intérêt, dans ledit contenu à visualiser ; - transmission de données géométriques permettant une reconstruction dudit élément visualisable pour le ou lesdits nœuds d'intérêt sélectionnés.
Ainsi, l'invention repose sur une approche tout à fait nouvelle et inventive de la transmission, entre un serveur et un ou plusieurs terminaux clients, de données de visualisation organisées selon une structure arborescente. En effet, l'invention repose sur la transmission initiale d'une arborescence simplifiée, qui ne contient pas les données géométriques permettant la reconstruction de l'image ou de la scène, mais permet à l'utilisateur de visualiser l'arbre hiérarchique complet, et de sélectionner le ou les nœuds contenant des données géométriques nécessaires à la reconstruction de la scène ou de l'image, en fonction de son point de vue courant. Il peut alors générer des requêtes correspondant exactement à ses besoins.
Cette technique de transmission permet, par rapport aux techniques antérieures, un chargement plus rapide des données arborescentes, et donc permet à l'utilisateur de démarrer une visualisation de scène ou d'image avec un niveau de détail optimal, adapté à son point de vue. L'invention procure le même avantage en cas de changement de position rapide de l'utilisateur.
Ainsi, l'invention propose, dans un mode de réalisation avantageux, une convergence plus rapide vers un niveau de détail optimal de la représentation, tant lors de l'initialisation qu'en cas de changement rapide de la position de l'utilisateur. L'invention propose ainsi, selon ce mode de réalisation avantageux, une technique permettant un rendu visuel agréable pour l'utilisateur, sans que des raffinements successifs de l'image ou de la scène reconstruites ne soient visibles.
Selon un mode de réalisation particulier, l'invention est adaptée à une utilisation en réseau de contenus de type arborescent et permet d'optimiser les applications de visualisation qui fonctionnent en mode requête. Ainsi, selon ce mode de réalisation particulier, l'invention propose une technique de transmission de données de visualisation organisées selon une structure arborescente bien adaptée à une architecture client-serveur fonctionnant en mode requête.
Avantageusement, l'invention est adaptée à des terminaux clients de capacités de traitement diverses, et notamment à une architecture client-serveur dans laquelle un grand nombre de terminaux clients accèdent à un même serveur de données.
De plus, selon au moins certains modes de réalisation de l'invention, une telle technique de transmission de données de visualisation est peu coûteuse en ressources, notamment en bande passante et en temps de transmission.
De manière préférentielle, ladite représentation simplifiée comprend, pour chacun desdits nœuds de l'arbre : un identifiant dudit nœud ; une information permettant de lier ledit nœud audit nœud parent dudit nœud et/ou au(x)dit(s) nœud(s) fils dudit nœud ; une position d'un centre dudit élément visualisable associé audit nœud dans ledit contenu à visualiser (par exemple le centre de gravité de l'élément dans un repère cartésien associé à la scène ou à l'image) ; une zone de sélection dudit élément visualisable associé audit nœud.
Une telle zone de sélection est par exemple une sphère de rayon R si le contenu à visualiser est une scène 3D, ou un disque de rayon R si le contenu à visualiser est une image bidimensionnelle. Elle peut également prendre toute autre forme adaptée à la nature du contenu ou aux besoins de l'application visée.
L'information permettant de lier un nœud fils à un nœud parent peut quant à elle prendre la forme d'un identifiant du nœud parent du nœud considéré dans l'arbre simplifié. On peut aussi choisir, pour un nœud donné, d'indiquer dans la représentation simplifiée son nombre de fils, et de transmettre ensuite le contenu de ces nœuds fils si nécessaire.
Avantageusement, un nœud dudit arbre est sélectionné comme nœud d'intérêt si une position courante dudit client est incluse dans ladite zone de sélection. On regarde par exemple la position de l'utilisateur dans un repère cartésien associé à la scène ou à l'image, et on détermine si cette position est incluse dans la sphère de rayon R associée au nœud considéré. Selon une caractéristique avantageuse, ledit terminal client envoie audit serveur une requête d'obtention desdites données de visualisation desdits nœuds d'intérêt. Grâce aux données géométriques contenues dans les nœuds d'intérêt, le client pourra en effet reconstruire une représentation de l'image ou de la scène adaptée à son point de vue. Ces requêtes sont ciblées et correspondent parfaitement aux besoins de l'utilisateur, ce qui permet d'éviter toute transmission d'informations inutiles.
Un utilisateur peut ainsi naviguer rapidement dans la scène ou dans l'image reconstruite.
De manière préférentielle, préalablement audit envoi, ledit terminal client vérifie la présence desdites données desdits nœuds d'intérêt dans un cache dudit terminal, et ladite requête n'est pas envoyée audit serveur pour lesdites données déjà présentes dans ledit cache.
Le serveur ne transmet ainsi que les données géométriques nécessaires à l'utilisateur dont ce dernier ne dispose pas encore : on évite toute surcharge inutile du réseau en limitant le trafic de données au strict nécessaire.
Selon une autre caractéristique avantageuse de l'invention, en cas de changement de ladite position courante dudit client, ledit terminal client adresse audit serveur une demande d'annulation de ladite requête d'obtention desdites données d'au moins un nœud qui n'est plus un nœud d'intérêt, si lesdites données n'ont pas encore été transmises par ledit serveur.
En effet, il peut s'écouler un certain temps entre l'instant où l'utilisateur requiert certaines données géométriques au serveur et l'instant où ce dernier accède à la requête de l'utilisateur. Si, entre temps, l'utilisateur s'est déplacé dans la scène ou dans l'image, et que les données requises sont devenues obsolètes, il peut en informer le serveur, afin d'éviter que ce dernier ne transmette des informations devenues inutiles.
Avantageusement, lors de ladite étape de sélection, ledit terminal client ne parcourt un nœud de ladite représentation simplifiée pour déterminer si ledit critère de distance est vérifié pour ledit nœud parcouru que si ledit nœud parent dudit nœud parcouru est un nœud d'intérêt. Ainsi, lorsque l'utilisateur teste les différents nœuds de l'arbre hiérarchique pour déterminer si les données géométriques qu'ils contiennent sont nécessaires à la visualisation du contenu, il ne parcourt pas les nœuds fils d'un nœud père, si ce nœud père n'est pas un nœud d'intérêt. Il n'est ainsi pas nécessaire de parcourir l'arbre en entier pour déterminer les nœuds qui sont visibles. Cette caractéristique découle directement de la propriété d'inclusion des zones de sélection des nœuds père et fils qui sera décrite plus en détail dans la suite. L'invention concerne aussi un programme d'ordinateur comprenant des instructions de code de programme pour l'exécution des étapes du procédé de transmission de données de visualisation d'un contenu entre un serveur et au moins un terminal client décrit ci-dessus lorsque ledit programme est exécuté par un processeur. L'invention concerne également un serveur de données de visualisation d'un contenu destinées à au moins un terminal client, lesdites données étant organisées dans des nœuds d'un arbre hiérarchique comprenant au moins un nœud parent et au moins un nœud fils, un élément visualisable étant associé à chacun desdits nœuds. Un tel serveur comprend : des moyens de génération et de transmission audit client d'une représentation simplifiée dudit arbre comprenant, pour au moins certains desdits nœuds, uniquement une information de localisation dudit élément visualisable dans ledit contenu à visualiser, de façon que ledit client sélectionne, à partir de ladite représentation simplifiée, au moins un nœud d'intérêt, en fonction d'un critère de distance dudit client audit élément visualisable associé audit nœud d'intérêt, dans ledit contenu à visualiser ; et des moyens de transmission audit client de données géométriques permettant une reconstruction dudit élément visualisable pour le ou lesdits nœuds d'intérêt sélectionnés.
L'invention concerne aussi un produit programme d'ordinateur comprenant des instructions de code de programme enregistré sur un support utilisable dans ou par un ordinateur, ledit programme permettant la transmission de données de visualisation d'un contenu entre un serveur et au moins un terminal client, lesdites données étant organisées dans des nœuds d'un arbre hiérarchique comprenant au moins un nœud parent et au moins un nœud fils, un élément visualisable étant associé à chacun desdits nœuds. Un tel programme d'ordinateur comprend : des moyens de programmation lisibles par ordinateur pour effectuer une étape de transmission par ledit serveur audit client d'une représentation simplifiée dudit arbre comprenant, pour au moins certains desdits nœuds, uniquement une information de localisation dudit élément visualisable dans ledit contenu à visualiser ; - des moyens de programmation lisibles par ordinateur pour effectuer une étape de sélection par ledit terminal client, à partir de ladite représentation simplifiée, d'au moins un nœud d'intérêt, en fonction d'un critère de distance dudit client audit élément visualisable associé audit nœud d'intérêt, dans ledit contenu à visualiser ; - des moyens de programmation lisibles par ordinateur pour effectuer une étape de transmission de données géométriques permettant une reconstruction dudit élément visualisable pour le ou lesdits nœuds d'intérêt sélectionnés.
L'invention concerne encore un terminal client de visualisation d'un contenu à partir de données de visualisation organisées dans des nœuds d'un arbre hiérarchique comprenant au moins un nœud parent et au moins un nœud fils, un élément visualisable étant associé à chacun desdits nœuds. Un tel terminal comprend : des moyens de réception d'une représentation simplifiée dudit arbre, transmise par un serveur, et comprenant, pour au moins certains desdits nœuds, uniquement une information de localisation dudit élément visualisable dans ledit contenu à visualiser ; des moyens de sélection, à partir de ladite représentation simplifiée, d'au moins un nœud d'intérêt, en fonction d'un critère de distance dudit client audit élément visualisable associé audit nœud d'intérêt, dans ledit contenu à visualiser ; des moyens de transmission de données géométriques permettant une reconstruction dudit élément visualisable pour le ou lesdits nœuds d'intérêt sélectionnés. 5. 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 particulier, 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 une technique de transmission de données de visualisation entre un serveur et un terminal client, reposant sur une transmission intégrale et préalable du modèle à visualiser ; - la figure 2 illustre également une technique antérieure mettant en œuvre une transmission progressive du modèle à visualiser, par échanges successifs de requêtes entre le client et le serveur ; la figure 3 présente un schéma synoptique de la technique de transmission de l'invention ; - la figure 4 décrit une structure arborescente de type PBTree associée à une représentation 3D d'une ville, dans un exemple particulier de réalisation de l'invention ; la figure 5 présente un synoptique du procédé de génération du fichier de description de la structure arborescente de la figure 4 ; - la figure 6 illustre la représentation géométrique du fichier de description de la structure arborescente généré selon le schéma de la figure 5 ; la figure 7 présente un synoptique du mécanisme de sélection des nœuds d'intérêt par le terminal client ; la figure 8 illustre un exemple d'image bidimensionnelle dans laquelle les zones de sélection ne sont pas régulières ; les figures 9 et 10 présentent des schémas synoptiques d'un serveur et d'un terminal client selon l'invention.
6. Description d'un mode de réalisation de l'invention 6.1 Présentation générale de l'invention Le principe général de l'invention repose sur la transmission par un serveur à un client, d'une représentation simplifiée de la structure arborescente de données permettant la visualisation d'une image ou scène 3D (et non des données géométriques contenues dans cette structure), et sur la sélection, par le client, à partir de cette représentation simplifiée, des données géométriques dont il a besoin en fonction de son point de vue. On présente, en relation avec la figure 3, un mode de réalisation des échanges client-serveur selon l'invention. Dans cet exemple de réalisation, on impose que les zones de sélection des fils soient incluses dans les zones de sélection des pères.
La première phase 30 correspond à l'initialisation du client 11. Après une procédure de connexion 3O1, il reçoit 3O2, dans un fichier, une description simplifiée de la scène ou de l'image à visualiser. Ce fichier de description de l'arborescence est généré par le serveur 10 et ne contient que les informations qui permettent la sélection des nœuds à afficher ; ainsi, le fichier contient, pour chaque nœud associé à un niveau de détail de l'arbre, sa position dans le repère de la scène ainsi qu'une zone de sélection, soit pour chacun des nœuds : l'index du nœud ; la position du centre du nœud (position x,y,z du centre de gravité par exemple dans un repère cartésien associé à l'image ou à la scène) ; la zone de sélection pour ce nœud (un rayon r par exemple si la zone de sélection est une sphère ou un disque) ; l'index du nœud père.
Sur réception 3O2 du fichier de description de l'arborescence par le client, le terminal 11 décode ce fichier puis vérifie que les zones de sélection de l'ensemble des fils des nœuds sont incluses dans la zone de sélection de leur père. Si besoin est, le client effectue les corrections nécessaires pour respecter cette propriété d'inclusion, en élargissant les zones de sélection des nœuds pères. Une fois que les corrections sont faites, le client reconstruit la structure arborescente qui a été transmise. On notera que cette vérification n'est pas impérative, et pourrait être effectuée par le serveur, ou par un équipement tiers. La deuxième phase (31 à 33) correspond à la visualisation de la scène. Pendant cette phase de visualisation, le client 11 se charge de la sélection des nœuds 35 à visualiser, en fonction de la position de l'utilisateur dans la scène ou l'image (exprimée également sous forme de coordonnées (x, y, z) dans un repère cartésien associé à la scène ou à l'image). Il utilise (34j à 343) le fichier de description qui lui est transmis par le serveur 10 à l'initialisation 30. Si la position courante de l'utilisateur 11 est incluse dans la zone de sélection d'un nœud 35is celui-ci est sélectionné. A chaque instant, en fonction des données chargées et des nœuds requis, le client envoie des requêtes au serveur de manière à recevoir les données de visualisation. Les informations dont le client li a besoin pour la visualisation de la scène ou de l'image peuvent être des représentations géométriques, des images compressées, des liens vers les textures, des coefficients d'ondelettes, etc.
Ainsi, lors d'une première étape 31 de visualisation, le client 11 parcourt 34! la représentation simplifiée de l'arbre reçue 3O2 du serveur 10, et détermine qu'il a besoin des données géométriques contenues dans les nœuds référencés 351 à 353. Il envoie au serveur 10 une requête 3I1 d'obtention de ces données, que le serveur 10 lui transmet 3I2. Le client 10 peut alors visualiser les éléments de la scène ou de l'image associés aux nœuds référencés 351 à 353. Par exemple, si la scène est un modèle de ville, le client 11 affiche les bâtiments qu'il voit en fonction de sa position.
Après un premier déplacement 15j de l'utilisateur dans la scène, le terminal client parcourt à nouveau 342 l'arbre simplifié, teste chacun des nœuds de l'arbre, et détermine qu'il a également besoin des données géométriques contenues dans les nœuds fils 354 à 357 des nœuds 352 et 353 précédemment reçus. Il adresse alors au serveur 10 une requête 32t d'obtention de ces seules données manquantes, que le serveur lui envoie 322. Le client reconstruit, sur réception, la représentation de l'ensemble des éléments associés aux nœuds référencés 3S1 à 357, à partir des données reçues (354 à 357), et des données déjà présentes dans son cache (3S1 à 353).
En cas de nouveau changement de position 152 du client, l'utilisateur débute une troisième étape 33 de visualisation, par un nouveau parcours 343 de l'arbre simplifié, qui lui permet de déterminer qu'au vu de sa nouvelle position, seuls les nœuds référencés 3S1 à 355 constituent pour lui des nœuds d'intérêt. Toutes les données géométriques contenues dans ces nœuds d'intérêt 351 à 355 étant déjà stockées dans le cache du terminal client 11, aucun échange avec le serveur n'est nécessaire pour cette troisième étape 33 de visualisation : le client 11 utilise les données qu'il a déjà chargées.
Cette technique de transmission illustrée en figure 3 s'applique à tout type de données arborescentes, et notamment aux représentations multi-niveaux de détail de scènes 3D et d'images bidimensionnelles. En effet, une représentation multi-niveaux de détail permet d'adapter la complexité de la scène ou de l'image par rapport au point de vue. Une structuration sous forme d'arborescence est utilisée pour stocker les différents niveaux de détails de la scène. Le nœud racine représente alors le niveau de détail le plus grossier, et les nœuds feuilles correspondent aux modèles les plus détaillés de la scène (modèles initiaux). Plusieurs informations peuvent être stockées dans les nœuds de l'arborescence.
Ainsi, par exemple, dans le cas de scènes 3D, on peut citer : les "Vertex Tree" proposés par Hoppe (dans "Efficient Implementation of
Progressive Meshes", Computer and Graphics, vol. 22, p. 27-36, 1998) ou Luebke (dans "View-Dependent Simplification of Arbitrary Polygonal
Environments", Computer Graphics SIGGRAPH 97, vol. 31, p. 199-208, New
York, 1997, ACM Press) qui stockent des fusions d'arête ; le PBTree, proposé par J. Royan et al. (dans "PBTree - A new progressive and hierarchical représentation for network-based navigation in urban environments", VMV 2003, Munich, Germany) stocke des simplifications effectuées sur des bâtiments représentés en 2D 1/2 (empreinte au sol, altitude, hauteur) ; les niveaux de détail VRML permettent de stocker un index facette pour chaque niveau de détail d'un objet 3D. Pour ce qui est des représentations multi-niveaux de détail d'images comme MPEG4 ("Motion Picture Expert Group") VTC et JPEG 2000 ("Joint Picture Expert Group"), la structure arborescente est implicite, et repose sur un découpage de l'image en zones de pixels emboîtées (par exemple, on découpe l'image en quatre zones, associées à quatre nœuds de l'arbre, puis chacune de ces zones mères est à son tour découpée en quatre zones filles associées à quatre nœuds fils de l'arbre, et ainsi de suite). Des informations sont transmises pour raffiner telle ou telle zone de l'image.
Dans toute la suite de ce document, on s'attache plus particulièrement à décrire un exemple de réalisation de l'invention reposant sur la structure hiérarchique de PBTree présentée ci-dessus. 6.2 Description d'un mode de réalisation particulier de Vinvention
On décrit ci-après un exemple particulier de réalisation de l'invention, dans lequel la sélection des données associées à un niveau de détail repose sur la position du centre de gravité de l'élément visualisable qui leur est associé dans la scène ou dans l'image à visualiser. On s'intéresse dans la suite à une représentation tridimensionnelle d'une ville, décrite à partir de l'algorithme multi-niveaux de détail PBTree de J. Royan et al.
La figure 4 présente la structure arborescente (PBTree) associée à une telle représentation. Chaque nœud 4O1 de ce PBTree stocke un modèle 2D 1/2 de bâtiment à un niveau de détail donné. Les simplifications utilisées pour générer cette représentation multi-niveaux de détails d'un ensemble de bâtiments sont au nombre de trois : la suppression d'un sommet de l'empreinte au sol ; la fusion de deux bâtiments adjacents ; la fusion de deux bâtiments non adjacents.
Ainsi, sur la figure 4, l'ensemble de nœuds référencé 41 regroupe tous les nœuds fusionnables, et l'ensemble de nœuds référencé 42 représente la liste des nœuds actifs (c'est-à-dire dont les contenus associés sont affichés sur le terminal client et qui sont susceptibles d'être raffinés).
En plus de cet arbre, le modèle de ville est décrit au moyen d'un vecteur qui définit les empreintes des immeubles associées à chacun des nœuds. Chaque nœud doit contenir une représentation 2D 1/2 qui permet une reconstruction en 3D de l'immeuble associé et comprend les éléments suivants : une structure de nœud d'arbre ; une empreinte au sol d'immeuble (un polygone indexé au vecteur ci-dessus) ; une hauteur ; - une altitude ; un modèle de toit ; éventuellement un ou plusieurs paramètres permettant une modélisation 3D plus complexe de l'immeuble.
Cette représentation permet une transmission progressive, et dépendante du point de vue, vers le client.
La description du PBTree, ainsi que le processus de construction, et ses utilisations dans le cas d'un mode de navigation en survol a largement été décrite dans l'article "PBTree - A new progressive and hierarchical représentation for network- based navigation in urban environments", VMV 2003, Munich, Germany mentionné ci-dessus, et ne fait pas l'objet de la présente demande de brevet. On pourra cependant s'y référer pour plus d'information sur le concept de PBTree.
L'implémentation décrite ci-dessous porte plus précisément sur la sélection des nœuds à transmettre en fonction de la position de l'utilisateur.
La figure 5 présente un synoptique du procédé de génération du fichier de description de la structure arborescente, qui comprend six étapes successives, organisées en deux phases principales. Cette génération est mise en œuvre par le serveur, soit sur stockage des données de visualisation d'un objet, soit sur réception d'une première requête d'un utilisateur souhaitant accéder à cet objet.
La première phase 50 consiste en un calcul des zones de sélection associées à chacun des nœuds. Elle débute par un chargement 52 de l'ensemble de l'arbre représentant l'objet (scène ou image - en l'espèce, une ville) que le terminal client souhaite visualiser. Dans une boucle itérative, le serveur parcourt ensuite 53 chacun des nœuds de l'arbre chargé, dans un ordre de parcours arbitraire. Pour chacun des nœuds parcouru, le serveur détermine 54 la zone de sélection du nœud, c'est-à-dire la zone géographique dans laquelle l'utilisateur devra se trouver pour avoir besoin de charger le contenu du nœud. Dans un exemple particulier de réalisation de l'invention, on propose d'utiliser, pour définir cette zone de sélection, une erreur géométrique qui est calculée en fonction du modèle original. Plus précisément, la zone de sélection est une sphère dont le rayon est choisi en fonction d'une erreur géométrique par rapport au modèle d'origine, en utilisant une fonction de coût générique avec paramètres multiples.
Le serveur sauvegarde 55 le centre de chacune des zones de sélection qu'il vient de calculer, puis vérifie 56 que tous les nœuds de l'arbre ont bien été traités. Dans la négative, il reboucle sur l'étape référencée 53 de parcours de l'arbre ; dans l'affirmative, il passe à la deuxième phase du procédé. Cette deuxième phase 51 de génération de la représentation simplifiée de l'arbre hiérarchique consiste en une vérification de la propriété d'inclusion de la zone des nœuds fils dans celle des nœuds pères. En effet, dans cet exemple particulier de réalisation, on impose que cette contrainte d'inclusion soit vérifiée pour tous les nœuds de l'arbre. Cette deuxième phase 51 est optionnelle.
A nouveau, le serveur parcourt 58 chacun des nœuds de l'arbre, mais l'ordre de parcours est désormais imposé : on commence par parcourir les nœuds du bas de l'arbre, c'est-à-dire les nœuds feuilles, pour finir par la racine. Pour chacun des nœuds parcourus, on vérifie 58 si ce nœud a un ou plusieurs fils. Dans la négative, on revient à l'étape précédente 57 de parcours des nœuds de l'arbre. Dans l'affirmative, on passe à l'étape suivante 59 de vérification de l'inclusion des zones de sélection de l'ensemble des nœuds fils dans la zone de sélection du nœud père. Le test 58 de descendance indique qu'il ne peut pas y avoir de modification des zones de sélection associées à des nœuds feuilles de l'arbre.
L'étape 59 de vérification de la propriété d'inclusion des zones de sélection des nœuds fils et père met en œuvre le calcul suivant. Soit Op le centre de la zone de sélection du nœud père p et On le centre de la zone de sélection du nœud fils n. Soit Rp le rayon de la zone de sélection du nœud père p et Rn le rayon de la zone de sélection du nœud fils n. On a dn la distance entre Op et On . Il faut vérifier que :
\/n,dn + Rn < Rp
Si cette inégalité n'est pas vérifiée pour l'un au moins des nœuds fils, on élargit la zone de sélection du nœud père pour que la propriété d'inclusion soit satisfaite.
On teste ensuite 56 que tous les nœuds de l'arbre ont bien été traités. Dans la négative, le serveur reboucle sur l'étape 57 de parcours de l'arbre, et dans l'affirmative, la génération de la représentation simplifiée de l'arbre hiérarchique est terminée 60.
La figure 6 illustre la représentation géométrique du fichier de description de la structure arborescente généré selon le schéma de la figure 5. Les éléments visualisables associés à chacun des nœuds ont une position dans l'espace de description de la ville.
La partie gauche de la figure 6 illustre les différents nœuds 6I1 à IAx de la structure arborescente permettant de décrire la ville considérée, ainsi que la zone de sélection
6I2 associée au nœud racine 6I1 de cette structure arborescente. La partie droite de la figure 6 illustre la propriété d'inclusion des zones de sélection des nœuds 6I1 à IAx. On notera qu'un nœud et la zone de sélection associée portent la même référence numérique, à l'indice près, l'indice associé au nœud étant le 1, et l'indice associé à la zone de sélection étant le 2.
Comme on peut le constater sur la figure 6, on vérifie bien que les zones de sélection 722, 732 et 742 associées aux nœuds feuilles 72ls 73j et 741 sont incluses dans la zone de sélection 672 associée au nœud référencé 6I1. De même, les zones de sélection 652, 662 et 672 associées aux nœuds fils 65ls 6O1 et 67! sont incluses dans la zone de sélection 622 associée au nœud référencé 6I1. Enfin, les zones de sélection 622, 632 et 642 associées aux nœuds 62ls 631 et 641 sont incluses dans la zone de sélection 6I2 associée au nœud racine 6I1. Dans cet exemple de réalisation de l'invention, dans le cas d'une représentation
2D, les zones de sélection sont des cercles. Dans le cas d'un modèle 3D, les zones de sélection sont des sphères. Il est important de noter que les centres de ces sphères ne sont pas forcément situés sur un même plan (sauf s'il n'y a aucun relief dans la ville). Il faut donc considérer que la figure 6 est une vue de dessus dans le cas considéré de représentation d'une ville.
On peut bien sur envisager d'utiliser d'autres représentations pour les zones de sélection (carrés, polygones, etc.) si la structure arborescente contient des données de visualisation différentes.
A l'issue du traitement de la figure 5, on obtient donc un fichier qui contient, pour chacun des nœuds de l'arbre hiérarchique : l'index du nœud dans l'arbre ; la position du centre de gravité du nœud (sous la forme de coordonnées cartésiennes (x,y,z) dans un repère associé à la représentation de la ville) ; la zone de sélection pour ce nœud (exprimée sous la forme d'un rayon r, la zone de sélection étant une sphère centrée sur le centre de gravité du nœud) ; l'index du nœud père.
Dans une variante, au lieu d'indiquer l'index du nœud père, on peut aussi indiquer, pour chaque nœud, le nombre de nœuds fils qu'il possède.
C'est ce fichier qui est transmis au terminal client sur réception par le serveur d'une requête d'initialisation (référencée 3O1 sur la figure 3). Afin d'en optimiser le temps de chargement par le terminal client, on peut choisir une organisation particulière des différents nœuds dans ce fichier.
La figure 7 illustre le mécanisme de sélection des nœuds d'intérêt, mis en œuvre par le terminal client pour visualiser la ville, sur réception de ce fichier.
Dans cet exemple de réalisation de l'invention, c'est le client qui effectue la sélection des nœuds à visualiser. C'est lui qui transmet les requêtes au serveur pour qu'il lui envoie les données dont il a besoin pour visualiser la structure arborescente. En effet, la représentation simplifiée de l'arbre (ou fichier de description de la structure arborescente) ne contient pas les informations géométriques permettant de reconstruire la ville, le client doit donc les demander au serveur une fois qu'il a sélectionné un nœud.
Dans une variante de réalisation, on pourrait envisager que la sélection des nœuds et l'émission des requêtes soient déportées sur un équipement intermédiaire du réseau, doté par exemple de capacités de traitement plus importantes que le terminal client. La sélection des nœuds d'intérêt par le terminal client (ou un équipement intermédiaire du réseau) comprend deux phases principales, à savoir une phase 76 de génération d'une liste de nœuds potentiellement d'intérêt (LNP), à partir d'une liste de nœuds à tester (LNT), et une deuxième phase 77 d'affinage de la liste LNP pour sélectionner les nœuds à charger ou à transmettre. Le terminal client charge tout d'abord 70 la représentation simplifiée de l'arbre, puis teste 75 si la position de l'utilisateur dans la scène a évolué depuis la dernière sélection de nœuds d'intérêt. En cas de première sélection de nœuds d'intérêt, la réponse à cette question est affirmative, et permet au terminal client d'entrer dans la première phase 76 de traitement. On initialise 7O1 la liste des nœuds à tester LNT avec le nœud racine de l'arbre. On teste ensuite 762 si la liste LNT est non vide. Dans la négative, on passe à la deuxième phase 77 de traitement. Dans l'affirmative, on retire 763 le premier nœud de la LNT et on le prend comme nœud courant.
L'étape référencée 764 consiste à vérifier si la position courante de l'utilisateur est incluse dans la zone de sélection du nœud courant. Soit O la position de l'observateur, On le centre de la zone de sélection du nœud courant et Rn le rayon de cette zone. Si I On-O I < Rn, il y a inclusion. On passe alors à l'étape suivante 765 qui consiste à ajouter le nœud courant dans la liste LNP des nœuds potentiels, i.e. qui sont potentiellement des nœuds d'intérêt. On teste ensuite 766 si ce nœud est une feuille. Dans la négative, on ajoute les nœuds fils de ce nœud à la fin de la liste LNT. Si la position de l'utilisateur n'est pas dans la zone de sélection du nœud courant
(résultat de l'étape référencée 764), ou si le nœud courant est une feuille (résultat du test référencé 766), on reboucle sur l'étape référencée 762 consistant à tester si la liste LNT est non vide.
La deuxième phase de traitement 77 peut être considérée comme une phase de correction de la liste LNP pour éviter les redondances de transmission entre le serveur et le client. On parcourt 771 chacun des nœuds de la liste LNP, et pour chacun, on vérifie 772 si ce nœud est présent dans le cache du client (l'utilisation du cache est nécessaire pour éviter de transmettre plusieurs fois la même information). Si le nœud est déjà dans le cache, on retire 773 le nœud de la LNP. Ensuite, ou en cas de réponse négative au test référencé 772, on détermine 774 s'il reste des nœuds à vérifier dans la LNP. Si oui, on reboucle sur la première étape 77! de la deuxième phase 77.
Si non, le terminal client dispose, avec la liste LNP corrigée, de l'ensemble des nœuds d'intérêt dont le contenu lui est nécessaire pour visualiser la ville. Il peut alors adresser au serveur une requête d'obtention des données géométriques associées à chacun de ces nœuds.
L'étape référencée 78 est l'étape de transmission des données géométriques du nœud si nécessaire (si ces données ne sont pas dans le cache). Puis on revient à l'étape référencée 75 de test de nouvelle position jusqu'à ce que toutes les données géométriques des nœuds d'intérêt soient chargées. Pour optimiser le traitement de la figure 7, on peut éviter de tester les nœuds fils si le nœud père n'est pas sélectionné comme nœud d'intérêt. Avec cette optimisation, il n'est pas nécessaire de parcourir l'arbre en entier pour déterminer les nœuds dont le contenu est visible pour l'utilisateur (sachant que les zones de sélection des noeuds fils sont incluses dans celle de leur père). Les figures 9 et 10 présentent deux schémas synoptiques du serveur et du terminal client de l'invention. Ainsi, le serveur comprend une mémoire M 91, et une unité de traitement 90 équipée d'un processeur P, qui est piloté par le programme d'ordinateur Pg 92. L'unité de traitement 90 reçoit en entrée des données de visualisation 93 d'une image ou d'une scène 3D, organisées sous forme d'arbre hiérarchique, à partir desquelles le processeur P génère, selon les instructions du programme Pg 92, une représentation simplifiée 95 de l'arbre ne contenant pas les informations géométriques des nœuds. L'unité de traitement 90 présente également une entrée destinée à recevoir les requêtes 94 d'un terminal client, à partir desquelles le processeur P déclenche la transmission de la représentation simplifiée 95, ou de données géométriques 96 permettant au terminal de reconstruire le contenu à visualiser en fonction de son point de vue.
Le terminal client comprend quant à lui une mémoire M 101, et une unité de traitement 100 équipée d'un processeur P, qui est piloté par le programme d'ordinateur Pg 102. L'unité de traitement 100 reçoit en entrée la représentation simplifiée 95 de l'arbre hiérarchique générée par le serveur, à partir de laquelle le processeur P sélectionne, selon les instructions du programme Pg 102, un ou plusieurs nœuds d'intérêt en fonction du point de vue de l'utilisateur, et émet une requête 103 correspondante à destination du serveur. L'unité de traitement 100 présente également une entrée destinée à recevoir des données géométriques 96 fournies par le serveur, à partir desquelles le processeur P reconstruit le contenu à visualiser 104 en fonction de son point de vue.
En résumé, la technique de l'invention permet un chargement plus rapide des données arborescentes. Il n'est pas nécessaire de parcourir l'ensemble des nœuds visibles pour savoir s'il faut les développer ou les fusionner. Il n'est pas non plus nécessaire de transmettre les nœuds de manière récursive. En outre, dans le cas d'un déplacement très rapide de l'utilisateur dans la scène à visualiser, il est possible d'annuler la transmission de nœuds devenus obsolètes compte tenu de la nouvelle position.
Dans le cas particulier où le contenu à visualiser par le terminal client est une image bidimensionnelle, et si les zones de sélection associées à l'image sont régulières, il est possible de générer un fichier de description de la structure arborescente de l'image qui contient plusieurs types de formats de compression. A l'inverse, si l'on utilise un seul format de compression, il est possible d'adapter les zones de sélection en fonction du contenu de l'image.
La figure 8 montre cet exemple d'utilisation : connaissant la "cartographie" de l'image, l'utilisateur pourra demander les informations dont il a besoin en fonction de sa position par rapport à l'image. Les différentes zones 81, 82, 83 de la figure 8 pourraient correspondre à différents formats de compression (JPEG, JPEG 2000 ...).
Chacun de ces formats ayant des propriétés différentes, il est en effet intéressant d'exploiter leurs spécificités en fonction du contenu de l'image dans les zones considérées. Il est aussi envisageable d'exploiter cette cartographie pour créer un format de compression qui tienne compte du contenu de l'image qu'il compresse. Par exemple, pour JPEG 2000, il n'est pas possible d'avoir des "tiles" (ou en français
"carreaux") de tailles différentes suivant les zones.

Claims

REVENDICATIONS
1. Procédé de transmission de données de visualisation d'un contenu entre un serveur (10) et au moins un terminal client (11), lesdites données étant organisées dans des nœuds (35r357 ; 40r404 ; 6X1-IA1) d'un arbre hiérarchique comprenant au moins un nœud parent et au moins un nœud fils, un élément visualisable étant associé à chacun desdits nœuds, caractérisé en ce qu'il comprend les étapes suivantes : transmission (3O2) par ledit serveur audit client d'une représentation simplifiée dudit arbre comprenant, pour au moins certains desdits nœuds, uniquement une information de localisation dudit élément visualisable dans ledit contenu à visualiser ; sélection par ledit terminal client, à partir de ladite représentation simplifiée, d'au moins un nœud d'intérêt, en fonction d'un critère de distance dudit client audit élément visualisable associé audit nœud d'intérêt, dans ledit contenu à visualiser ; transmission de données géométriques permettant une reconstruction dudit élément visualisable pour le ou lesdits nœuds d'intérêt sélectionnés.
2. Procédé de transmission selon la revendication 1, caractérisé en ce que ladite représentation simplifiée comprend, pour chacun desdits nœuds de l'arbre : - un identifiant dudit nœud ; une information permettant de lier ledit nœud audit nœud parent dudit nœud et/ou au(x)dit(s) nœud(s) fils dudit nœud ; une position d'un centre dudit élément visualisable associé audit nœud dans ledit contenu à visualiser ; - une zone de sélection (612-742) dudit élément visualisable associé audit nœud.
3. Procédé de transmission selon la revendication 2, caractérisé en ce qu'un nœud dudit arbre est sélectionné comme nœud d'intérêt si une position courante dudit client est incluse dans ladite zone de sélection.
4. Procédé de transmission selon l'une quelconque des revendications 1 à 3, caractérisé en ce que ledit terminal client envoie audit serveur une requête (3I1, 3I1) d'obtention desdites données de visualisation desdits nœuds d'intérêt.
5. Procédé de transmission selon la revendication 4, caractérisé en ce que, préalablement audit envoi, ledit terminal client vérifie (772) la présence desdites données desdits nœuds d'intérêt dans un cache dudit terminal, et en ce que ladite requête n'est pas envoyée audit serveur pour lesdites données déjà présentes dans ledit cache.
6. Procédé de transmission selon l'une quelconque des revendications 4 et 5, caractérisé en ce qu'en cas de changement (15ls 152) de ladite position courante dudit client, ledit terminal client adresse audit serveur une demande d'annulation de ladite requête d'obtention desdites données d'au moins un nœud qui n'est plus un nœud d'intérêt, si lesdites données n'ont pas encore été transmises par ledit serveur.
7. Procédé de transmission selon l'une quelconque des revendications 1 à 6, caractérisé en ce que, lors de ladite étape de sélection, ledit terminal client ne parcourt un nœud de ladite représentation simplifiée pour déterminer si ledit critère de distance est vérifié pour ledit nœud parcouru que si ledit nœud parent dudit nœud parcouru est un nœud d'intérêt.
8. Programme d'ordinateur comprenant des instructions de code de programme pour l'exécution des étapes du procédé de transmission de données de visualisation d'un contenu entre un serveur et au moins un terminal client selon l'une quelconque des revendications 1 à 7 lorsque ledit programme est exécuté par un processeur.
9. Serveur de données de visualisation d'un contenu destinées à au moins un terminal client, lesdites données étant organisées dans des nœuds d'un arbre hiérarchique comprenant au moins un nœud parent et au moins un nœud fils, un élément visualisable étant associé à chacun desdits nœuds, caractérisé en ce qu'il comprend : des moyens de génération et de transmission audit client d'une représentation simplifiée dudit arbre comprenant, pour au moins certains desdits nœuds, uniquement une information de localisation dudit élément visualisable dans ledit contenu à visualiser, de façon à ce que ledit client sélectionne, à partir de ladite représentation simplifiée, au moins un nœud d'intérêt, en fonction d'un critère de distance dudit client audit élément visualisable associé audit nœud d'intérêt, dans ledit contenu à visualiser ; et des moyens de transmission de données géométriques permettant une reconstruction dudit élément visualisable pour le ou lesdits nœuds d'intérêt sélectionnés.
10. Produit programme d'ordinateur comprenant des instructions de code de programme enregistré sur un support utilisable dans ou par un ordinateur, ledit programme permettant la transmission de données de visualisation d'un contenu entre un serveur et au moins un terminal client, lesdites données étant organisées dans des nœuds d'un arbre hiérarchique comprenant au moins un nœud parent et au moins un nœud fils, un élément visualisable étant associé à chacun desdits nœuds, caractérisé en ce que ledit produit programme d'ordinateur comprend : des moyens de programmation lisibles par ordinateur pour effectuer une étape de transmission par ledit serveur audit client d'une représentation simplifiée dudit arbre comprenant, pour au moins certains desdits nœuds, uniquement une information de localisation dudit élément visualisable dans ledit contenu à visualiser ; des moyens de programmation lisibles par ordinateur pour effectuer une étape de sélection par ledit terminal client, à partir de ladite représentation simplifiée, d'au moins un nœud d'intérêt, en fonction d'un critère de distance dudit client audit élément visualisable associé audit nœud d'intérêt, dans ledit contenu à visualiser ; des moyens de programmation lisibles par ordinateur pour effectuer une étape de transmission de données géométriques permettant une reconstruction dudit élément visualisable pour le ou lesdits nœuds d'intérêt sélectionnés.
11. Terminal client de visualisation d'un contenu à partir de données de visualisation organisées dans des nœuds d'un arbre hiérarchique comprenant au moins un nœud parent et au moins un nœud fils, un élément visualisable étant associé à chacun desdits nœuds, caractérisé en ce qu'il comprend : des moyens de réception d'une représentation simplifiée dudit arbre, transmise par un serveur, et comprenant, pour au moins certains desdits nœuds, uniquement une information de localisation dudit élément visualisable dans ledit contenu à visualiser ; des moyens de sélection, à partir de ladite représentation simplifiée, d'au moins un nœud d'intérêt, en fonction d'un critère de distance dudit client audit élément visualisable associé audit nœud d'intérêt, dans ledit contenu à visualiser ; des moyens de réception de données géométriques permettant une reconstruction dudit élément visualisable pour le ou lesdits nœuds d'intérêt sélectionnés.
EP06708542A 2005-03-11 2006-02-27 Procede de transmission de donnees de visualisation d'un contenu entre un serveur et au moins un terminal client, serveur, terminal et programme d'ordinateur correspondants Withdrawn EP1864258A1 (fr)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
FR0502449 2005-03-11
PCT/EP2006/060312 WO2006094919A1 (fr) 2005-03-11 2006-02-27 Procede de transmission de donnees de visualisation d'un contenu entre un serveur et au moins un terminal client, serveur, terminal et programme d'ordinateur correspondants

Publications (1)

Publication Number Publication Date
EP1864258A1 true EP1864258A1 (fr) 2007-12-12

Family

ID=35134310

Family Applications (1)

Application Number Title Priority Date Filing Date
EP06708542A Withdrawn EP1864258A1 (fr) 2005-03-11 2006-02-27 Procede de transmission de donnees de visualisation d'un contenu entre un serveur et au moins un terminal client, serveur, terminal et programme d'ordinateur correspondants

Country Status (6)

Country Link
US (1) US20080270529A1 (fr)
EP (1) EP1864258A1 (fr)
JP (1) JP4944089B2 (fr)
KR (1) KR101317176B1 (fr)
CN (1) CN101167103B (fr)
WO (1) WO2006094919A1 (fr)

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8793309B2 (en) 2010-09-07 2014-07-29 Sap Ag (Th) Systems and methods for the efficient exchange of hierarchical data
US9001668B2 (en) * 2012-11-02 2015-04-07 Ixia Endpoint selection in a network test system
CN105608517B (zh) * 2015-09-24 2020-05-29 华青融天(北京)软件股份有限公司 基于流的业务交易性能管理及可视化方法和装置
CN107527375A (zh) * 2016-06-20 2017-12-29 北京八亿时空信息工程有限公司 在无线智能终端设备上加载三维模型的方法及系统
US11270471B2 (en) 2018-10-10 2022-03-08 Bentley Systems, Incorporated Efficient refinement of tiles of a HLOD tree
WO2020081347A1 (fr) * 2018-10-14 2020-04-23 Bentley Systems, Incorporated Conversion d'une géométrie de modèle d'infrastructure en un format de tuile
EP3864626A1 (fr) * 2018-10-14 2021-08-18 Bentley Systems, Incorporated Génération à entraînement frontal dynamique d'un arbre hlod
US11233705B2 (en) * 2019-12-23 2022-01-25 Robert Brennan Garvey System and method for visualizing and navigating network data
CN111950902B (zh) * 2020-08-12 2023-08-22 中国银行股份有限公司 智能外呼处理方法及装置

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6134537A (en) * 1995-09-29 2000-10-17 Ai Ware, Inc. Visualization and self organization of multidimensional data through equalized orthogonal mapping
US6418464B1 (en) * 1998-09-25 2002-07-09 Apple Compunter, Inc. Method and apparatus for coordination of client/server processes
AU2001249358A1 (en) * 2000-03-22 2001-10-03 Schlumberger Technology B.V. Distributed multiresolution geometry modeling system and method
JP2004213422A (ja) * 2003-01-06 2004-07-29 Hitachi Ltd 情報検索サーバ及び情報検索方法
FR2852128A1 (fr) * 2003-03-07 2004-09-10 France Telecom Procede pour la gestion de la representation d'au moins une scene 3d modelisee.
US20060066609A1 (en) * 2004-09-28 2006-03-30 Iodice Arthur P Methods and systems for viewing geometry of an object model generated by a CAD tool

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
See references of WO2006094919A1 *

Also Published As

Publication number Publication date
WO2006094919A1 (fr) 2006-09-14
CN101167103A (zh) 2008-04-23
JP4944089B2 (ja) 2012-05-30
KR101317176B1 (ko) 2013-10-15
KR20070117671A (ko) 2007-12-12
US20080270529A1 (en) 2008-10-30
CN101167103B (zh) 2010-08-04
JP2008533575A (ja) 2008-08-21

Similar Documents

Publication Publication Date Title
WO2006094919A1 (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
EP1457023B1 (fr) Procede de transmission d&#39;objets entre un serveur et un terminal client mettant en oeuvre une gestion de cache
FR2852128A1 (fr) Procede pour la gestion de la representation d&#39;au moins une scene 3d modelisee.
FR2999005A1 (fr) Procede de rendu d&#39;un terrain stocke dans une base de donnees massive
FR2833101A1 (fr) Procede de creation et de gestion d&#39;univers virtuel
EP2511842B1 (fr) Consultation de maquettes numériques à partir de postes légers
FR2781908A1 (fr) Procede de codage d&#39;un maillage a nombre reduit de facettes, procede de reconstruction et applications correspondants
WO2006027470A2 (fr) Edition de graphiques vectoriels , notamment de cartes geographiques
WO2012140360A1 (fr) Procede et systeme de rendu d&#39;une scene virtuelle en trois dimensions
WO2012140361A1 (fr) Procédé et système de rendu d&#39;une scène virtuelle en trois dimensions
FR2749421A1 (fr) Dispositif de transfert client-serveur de donnees graphiques a niveaux multiples
FR2920243A1 (fr) Procedes et dispositifs de generation en temps reel de fonds cartographiques
EP1800263A2 (fr) Procede de decodage local d&#39;un train binaire de coefficients d&#39;ondelettes
FR2817066A1 (fr) Procede de codage par ondelettes d&#39;un maillage representatif d&#39;un objet ou d&#39;une scene en trois dimensions, dispositifs de codage et decodage, systeme et structure de signal correspondants
EP0368718B1 (fr) Procédé de sélection d&#39;un objet dans un référentiel à N dimensions et de visualisation de l&#39;objet sélectionné
EP1864260B1 (fr) Procede de reconstruction d&#39;image dans un graphique vectoriel
WO2007135336A2 (fr) Procede de selection d&#39;au moins un pair serveur pour la transmission de donnees de visualisation
FR2817639A1 (fr) Procede et systeme de representation dynamique d&#39;un espace d&#39;objets caracterises permettant la recommandation des dits objets ou de leurs caracteristiques
EP4341909A1 (fr) Génération d&#39;un maillage surfacique à partir d&#39;une modélisation en voxels d&#39;un environnement tridimensionnel
WO2007042700A1 (fr) Procede et systeme de calcul de visibilite de scene dans une architecture de navigation client serveur
WO2021259875A1 (fr) Procédé et dispositif de reconstruction d&#39;un hologramme numérique, procédé d&#39;affichage d&#39;un hologramme numérique et système associé
FR2974216A1 (fr) Procede de restitution d&#39;une sequence d&#39;images simulant un survol d&#39;un trou d&#39;un parcours de golf
FR2863081A1 (fr) Dispositif et procede d&#39;extraction d&#39;informations d&#39;une base de donnees et produits associes
FR2969794A1 (fr) Procede de synthese d&#39;image
FR2837949A1 (fr) Procede pour la visualisation d&#39;une image geographique semi-reelle

Legal Events

Date Code Title Description
PUAI Public reference made under article 153(3) epc to a published international application that has entered the european phase

Free format text: ORIGINAL CODE: 0009012

17P Request for examination filed

Effective date: 20071008

AK Designated contracting states

Kind code of ref document: A1

Designated state(s): AT BE BG CH CY CZ DE DK EE ES FI FR GB GR HU IE IS IT LI LT LU LV MC NL PL PT RO SE SI SK TR

RIN1 Information on inventor provided before grant (corrected)

Inventor name: CAVAGNA, ROMAIN

Inventor name: ROYAN, JEROME

Inventor name: AUBAULT, OLIVIER

DAX Request for extension of the european patent (deleted)
RAP1 Party data changed (applicant data changed or rights of an application transferred)

Owner name: ORANGE

17Q First examination report despatched

Effective date: 20170117

STAA Information on the status of an ep patent application or granted ep patent

Free format text: STATUS: THE APPLICATION IS DEEMED TO BE WITHDRAWN

18D Application deemed to be withdrawn

Effective date: 20170530