The present invention relates generally to messaging, and in particular, to messaging within a mobile virtual and augmented reality system.
Messaging systems have been used for years to let users send and receive messages to each other. Currently, one of the simplest ways to send a message to another individual is to send a text message to the individual's cellular phone. Recently, it has been proposed to expand the capabilities of messaging systems so that subscribers of the network may be given the option of leaving a specific message at a particular location. For example, in U.S. Pat. No. 6,681,107B2, S
In order to enhance the user's experience with the above-type of context-aware messaging system, the types of information provided to the users must go beyond simple text, images, and video. Therefore, a need exists for a method and apparatus for messaging within a context-aware messaging system that enhances the user's experience.
In order to address the above-mentioned need, a method and apparatus for messaging within a mobile virtual and augmented reality system is provided herein. During operation a user can create “virtual graffiti” that will be left for a particular device to view as part of an augmented reality scene. The virtual graffiti will be assigned to either a particular physical location or a part of an object that can be mobile. The virtual graffiti is then uploaded to a network server, along with the location and individuals who are able to view the graffiti as part of an augmented reality scene. When a device that is allowed to view the graffiti is near the location, the graffiti will be downloaded to the device and displayed as part of an augmented reality scene. To further enhance the user experience, the virtual graffiti can be dynamic, changing based on a context. For example, a user may leave a virtual graffiti message that changes with, for example, outside temperature, location, weather conditions, or any other context.
In an augmented reality system, computer generated images, or “virtual images” may be embedded in or merged with the user's view of the real-world environment to enhance the user's interactions with, or perception of the environment. In the present invention, the user's augmented reality system merges any virtual graffiti messages with the user's view of the real world.
As an example, a first user may wish to leave a message for a second user to try a particular menu item at a restaurant. The message may be virtually written on the door of the restaurant, and left for the second user to view. When the second user visits the restaurant, they will receive an indication that virtual graffiti is available for them to view. The message will then appear to the second user on the door of the restaurant when viewed with the second user's augmented reality system. In a similar manner, the user may wish to leave a message for himself.
The present invention encompasses a method for providing a device with virtual graffiti. The method comprises the steps of receiving information representing virtual graffiti from a first device along with the location of the virtual graffiti, receiving a location of a second device, and determining that a context trigger has been met. The second device is provided with the virtual graffiti when the location of the second device is near the location of the virtual graffiti and the context trigger has been met.
The present invention encompasses a method comprising the steps of wirelessly receiving from a first device, virtual graffiti, the location of the first device, and a list of devices with privileges to view the virtual graffiti, storing the virtual graffiti, the location of the first device, and the list of devices with privileges to view the virtual graffiti, periodically receiving locations from the devices with privileges to view the virtual graffiti, periodically receiving a location of the first device,
determining that a second device is near the location of the first device, wherein the second device is on the list of devices with privileges to view the virtual graffiti, determining that a context trigger has been met, and wirelessly providing the second device with the virtual graffiti when the second device is near the location of the first device and the context trigger has been met.
The present invention additionally encompasses an apparatus comprising a receiver receiving virtual graffiti from a first device along with the location of the virtual graffiti, a personal object manager receiving a location of a second device and determining that a context trigger has been met, and a transmitter providing the second device with the virtual graffiti when the location of the second device is near the location of the virtual graffiti and the context trigger has been met.
Turning now to the drawings, wherein like numerals designate like components,
During operation, a user (e.g., a user operating user device 105) determines that he wishes to send another user virtual graffiti as part of an augmented reality scene. User device 105 is then utilized to create the virtual graffiti and associate the virtual graffiti with a location. The user also provides device 105 with a list of user(s) (e.g., user 107) that will be allowed to view the virtual graffiti. Device 105 then utilizes network 103 to provide this information to virtual graffiti server 101.
Server 101 periodically monitors the locations of all devices 105-109 along with their identities, and when a particular device is near a location where it is to be provided with virtual graffiti, server 101 utilizes network 103 to provide this information to the device. When a particular device is near a location where virtual graffiti is available for viewing, the device will notify the user, for example, by beeping. The user can then use the device to view the virtual graffiti as part of an augmented reality scene. Particularly, the virtual graffiti will be embedded in or merged with the user's view of the real-world. It should be noted that in alternate embodiments, no notification is sent to the user. It would then be up to the user to find any virtual graffiti in his environment.
Although the above example was given with virtual graffiti 203 displayed on a particular object (i.e., door 201), in alternate embodiments of the present invention, virtual graffiti may be displayed not attached to any object. For example, graffiti may be displayed as floating in the air, or simply in front of a person's field of view.
As is evident, for any particular device 105-109 to be able to display virtual graffiti attached to a particular object, a node must be capable of identifying the object's location, and then displaying the graffiti at the object's location. There are several methods for accomplishing this task. In one embodiment of the present invention, this is accomplished via the technique described in US2007/0024527, M
In another embodiment of the present invention the attachment of the virtual graffiti to a physical object is accomplished by assigning the physical coordinates of the physical object (assumed to be GPS, but could be some other system) to the virtual graffiti. The physical coordinates must be converted into virtual coordinates used by the 3D rendering system that will generate the augmented reality scene (one such 3D rendering system is the Java Mobile 3D Graphics, or M3G, API specifically designed for use on mobile devices). The most expedient way to accomplish the coordinate conversion is to set the virtual x coordinate to the longitude, the virtual y coordinate to the latitude, and the virtual z coordinate to the altitude thus duplicating the physical world in the virtual world by placing the origin of the virtual coordinate system at the center of the earth so that the point (0,0,0) would correspond the point where the equator and the prime meridian cross, projected onto the center of the earth. This would also conveniently eliminate the need to perform computationally expensive transformations from physical coordinates to virtual coordinates each time a virtual graffiti message is processed.
As previously mentioned, the physical coordinate system is assumed to be GPS, but GPS may not always be available (e.g., inside buildings). In such cases, any other suitable location system can be substituted, such as, for example, a WiFi-based indoor location system. Such a system could provide a location offset (xo,yo,zo) from a fixed reference point (xr,yr,zr) whose GPS coordinates are known. Whatever coordinate system is chosen, the resultant coordinates will always be transformable into any other coordinate system.
After obtaining the virtual coordinates of the virtual graffiti, a viewpoint must be established for the 3D rendering system to be able to render the virtual scene. The viewpoint must also be specified in virtual coordinates and is completely dependent upon the physical position and orientation (i.e., viewing direction) of the device. If the viewpoint faces the virtual graffiti, the user will see the virtual graffiti from the viewpoint's perspective. If the user moves toward the virtual graffiti, the virtual graffiti will appear to increase in size. If the user turns 180 degrees in place to face away from the virtual graffiti, the virtual graffiti will no longer be visible and will not be displayed. All of these visual changes are automatically handled by the 3D rendering system based on the viewpoint.
Given a virtual scene containing virtual graffiti (at the specified virtual coordinates) and a viewpoint, the 3D rendering system can produce a view of the virtual scene unique to the user. This virtual scene must be overlaid onto a view of the real world to produce an augmented reality scene. One method to overlay the virtual scene onto a view of the real world from the mobile device's camera is to make use of an M3G background object which allows any image to be placed behind the virtual scene as its background. Using the M3G background, continuously updated frames from the camera can be placed behind the virtual scene, thus making the scene appear to be overlaid on the camera output.
Given the above information, a device's location is determined and sent to the server. The server determines what messages, if any, are in proximity to and available for the device. These messages are then downloaded by the device and processed. The processing involves transforming the physical locations of the virtual messages into virtual coordinates. The messages are then placed at those virtual coordinates. At the same time, the device's position and its orientation are used to define a viewpoint into the virtual world also in virtual coordinates. If the downloaded virtual message is visible from the given viewpoint, it is rendered on a mobile device's display on top of live video of the scene from the device's camera.
Thus, if the user wants to place a virtual message on the top of an object, the user must identify the location of the point on top of the object where the message will be left. In the simplest case, the user can place his device on the object and capture the location. He then sends this location with the virtual object and its associated content (e.g., a beer stein with the text message “try the porter” applied to the southward-facing side of the stein) to the server. The user further specifies that the message be available for a particular user. When the particular user arrives at the bar and is within range of the message, they will see the message from their location (and, therefore, their viewpoint). If they are looking toward the eastward-facing side of the message, they will see the stein, but will just be able to tell that there is some text message on the southern side. If a user wishes to read the text message, they will have to move their device (and thus his viewpoint) so that it is facing the southern side of the stein.
During operation, a user of the device creates virtual graffiti via user interface 417. In one embodiment of the present invention, user interface 417 comprises an electronic tablet capable of receiving and creating handwritten messages and/or pictures. In another embodiment, the handwritten messages, pictures, avatars, . . . etc., are created beforehand and stored in database 407. In yet another embodiment the virtual graffiti is taken directly from context-aware circuitry 409.
Once logic circuitry 405 receives the virtual graffiti from user interface 417 or database 407, logic circuitry 405 accesses context-aware circuitry 409 and determines a location where the graffiti was created (for stationary graffiti) or the device to which the virtual graffiti will be attached (for mobile graffiti). Logic circuitry 405 also receives a list of users with privileges to view the graffiti. This list is also provided to logic circuitry 405 through user interface 417.
In one embodiment of the present invention the virtual graffiti is associated with a physical object. When this is the case, logic circuitry 405 will also receive information required to attach the graffiti to an object. Finally, the virtual graffiti is provided to virtual graffiti server 101 by logic circuitry 405 instructing transmitter 411 to transmit the virtual graffiti, the location, the list of users able to view the graffiti, and if relevant, the information needed to attach the graffiti to an object. As discussed above, server 101 periodically monitors the locations of all devices 105-109 along with their identities, and when a particular device is near a location where it is to be provided with virtual graffiti, server 101 utilizes network 103 to provide this information to the device.
When a particular device is near a location where virtual graffiti is available for viewing, the device will notify the user, for example, by instructing user interface 417 to beep. The user can then use the device to view the virtual graffiti as part of an augmented reality scene. Thus, when the device of
Logic circuitry 405 periodically accesses context-aware circuitry 409 to get updates to its location and provides these updates to server 101. When logic circuitry 405 determines that the virtual graffiti should be displayed, it will notify the user of the fact. The user can then use augmented reality system 415 to display the graffiti. More particularly, imager 403 will image the current background and provide this to display 401. Display 401 will also receive the virtual graffiti from database 407 and provide an image of the current background with the graffiti appropriately displayed. Thus, the virtual graffiti will be embedded in or merged with the user's view of the real-world.
As discussed above, augmented reality system 415 may use vision recognition to attempt to match the originally created virtual graffiti to the user's current environment. When display 401 determines that the user's surroundings match the image of the graffiti's surroundings, the graffiti will be appropriately displayed, for example, attached to a physical object.
As discussed above, to further enhance the user experience, the virtual graffiti can be dynamic, changing based on a context. For example, a user may leave a virtual graffiti message that changes when a context trigger has been met. The context trigger may comprise one or more sensors exceeding a threshold, fusion and processing of one or more sensors where the context is extracted for the trigger (e.g. activity can be extracted from fusing/processing data from multiple accelerometer sensors, where the activity extracted is the trigger). Such triggers may comprise, for example, environmental conditions (temperature, amount of sunlight, etc.), biometric information (heart rate, hydration, etc.), motion sensors (accelerometers, gyroscopes, etc.), temporal conditions (time, interval, etc.), other applications (e.g. web server servlet, calendar at mobile device, etc.). Some examples of dynamic virtual graffiti are:
In order to supply dynamic virtual graffiti to a user, the creator of the graffiti will have to supply global object manager 301 the contextual “trigger” for the graffiti along with a location for the graffiti and a list of devices that are allowed to display the graffiti. In addition to periodically providing their locations to server 101, users of the system may need to provide other contextual information as well. For example, the current temperature may need to be provided, or certain biometric information may need to be provided.
As discussed above, server 101 periodically monitors the locations of all devices 105-109 along with their identities. When dynamic virtual graffiti is being provided to users, contextual information beyond simple location may also need to be periodically monitored. When a particular device is near a location where it is to be provided with virtual graffiti and when a context trigger is met, server 101 utilizes network 103 to provide graffiti to the device.
Two use cases are envisioned:
It should be noted that the information received at step 501 may be updates to existing information. For example, when the virtual graffiti is “mobile”, global object manager 301 may receive periodic updates to the location of the graffiti. Also, when the virtual graffiti is changing (e.g., a heart rate) global object manager 301 may receive periodic updates to the graffiti.
Continuing with the logic flow of
It should be noted that when the virtual graffiti is dynamic, a situation may change so that the graffiti may no longer be available for viewing. For example, an advertisement being displayed if the temperature is above a predetermined level, may no longer be displayed when the temperature drops below the level. In another example, an inspirational quotation viewable only during work hours may become unavailable after working hours. Thus, a user may have already received graffiti to display (temp was above the level, time was within work hours, . . . , etc.), yet should no longer be able to display the graffiti since the condition is no longer met (temp below the level, time not within work hours, . . . , etc.). With this in mind, if it is determined that a context trigger has not been met at step 509, the logic flow continues to step 513 where a message is transmitted to the device instructing the device to remove the graffiti if it was previously sent. The logic flow then returns to step 501.
This information is passed to logic circuitry 405 (step 603). At step 605, logic circuitry 405 accesses context-aware circuitry 409 and retrieves a current location for the virtual graffiti. The logic flow continues to step 607 where logic circuitry 405 instructs transmitter 411 to transmit the location, a digital representation (e.g., a .jpeg or .gif image) of the graffiti, the list of users with privileges to view the graffiti, and the context trigger to server 101. It should be noted that in the 3D virtual object case, the digital representation could include URLs to 3D models and content (e.g., photos, music files, etc.). If the virtual graffiti is changing in appearance, the logic flow may continue to optional step 609 where logic circuitry 405 periodically updates the graffiti.
While the invention has been particularly shown and described with reference to particular embodiments, it will be understood by those skilled in the art that various changes in form and details may be made therein without departing from the spirit and scope of the invention. For example, multiple triggers from multiple categories (biometric, environmental, . . . , etc.) can be detected simultaneously where methods of data fusion are required. Graffiti can be displayed based on single or multiple context triggers being met. It is intended that such changes come within the scope of the following claims.
This application is related to application Ser. No. 11/844,538, entitled MOBILE VIRTUAL AND AUGMENTED REALITY SYSTEM, filed Aug. 24, 2007, application Ser. No. 11/858,997, entitled MOBILE VIRTUAL AND AUGMENTED REALITY SYSTEM, filed Sep. 21, 2007, and to application Ser. No. 11/930,974 entitled MOBILE VIRTUAL AND AUGMENTED REALITY SYSTEM, filed Oct. 31, 2007.