The present invention relates virtual and augmented reality systems, and in particular, to a method and apparatus for creating virtual graffiti in 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 simply 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 coordinate location. For example, in U.S. Pat. No. 6,681,107B2, SYSTEM AND METHOD OF ACCESSING AND RECORDING MESSAGES AT COORDINATE WAY POINTS, the author proposes that a subscriber can merely push a button at a specific location causing the Device to save the physical location. Then he can push a “record message” button which allows him to speak a message into his device. This message could be directions to the subscriber's house from the specific location or any other personal message. The message is then uploaded to the network where it will become available to other network subscribers. The person creating the message can designate whether the message is available to all subscribers, only the persons stored in the memory of the Subscriber's Device, a subset of the persons stored in memory, or even a single person.
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. With this in mind, U.S. patent application Ser. No. 11/844,538, MOBILE VIRTUAL AND AUGMENTED REALITY SYSTEM, by Buhrke et al. proposes a system that leaves virtual graffiti for individuals. 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.
While the system of Buhrke does enhance a user's experience, a need exists for a method and apparatus for easily creating the virtual graffiti that will be left for a particular device to view.
Skilled artisans will appreciate that elements in the figures are illustrated for simplicity and clarity and have not necessarily been drawn to scale. For example, the dimensions and/or relative positioning of some of the elements in the figures may be exaggerated relative to other elements to help to improve understanding of various embodiments of the present invention. Also, common but well-understood elements that are useful or necessary in a commercially feasible embodiment are often not depicted in order to facilitate a less obstructed view of these various embodiments of the present invention. It will further be appreciated that certain actions and/or steps may be described or depicted in a particular order of occurrence while those skilled in the art will understand that such specificity with respect to sequence is not actually required. Those skilled in the art will further recognize that references to specific implementation embodiments such as “circuitry” may equally be accomplished via replacement with software instruction executions either on general purpose computing apparatus (e.g., CPU) or specialized processing apparatus (e.g., DSP). It will also be understood that the terms and expressions used herein have the ordinary technical meaning as is accorded to such terms and expressions by persons skilled in the technical field as set forth above except where different specific meanings have otherwise been set forth herein.
In order to address the above-mentioned need, a method and apparatus is provided for easily creating virtual graffiti that will be left for a particular device to view. During operation a device will be placed near a first point that is used to define a boundary for the virtual graffiti. The device will locate the first point, and use the point to define the boundary. The device will receive an image that is to be used as virtual graffiti, and will fit the image within the boundary of the virtual graffiti. For example, the device may be consecutively placed near four points that will define a polygon to be used as the boundary for the virtual graffiti. An image will then be received, and the image will be fit within the polygon.
The above-described method for creating virtual graffiti can be used to easily create virtual graffiti of various sizes and shapes. For example, a user may wish to place a virtual bull's eye around a large area so that it can be easily seen from passing airplanes. With the above technique, the user can simply walk to the edges of the desired boundary and instruct the device to use the locations as a boundary of the virtual graffiti.
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, he will receive an indication that virtual graffiti is available for him 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 a device to create virtual graffiti, the method comprises the steps of being placing near a first point, determining a location of the first point, using the location of the first point to define a boundary for the virtual graffiti, receiving an image to be used as the virtual graffiti, and providing the image and information on the boundary to a server. The server then provides the virtual graffiti to a user when that user is near a location of the virtual graffiti.
The present invention additionally encompasses a method for a device to create virtual graffiti. The method comprises the steps of being placing near a first point, determining a location of the first point, being placed near a second point, and determining a location of the second point. A boundary for the virtual graffiti is determined by using at least the location of the first point and the location of the second point as vertices for the boundary for the virtual graffiti. An image is then received to be used as virtual graffiti and the virtual graffiti is created by fitting the image within the boundary of the virtual graffiti.
The present invention additionally encompasses an apparatus comprising location circuitry, logic circuitry accessing the location circuitry to determine a location of a point used to define a boundary for virtual graffiti, the logic circuitry then receiving an image to be used as virtual graffiti, and a transmitter providing the image and information on the boundary to a server, wherein the server provides the virtual graffiti to a user when that user is near a location of the virtual graffiti.
The present invention additionally encompasses an apparatus comprising location circuitry being placing near a first point and a second point and determining a location of the first point and a location of the second point. The apparatus additionally comprising logic circuitry receiving an image to be used as virtual graffiti and determining a boundary for the virtual graffiti by using at least the location of the first point and the location of the second point as vertices for the boundary for the virtual graffiti, the logic circuitry creating the virtual graffiti by fitting the image within the boundary for the virtual graffiti.
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, virtual 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 device must be capable of identifying the object's location, and then displaying the virtual graffiti at the object's location.
Given a virtual scene containing virtual graffiti (at the specified virtual coordinates) and a viewpoint, a 3-dimensional rendering system such as the Java Mobile 3D Graphics, or M3G, API 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 the 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, when a user views virtual graffiti, the 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 user. These messages are then downloaded by the user 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 (i.e., 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, he will see the message from his location (and, therefore, his viewpoint). If he is looking toward the eastward-facing side of the message, he 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, he will have to move his device (and thus his viewpoint) so that it is facing the southern side of the stein.
Although only one personal object manager 305 is shown in
Once logic circuitry 405 receives the virtual graffiti from user interface 417, logic circuitry 405 accesses location circuitry 409 and determines a location where the virtual graffiti was created. Logic circuitry 405 also receives a list of users with privileges to view the virtual 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 also associated with a physical object. When this is the case, logic circuitry 405 will also receive information required to attach the virtual graffiti to an object. In another embodiment logic circuitry 405 receives a location of a boundary for the virtual graffiti and the image that is to be displayed within the boundary. 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 virtual graffiti, and if relevant, the information needed to attach the virtual 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 location 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 virtual 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 virtual 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, a need exists for a method and apparatus for easily creating the virtual graffiti that will be left for a particular device to view. With this in mind, during the creation of virtual graffiti, device 105 will be placed near a first point that is used to define a boundary for the virtual graffiti. The device will locate the first point, and use the point to define the boundary. The device will receive an image that is to be used as virtual graffiti, and will fit the image within the boundary of the virtual graffiti. For example, the device may be consecutively placed near multiple points that will define a polygon to be used as the boundary for the virtual graffiti. An image will then be received, and the image will be fit within the polygon. This process is illustrated in
As shown in
Logic circuitry 405 additionally receives image 702 that will be used to create the virtual graffiti. Image 702 may be a hand-drawn image received from user interface 417, or alternatively may comprise a stored image from memory 407. Finally, as shown in
In an alternate embodiment, server 101 may create the virtual graffiti instead of device 105. In this scenario, boundary 701 and image 702 will be provided to server 101. Server 101 will create virtual graffiti 801, or may simply provide image 702 and boundary 701 to devices that are capable of viewing virtual graffiti 801. These devices will then create virtual graffiti 801 for viewing.
It should be noted that the above example was given with regards to device 105 creating vertices for defining a boundary for virtual graffiti. However, such a technique for creating virtual graffiti may not need device 105 to be placed over a vertex in order to identify boundary 701. For example, a predefined polygonal boundary of arbitrary size can be centered on the device's current location and oriented horizontally (parallel to the ground) or vertically (perpendicular to the group) as well as rotated by a specified amount (e.g., 10 degrees from due north). Another possibility is to define a subset of vertices by direct capture of coordinates from the device and to then enter a relative offset for the remaining coordinates. For example, the user could select a rectangular region of a wall of a building by capturing the lower two vertices of the rectangle with the device and then specifying an offset of 100 feet in the vertical direction above each coordinate.
Continuing, at step 907 an image to be used in the creation of virtual graffiti is received by logic circuitry 409. As discussed above, the image may be received from database 407, or may be received from user input (interface) 417. The logic flow then continues to optional step 909. (Step 909 is executed whenever the virtual graffiti is to be created within device 105). At optional step 909 logic circuitry 409 creates the virtual graffiti by fitting the image within the boundary of the virtual graffiti.
Continuing, at step 911 logic circuitry 405 accesses location circuitry 409 to determine a location of the virtual graffiti and then receives a list of devices that may view the virtual graffiti (step 913). From this point in the logic flow, one of two paths may be taken. When the virtual graffiti is created by device 105, the logic flow continues to step 915 where the virtual graffiti, its location, and the list are provided to server 101, where the server provides the virtual graffiti to a user on the list when that user is near the location. This is accomplished by logic circuitry 405 utilizing transmitter 411 to wirelessly transmit the information.
When server 101 is creating the virtual graffiti, the logic flow continues to step 917 where the image, the information on the boundary, the location of the virtual graffiti, and the list are provided to a server 101, where the server creates the virtual graffiti and provides the virtual graffiti to a user when that user is near a location of the virtual graffiti.
It should be noted that while the above description was given with regards to using a two-dimensional image in creating virtual graffiti, in alternate embodiments, a 3 dimensional virtual object may be utilized in the creation of the virtual 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, it is envisioned that a user who receives virtual graffiti may be able to modify the virtual graffiti and then store the modified virtual graffiti on server 101. Multiple users may store multiple versions of the modified virtual graffiti on server 101. Users are allowed to modify any version of the virtual graffiti, no matter whether it is the original version, any intermediate versions, or the latest version. Therefore, a hierarchical relationship among all versions of the virtual graffiti can be established, which can be represented as a tree, with each node representing one version of the virtual graffiti and all its children representing the versions that are directly extended from the current version. Each version of the virtual graffiti is given a unique version number, may contain different attributes (such as locations), and may be available to different lists of users. Users can view multiple versions of the virtual graffiti at the same time and have the freedom to choose any versions for further modification. Once the modification is performed by the user, a new version of the virtual graffiti is created and sent to the server along with its location and a list of users having the privilege to view the virtual graffiti. The new version is then stored on the server and is available to other users of the system.
With the above in mind, a first user can create virtual graffiti to be stored on server 101. Server 101 may, at a later time receive the virtual graffiti from a second device along with a location of the modified virtual graffiti, wherein the modified virtual graffiti is an updated version of the virtual graffiti. Similarly, a first user may receive virtual graffiti as described above and then modify the virtual graffiti, sending the modified virtual graffiti back to server 101.
Number | Name | Date | Kind |
---|---|---|---|
5799098 | Ort et al. | Aug 1998 | A |
6222939 | Wiskott et al. | Apr 2001 | B1 |
6304898 | Shiigi | Oct 2001 | B1 |
6317127 | Daily et al. | Nov 2001 | B1 |
6377793 | Jenkins | Apr 2002 | B1 |
6625456 | Busso et al. | Sep 2003 | B1 |
6681107 | Jenkins et al. | Jan 2004 | B2 |
6879835 | Greene et al. | Apr 2005 | B2 |
6917107 | Akram | Jul 2005 | B2 |
6917370 | Benton | Jul 2005 | B2 |
7003308 | Fuoss et al. | Feb 2006 | B1 |
7027622 | Pengwu | Apr 2006 | B2 |
7042421 | Hobgood et al. | May 2006 | B2 |
7050078 | Dempski | May 2006 | B2 |
7065253 | Acharya et al. | Jun 2006 | B2 |
7113618 | Junkins et al. | Sep 2006 | B2 |
7224991 | Fuoss et al. | May 2007 | B1 |
7395507 | Robarts et al. | Jul 2008 | B2 |
7844229 | Gyorfi et al. | Nov 2010 | B2 |
7853296 | Yu et al. | Dec 2010 | B2 |
8019167 | Dvir et al. | Sep 2011 | B2 |
20020102996 | Jenkins | Aug 2002 | A1 |
20020144007 | Shteyn | Oct 2002 | A1 |
20020163518 | Rising et al. | Nov 2002 | A1 |
20020177435 | Jenkins et al. | Nov 2002 | A1 |
20030104820 | Greene et al. | Jun 2003 | A1 |
20030108247 | Acharya et al. | Jun 2003 | A1 |
20030190060 | Pengwu | Oct 2003 | A1 |
20040137882 | Forsyth | Jul 2004 | A1 |
20040203903 | Wilson et al. | Oct 2004 | A1 |
20040214550 | Jenkins | Oct 2004 | A1 |
20050099400 | Lee | May 2005 | A1 |
20050131776 | Perotti et al. | Jun 2005 | A1 |
20050147292 | Huang et al. | Jul 2005 | A1 |
20050289590 | Cheok et al. | Dec 2005 | A1 |
20060085419 | Rosen | Apr 2006 | A1 |
20060103665 | Opala et al. | May 2006 | A1 |
20060179127 | Randall | Aug 2006 | A1 |
20060241859 | Kimchi et al. | Oct 2006 | A1 |
20060277474 | Robarts et al. | Dec 2006 | A1 |
20070024527 | Heikkinen et al. | Feb 2007 | A1 |
20070032244 | Counts et al. | Feb 2007 | A1 |
20070043828 | Famolari et al. | Feb 2007 | A1 |
20070044010 | Sull et al. | Feb 2007 | A1 |
20070153731 | Fine | Jul 2007 | A1 |
20080079751 | Arrascuori | Apr 2008 | A1 |
20080122871 | Guday | May 2008 | A1 |
20080154697 | Guday et al. | Jun 2008 | A1 |
20080159639 | Dvir et al. | Jul 2008 | A1 |
20080215994 | Harrison et al. | Sep 2008 | A1 |
20080225779 | Bragiel et al. | Sep 2008 | A1 |
20090054084 | Buhrke et al. | Feb 2009 | A1 |
20090081959 | Gyorfi et al. | Mar 2009 | A1 |
20090111434 | Yu et al. | Apr 2009 | A1 |
20090237328 | Gyorfi et al. | Sep 2009 | A1 |
20090327240 | Meehan et al. | Dec 2009 | A1 |
20100066750 | Yu et al. | Mar 2010 | A1 |
20100194782 | Gyorfi et al. | Aug 2010 | A1 |
20100214111 | Schuler et al. | Aug 2010 | A1 |
20110153776 | Opala et al. | Jun 2011 | A1 |
Number | Date | Country |
---|---|---|
2003-303356 | Oct 2003 | JP |
2006-313549 | Nov 2006 | JP |
2002-0043589 | Jun 2002 | KR |
10-2005-0055506 | Jun 2005 | KR |
10-2005-0078136 | Aug 2005 | KR |
10-2006-0057150 | May 2006 | KR |
100754745 | Aug 2007 | KR |
10-2008-0022983 | Mar 2008 | KR |
2008041101 | Apr 2008 | WO |
Number | Date | Country | |
---|---|---|---|
20100194782 A1 | Aug 2010 | US |