Embodiments of the present disclosure are related to the field of augmented reality, and in particular, to dynamic augmentation of a physical scene.
The background description provided herein is for the purpose of generally presenting the context of the disclosure. Unless otherwise indicated herein, the materials described in this section are not prior art to the claims in this application and are not admitted to be prior art by inclusion in this section.
Throughout a person's lifetime, the person may relate to both a physical world in which the person lives and a virtual world in which the person may play, learn, work, etc. Augmented reality and mixed reality applications create environments that may blur the limits between virtual and real worlds. Under the current state of the art, however, augmented reality is limited to static physical depictions where, once a physical environment has been augmented, changes in the physical environment are not reflected in the augmentation.
Methods, storage media, and computing device for dynamic augmentation of a physical scene are described herein. In embodiments, a computing device may include a dynamic augmentation module. The dynamic augmentation module may be communicatively coupled with a camera oriented to capture one or more images of a physical scene. The dynamic augmentation module may, in some embodiments, include one or more modules configured to generate a rendering of the physical scene from the one or more images and to detect a manipulation of the physical scene. In some embodiments, detection of manipulation may be based on previously gathered information or previously analyzed images of the physical scene. In response to detecting manipulation of the physical scene, the dynamic augmentation module may dynamically modify the rendering of the physical scene, in real-time, through application of one or more virtual articles to the rendering of the physical scene or alteration of one or more virtual articles added to the rendering of the physical scene, based on the manipulation. For example, a physical object such as a model boat may be added to a physical scene. In response, the dynamic augmentation module may augment a rendering of the physical scene, for example, by applying one or more virtual artifacts such as a virtual skier attached to the model boat. A user may manipulate the physical scene by causing the model boat to physically move. In response to the manipulation, the dynamic augmentation module may cause the virtual skier to move, in real-time, in response to the physical movement of the model boat.
In the following detailed description, reference is made to the accompanying drawings which form a part hereof wherein like numerals designate like parts throughout, and in which is shown, by way of illustration, embodiments that may be practiced. It is to be understood that other embodiments may be utilized and structural or logical changes may be made without departing from the scope of the present disclosure. Therefore, the following detailed description is not to be taken in a limiting sense, and the scope of embodiments is defined by the appended claims and their equivalents.
Various operations may be described as multiple discrete actions or operations in turn, in a manner that is most helpful in understanding the claimed subject matter. However, the order of description should not be construed as to imply that these operations are necessarily order dependent. In particular, these operations may not be performed in the order of presentation. Operations described may be performed in a different order than the described embodiment. Various additional operations may be performed and/or described operations may be omitted in additional embodiments.
For the purposes of the present disclosure, the phrase “A and/or B” means (A), (B), or (A and B). For the purposes of the present disclosure, the phrase “A, B, and/or C” means (A), (B), (C), (A and B), (A and C), (B and C), or (A, B and C). The description may use the phrases “in an embodiment,” or “in embodiments,” which may each refer to one or more of the same or different embodiments. Furthermore, the terms “comprising,” “including,” “having,” and the like, as used with respect to embodiments of the present disclosure, are synonymous.
Camera 112 may be disposed in computing environment 102 to capture images/video of a physical scene. The physical scene may include one or more physical objects, such as model trees 114. In embodiments, these images may include both color information and depth information captured by camera 112. Computing device 104 may be configured to receive these captured images from camera 112 and provide the captured images to dynamic augmentation module 110.
Dynamic augmentation module 110 may, in some embodiments, include one or more modules configured to merge the color information and depth information included with the images to create three dimensional (3-D) renderings of the images. Dynamic augmentation module 110 may further include one or more modules configured to analyze the images and recognize predefined physical objects contained in the images. This may be accomplished through a feature extraction and comparison of the extracted features with features of predefined physical objects. In embodiments, the predefined physical objects may be contained in a database of predefined physical objects. These predefined physical objects may, in some embodiments, be defined by a third party, such as a manufacturer or supplier of the physical object. In other embodiments, the pre-defined physical objects may be defined by a user of the computing device.
In some embodiments, dynamic augmentation module 110 may include one or more modules configured to enable a user of computing device 104 to define new physical objects. This may be accomplished by capturing one or more images of the physical object via camera 112. Dynamic augmentation module 110 may include one or more modules configured to extract features associated with the physical object from the one or more images and generate feature data sufficient to identify the physical object in an image of a physical scene. These features may then be stored in a physical object repository to be utilized for identifying the physical object in future physical scenes. In addition, dynamic augmentation module 110 may include one or more modules configured to allow a user to define augmentations, or virtual articles, such as those described herein, to be applied to the physical object.
Once a physical object is recognized, dynamic augmentation module 110 may be configured to augment (through one or more of its modules) the 3-D rendering of the physical object with one or more virtual articles for output on display 106. For example, model trees 114 may be augmented with the addition of one or more virtual birds, squirrels, nuts, fruit, etc., not depicted. In some embodiments, the virtual articles may cause a change to the structure of the physical object depicted on display 106. For instance, if one of the virtual articles were a bird, such as a woodpecker, then one of the virtual articles may be a hole, not depicted, created by the woodpecker in a trunk of the tree depicted on display 106.
Dynamic augmentation module 110 may further include one or more modules configured to dynamically track the location of the physical objects to determine movement of the physical objects and cause the virtual articles to behave in accordance with the movement. This may be considered a type of context based augmentation, where the context may be based on the movement of the physical objects. For instance, if a user were to physically move or rotate one of model trees 114 dynamic augmentation module 110 (through one or more of its modules) may track this movement and adjust the one or more virtual articles rendered on display 106 according to the tracked physical movement. For example, if the rendering of model trees 114 were augmented with virtual articles, such as virtual nuts, and a user physically rotated one of the model trees 114 in the physical scene, dynamic augmentation module 110 (through one or more of its modules) may cause the virtual nuts to rotate in the rendering of the physical scene on display 106, in reference to the rotation of the model tree.
In some embodiments, dynamic augmentation module 110 may include one or more modules configured to aid a user of computing device 104 in the completion of a task, such as assembly of a puzzle, block construction, or other such task. In such embodiments, the predefined physical objects may be portions, or subtasks, of the task, such as individual or partially assembled blocks. In such an embodiment, dynamic augmentation module 110 may be configured to recognize and augment (through one or more of its modules) the subtasks of the task to aid the user in completing the task. This may be considered another type of context based augmentation where the individual subtasks are predefined physical objects that, when recognized by dynamic augmentation module 110, may be augmented based on a context associated with one or more other predefined physical objects of the scene that make up one or more of the other subtasks. This task/subtask context is discussed further in reference to
Dynamic augmentation module 110 may include one or more modules configured to not only augment the rendering of the physical objects with virtual articles, but may also diminish the rendering of the physical objects. For example, dynamic augmentation module 110 may include one or more modules configured, in some embodiments, to depict/render model trees 114 as being on fire, as depicted below in
In embodiments, dynamic augmentation module 110 may include one or more modules configured to allow a user to interact with the virtual articles through interaction with the depiction on display 106 via one or more input components of computing device 104. For example, the user may be able to change the color or type of tree rendered on display 106 by adjusting one or more settings associated with the model trees 114.
In some embodiments, dynamic augmentation module 110 may include one or more modules configured to enable the user to interact with the depiction on display 106 through physical interaction with the physical objects of the physical scene. For example, as depicted in box 116, the user has added a model house 118 to the physical scene. Dynamic augmentation module 110 has dynamically integrated (through one or more of its modules) a rendering of model house 118 into the depiction of the physical scene on display 106. In addition, dynamic augmentation module 110 may include one or more modules configured to recognize the physical object as a house and may augment the rendering of model house 118 on display 106 with a virtual article, such as, virtual smoke 120 emanating from a chimney of the house. In some embodiments, dynamic augmentation module 110 may be further configured to enable a user to interact with one or more of the virtual articles through physical manipulation of the physical scene. For example, if a user were to physically swipe the user's hand over the chimney of the model house 118, dynamic augmentation module 110 may include one or more modules configured to depict the user's hand interacting with and displacing the virtual smoke 120 depicted on display 106.
It will be appreciated that the above examples are meant for purposes of illustration and should not be viewed as limiting of this disclosure. Furthermore, while computing device 104 is depicted herein as a laptop computer, it will be appreciated that this is also merely for illustrative purposes. Computing device 104 may take the form of any type of portable or stationary computing device, such as, but not limited to, a smart phone, tablet, laptop, desktop, kiosk, or wearable computing devices such as, for example, Google Glass. Any computing device capable of carrying out the processes described herein is contemplated by this disclosure.
In embodiments, the user may be able to interact with the physical scene 602 and have those interactions reflected in real time in the rendering of the physical scene on monitor 600. For example, the user may physically pick up and move bridge 604 in physical scene 602. The movement of bridge 604 may be reflected in the rendering of bridge 604 and augmentations applied thereto, by the dynamic augmentation module. For example, virtual character 610 may sway or lose his balance based on the movement. In addition, the movement of bridge 604 in the physical scene 602 may be reflected in virtual articles rendered on display 600 that may be in the path of the rendering of bridge 604. For example, if bridge 604 is moved such that the rendering of bridge 604 moves towards virtual animal 620, the dynamic augmentation module may be configured to cause virtual animal 620 may move out of the way.
In block 706 a surface segmentation module associated with the dynamic augmentation module, such as surface segmentation module 918 of
In block 709, a scene augmentation module associated with the dynamic augmentation module, such as scene augmentation module 922, may augment the rendering of the physical scene. Scene augmentation module 922 may perform an object recognition and tracking process to detect manipulations of the physical scene, block 710. An example object recognition and tracking process is described in greater detail in reference to
In some embodiments, the application and/or alteration of the one or more virtual artifacts may be based upon one or more predefined physical objects identified through the object recognition process performed in block 710 or a context associated with a predefined physical objects. In some embodiments, the context associated with a predefined physical object may be based on a previous location of the predefined physical object. For example, the previous location of the predefined physical object may indicate movement of the predefined physical object with respect to the physical scene. In such an example, the alteration of one or more virtual articles may be based on the indicated movement. In other embodiments, the context may be based on another predefined physical object identified within the rendering of the physical scene. An example of this context is demonstrated in both
In block 714 colliders for the 3-D mesh may be calculated by the scene augmentation module to enable the virtual artifacts to walk or move and surfaces of the virtual artifacts to collide with surfaces of physical objects of the rendering of the physical scene. In block 716 an occlusion mesh and shader may be calculated by the scene augmentation module to accurately represent occlusion of physical objects of the rendering of the physical scene by virtual artifacts of the augmentation. In some embodiments, augmentation of the rendering of the physical scene by the scene augmentation module may include diminished reality of the physical scene, such as the diminished reality discussed above in reference to
In block 806 morphological operations may be carried out by scene augmentation module to clean and filter noise generated by any preceding operations, such as operations 704-708 described above in reference to
Each of these elements may perform its conventional functions known in the art. In particular, storage 908 may be employed to store a working copy and a permanent copy of the programming instructions implementing the operations associated with carrying out the processes or procedures described above in reference to
For software implementations, the permanent copy of the programming instructions of dynamic augmentation module 110 may be placed into storage 908 in the factory, or in the field, through, for example, a distribution medium, such as a compact disc (CD), or through a remote computing device via NIC 906. That is, one or more distribution media having an implementation of the instructions for carrying out the processes or procedures described above in reference to
The number, capability and/or capacity of these elements 902-912 may vary, depending upon the requirements. Their constitutions are otherwise known, and accordingly will not be further described. While depicted herein as a physical computer implementation, this disclosure should not be so limited and, it will be appreciated that, the computer implementation may be a virtual computer implementation as well.
Embodiments of the disclosure can take the form of an entirely hardware embodiment, an entirely software embodiment or an embodiment containing both hardware and software elements. In various embodiments, software, may include, but is not limited to, firmware, resident software, microcode, and the like. Furthermore, the disclosure can take the form of a computer program product accessible from a computer-usable or computer-readable medium providing program code for use by or in connection with a computer or any instruction execution system. As used herein, module may refer to a software module, a hardware module, or any number or combination thereof.
As used herein, the term module includes logic that may be implemented in a hardware component or device, software or firmware that may be run or running on a processor, or a combination of processors. The modules may be distinct and independent components integrated by sharing or passing data, or the modules may be subcomponents of a single module, or be split among several modules. The components may be processes running on, or implemented on, a single compute node or distributed among a plurality of compute nodes running in parallel, concurrently, sequentially or a combination, as described more fully in conjunction with the flow diagrams in the figures.
For the purposes of this description, a computer-usable or computer-readable medium can be any apparatus that can contain, store, communicate, propagate, or transport the program for use by or in connection with the instruction execution system, apparatus, or device. The medium can be an electronic, magnetic, optical, electromagnetic, infrared, or semiconductor system (or apparatus or device) or a propagation medium. Examples of a computer-readable medium include a semiconductor or solid state memory, magnetic tape, a removable computer diskette, a random access memory (RAM), a read-only memory (ROM), a rigid magnetic disk and an optical disk. Current examples of optical disks include compact disk-read only memory (CD-ROM), compact disk-read/write (CD-R/W) and DVD.
Thus, a novel approach based on a combination of 3-D, depth, and/or color (RGB) based real time 3-D physical objection recognition to augment physical scene has been described. Its usage may include, but is not limited to a physical scene with real time physical objects that a user owns or builds, and observes real time relevant augmentation on the scene. The usage may motivate, e.g., goal driven learning, once a physical (such as, construction) goal has been achieved and recognized, relevant digital augmentation kicks off and motivates the user to work harder to get to this stage and observe the surprising magical augmentation.
Some non-limiting examples are:
Example 1 is one or more computer-readable storage media having instructions for dynamically modifying a rendering of a physical scene stored thereon which, when executed by a computing device, provide the computing device with a dynamic augmentation module to receive a manipulation of a physical scene, and in response to the receipt, dynamically modify a rendering of the physical scene, through real-time application of one or more virtual articles to the rendering of the physical scene or alteration of one or more virtual articles added to the rendering of the physical scene.
Example 2 may include the subject matter of Example 1, wherein the one or more virtual articles augment or diminish at least a portion of the rendering of the physical scene.
Example 3 may include the subject matter of Example 1, wherein the manipulation of the physical scene comprises addition of a predefined physical object, and wherein to dynamically modify the rendering of the physical scene comprises application of one or more virtual articles to the rendering of the physical scene based upon the predefined physical object.
Example 4 may include the subject matter of any one of Examples 1-3, wherein to dynamically modify the rendering of the physical scene the dynamic augmentation module is further to: receive color information and depth information associated with the physical scene; generate a three dimensional (3-D) rendering of the physical scene from the color and depth information; identify a predefined physical object within the 3-D rendering of the physical scene; and apply one or more virtual articles to the 3-D rendering of the physical scene or alter one or more virtual articles added to the 3-D rendering of the physical scene, based on the identified predefined physical object.
Example 5 may include the subject matter of Example 4, wherein the color information is contained within a color image of the physical scene and the depth information is contained within a depth image of the physical scene.
Example 6 may include the subject matter of Example 5, wherein to identify the predefined physical object, the dynamic augmentation module is further to: analyze a plurality of surfaces within the physical scene utilizing the color image and the depth image to determine components of the physical scene that have connected continuity indicative of the components being a part of a single physical object; extract features of the single physical object for comparison against known features of a plurality of predefined physical objects; and compare the extracted features with features of the plurality of predefined physical objects to identify the single physical object as one of the plurality of predefined physical objects.
Example 7 may include the subject matter of Example 5, wherein the features of the plurality of predefined physical objects are contained in a database of predefined objects.
Example 8 may include the subject matter of Example 5, wherein one or more of the plurality of predefined objects are user defined physical objects.
Example 9 may include the subject matter of Example 5, wherein one or more of the plurality of predefined objects are defined by a third party.
Example 10 may include the subject matter of Example 5, wherein the dynamic augmentation module is further to enable a user of the computing device to define new physical objects to be added to the plurality of predefined physical objects.
Example 11 may include the subject matter of Example 4, wherein to apply or alter one or more virtual articles is further based on a context associated with the predefined physical object.
Example 12 may include the subject matter of Example 11, wherein the context associated with the predefined physical object corresponds with one or more of: a previous location of the predefined physical object; another predefined physical object within the physical scene; or one or more virtual articles previously applied to the physical object or the physical scene.
Example 13 may include the subject matter of Example 12, wherein the context associated with the predefined physical object corresponds with a previous location of the predefined physical object indicating movement, with respect to the physical scene, of the predefined physical object, and wherein to dynamically modify the 3-D rendering of the physical scene is to modify one or more virtual articles based on the indicated movement.
Example 14 may include the subject matter of Example 13, wherein the context associated with the predefined physical object corresponds with another predefined physical object within the physical scene, and wherein to dynamically modify the 3-D rendering of the physical scene is to modify one or more virtual articles based on the another predefined physical object.
Example 15 may include the subject matter of Example 14, wherein the predefined physical object and the another predefined physical object are sub-tasks of a task to be completed by a user of the computing device, and wherein to dynamically modify the physical scene is to augment the physical scene to aid the user in completing the task.
Example 16 is a computing device for dynamic modification of a rendering of a physical scene comprising: a display to render a physical scene; a plane calculation module coupled with the display to generate a rendering of the physical scene; and a scene augmentation module coupled with the display to: detect a manipulation of the physical scene; and dynamically modify the rendering of the physical scene, through real-time application of one or more virtual articles to the rendering of the physical scene or alteration of one or more virtual articles added to the rendering of the physical scene, based on the manipulation.
Example 17 may include the subject matter of Example 16, wherein the one or more virtual articles augment or diminish at least a portion of the rendering of the physical scene.
Example 18 may include the subject matter of Example 16, wherein the manipulation of the physical scene comprises addition of a predefined physical object, and wherein to dynamically modify the rendering of the physical scene comprises application of one or more virtual articles to the rendering of the physical scene based upon the predefined physical object.
Example 19 may include the subject matter of any one of Examples 16-18, wherein the rendering of the physical scene is a three dimensional (3-D) rendering; and wherein to dynamically modify the rendering of the physical scene further comprises: identification of a predefined physical object within the 3-D rendering of the physical scene; and application of one or more virtual articles to the 3-D rendering of the physical scene or alter one or more virtual articles added to the 3-D rendering of the physical scene, based on the identified predefined physical object.
Example 20 may include the subject matter of Example 19, wherein the color information is contained within a color image of the physical scene and the depth information is contained within a depth image of the physical scene and wherein the computing device further comprises an image processing module, coupled with the scene augmentation module, to align the color and depth information for further processing.
Example 21 may include the subject matter of Example 20, wherein to identify the predefined physical object, the scene augmentation module is further to: analyze a plurality of surfaces within the rendering of the physical scene to determine surfaces of the rendering of the physical scene that have connected continuity indicative of the surfaces being a part of a single physical object; extract features of the single physical object for comparison against known features of a plurality of predefined physical objects; and compare the extracted features with features of the plurality of predefined physical objects to identify the single physical object as one of the plurality of predefined physical objects.
Example 22 may include the subject matter of Example 21, wherein the features of the plurality of predefined physical objects are contained in a database of predefined objects.
Example 23 may include the subject matter of Example 21, wherein one or more of the plurality of predefined objects are user defined physical objects.
Example 24 may include the subject matter of Example 21, wherein one or more of the plurality of predefined objects are defined by a third party.
Example 25 may include the subject matter of Example 21, wherein the scene augmentation module is further to enable a user of the computing device to define new physical objects to be added to the plurality of predefined physical objects.
Example 26 may include the subject matter of Example 19, wherein to apply or alter one or more virtual articles is further based on a context associated with the predefined physical object.
Example 27 may include the subject matter of Example 26, wherein the context associated with the predefined physical object corresponds with one or more of: a previous location of the predefined physical object; another predefined physical object within the physical scene; or one or more virtual articles previously applied to the physical object or the physical scene.
Example 28 may include the subject matter of Example 27, wherein the context associated with the predefined physical object corresponds with a previous location of the predefined physical object indicating movement, with respect to the physical scene, of the predefined physical object, and wherein to dynamically modify the 3-D rendering of the physical scene is to modify one or more virtual articles based on the indicated movement.
Example 29 may include the subject matter of Example 28, wherein the context associated with the predefined physical object corresponds with another predefined physical object within the physical scene, and wherein to dynamically modify the 3-D rendering of the physical scene is to modify one or more virtual articles based on the another predefined physical object.
Example 30 may include the subject matter of Example 29, wherein the predefined physical object and the another predefined physical object are sub-tasks of a task to be completed by a user of the computing device, and wherein to dynamically modify the physical scene is to augment the physical scene to aid the user in completing the task.
Example 31 is a computer implemented method for dynamically modifying a rendering of a physical scene comprising: detecting, by a computing device, a manipulation of the physical scene from one or more images of the physical scene; and dynamically modifying, by the computing device, the rendering of the physical scene, by applying one or more virtual articles to the rendering of the physical scene or altering one or more virtual articles added to the rendering of the physical scene, based on the manipulation.
Example 32 may include the subject matter of Example 31, wherein the one or more virtual articles augment or diminish at least a portion of the rendering of the physical scene.
Example 33 may include the subject matter of Example 31, wherein the manipulation of the physical scene comprises addition of a predefined physical object, and wherein dynamically modifying the rendering of the physical scene comprises applying one or more virtual articles to the rendering of the physical scene based upon the predefined physical object.
Example 34 may include the subject matter of any one of Examples 31-33, wherein dynamically modifying the rendering of the physical scene further comprises: receiving, by the computing device, color information and depth information associated with the physical scene; generating, by the computing device, a three dimensional (3-D) rendering of the physical scene from the color and depth information; identifying, by the computing device, a predefined physical object within the 3-D rendering of the physical scene; and applying, by the computing device, one or more virtual articles to the 3-D rendering of the physical scene or modifying one or more virtual articles added to the 3-D rendering of the physical scene, based on the identified predefined physical object and a context associated with the identified predefined physical object.
Example 35 may include the subject matter of Example 34, wherein receiving color information and depth information further comprises receiving a color image of the physical scene and a depth image of the physical scene.
Example 36 may include the subject matter of Example 35, wherein identifying the predefined physical object further comprises: analyzing, by the computing device, a plurality of surfaces within the physical scene utilizing the color image and the depth image to determine components of the physical scene that have connected continuity indicative of the components being a part of a single physical object; extracting, by the computing device, features of the single physical object for comparison against known features of a plurality of predefined physical objects; and comparing, by the computing device, the extracted features with features of the plurality of predefined physical objects to identify the single physical object as one of the plurality of predefined physical objects.
Example 37 may include the subject matter of Example 35, wherein the features of the plurality of predefined physical objects are contained in a database of predefined objects.
Example 38 may include the subject matter of Example 35, wherein one or more of the plurality of predefined objects are user defined physical objects.
Example 39 may include the subject matter of Example 35, wherein one or more of the plurality of predefined objects are defined by a third party.
Example 40 may include the subject matter of Example 35, further comprising defining, by the computing device, based on input from a user of the computing device, new physical objects to be added to the plurality of predefined physical objects.
Example 41 may include the subject matter of Example 34, wherein applying or modifying one or more virtual articles is further based on a context associated with the predefined physical object.
Example 42 may include the subject matter of Example 41, wherein the context associated with the predefined physical object corresponds with one or more of: a previous location of the predefined physical object in the physical scene; another predefined physical object within the physical scene; or one or more virtual articles previously applied to the physical object or the physical scene.
Example 43 may include the subject matter of Example 42, wherein the context associated with the predefined physical object corresponds with a previous location of the predefined physical object indicating movement, with respect to the physical scene, of the predefined physical object, and wherein dynamically modifying the 3-D rendering of the physical scene further comprises modifying one or more virtual articles based on the indicated movement.
Example 44 may include the subject matter of Example 43, wherein the context associated with the predefined physical object corresponds with another predefined physical object within the physical scene, and wherein dynamically modifying the 3-D rendering of the physical scene is further comprises modifying one or more virtual articles based on the another predefined physical object.
Example 45 may include the subject matter of Example 44, wherein the predefined physical object and the another predefined physical object are sub-tasks of a task to be completed by a user of the computing device, and wherein dynamically modifying the physical scene comprises augmenting the physical scene to aid the user in completing the task.
Example 46 is an apparatus for dynamically modifying a rendering of a physical scene comprising: means for detecting a manipulation of the physical scene from one or more images of the physical scene; and means for dynamically modifying the rendering of the physical scene, by applying one or more virtual articles to the rendering of the physical scene or altering one or more virtual articles added to the rendering of the physical scene, based on the manipulation.
Example 47 may include the subject matter of Example 46, wherein the one or more virtual articles augment or diminish at least a portion of the rendering of the physical scene.
Example 48 may include the subject matter of Example 46, wherein the manipulation of the physical scene comprises addition of a predefined physical object, and wherein means for dynamically modifying the rendering of the physical scene comprises means for applying one or more virtual articles to the rendering of the physical scene based upon the predefined physical object.
Example 49 may include the subject matter of any one of Examples 46-48, wherein means for dynamically modifying the rendering of the physical scene further comprises: means for receiving color information and depth information associated with the physical scene; means for generating a three dimensional (3-D) rendering of the physical scene from the color and depth information; means for identifying a predefined physical object within the 3-D rendering of the physical scene; and applying one or more virtual articles to the 3-D rendering of the physical scene or modifying one or more virtual articles added to the 3-D rendering of the physical scene, based on the identified predefined physical object and a context associated with the identified predefined physical object.
Example 50 may include the subject matter of Example 49, wherein means for receiving color information and depth information further comprises means for receiving a color image of the physical scene and a depth image of the physical scene.
Example 51 may include the subject matter of Example 50, wherein the means for identifying the predefined physical object further comprise: means for analyzing a plurality of surfaces within the physical scene utilizing the color image and the depth image to determine components of the physical scene that have connected continuity indicative of the components being a part of a single physical object; means for extracting features of the single physical object for comparison against known features of a plurality of predefined physical objects; and means for comparing the extracted features with features of the plurality of predefined physical objects to identify the single physical object as one of the plurality of predefined physical objects.
Example 52 may include the subject matter of Example 51, wherein the features of the plurality of predefined physical objects are contained in a database of predefined objects.
Example 53 may include the subject matter of Example 51, wherein one or more of the plurality of predefined objects are user defined physical objects.
Example 54 may include the subject matter of Example 51, wherein one or more of the plurality of predefined objects are defined by a third party.
Example 55 may include the subject matter of Example 51, further comprising means for defining new physical objects to be added to the plurality of predefined physical objects based on user input.
Example 56 may include the subject matter of Example 49, wherein applying or modifying one or more virtual articles is further based on a context associated with the predefined physical object.
Example 57 may include the subject matter of Example 56, wherein the context associated with the predefined physical object corresponds with one or more of: a previous location of the predefined physical object in the physical scene; another predefined physical object within the physical scene; or one or more virtual articles previously applied to the physical object or the physical scene.
Example 58 may include the subject matter of Example 57, wherein the context associated with the predefined physical object corresponds with a previous location of the predefined physical object indicating movement, with respect to the physical scene, of the predefined physical object, and wherein dynamically modifying the 3-D rendering of the physical scene further comprises modifying one or more virtual articles based on the indicated movement.
Example 59 may include the subject matter of Example 58, wherein the context associated with the predefined physical object corresponds with another predefined physical object within the physical scene, and wherein dynamically modifying the 3-D rendering of the physical scene is further comprises modifying one or more virtual articles based on the another predefined physical object.
Example 60 may include the subject matter of Example 59, wherein the predefined physical object and the another predefined physical object are sub-tasks of a task to be completed by a user of the computing device, and wherein means for dynamically modifying the physical scene comprise means for augmenting the physical scene to aid the user in completing the task.
Although specific embodiments have been illustrated and described herein, it will be appreciated by those of ordinary skill in the art that a wide variety of alternate and/or equivalent implementations may be substituted for the specific embodiments shown and described, without departing from the scope of the embodiments of the disclosure. This application is intended to cover any adaptations or variations of the embodiments discussed herein. Therefore, it is manifestly intended that the embodiments of the disclosure be limited only by the claims and the equivalents thereof.
This application claims the benefit of U.S. Provisional Application No. 61/923,589, filed Jan. 3, 2014, entitled “DYNAMIC AUGMENTATION OF PHYSICAL OBJECTS,” the entirety of which is incorporated herein by reference.
Number | Name | Date | Kind |
---|---|---|---|
7394459 | Bathiche et al. | Jul 2008 | B2 |
8705893 | Zhang | Apr 2014 | B1 |
8878846 | Francis, Jr. | Nov 2014 | B1 |
20060038833 | Mallinson et al. | Feb 2006 | A1 |
20110187746 | Suto | Aug 2011 | A1 |
20120236119 | Rhee et al. | Sep 2012 | A1 |
20120262486 | Raghoebardajal et al. | Oct 2012 | A1 |
20140024453 | Eberwein et al. | Jan 2014 | A1 |
20140028850 | Keating | Jan 2014 | A1 |
20140178029 | Raheman et al. | Jun 2014 | A1 |
20140210710 | Shin et al. | Jul 2014 | A1 |
20150062120 | Reisner-Kollmann | Mar 2015 | A1 |
20160269622 | Melnyk et al. | Sep 2016 | A1 |
Number | Date | Country |
---|---|---|
10-108083 | Nov 2011 | KR |
10-2012-0125730 | Nov 2012 | KR |
10-1250619 | Apr 2013 | KR |
10-2014-0098657 | Aug 2014 | KR |
Entry |
---|
International Search Report and Written Opinion mailed Feb. 24, 2015 for International Application No. PCT/US2014/065764, 11 pages. |
International Preliminary Report on Patentability mailed Jul. 14, 2016 for International Application No. PCT/US2014/065764; 8 pages. |
International Search Report and Written Opinion mailed Nov. 5, 2015 for International Application No. PCT/US2015/041165, 14 pages. |
International Preliminary Report on Patentability mailed Mar. 16, 2017 for International Application No. PCT/US2015/041165, 11 pages. |
Office Action dated Apr. 21, 2017 from U.S. Appl. No. 14/475,747, 15 pages. |
Number | Date | Country | |
---|---|---|---|
20150193986 A1 | Jul 2015 | US |
Number | Date | Country | |
---|---|---|---|
61923589 | Jan 2014 | US |