WO2001055973A1 - System and method for transmitting and reproducing two-dimensional and three-dimensional graphical images - Google Patents

System and method for transmitting and reproducing two-dimensional and three-dimensional graphical images Download PDF

Info

Publication number
WO2001055973A1
WO2001055973A1 PCT/IL2001/000042 IL0100042W WO0155973A1 WO 2001055973 A1 WO2001055973 A1 WO 2001055973A1 IL 0100042 W IL0100042 W IL 0100042W WO 0155973 A1 WO0155973 A1 WO 0155973A1
Authority
WO
WIPO (PCT)
Prior art keywords
controllers
virtual
image
user computer
primitive
Prior art date
Application number
PCT/IL2001/000042
Other languages
French (fr)
Inventor
Yuval Karmi
Original Assignee
3 D Scope Ltd.
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 3 D Scope Ltd. filed Critical 3 D Scope Ltd.
Priority to AU25452/01A priority Critical patent/AU2545201A/en
Publication of WO2001055973A1 publication Critical patent/WO2001055973A1/en

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

Definitions

  • the present invention relates to a method and system for transmitting and reproducing graphical images, and in particular, to such a method and system in which the graphical images are automatically reproduced for the viewer from a limited number of components, whether for two-dimensional or three-dimensional images.
  • three-dimensional images are constructed from virtual objects, which could represent substantially any actual object in the real world, such as buildings, trees, chairs, and so forth.
  • these virtual objects are constructed from a plurality of graphical objects, or primitives, which represent basic shapes such as box, cone, polygon and so forth. Therefore, many different virtual objects can potentially be constructed from a relatively limited set of graphical primitives.
  • each such virtual object must be separately constructed from these graphical primitives. Although a plurality of such virtual objects could theoretically be easily constructed by specifying a relatively small number of graphical primitives, the resultant virtual objects would give the appearance of being similar or identical, and would therefore collectively be visually uninteresting to the human eye. Thus, a significant amount of time must be spent in order to "individualize", or add individual detail to, these virtual objects.
  • a more efficient solution would enable a plurality of virtual objects to be rapidly specified as individual objects, with individual detail, but without requiring the human designer to specify such individual detail for each object separately. Such a solution would not require significant amounts of time to create each individual virtual object with such detail, yet would result in virtual objects which appear to be different and therefore more interesting to the human eye.
  • Such a solution is provided in the patent application entitled “Method For Constructing Two-Dimensional And Three-Dimensional Graphical Images", by the same inventor and filed on the same day as the present application, which is hereby incorporated by reference as if fully set forth herein.
  • a three-dimensional graphical scene composed of such images may need to be transmitted over a network, such as the Internet.
  • the network may have limited bandwidth, such that a large, complex scene could be difficult to transmit rapidly in its entirety.
  • a more efficient method would only transmit the required data to be able to reconstruct the scene at the computer of the user, rather than transmitting the entire scene itself.
  • Such an efficient method would also potentially enable the tools for constructing the three-dimensional scene to be made available through a network such as the Internet, for example in the form of a Web site.
  • the user would be able to construct the three-dimensional scene using these remote tools, optionally with guidance provided through the Web site, yet would still be able to view the resultant scene quickly, as the scene could be efficiently transmitted through the network to the computer of the user, and then reconstructed at the computer of the user.
  • a network such as the Internet
  • FIG. 1 is a schematic block diagram of primitive controls operating on a parametric object according to the background art
  • FIG. 2 is a schematic block diagram of a meaningful control according to the background art
  • FIG. 3 is a schematic block diagram of a parametric fractal object according to the present invention.
  • FIG. 4 is a schematic block diagram of a hierarchy of parametric fractal objects according to the present invention
  • FIG. 5 is a schematic block diagram of a system according to the present invention
  • FIG. 6 is a flowchart of an exemplary method according to the present invention for displaying an image created with a plurality of hierarchical parametric objects.
  • FIG. 7 is a schematic block diagram of the relative position of the user in virtual space with regard to the display according to the present invention.
  • the present invention is of a system and a method for rapidly and efficiently transferring the data required to construct virtual objects from a server to a user computer, by specifying the virtual objects as a plurality of controllers.
  • Each controller may optionally be determined as a pseudorandom number generated from a particular seed, such that only the seeds need to be transmitted to the user computer as a serial number in order to display the virtual object.
  • the virtual object may be specified as a part of an object hierarchy, in which only the parent object is fully specified. The child objects are then only described according to one or more differences from the parent object, such that only the controllers with different values are given for each child object.
  • the system of the present invention optionally features software tools operated at a remote site, for example by a remote server, provided for the user to be able to design a virtual object.
  • the user interacts with these software tools through a client which is operated by a user computer.
  • the user computer is connected to the remote server by a network, such as the Internet for example.
  • a method for displaying an image by a user computer, the image featuring image data comprising the steps of: (a) providing a server for serving the image data; (b) constructing a plurality of virtual objects according to an object hierarchy, the plurality of virtual objects including a parent object, the parent object featuring a plurality of controllers, such that each controller has a specified value, and the plurality of virtual objects including a child object, such that the parent object is a parent to the child object, the child object being determined by altering at least one controller of the child object according to a difference between the child object and the parent object; (c) transmitting a plurality of controllers for the plurality of virtual objects to the user computer by the server, such that the plurality of controllers forms the image data, the plurality of controllers including controllers for the parent object and each altered controller for the child object; (d) reconstructing all of the controllers for each virtual object; (e) building a plurality of primitive objects from the plurality of controllers by
  • a system for designing an image by a user through a network the image featuring at least one virtual object, the virtual object being specified as a plurality of controllers, each controller having a specified value
  • the system comprising: (a) a software tool for constructing the at least one virtual object from the plurality of controllers; (b) a server for storing data for reconstructing the plurality of controllers; (c) a client software for interacting with the user and for receiving a value for each controller from the user, and for receiving the data for reconstructing the plurality of controllers from the server for displaying the image; and (d) a user computer for operating the client software, the user computer being connected to the server through the network, such that the value for each controller is sent to the software control for constructing the at least one virtual object.
  • a system for transmitting an image through a network the image featuring at least one ⁇ irtual object, the virtual object being specified as a plurality of controllers, each controller having a specified value
  • the system comprising: (a) a server for serving data for reconstructing the plurality of controllers; (b) a reconstructor software for receiving the data for reconstructing the plurality of controllers from the server; (c) a view er software for constructing the at least one virtual object from the plurality of controllers and for displaying the image; and (d) a user computer for operating the reconstructor software and the viewer software, the user computer being connected to the server through the network.
  • computational device includes, but is not limited to, personal computers (PC) having an operating system such as DOS, WindowsTM, OS/2TM or Linux; MacintoshTM computers; computers having JAVATM-OS as the operating system: graphical workstations such as the computers of Sun MicrosystemsTM and Silicon GraphicsTM, and other computers having some version of the UNIX operating system such as AIXTM or SOLARISTM of Sun MicrosystemsTM; any other known operating system; any other computer: or any device which has an operating system.
  • WindowsTM includes but is not limited to Windows95TM, Windows 3.xTM in which "x" is an integer such as "1", Windows NTTM,
  • controller includes, but is not limited to, at least one of a meaningful control and a primitive control.
  • the method of the present invention could be described as a series of steps performed by a data processor, and as such could optionally be implemented as software, hardware or firmware, or a combination thereof.
  • a software application could be written in substantially any suitable programming language, which could easily be selected by one of ordinary skill in the art.
  • the programming language chosen should be compatible with the computational device according to which the software application is executed. Examples of suitable programming languages include, but are not limited to, C, C++ and Java.
  • the present invention is of a system and a method for rapidly and efficiently transferring the data required to construct virtual objects from a server to a user computer, by specifying the virtual objects as a plurality of controllers.
  • Each controller may optionally be determined as a pseudorandom number generated from a particular seed, such that the virtual object may be reproduced from the seeds used to generate the controllers. Therefore, only the seeds need to be transmitted to the user computer as a serial number in order to display the virtual object.
  • the virtual object may be specified as a part of an object hierarchy, in which only the parent object is fully specified.
  • the child objects are then only described according to one or more differences from the parent object, such that only the controllers with different values are given for each child object.
  • a relatively large number of virtual objects can be specified with a relatively small amount of data.
  • the virtual object is designed by a user through software tools operated at a remote site, for example by a remote server.
  • the user interacts with these software tools through a client which is operated by a user computer.
  • the user computer is connected to the remote server by a network, such as the Internet for example.
  • virtual objects are constructed from a plurality of graphical primitives.
  • Each graphical primitive is a graphical representation of a basic shape, such as box, cone, sphere, polygon, extrude and so forth.
  • Graphical primitives are known in the art.
  • Virtual objects are formed from graphical primitives as a set of a plurality of such primitives with controls, to form a "parametric object".
  • the controls for each parametric object can be either primitive controls or meaningful controls.
  • a primitive control is one of the sets of parameters which define a parametric object. These parameters operate directly on the primitives which form the virtual object.
  • a window with an ability to adjust its geometry has an appearance which is defined only when the window height, width and number of sections are defined.
  • a schematic block diagram of such primitive controls operating on a parametric object is shown in background art Figure 1. As shown, a parametric object 10 features a plurality of primitive controls 12 which operate directly on a plurality of primitive objects 14. Primitive objects 14 with primitive controls 12 in turn form parametric object 10.
  • primitive objects 14 are only shown in Figure 1 for the sake of clarity, although they are also present in the parametric objects shown in Figures 2-4. However, in order to display the virtual object on a computer of a user, primitive objects 14 are rendered for display by the computer of the user.
  • Meaningful controls are another type of control, which operate on the primitive controls to define the parametric object. Meaningful controls are defined by the human designer, but must then be translated into a set of primitive control parameters in order to have an effect on the parametric object. For example, with regard to different types of buildings as parametric objects, a human designer could define a building as being of the type "modern", “governmental", “dwelling” and so forth. Such a building type is a meaningful control, which alters the behavior of primitive controls.
  • An example of such a meaningful control is shown in background art Figure 2, again featuring parametric object 10 with a plurality of primitive controls 12 and a plurality of primitives 14. Now, primitive controls 12 are in turn controlled by a plurality of meaningful controls 16. Each meaningful control 16 may only control one primitive control 12, but preferably controls a plurality of primitive controls 12. Thus, once a particular meaningful control 16 has been specified, the behavior of the primitive controls 12 is in turn also determined.
  • Figure 3 is a schematic block diagram of a parametric fractal object 18 as disclosed in the previously described application entitled "Method For Constructing Two-Dimensional And Three-Dimensional Graphical Images".
  • a fractal object is a virtual object which is constructed through a process involving random or pseudorandom elements, such that the graphical representation of the virtual object is determined by a set of fractal, random or pseudorandom formulas.
  • Parametric fractal object 18 is a fractal object which has at least one, and preferably a plurality of, parametric primitive controls 20. As shown, preferably primitive controls 20 of parametric fractal object 18 are controlled by at least one meaningful control 22.
  • Each parametric fractal object 18 is actually a group of such objects, each of which is determined according to the same set of primitive controls 20 and at least one meaningful control 22.
  • each parametric fractal object 18 has a different graphical appearance, since the values for primitive controls 20 are determined by pseudorandom numbers which are produced by a pseudorandom number generator, or else are determined by completely random numbers. Therefore, if parametric fractal object 18 is a tree, and meaningful control 22 specifies that the tree is an oak tree, the graphical appearance of the resultant virtual object is of an oak tree, but with details such as height, width, shape, and the geometry, position and direction of the branches, which are determined pseudorandomly and/or randomly.
  • the actual "real life" object is analyzed to determine the set of features which is necessary in order to produce the corresponding virtual object.
  • Each feature is then controlled by a corresponding primitive control 20, such that the feature is varied by varying the numeric parameter of primitive control 20.
  • a numeric parameter may optionally be the value of the parameter controlled by primitive control 20, or alternatively may represent the number according to which the value for primitive control 20 is selected from a list of such values.
  • a single numeric parameter could represent a plurality of primitive controls 20.
  • each such parametric fractal object 18 has a numeric control 23 which controls the values for the various primitive controls 20 and/or meaningful controls 22 according to which the primitive objects, and hence the visual appearance, of the resultant virtual object is determined.
  • Numeric control 23 may optionally be a serial number which contains the values for the various primitive controls 20 and/or meaningful controls 22.
  • one number in the serial number could optionally represent values for a plurality of primitive controls 20.
  • the serial number could be used as the seed or seeds for feeding to the pseudorandom number generator in order to generate the pseudorandom numbers again.
  • Parametric fractal objects 18 which have the same serial number would therefore be identical and would have an identical graphical appearance.
  • a designer could optionally either request a plurality of identical parametric fractal objects 18 by serial number, or alternatively could remove a particular parametric fractal object 18 from being used again by the serial number.
  • the number of controllers for parametric fractal object 18 should be reduced.
  • One method for reducing the number of controllers is to create a hierarchy of parametric fractal objects, in which the parent fractal object would be fully specified, while each child fractal object would only be specified by the differences from the parent fractal object.
  • the remaining meaningful and/or primitive controls would be inherited by the child fractal object, thereby enabling the child fractal object to be fully specified with very few controls, and hence with very few data values. Even if the meaningful controls are identical between the parent object and child object, the child object may still have a different appearance if the primitive controls are optionally automatically randomly or pseudorandomly determined.
  • the human designer does not need to specify the differences between the child object and the parent object, as the differences which are realized through changes in the primitive controls may optionally be determined automatically, through the generation of pseudorandom and/or random numbers as previously described. Also, such differences could optionally be determined "on the as the child object is generated for display.
  • An example of such a hierarchy is shown in Figure 4, in which a first set of controls 24 determines the appearance of a parent fractal object 26.
  • a plurality of child fractal objects 28 inherit a portion of first set of controls 24, with the optional alteration of the value for at least one of the controls, to form a child set of controls 30.
  • the group of child fractal objects 28 is created according to differences from parent fractal object 26, such that the child fractal objects 28 are preferably not identical to parent fractal object 26.
  • FIG. 5 is a schematic block diagram of a system according to the present invention for transmitting images.
  • a system 32 features a user computer 34 for interacting with a user.
  • User computer 34 operates a re-constructor 35 according to the present invention, for constructing a two or three dimensional image.
  • the image is then displayed by a viewer 36. which is optionally and preferably implemented as software.
  • re-constructor 35 and viewer 36 form a client software according to the present invention.
  • the data for the image is preferably received from a remote site 38, which could be a Web site operated by a Web server, for example.
  • Remote site 38 is preferably connected to user computer 34 through a network 40. such as the Internet for example.
  • the user requests a particular image through the client software, or alternatively through a Web browser 42 which is also operated by user computer 34.
  • Remote site 38 then transmits the data required for constructing the image to user computer 34, and more specifically to re-constructor 35, which then constructs the image.
  • remote site 38 sends the images to
  • Web browser 42 to be displayed with viewer 36
  • the present invention enables remote site 38 to optionally and preferably send the minimum data required to Web browser 42 for reconstruction by re-constructor 35, before being viewed with viewer 36.
  • remote site 38 also provides software tools for constructing the image as one or more parametric objects, as previously described. These software tools optionally and preferably enable the user to select various features of a virtual object, or even entire virtual objects, through a graphical user interface (GUI), which may be provided through Web browser 42 for example.
  • GUI graphical user interface
  • the user can then view the image as it is being designed through client software 36.
  • the designed image is then available for being retrieved from remote site 38, optionally according to the preferences of the user.
  • the designed image could optionally be a three-dimensional virtual world, which would be available to members of a virtual on-line community, who could retrieve the data for the virtual world from remote site 38, preferably only upon entering the correct password.
  • the members of the virtual on-line community could also alter, or provide additions to, the virtual world.
  • Such alterations and additions may optionally be controlled through a hierarchy of software tools, which would in turn determine which alterations and/or additions are permitted to the members of the community.
  • certain members may only be permitted to change features of a virtual object such as the windows of a building, but otherwise must adhere to a certain type of building for the virtual object.
  • the control over these changes and/or additions is provided through the hierarchical structure of the virtual objects, in which parent objects control at least a portion of the features of each child object, as implemented by the meaningful and/or primitive controllers of the child object.
  • the software tools of the present invention are then optionally and preferably designed such that the control provided by the parent object may not be overridden in all circumstances by the child objects.
  • the virtual world or other image shared by the virtual community contains a plurality of virtual objects which are initially specified according to the hierarchy, such that each virtual object of the image exists from the initiation of the virtual world.
  • FIG. 6 is a flowchart of an exemplary method according to the present invention for displaying an image created with a plurality of hierarchical parametric objects, as previously described in Figures 4 and 5.
  • the parent object is first constructed, as it is fully specified from the meaningful and primitive controllers.
  • a reference to an entry in a look-up table is transmitted for each controller.
  • the look-up table is preferably already present at the client software program of the user, such that data from each entry is preferably retrieved according to the transmitted reference.
  • the parent object is constructed according to the following steps. First, the data for the primitive controllers is obtained, for example either from the transmitted data or from a look-up table as described above. Next, the data for the meaningful controllers is obtained, either from the transmitted data or from a look-up table as previously described. Finally, data from the meaningful controllers is used to determine how the elements specified by the primitive controllers are arranged to form the virtual object.
  • step 2 the next object in the hierarchy is constructed according to differences from the parent object. Since the data from the parent object is preferably held in memory, the next object in the hierarchy can be more quickly constructed, since only those elements which are different from the parent object require new data to be retrieved and/or calculated. This step is preferably repeated for each level of the hierarchy, until all objects in the hierarchy have been constructed.
  • each virtual object is only specified by a serial number.
  • the serial number is then used to reconstruct the virtual object, for example by retrieving the data from look-up tables as previously described.
  • the components of the serial number could optionally be used as seeds for a pseudorandom number generator operated by the user computer as part of the client software.
  • the seeds are fed to the pseudorandom number generator, which produces an output result for specifying the value of one of the primitive controllers. This process is continued until all of the primitive controllers are specified.
  • this embodiment is implemented independently of the hierarchy of parametric objects.
  • step 3 the constructed objects are displayed as a completed two or three dimensional image to the user.
  • the relative location of the user in the virtual space is used to determine how the image is displayed to the user, as explained with regard to Figure 7.
  • the position of the user in the virtual space is used to determine which portions of the image are reconstructed for the user at any given moment.
  • the position of the user is marked by a box labeled as "user position".
  • the image could optionally be that of a building, with a plurality of windows, in a quarter of a city.
  • the building is assumed to be the second building of the second quarter. Therefore, all of the buildings of the second quarter are reconstructed, but only a portion of the buildings of the first quarter are reconstructed: those buildings which are near the position of the user in virtual space.
  • level of detail which is reconstructed and shown may optionally be determined according to factors other than the distance of the user from the virtual object. For example, the relative speed of the point of view of the user through the scene may also optionally be used to determine the level of detail.
  • an average background art three-dimensional virtual object has about twenty controllers.
  • Such a virtual object is represented by an average set of fifteen graphical objects (primitives).
  • Each graphical object (primitive) requires about twenty figures for representation.
  • This means about 20b of controllers for a virtual object represents about 300b of resultant graphical data.
  • the average ratio of controllers to graphical data for a background art virtual object is about 1 : 15. such that a city might require 60 Mb of graphical representation, or 4 Mb of controllers. Even the use of parametric fractal objects alone does not necessarily solve this problem.
  • Hierarchies of parametric fractal objects can significantly reduce the amount of data required to store and/or transmit a particular graphical environment.
  • the previously mentioned city which would require 4 Mb of controllers could instead be represented with only 20b of controllers through hierarchies, with an average ratio of controllers to graphical image data of 1 :3, 000, 000.
  • Such a significant reduction of the total amount of data which is required to specify an image also leads to a significant reduction in the total bandwidth for downloading the data to a remote user computer.
  • images which are constructed according to the present invention are clearly more rapidly and efficiently transmitted.

Landscapes

  • Physics & Mathematics (AREA)
  • Engineering & Computer Science (AREA)
  • Computer Graphics (AREA)
  • Geometry (AREA)
  • Software Systems (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Processing Or Creating Images (AREA)

Abstract

A system and a method for rapidly and efficiently transferring the data required to construct virtual objects from a server to a user computer, by specifying the virtual objects as a plurality of controllers. Each controller may optionally be determined as a pseudorandom number generated from a particular seed, such that only the seeds need to be transmitted to the user computer as a serial number in order to display the virtual object. Alternatively, the virtual object may be specified as a part of an object hierarchy, in which only the parent object is fully specified. The child objects are then only described according to one or more differences from the parent object, such that only the controllers with different values are given for each child object. The system optionally features software tools operated at a remote site, for example by a remote server, provided for the user to be able to design a virtual object. The user interacts with these software tools through a client which is operated by a user computer. The user computer is connected to the remote server by a network, such as the Internet for example.

Description

SYSTEM AND METHOD FOR TRANSMITTING AND REPRODUCING
TWO-DIMENSIONAL AND THREE-DIMENSIONAL
GRAPHICAL IMAGES
FIELD AND BACKGROUND
The present invention relates to a method and system for transmitting and reproducing graphical images, and in particular, to such a method and system in which the graphical images are automatically reproduced for the viewer from a limited number of components, whether for two-dimensional or three-dimensional images, Currently, three-dimensional images are constructed from virtual objects, which could represent substantially any actual object in the real world, such as buildings, trees, chairs, and so forth. In turn, these virtual objects are constructed from a plurality of graphical objects, or primitives, which represent basic shapes such as box, cone, polygon and so forth. Therefore, many different virtual objects can potentially be constructed from a relatively limited set of graphical primitives.
Unfortunately, currently each such virtual object must be separately constructed from these graphical primitives. Although a plurality of such virtual objects could theoretically be easily constructed by specifying a relatively small number of graphical primitives, the resultant virtual objects would give the appearance of being similar or identical, and would therefore collectively be visually uninteresting to the human eye. Thus, a significant amount of time must be spent in order to "individualize", or add individual detail to, these virtual objects.
A more efficient solution would enable a plurality of virtual objects to be rapidly specified as individual objects, with individual detail, but without requiring the human designer to specify such individual detail for each object separately. Such a solution would not require significant amounts of time to create each individual virtual object with such detail, yet would result in virtual objects which appear to be different and therefore more interesting to the human eye. Such a solution is provided in the patent application entitled "Method For Constructing Two-Dimensional And Three-Dimensional Graphical Images", by the same inventor and filed on the same day as the present application, which is hereby incorporated by reference as if fully set forth herein.
Once these graphical images have been constructed, the user needs to be able to view such images. For example, a three-dimensional graphical scene composed of such images may need to be transmitted over a network, such as the Internet. The network may have limited bandwidth, such that a large, complex scene could be difficult to transmit rapidly in its entirety. A more efficient method would only transmit the required data to be able to reconstruct the scene at the computer of the user, rather than transmitting the entire scene itself.
Such an efficient method would also potentially enable the tools for constructing the three-dimensional scene to be made available through a network such as the Internet, for example in the form of a Web site. The user would be able to construct the three-dimensional scene using these remote tools, optionally with guidance provided through the Web site, yet would still be able to view the resultant scene quickly, as the scene could be efficiently transmitted through the network to the computer of the user, and then reconstructed at the computer of the user. Unfortunately, such an efficient method and application are not currently available.
There is thus a need for, and it would be useful to have, a method for rapidly and efficiently transmitting data for reconstructing a two-dimensional or three-dimensional virtual object, such that only the necessary data is transmitted, thereby potentially reducing the amount of bandwidth which is required to transmit the virtual object, and optionally also enabling the tools for constructing the virtual object to be operated at a site which is remote to the user.
BRIEF DESCRIPTION OF THE DRAWINGS
The foregoing and other objects, aspects and advantages will be better understood from the following detailed description of a preferred embodiment of the invention with reference to the drawings, wherein:
FIG. 1 is a schematic block diagram of primitive controls operating on a parametric object according to the background art;
FIG. 2 is a schematic block diagram of a meaningful control according to the background art;
FIG. 3 is a schematic block diagram of a parametric fractal object according to the present invention;
FIG. 4 is a schematic block diagram of a hierarchy of parametric fractal objects according to the present invention; FIG. 5 is a schematic block diagram of a system according to the present invention;
FIG. 6 is a flowchart of an exemplary method according to the present invention for displaying an image created with a plurality of hierarchical parametric objects; and
FIG. 7 is a schematic block diagram of the relative position of the user in virtual space with regard to the display according to the present invention.
SUMMARY OF THE INVENTION
The present invention is of a system and a method for rapidly and efficiently transferring the data required to construct virtual objects from a server to a user computer, by specifying the virtual objects as a plurality of controllers. Each controller may optionally be determined as a pseudorandom number generated from a particular seed, such that only the seeds need to be transmitted to the user computer as a serial number in order to display the virtual object. Alternatively, the virtual object may be specified as a part of an object hierarchy, in which only the parent object is fully specified. The child objects are then only described according to one or more differences from the parent object, such that only the controllers with different values are given for each child object. The system of the present invention optionally features software tools operated at a remote site, for example by a remote server, provided for the user to be able to design a virtual object. The user interacts with these software tools through a client which is operated by a user computer. The user computer is connected to the remote server by a network, such as the Internet for example.
According to the present invention, there is provided a method for displaying an image by a user computer, the image featuring image data, the method comprising the steps of: (a) providing a server for serving the image data; (b) constructing a plurality of virtual objects according to an object hierarchy, the plurality of virtual objects including a parent object, the parent object featuring a plurality of controllers, such that each controller has a specified value, and the plurality of virtual objects including a child object, such that the parent object is a parent to the child object, the child object being determined by altering at least one controller of the child object according to a difference between the child object and the parent object; (c) transmitting a plurality of controllers for the plurality of virtual objects to the user computer by the server, such that the plurality of controllers forms the image data, the plurality of controllers including controllers for the parent object and each altered controller for the child object; (d) reconstructing all of the controllers for each virtual object; (e) building a plurality of primitive objects from the plurality of controllers by the user computer; and (e) displaying the image as the plurality of primitive objects by the user computer.
According to another embodiment of the present invention, there is provided a system for designing an image by a user through a network, the image featuring at least one virtual object, the virtual object being specified as a plurality of controllers, each controller having a specified value, the system comprising: (a) a software tool for constructing the at least one virtual object from the plurality of controllers; (b) a server for storing data for reconstructing the plurality of controllers; (c) a client software for interacting with the user and for receiving a value for each controller from the user, and for receiving the data for reconstructing the plurality of controllers from the server for displaying the image; and (d) a user computer for operating the client software, the user computer being connected to the server through the network, such that the value for each controller is sent to the software control for constructing the at least one virtual object.
According to yet another embodiment of the present invention, there is provided a system for transmitting an image through a network, the image featuring at least one λ irtual object, the virtual object being specified as a plurality of controllers, each controller having a specified value, the system comprising: (a) a server for serving data for reconstructing the plurality of controllers; (b) a reconstructor software for receiving the data for reconstructing the plurality of controllers from the server; (c) a view er software for constructing the at least one virtual object from the plurality of controllers and for displaying the image; and (d) a user computer for operating the reconstructor software and the viewer software, the user computer being connected to the server through the network.
Hereinafter, the term "computational device" includes, but is not limited to, personal computers (PC) having an operating system such as DOS, Windows™, OS/2™ or Linux; Macintosh™ computers; computers having JAVA™-OS as the operating system: graphical workstations such as the computers of Sun Microsystems™ and Silicon Graphics™, and other computers having some version of the UNIX operating system such as AIX™ or SOLARIS™ of Sun Microsystems™; any other known operating system; any other computer: or any device which has an operating system. Hereinafter, the term "Windows™" includes but is not limited to Windows95™, Windows 3.x™ in which "x" is an integer such as "1", Windows NT™,
Windows98™, Windows CE™, Windows2000™ and any upgraded versions of these operating systems by Microsoft Corp. (USA).
Hereinafter, a "virtual object" is defined as two-dimensional or three-dimensional graphical image. Hereinafter, the term "controller" includes, but is not limited to, at least one of a meaningful control and a primitive control.
The method of the present invention could be described as a series of steps performed by a data processor, and as such could optionally be implemented as software, hardware or firmware, or a combination thereof. For the present invention, a software application could be written in substantially any suitable programming language, which could easily be selected by one of ordinary skill in the art. The programming language chosen should be compatible with the computational device according to which the software application is executed. Examples of suitable programming languages include, but are not limited to, C, C++ and Java.
DETAILED DESCRIPTION OF THE INVENTION
The present invention is of a system and a method for rapidly and efficiently transferring the data required to construct virtual objects from a server to a user computer, by specifying the virtual objects as a plurality of controllers. Each controller may optionally be determined as a pseudorandom number generated from a particular seed, such that the virtual object may be reproduced from the seeds used to generate the controllers. Therefore, only the seeds need to be transmitted to the user computer as a serial number in order to display the virtual object.
Alternatively, the virtual object may be specified as a part of an object hierarchy, in which only the parent object is fully specified. The child objects are then only described according to one or more differences from the parent object, such that only the controllers with different values are given for each child object. Thus, a relatively large number of virtual objects can be specified with a relatively small amount of data.
According to other preferred embodiments of the present invention, the virtual object is designed by a user through software tools operated at a remote site, for example by a remote server. The user interacts with these software tools through a client which is operated by a user computer. The user computer is connected to the remote server by a network, such as the Internet for example.
The description of the method of the present invention uses a number of different terms, which are defined for the purposes of explanation only and without any intention of being limiting.
As previously noted, virtual objects are constructed from a plurality of graphical primitives. Each graphical primitive is a graphical representation of a basic shape, such as box, cone, sphere, polygon, extrude and so forth. Graphical primitives are known in the art. Virtual objects are formed from graphical primitives as a set of a plurality of such primitives with controls, to form a "parametric object".
The controls for each parametric object can be either primitive controls or meaningful controls. A primitive control is one of the sets of parameters which define a parametric object. These parameters operate directly on the primitives which form the virtual object. As an example of such a parametric object, a window with an ability to adjust its geometry has an appearance which is defined only when the window height, width and number of sections are defined. A schematic block diagram of such primitive controls operating on a parametric object is shown in background art Figure 1. As shown, a parametric object 10 features a plurality of primitive controls 12 which operate directly on a plurality of primitive objects 14. Primitive objects 14 with primitive controls 12 in turn form parametric object 10. It should be noted that primitive objects 14 are only shown in Figure 1 for the sake of clarity, although they are also present in the parametric objects shown in Figures 2-4. However, in order to display the virtual object on a computer of a user, primitive objects 14 are rendered for display by the computer of the user.
Meaningful controls are another type of control, which operate on the primitive controls to define the parametric object. Meaningful controls are defined by the human designer, but must then be translated into a set of primitive control parameters in order to have an effect on the parametric object. For example, with regard to different types of buildings as parametric objects, a human designer could define a building as being of the type "modern", "governmental", "dwelling" and so forth. Such a building type is a meaningful control, which alters the behavior of primitive controls. An example of such a meaningful control is shown in background art Figure 2, again featuring parametric object 10 with a plurality of primitive controls 12 and a plurality of primitives 14. Now, primitive controls 12 are in turn controlled by a plurality of meaningful controls 16. Each meaningful control 16 may only control one primitive control 12, but preferably controls a plurality of primitive controls 12. Thus, once a particular meaningful control 16 has been specified, the behavior of the primitive controls 12 is in turn also determined.
Referring now to the drawings, Figure 3 is a schematic block diagram of a parametric fractal object 18 as disclosed in the previously described application entitled "Method For Constructing Two-Dimensional And Three-Dimensional Graphical Images". A fractal object is a virtual object which is constructed through a process involving random or pseudorandom elements, such that the graphical representation of the virtual object is determined by a set of fractal, random or pseudorandom formulas. Parametric fractal object 18 is a fractal object which has at least one, and preferably a plurality of, parametric primitive controls 20. As shown, preferably primitive controls 20 of parametric fractal object 18 are controlled by at least one meaningful control 22.
Each parametric fractal object 18 is actually a group of such objects, each of which is determined according to the same set of primitive controls 20 and at least one meaningful control 22. However, each parametric fractal object 18 has a different graphical appearance, since the values for primitive controls 20 are determined by pseudorandom numbers which are produced by a pseudorandom number generator, or else are determined by completely random numbers. Therefore, if parametric fractal object 18 is a tree, and meaningful control 22 specifies that the tree is an oak tree, the graphical appearance of the resultant virtual object is of an oak tree, but with details such as height, width, shape, and the geometry, position and direction of the branches, which are determined pseudorandomly and/or randomly.
Preferably, the actual "real life" object is analyzed to determine the set of features which is necessary in order to produce the corresponding virtual object. Each feature is then controlled by a corresponding primitive control 20, such that the feature is varied by varying the numeric parameter of primitive control 20. Such a numeric parameter may optionally be the value of the parameter controlled by primitive control 20, or alternatively may represent the number according to which the value for primitive control 20 is selected from a list of such values. Optionally, a single numeric parameter could represent a plurality of primitive controls 20.
More preferably, each such parametric fractal object 18 has a numeric control 23 which controls the values for the various primitive controls 20 and/or meaningful controls 22 according to which the primitive objects, and hence the visual appearance, of the resultant virtual object is determined. Numeric control 23 may optionally be a serial number which contains the values for the various primitive controls 20 and/or meaningful controls 22.
Optionally, as for the process of generating pseudorandom numbers described previously, one number in the serial number could optionally represent values for a plurality of primitive controls 20. Alternatively, the serial number could be used as the seed or seeds for feeding to the pseudorandom number generator in order to generate the pseudorandom numbers again. Parametric fractal objects 18 which have the same serial number would therefore be identical and would have an identical graphical appearance. Thus, a designer could optionally either request a plurality of identical parametric fractal objects 18 by serial number, or alternatively could remove a particular parametric fractal object 18 from being used again by the serial number.
In order to reduce the amount of data being stored and/or transmitted, preferably the number of controllers for parametric fractal object 18 should be reduced. One method for reducing the number of controllers is to create a hierarchy of parametric fractal objects, in which the parent fractal object would be fully specified, while each child fractal object would only be specified by the differences from the parent fractal object. The remaining meaningful and/or primitive controls would be inherited by the child fractal object, thereby enabling the child fractal object to be fully specified with very few controls, and hence with very few data values. Even if the meaningful controls are identical between the parent object and child object, the child object may still have a different appearance if the primitive controls are optionally automatically randomly or pseudorandomly determined. Optionally, the human designer does not need to specify the differences between the child object and the parent object, as the differences which are realized through changes in the primitive controls may optionally be determined automatically, through the generation of pseudorandom and/or random numbers as previously described. Also, such differences could optionally be determined "on the
Figure imgf000009_0001
as the child object is generated for display. An example of such a hierarchy is shown in Figure 4, in which a first set of controls 24 determines the appearance of a parent fractal object 26. A plurality of child fractal objects 28 inherit a portion of first set of controls 24, with the optional alteration of the value for at least one of the controls, to form a child set of controls 30. Thus, the group of child fractal objects 28 is created according to differences from parent fractal object 26, such that the child fractal objects 28 are preferably not identical to parent fractal object 26.
The previous description has concerned the parametric objects of the corresponding application entitled "Method For Constructing Two-Dimensional And Three-Dimensional Graphical Images". The following description is concerned with a particular implementation of such objects, for enabling users to quickly receive such graphical images through a network connection. In addition, the following description is concerned with the use of software tools for constructing such virtual objects at a remote location, such as through a Web site for example.
The principles and operation of a system and a method according to the present invention may be better understood with reference to the drawings and the accompanying description, it being understood that these drawings are given for illustrative purposes only and are not meant to be limiting.
Figure 5 is a schematic block diagram of a system according to the present invention for transmitting images. A system 32 features a user computer 34 for interacting with a user. User computer 34 operates a re-constructor 35 according to the present invention, for constructing a two or three dimensional image. The image is then displayed by a viewer 36. which is optionally and preferably implemented as software. Collectively, re-constructor 35 and viewer 36 form a client software according to the present invention. The data for the image is preferably received from a remote site 38, which could be a Web site operated by a Web server, for example. Remote site 38 is preferably connected to user computer 34 through a network 40. such as the Internet for example. The user requests a particular image through the client software, or alternatively through a Web browser 42 which is also operated by user computer 34. Remote site 38 then transmits the data required for constructing the image to user computer 34, and more specifically to re-constructor 35, which then constructs the image. Unlike systems which are known in the art, in which remote site 38 sends the images to
Web browser 42 to be displayed with viewer 36, the present invention enables remote site 38 to optionally and preferably send the minimum data required to Web browser 42 for reconstruction by re-constructor 35, before being viewed with viewer 36.
According to preferred embodiments of the present invention, remote site 38 also provides software tools for constructing the image as one or more parametric objects, as previously described. These software tools optionally and preferably enable the user to select various features of a virtual object, or even entire virtual objects, through a graphical user interface (GUI), which may be provided through Web browser 42 for example. The user can then view the image as it is being designed through client software 36. Preferably, the designed image is then available for being retrieved from remote site 38, optionally according to the preferences of the user. For example, the designed image could optionally be a three-dimensional virtual world, which would be available to members of a virtual on-line community, who could retrieve the data for the virtual world from remote site 38, preferably only upon entering the correct password. In addition, the members of the virtual on-line community could also alter, or provide additions to, the virtual world. Such alterations and additions may optionally be controlled through a hierarchy of software tools, which would in turn determine which alterations and/or additions are permitted to the members of the community. For example, certain members may only be permitted to change features of a virtual object such as the windows of a building, but otherwise must adhere to a certain type of building for the virtual object. The control over these changes and/or additions is provided through the hierarchical structure of the virtual objects, in which parent objects control at least a portion of the features of each child object, as implemented by the meaningful and/or primitive controllers of the child object. The software tools of the present invention are then optionally and preferably designed such that the control provided by the parent object may not be overridden in all circumstances by the child objects. Optionally and more preferably, the virtual world or other image shared by the virtual community contains a plurality of virtual objects which are initially specified according to the hierarchy, such that each virtual object of the image exists from the initiation of the virtual world.
Figure 6 is a flowchart of an exemplary method according to the present invention for displaying an image created with a plurality of hierarchical parametric objects, as previously described in Figures 4 and 5. In step 1, the parent object is first constructed, as it is fully specified from the meaningful and primitive controllers. Optionally and preferably, rather than transmitting all of the information about each controller, only a reference to an entry in a look-up table is transmitted for each controller. The look-up table is preferably already present at the client software program of the user, such that data from each entry is preferably retrieved according to the transmitted reference.
Optionally and preferably, the parent object is constructed according to the following steps. First, the data for the primitive controllers is obtained, for example either from the transmitted data or from a look-up table as described above. Next, the data for the meaningful controllers is obtained, either from the transmitted data or from a look-up table as previously described. Finally, data from the meaningful controllers is used to determine how the elements specified by the primitive controllers are arranged to form the virtual object.
In step 2, the next object in the hierarchy is constructed according to differences from the parent object. Since the data from the parent object is preferably held in memory, the next object in the hierarchy can be more quickly constructed, since only those elements which are different from the parent object require new data to be retrieved and/or calculated. This step is preferably repeated for each level of the hierarchy, until all objects in the hierarchy have been constructed.
According to an optional and preferred embodiment of the present invention, each virtual object is only specified by a serial number. The serial number is then used to reconstruct the virtual object, for example by retrieving the data from look-up tables as previously described. Alternatively, the components of the serial number could optionally be used as seeds for a pseudorandom number generator operated by the user computer as part of the client software. The seeds are fed to the pseudorandom number generator, which produces an output result for specifying the value of one of the primitive controllers. This process is continued until all of the primitive controllers are specified. Optionally, this embodiment is implemented independently of the hierarchy of parametric objects.
In step 3, the constructed objects are displayed as a completed two or three dimensional image to the user. According to a preferred embodiment of the present invention, the relative location of the user in the virtual space is used to determine how the image is displayed to the user, as explained with regard to Figure 7.
As shown by the painted dots of Figure 7, indicating the parts of the scene which are visible to the user, preferably the position of the user in the virtual space is used to determine which portions of the image are reconstructed for the user at any given moment. For the purposes of clarity, the position of the user is marked by a box labeled as "user position". For example, the image could optionally be that of a building, with a plurality of windows, in a quarter of a city. In this example, the building is assumed to be the second building of the second quarter. Therefore, all of the buildings of the second quarter are reconstructed, but only a portion of the buildings of the first quarter are reconstructed: those buildings which are near the position of the user in virtual space. Only the windows of those buildings which are closest to the user, along with other details, are reconstructed. By contrast, none of the buildings of the third quarter are reconstructed, since they are too far from the user to be visible as part of the virtual world. As the user moves and therefore changes location within the virtual world, the scene may need to be redrawn, with different details reconstructed and displayed, and other details discarded. Thus, the amount of detail which must be rendered and displayed at any given moment is significantly reduced, and more importantly, multiple levels of details for each virtual object are not transmitted and stored, but rather are reconstructed "on the fly" according to the location of the user. Another advantage of reconstructing these virtual objects only as needed, "on the fly", is that the level of detail which is reconstructed and shown may optionally be determined according to factors other than the distance of the user from the virtual object. For example, the relative speed of the point of view of the user through the scene may also optionally be used to determine the level of detail.
The present invention has a number of advantages over the background art, particularly with regard to the amount of storage space and bandwidth which are required for the resultant two-dimensional, or especially three-dimensional images. For example, an average background art three-dimensional virtual object has about twenty controllers. Such a virtual object is represented by an average set of fifteen graphical objects (primitives). Each graphical object (primitive) requires about twenty figures for representation. This means about 20b of controllers for a virtual object represents about 300b of resultant graphical data. The average ratio of controllers to graphical data for a background art virtual object is about 1 : 15. such that a city might require 60 Mb of graphical representation, or 4 Mb of controllers. Even the use of parametric fractal objects alone does not necessarily solve this problem.
By contrast, the use of hierarchies of parametric fractal objects can significantly reduce the amount of data required to store and/or transmit a particular graphical environment. For example, the previously mentioned city which would require 4 Mb of controllers, could instead be represented with only 20b of controllers through hierarchies, with an average ratio of controllers to graphical image data of 1 :3, 000, 000. Such a significant reduction of the total amount of data which is required to specify an image also leads to a significant reduction in the total bandwidth for downloading the data to a remote user computer. Thus, images which are constructed according to the present invention are clearly more rapidly and efficiently transmitted.
It will be appreciated that the above descriptions are intended only to serve as examples, and that many other embodiments are possible within the spirit and the scope of the present invention.

Claims

WHAT IS CLAIMED IS:
1. A method for displaying an image by a user computer, the image featuring image data, the method comprising the steps of:
(a) providing a server for serving the image data;
(b) constructing a plurality of virtual objects according to an object hierarchy, said plurality of virtual objects including a parent object, said parent object featuring a plurality of controllers, such that each controller has a specified value, and said plurality of virtual objects including a child object, such that said parent object is a parent to said child object, said child object being determined by altering at least one controller of said parent object according to a difference between said child object and said parent object;
(c) transmitting a plurality of controllers for said plurality of virtual objects to the user computer by said server, such that said plurality of controllers forms the image data, said plurality of controllers including controllers for said parent object and each altered controller for said child object;
(d) reconstructing all of said controllers for each virtual object;
(e) building a plurality of primitive objects from said plurality of controllers by the user computer; and
(f) displaying the image as said plurality of primitive objects by the user computer.
2. The method of claim 1 , wherein at least one controller of said child object is a meaningful control, and at least another controller of said child object is a primitive control, such that said primitive control is altered to said difference in step (b).
3. The method of claim 2, wherein said meaningful control of said child object remains unaltered in step (b).
4. The method of claim 2, wherein said meaningful control of said child object is also altered in step (b).
5. The method of claim 1, wherein step (b) further comprises the steps of: (i) generating a number, said number being at least pseudorandom; and (ii) determining a value for each controller at least partially with said at least pseudorandom number.
6. The method of claim 5, wherein said plurality of controllers includes at least one primitive control and a meaningful control, wherein said meaningful control controls said primitive control, and step (ii) is performed for said primitive control.
7. The method of claim 6, wherein step (ii) is also performed according to a value for said meaningful control, such that said value for said meaningful control at least partially determines said value for said at least one primitive control.
8. The method of claim 7, wherein step (ii) further comprises the step of determining said value for said at least one primitive control to be said at least pseudorandom number.
9. The method of claim 6, wherein said value for said at least one primitive control is selected from a plurality of values, said plurality of values being organized as a list, each value having a corresponding entry number in said list, such that step (ii) further comprises the step of determining said value for said at least one primitive control by selecting a value from said list according to said entry number, wherein said entry number is said at least pseudorandom number.
10. The method of claim 6, wherein said at least pseudorandom number is a pseudorandom number.
11. The method of claim 10, wherein step (b) further comprises the step of:
(iii) specifying a serial number according to each value of said at least one primitive control and said meaningful control, such that a second virtual object generated according to said serial number is identical to said virtual object.
12. The method of claim 1 1 , wherein at least a portion of said serial number is used as a seed for generating said pseudorandom number, such that only said portion of said serial number is transmitted from said server to the user computer.
13. A method for transmitting an image from a server to a user computer, the image featuring image data, the method comprising the steps of:
(a) determining a plurality of controllers for a virtual object, such that each controller has a specified value, said specified value being a pseudorandom number generated from a seed;
(b) constructing the image from at least one virtual object;
(c) forming a serial number from said seeds;
(d) transmitting said serial number to the user computer by the server;
(e) determining said plurality of controllers from said serial number;
(f) constructing at least one primitive object from said plurality of controllers by the user computer; and
(g) displaying the image as said at least one primitive object by the user computer.
14. A system for transmitting an image through a network, the image featuring at least one virtual object, the virtual object being specified as a plurality of controllers, each controller having a specified value, the system comprising:
(a) a server for serving data for reconstructing the plurality of controllers;
(b) a reconstructor software for receiving said data for reconstructing the plurality of controllers from said server;
(c) a viewer software for constructing the at least one virtual object from the plurality of controllers and for displaying the image; and
(d) a user computer for operating said reconstructor software and said viewer software, said user computer being connected to said server through the network.
15. A system for designing an image by a user through a network, the image featuring at least one virtual object, the virtual object being specified as a plurality of controllers, each controller having a specified value, the system comprising:
(a) a software tool for constructing the at least one virtual object from the plurality of controllers;
(b) a server for storing data for reconstructing the plurality of controllers;
(c) a client software for interacting with the user and for receiving a value for each controller from the user, and for receiving said data for reconstructing the plurality of controllers from said server for displaying the image; and
(d) a user computer for operating said client software, said user computer being connected to said server through the network, such that said value for each controller is sent to said software control for constructing the at least one virtual object.
16. The system of claim 15. wherein said software tool is operated by said server, and said client software includes an interface to said software tool.
17. The system of claim 15. wherein said software tool is operated by said user computer, the system further comprising:
(e) a server interface to said software tool.
18. The system of claim 15, wherein the network is the Internet.
19. The system of claim 15, wherein the image is stored on the server with a password, such that said password must be provided in order to retrieve the image.
20. The system of claim 19. wherein said user is part of a virtual community, and the image is a three-dimensional virtual world shared by said virtual community.
21. The system of claim 19, wherein said user is part of a virtual community, wherein a plurality of users of said virtual community operates a plurality of software tools, and wherein at least one software tool has only limited control over the plurality of controllers for specifying the virtual object.
22. The system of claim 21, wherein the virtual object is at least partially determined according to a hierarchy and is a child object in said hierarchy, such that said at least one software tool cannot override a specification of the virtual object by said hierarchy.
23. The system of claim 22, wherein every virtual object of said virtual world is initially specified according to said hierarchy.
PCT/IL2001/000042 2000-01-27 2001-01-17 System and method for transmitting and reproducing two-dimensional and three-dimensional graphical images WO2001055973A1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
AU25452/01A AU2545201A (en) 2000-01-27 2001-01-17 System and method for transmitting and reproducing two-dimensional and three-dimensional graphical images

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US49186900A 2000-01-27 2000-01-27
US09/491,869 2000-01-27

Publications (1)

Publication Number Publication Date
WO2001055973A1 true WO2001055973A1 (en) 2001-08-02

Family

ID=23953997

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/IL2001/000042 WO2001055973A1 (en) 2000-01-27 2001-01-17 System and method for transmitting and reproducing two-dimensional and three-dimensional graphical images

Country Status (2)

Country Link
AU (1) AU2545201A (en)
WO (1) WO2001055973A1 (en)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8019661B2 (en) 2007-11-26 2011-09-13 International Business Machines Corporation Virtual web store with product images
US8065200B2 (en) 2007-11-26 2011-11-22 International Business Machines Corporation Virtual web store with product images
US8253727B2 (en) 2008-03-14 2012-08-28 International Business Machines Corporation Creating a web store using manufacturing data

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO1997035280A2 (en) * 1996-03-15 1997-09-25 Zapa Digital Arts Ltd. System for producing animation sequence according to character behaviour characteristics
EP0865001A2 (en) * 1997-03-10 1998-09-16 Canon Kabushiki Kaisha Image processing apparatus, method and system
US5894310A (en) * 1996-04-19 1999-04-13 Visionary Design Systems, Inc. Intelligent shapes for authoring three-dimensional models

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO1997035280A2 (en) * 1996-03-15 1997-09-25 Zapa Digital Arts Ltd. System for producing animation sequence according to character behaviour characteristics
US5894310A (en) * 1996-04-19 1999-04-13 Visionary Design Systems, Inc. Intelligent shapes for authoring three-dimensional models
EP0865001A2 (en) * 1997-03-10 1998-09-16 Canon Kabushiki Kaisha Image processing apparatus, method and system

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8019661B2 (en) 2007-11-26 2011-09-13 International Business Machines Corporation Virtual web store with product images
US8065200B2 (en) 2007-11-26 2011-11-22 International Business Machines Corporation Virtual web store with product images
US8253727B2 (en) 2008-03-14 2012-08-28 International Business Machines Corporation Creating a web store using manufacturing data

Also Published As

Publication number Publication date
AU2545201A (en) 2001-08-07

Similar Documents

Publication Publication Date Title
US7425950B2 (en) Web 3D image display system
Rusinkiewicz et al. Streaming QSplat: A viewer for networked visualization of large, dense models
US6684255B1 (en) Methods and apparatus for transmission and rendering of complex 3D models over networks using mixed representations
Schmalstieg et al. Demand‐Driven Geometry Transmission for Distributed Virtual Environments
EP0805418B1 (en) Computer graphics animation
US6323879B1 (en) Method and system for determining the spacing of objects
US20040249617A1 (en) Selective, pregressive transmission of 3D geometry models with the pre-ordered hierarchical meshes
US6331853B1 (en) Display control apparatus display control method and presentation medium
WO2008040123A1 (en) Method and system for delivering and interactively displaying three-dimensional graphics
US20010016806A1 (en) Apparatus and method for interacting with a simulated 3D interface to an operating system operative to control computer resources
US20100033480A1 (en) Method for Interactively Viewing Full-Surround Image Data and Apparatus Therefor
JP4944089B2 (en) Method of transmitting content visualization data between server and at least one client terminal corresponding to terminal and computer program
CN113610981A (en) Face model generation method, interaction method and related device
US20120256914A1 (en) Consulting digital models from lightweight terminals
Warrick et al. A VRML-based anatomical visualization tool for medical education
To et al. An adaptive multiresolution method for progressive model transmission
WO2001055973A1 (en) System and method for transmitting and reproducing two-dimensional and three-dimensional graphical images
WO2001016683A1 (en) Using the placement of visual urls to communicate and assess their relationship to each other
WO2001055972A1 (en) Method for constructing two-dimensional graphical objects
Alexandre 3D visualization of multimedia content on the World Wide Web
Gobbetti et al. i3D: An interactive system for exploring annotated 3D environments
CN117974394B (en) Digital intelligent service system of cleaning of cemetery based on virtual reality
Green An Adaptive Multiresolution Method for Progressive Model Transmission
Turner et al. Metis–An Object‐Oriented Toolkit for Constructing Virtual Reality Applications
US20230368481A1 (en) On-Demand 3D Image Viewer

Legal Events

Date Code Title Description
AK Designated states

Kind code of ref document: A1

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

AL Designated countries for regional patents

Kind code of ref document: A1

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

121 Ep: the epo has been informed by wipo that ep was designated in this application
REG Reference to national code

Ref country code: DE

Ref legal event code: 8642

32PN Ep: public notification in the ep bulletin as address of the adressee cannot be established

Free format text: NOTING OF LOSS OF RIGHTS PURSUANT TO RULE 69(1) EPC

122 Ep: pct application non-entry in european phase
NENP Non-entry into the national phase

Ref country code: JP