Embodiments of the invention are defined by the claims below, not this summary. A high-level overview of various aspects of the invention are provided here for that reason, to provide an overview of the disclosure, and to introduce a selection of concepts that are further described below in the detailed-description section below. This summary is not intended to identify key features or essential features of the claimed subject matter, nor is it intended to be used as an aid in isolation to determine the scope of the claimed subject matter. In brief and at a high level, this disclosure describes, among other things, ways to associate attributes with virtual representations of real-world objects.
In an embodiment, a real-world object is digitized to generate a virtual representation thereof. A number of characteristics of the virtual representation are identified and a measure of the exhibition of those characteristics is determined. For example, a real-world object might be red in color. Thus, the virtual representation has the characteristic of being red and a measure of the location of the red color on a color spectrum is determined.
Based on the characteristics, an attribute is identified and added to the virtual representation to instruct interactions of the virtual representation in a virtual world. Continuing the above example, the attribute might be a temperature of the virtual representation in a virtual world—the temperature being identified based on the color characteristic. And the degree of the temperature might be determined based on the measure of the color on the color spectrum. For instance, red is defined as hot and the degree of hotness from warm to “on fire” is determined based on the location of the exhibited color on a color spectrum, e.g. reds at the lower end of the spectrum indicate lower temperatures and those at the higher end of the spectrum indicate higher temperatures. Thus, a virtual representation having the characteristic “red” is given the attribute “hot” and, when presented, the virtual representation appears to be on fire.
Illustrative embodiments of the invention are described in detail below with reference to the attached drawing figures, and wherein:
The subject matter of select embodiments of the invention is described with specificity herein to meet statutory requirements. But the description itself is not intended to necessarily limit the scope of claims. Rather, the claimed subject matter might be embodied in other ways to include different steps or combinations of steps similar to the ones described in this document, in conjunction with other present or future technologies. Terms should not be interpreted as implying any particular order among or between various steps herein disclosed unless and except when the order of individual steps is explicitly described.
Embodiments of the invention describe methods, systems, and media for associating or adding attributes to a virtual representation of a real-world object. A real-world object includes any available physical object like, for example, a ball, a stuffed animal, a stick, a cup, a book, or a spoon.
A virtual representation, or virtual object, as described herein, comprises a representation of the real-world object that is generated by a computing device. The terms virtual representation and virtual object are used interchangeably herein. The virtual representation is generated by digitizing the real-world object, e.g. creating a virtual object based on one or more images of the real-world object. Digitization of the real-world object is completed in any desired manner. In an embodiment, digitization of the real-world object is completed using a method described in co-pending U.S. Patent Application No. 61/493,844, entitle “OBJECT DIGITIZATION,” filed on Jun. 6, 2011, the disclosure of which is hereby incorporated herein by reference.
The virtual object represents the real-world object in a virtual world generated by one or more computing devices. The virtual object has characteristics such as shape, color, volume, surface area, dimensions, and surface textures that are derived from the images of the real-world object. However, without embodiments of the invention, the virtual object is only recognized by a computing device as an object with an appearance defined by the characteristics. The computing device does not otherwise recognize or understand other non-visual attributes of the virtual object. For example, a virtual representation of a knife is not recognized by the computing device as being sharp—embodiments of the invention determine and add such attributes to the virtual representation.
In an embodiment, the added attributes mimic those of the real-world object such as a knife being sharp. The added attributes might also mimic those that are expected of a real-world object of a given type. For example, a toy knife is likely not sharp in the real-world however, the virtual representation may be given sharpness as an added attribute. The attributes may also add arbitrary properties to the virtual representation that are not present in the real-world object. For instance, a virtual object that has a red color may be associated with the attribute “hot” or a virtual object that has smooth edges might be associated with the attribute “wet” while the real-world counterpart objects are neither hot nor wet. Determining attributes to add to a virtual representation is described in greater detail below.
In an embodiment of the invention, a method for associating attributes with a virtual object is described. A real-world object is digitized to generate a virtual representation of the real-world object in a virtual space. The virtual representation depicts a plurality of characteristics of the real-world object. A first characteristic exhibited by the virtual representation is detected. The characteristic is mapped to an attribute to add to the virtual representation. The virtual representation is provided with the attribute.
In another embodiment, a method for associating an attribute with a virtual representation is described. Characteristics exhibited by a virtual representation of a real-world object are identified. A degree of exhibition of each of the characteristics by the virtual representation is quantified. An attribute to add to the virtual representation is determined based on the degree of exhibition of the characteristics. The virtual representation having the attribute is provided.
In another embodiment, a virtual object that includes a three-dimensional virtual representation of a real-world object constructed from a digitization of the real-world object based on a plurality of captured images is described. The virtual object also includes an attribute associated with the virtual representation that instructs interactions between the virtual representation and a virtual world. The attribute is associated with the virtual representation by identifying characteristics exhibited by the virtual representation, quantifying a degree of exhibition of each of the characteristics by the virtual representation, and determining the attribute to add to the virtual representation based on the degree of exhibition of one or more of the characteristics.
Referring initially to
Embodiments of the invention may be described in the general context of computer code or machine-useable instructions, including computer-executable instructions such as program modules, being executed by a computer or other machine, such as a personal data assistant or other handheld device. Generally, program modules including routines, programs, objects, components, data structures, etc., refer to code that perform particular tasks or implement particular abstract data types. Embodiments of the invention may be practiced in a variety of system configurations, including hand-held devices, consumer electronics, general-purpose computers, more specialty computing devices, etc. Embodiments of the invention may also be practiced in distributed computing environments where tasks are performed by remote-processing devices that are linked through a communications network.
With reference to
Computing device 100 typically includes a variety of computer-readable media. By way of example, and not limitation, computer-readable media may comprise Random Access Memory (RAM); Read Only Memory (ROM); Electronically Erasable Programmable Read Only Memory (EEPROM); flash memory or other memory technologies; compact disc read-only memory (CD-ROM), digital versatile disks (DVD) or other optical or holographic media; magnetic cassettes, magnetic tape, magnetic disk storage or other magnetic storage devices or any other computer-readable device that can be used to encode desired information and be accessed by computing device 100. Computer-readable media and computer-storage media are not inclusive of carrier waves, signals, or other forms of transitory media.
The memory 112 includes computer-storage media in the form of volatile and/or nonvolatile memory. The memory may be removable, nonremovable, or a combination thereof. Exemplary hardware devices include solid-state memory, hard drives, optical-disc drives, etc. The computing device 100 includes one or more processors that read data from various entities such as the memory 112 or I/O components 120. The presentation component(s) 116 present data indications to a user or other device. Exemplary presentation components include a display device, a speaker, a printing component, a vibrating component, etc.
The I/O ports 118 allow the computing device 100 to be logically coupled to other devices including the I/O components 120, some of which may be built in. Illustrative components include a microphone, joystick, game pad, satellite dish, scanner, printer, wireless device, etc.
With reference now to
The computing device 202 comprises any one or more computing devices, such as the computing device 100. In an embodiment, the computing device 202 comprises a gaming device. The computing device 202 may be communicatively coupled to the network 208 for communication with one or more other computing devices and the data store 210 as is known in the art. The network 208 comprises any communications network, such as, for example and not limitation, the Internet, an intranet, an ethernet, a local area network, or a wide area network, among others.
The data store 210 includes any data storage device or medium useable by the computing device 202. In an embodiment, the data store 210 is a data repository for a cloud computing environment as is known in the art. The data store 210 may provide storage of characteristics of real-world objects and attributes of virtual representations of real-world objects that have been digitized by one or more users. The data store 210 might also contain one or more mapping schema for mapping characteristics to attributes to add to virtual representations as described below.
The camera 204 includes a digital, still or video camera that is useable to capture one or more images of the real-world object 206. In an embodiment, the camera 204 is a film camera and a scanner is employed to digitize the images for use by the computing device 202. The camera 204 is separate from the computing device 202 and is communicatively coupled thereto wirelessly or through a wired connection. Or the camera 204 is integrated with the computing device 202.
As described previously, the real-world object 206 is any physical, real-world object. As depicted in
Returning to the computing device 202, a digitizer component 212, an attribute-association component 214, a characteristics list 216, a characteristics detector 218, and a virtual representation 220 are included therein. In an embodiment, one or more of the components 212, 214, 216, 218, and 220 are distributed among one or more other computing devices and are accessed by the computing device 202 via the network 208.
As described above, the digitizer component 212 employs any available means for digitizing or creating a virtual representation of a real-world object. The digitizer 212 receives one or more images 222 of the real-world object 206 from the camera 204. In an embodiment, the images 222 include at least one image 222 of a front of the real-world object 206 and one image 222 of the back of the real-world object 206. These images 222 are useable by the digitizer to generate the three-dimensional virtual representation 220 of the real-world object 206. In another embodiment, any number of images 222 are used to generate a two- or three-dimensional virtual representation 220 of the real-world object 206.
The virtual representation 220 uses and is based on any available virtual modeling techniques. For example, the virtual representation 220 is based on red, green, and blue color and depth data obtained from images (RGBD images) of the real-world object. The virtual representation might also include a three-dimensional point cloud, a triangle mesh, a texture, a skeleton, and a rigging, among other components.
The attribute-association component 214 employs the virtual representation 220 of the real-world object 206 that is generated by the digitizer 212 to identify one or more characteristics of the virtual representation 220, to determine attributes to add to the virtual representation 220, and to add those attributes to the virtual representation 220, as described more fully below. In an embodiment, the characteristics of the virtual representation 220 are identified based on the characteristics list 216.
The characteristics list 216 includes a plurality of characteristics that might be present in a virtual representation. Each of the characteristics from the list 216 includes an associated characteristics detector 218, or a single detector 218 is associated with multiple characteristics from the list 216. The characteristics list 216 is stored in a memory of the computing device 202 or is stored remotely, for example, in the data store 210. The characteristics list 216 is employed globally across applications on the computing device that employ virtual representations or the characteristics list 216 is application specific. Application-specific lists 216 are useable to identify unique characteristics and to provide unique attributes to virtual representations based on an application using the virtual representation or a context therein.
The detector 218 comprises an application, code segment, or program object configured to analyze one or more data associated with the virtual representation 220 to identify the presence of an associated characteristic. In an embodiment, the detector 118 identifies a degree of exhibition of the characteristic by the virtual representation 220. For example, for the characteristic “color=red” the detector 118 determines a degree at which the virtual representation exhibits the color red, e.g. a virtual representation of a purple object only exhibits a small amount of the color red, while a virtual representation of a red object exhibits a large amount of the color red. The detector 118 produces a value for the degree of exhibition such as a percentage of true red in the color of the virtual object or a color spectrum value that identifies the color of the virtual object, among other potential values. In an embodiment, the detector 118 provides a binary value that indicates only whether a virtual representation has the characteristic, e.g. “red” or “not red.”
With reference now to
The real-world object is an actual object, e.g an actual axe or billiard ball, or the real-world object is a toy or replica version of the real-world object, e.g. a toy axe or rubber ball painted to represent a billiard ball. Replica objects can provide a degree of safety while also exhibiting similar or identical visual characteristics as their “real” counterparts. Such real-world objects, whether real or replica might be provided with an application. For example, a game application kit might be provided with a number of objects for use with the game application. Or in an embodiment, the real-world objects are arbitrarily selected by a user from available items.
A number of digital images of a real-world object are captured from one or more different angles. The images are employed to digitized the real-world object and generate a virtual representation of the real-world object in a virtual space, at a step 302. The digitization captures a plurality of characteristics of the real-world object in the virtual representation. The characteristics include color, surface textures or appearances and features, size, proportions, volume, surface area, and object shape, to name a few. The virtual representation generally resembles the visual appearance of the real-world object. Or in an embodiment, one or more processes are employed to generate a virtual representation with a different appearance than the real-world object, e.g. the virtual representation may be provided with a cartoon-like appearance.
At a step 304, a characteristic is detected in the virtual representation. In an embodiment, the characteristic is identified in a predetermined list of characteristics to look for in a virtual representation. The characteristics might include a shape, volume, surface area, dimension, color, number of limbs, reflectivity, shape noisiness, among others. Most of these characteristics are self explanatory however, the number of limbs refers to a number of identified appendages extending from a main body of the virtual object, the reflectivity refers to the shininess or glare exhibited by the virtual object, and the shape noisiness refers to the smoothness of the shapes perimeter, for example a ball would have a low shape noisiness while a sea urchin would have a high shape noisiness. The characteristics are detected generally, e.g. “color”, or are detected more specifically, e.g. red, blue, green.
In an embodiment, a detector is executed to analyze the virtual representation for presence of the characteristic. A plurality of detectors are each dedicated to a respective characteristic in the list or a single detector analyzes for a number of characteristics. The detector may provide a binary-type detection of the characteristics or may determine a degree of exhibition of the characteristic based on a sliding scale. For example, the detector might simply determine whether a virtual representation has a given shape; when a virtual representation has the given shape, the detector provides a positive indication and, when the virtual representation does not have the given shape the detector provides a negative indication. Or the detector might determine a degree of similarity between the shape of the virtual representation and a predefined shape, e.g the detector indicates a similarity based on a scale between an exact match to a complete mismatch.
At a step, 306 a mapping schema is employed to map the detected characteristics and/or the detected degrees of exhibition thereof to one or more attributes to add to the virtual representation. The mapping schema is predetermined and may be employed globally across a number of applications or may be specific to an individual application. The mapping schema might also be context-specific to a particular portion of an application. For example, in a gaming application, a mapping schema for a portion of the game that involves hand-to-hand combat might be different than a mapping schema employed by a portion involving automobile driving.
The mapping schema includes one-to-one, many-to-many, many-to-one, and/or one-to-many relationships between characteristics and attributes. As such, attributes can be identified based on a single or multiple characteristics of a virtual representation.
By mapping characteristics of a virtual representation to attributes to add to the virtual representation, additional intelligence is added to the generation of the virtual representation. For example, as depicted in
In an embodiment, one or more algorithms are also employed to determine one or more confidence levels for the correlation between the characteristics and attributes. The confidence level calculations may use the degree of exhibition of the characteristics to inform the calculation. In an embodiment, the confidence level calculations are integral with the mapping schema or are used to generate the mapping schema.
As such, the virtual representation 402 of the real-world axe 400 not only includes a representation that looks like the axe 400 but, also is sharp like the axe 400. This attribute is useable by an application to inform or instruct interactions of the virtual representation 402 in a virtual world. For example, the virtual representation 402 might be employed in a virtual world to chop down a tree. Without the addition of the “sharp” attribute to the virtual representation 402, the application would not be informed how the virtual representation 402 should affect objects in the virtual world.
The mapping schema need not map the characteristics to an attribute expected of a real-world object, e.g. an axe having a sharp blade. For example, as depicted in
With continued reference to
With reference now to
At a step 606, a mapping schema is identified for use in mapping one or more of the characteristics to one or more attributes to be added to the virtual representation. The mapping schema is identified based on an application in which the virtual representation is to be used. Or the mapping schema is identified based on a particular context within such an application.
Based on one or more of the characteristics in the plurality of characteristics and based on the degree of exhibition of those characteristics, an attribute is identified for addition to the virtual representation using the identified mapping schema, as depicted at a step 608. The attribute is identified using degrees of exhibition of one or several of the characteristics and may correspond with properties expected of the real-world object or might be arbitrary with respect thereto. Additionally, in an embodiment, a degree or intensity of expression of the attribute by the virtual representation is determined, as depicted at a step 610. The degree or intensity of expression is determined based on the degree of exhibition of the associated characteristics by the virtual representation. For example, a virtual representation that is light blue in color might be given the attribute of being cool, while a virtual representation that is dark blue might be given the attribute of being frozen.
At a step 612, the virtual representation with the added attributes is provided. The virtual representation might be provided to an application for use in a virtual world scenario. The application may determine visual features to apply to the virtual representation to indicate one or more of the attributes. The application may also use the attributes to instruct interaction of the virtual representation in a virtual world. For example, a virtual representation might be provided with the attribute of being heavy. As such, the application uses the heavy attribute to instruct algorithms for the physics of movements of the virtual representation in a virtual world.
In an embodiment of the invention, a user is enabled to arbitrarily select an item for digitization. The item need not be previously known or contemplated by designers of an application or digitization component. Accordingly, attributes of such specific objects also need not be previously contemplated. In an embodiment, attributes are identified and added to virtual representations based on identified characteristics of those virtual representations and not on predefined attributes of specific, anticipated, preprogrammed real-world objects. Thus, additional attributes or intelligence with respect to the qualities of a virtual representation of an arbitrary real-world object may be incorporated into a virtual world.
Many different arrangements of the various components depicted, as well as components not shown, are possible without departing from the scope of the claims below. Embodiments of the technology have been described with the intent to be illustrative rather than restrictive. Alternative embodiments will become apparent to readers of this disclosure after and because of reading it. Alternative means of implementing the aforementioned can be completed without departing from the scope of the claims below. Certain features and subcombinations are of utility and may be employed without reference to other features and subcombinations and are contemplated within the scope of the claims.
This application claims priority to U.S. Provisional Patent Application No. 61/493,859 filed Jun. 6, 2011 the disclosure of which is hereby incorporated herein by reference in its entirety.
Number | Date | Country | |
---|---|---|---|
61493859 | Jun 2011 | US |