This relates generally to the presentation of objects in computerized environments, and, more particularly, to the presentation of objects using dynamic metadata in such environments.
Online marketplaces can enable manufacturers and retailers to market goods to potential customers. The online marketplaces can include information about goods for sale, including one or more images of the goods and one or more available configurations of the goods. Some online marketplaces can enable users to view virtual representations of marketable goods in augmented reality (AR), for example, illustrate to the user the actual size and/or scale of the marketable goods.
Some embodiments described in this disclosure are directed to the display of virtual objects. For example, a virtual object can correspond to a physical object that is available for purchase. In some embodiments, an electronic device can display the virtual object based on a file that defines dynamic metadata of the object. For example, multiple variations of the physical object can be available. In some embodiments, in response to a request to display the virtual object with a different configuration that the current configuration of the virtual object, the electronic device can contact a source of the virtual object (e.g., a second electronic device, such as a server, associated with a manufacturer or retailer of the object) to obtain the availability (e.g., for purchase) of the physical object with the requested configuration. In some embodiments, the electronic device requests and/or receives frequent updates from the source of the virtual objects as the availability of various configurations changes. The full descriptions of the embodiments are provided in the Drawings and the Detailed Description, and it is understood that this Summary does not limit the scope of the disclosure in any way.
For a better understanding of the various described embodiments, reference should be made to the Detailed Description below, in conjunction with the following drawings in which like reference numerals often refer to corresponding parts throughout the figures.
In the following description of embodiments, reference is made to the accompanying drawings which form a part hereof, and in which it is shown by way of illustration specific embodiments that are optionally practiced. It is to be understood that other embodiments are optionally used and structural changes are optionally made without departing from the scope of the disclosed embodiments. Further, although the following description uses terms “first,” “second,” etc. to describe various elements, these elements should not be limited by the terms. These terms are only used to distinguish one element from another. For example, a first object or first file could be termed a second object or second file, and, similarly, a second object or second file could be termed a first object or first file, without departing from the scope of the various described embodiments. The first object and the second object are both objects, but they are not the same object. Likewise, the first file and the second file are both files, but they are not the same file.
Some embodiments described in this disclosure are directed to the display of virtual objects. For example, a virtual object can correspond to a physical object that is available for purchase. In some embodiments, an electronic device can display the virtual object based on a file that defines dynamic metadata of the object. For example, multiple variations of the physical object can be available. In some embodiments, in response to a request to display the virtual object with a different configuration that the current configuration of the virtual object, the electronic device can contact a source of the virtual object (e.g., a second electronic device, such as a server, associated with a manufacturer or retailer of the object) to obtain the availability (e.g., for purchase) of the physical object with the requested configuration. In some embodiments, the electronic device requests and/or receives frequent updates from the source of the virtual objects as the availability of various configurations changes. The full descriptions of the embodiments are provided in the Drawings and the Detailed Description, and it is understood that this Summary does not limit the scope of the disclosure in any way.
The terminology used in the description of the various described embodiments herein is for the purpose of describing particular embodiments only and is not intended to be limiting. As used in the description of the various described embodiments and the appended claims, the singular forms “a,” “an,” and “the” are intended to include the plural forms as well, unless the context clearly indicates otherwise. It will also be understood that the term “and/or” as used herein refers to and encompasses any and all possible combinations of one or more of the associated listed items. It will be further understood that the terms “includes,” “including,” “comprises,” and/or “comprising,” when used in this specification, specify the presence of stated features, integers, steps, operations, elements, and/or components, but do not preclude the presence or addition of one or more other features, integers, steps, operations, elements, components, and/or groups thereof.
The term “if” is, optionally, construed to mean “when” or “upon” or “in response to determining” or “in response to detecting,” depending on the context. Similarly, the phrase “if it is determined” or “if [a stated condition or event] is detected” is, optionally, construed to mean “upon determining” or “in response to determining” or “upon detecting [the stated condition or event]” or “in response to detecting [the stated condition or event],” depending on the context.
A physical environment refers to a physical world that people can sense and/or interact with without aid of electronic systems. Physical environments, such as a physical park, include physical articles, such as physical trees, physical buildings, and physical people. People can directly sense and/or interact with the physical environment, such as through sight, touch, hearing, taste, and smell.
In contrast, an extended reality (XR) environment refers to a wholly or partially simulated environment that people sense and/or interact with via an electronic system. In some embodiments of a XR, a subset of a person's physical motions, or representations thereof, are tracked, and, in response, one or more characteristics of one or more virtual objects simulated in the XR environment are adjusted in a manner that comports with at least one law of physics. For example, a XR system may detect the device turning and/or moving and, in response, adjust graphical content and an acoustic field presented to the person in a manner similar to how such views and sounds would change in a physical environment. In some situations (e.g., for accessibility reasons), adjustments to characteristic(s) of virtual object(s) in a XR environment may be made in response to representations of physical motions (e.g., vocal commands). Examples of XR include virtual reality, mixed reality, and augmented reality.
A person may sense and/or interact with a XR object using any one of their senses, including sight, sound, touch, taste, and smell. For example, a person may sense and/or interact with audio objects that create 3D or spatial audio environment that provides the perception of point audio sources in 3D space. In another example, audio objects may enable audio transparency, which selectively incorporates ambient sounds from the physical environment with or without computer-generated audio. In some XR environments, a person may sense and/or interact only with audio objects. Examples of XR include virtual reality and mixed reality.
There are many different types of electronic systems that enable a person to sense and/or interact with various XR environments. Examples include head mounted systems, projection-based systems, heads-up displays (HUDs), vehicle windshields having integrated display capability, windows having integrated display capability, displays formed as lenses designed to be placed on a person's eyes (e.g., similar to contact lenses), headphones/earphones, speaker arrays, input systems (e.g., wearable or handheld controllers with or without haptic feedback), smartphones, tablets, and desktop/laptop computers. A head mounted system may have one or more speaker(s) and an integrated opaque display. Alternatively, a head mounted system may be configured to accept an external opaque display (e.g., a smartphone). The head mounted system may incorporate one or more imaging sensors to capture images or video of the physical environment, and/or one or more microphones to capture audio of the physical environment. Rather than an opaque display, a head mounted system may have a transparent or translucent display. The transparent or translucent display may have a medium through which light representative of images is directed to a person's eyes. The display may utilize digital light projection, OLEDs, LEDs, uLEDs, liquid crystal on silicon, laser scanning light source, or any combination of these technologies. The medium may be an optical waveguide, a hologram medium, an optical combiner, an optical reflector, or any combination thereof. In one embodiment, the transparent or translucent display may be configured to become opaque selectively. Projection-based systems may employ retinal projection technology that projects graphical images onto a person's retina. Projection systems also may be configured to project virtual objects into the physical environment, for example, as a hologram or on a physical surface.
Device 200 includes communication circuitry 202. Communication circuitry 202 optionally includes circuitry for communicating with electronic devices, networks, such as the Internet, intranets, a wired network and/or a wireless network, cellular networks and wireless local area networks (LANs). Communication circuitry 202 optionally includes circuitry for communicating using near-field communication and/or short-range communication, such as Bluetooth®.
Processor(s) 204 include one or more general processors, one or more graphics processors, and/or one or more digital signal processors. In some embodiments, memory 206 is a non-transitory computer-readable storage medium (e.g., flash memory, random access memory) that stores computer-readable instructions configured to be executed by processor(s) 204 to perform the techniques, processes, and/or methods described below (e.g., with reference to
Device 200 includes display generation component(s) 224. In some embodiments, display generation component(s) 224 can include a single display such as an LED or LCD display, and in other embodiments the display generation component(s) can include a projector, a display with touch capability, a retinal projector, and the like. In some embodiments, display generation component(s) 224 includes multiple displays. In some embodiments, device 200 includes touch-sensitive surface(s) 220 for receiving user inputs, such as tap inputs and swipe inputs or other gestures. In some embodiments, display generation component(s) 224 and touch-sensitive surface(s) 220 form touch-sensitive display(s), for example a touch screen integrated with device 200 or external to device 200 that is in communication with device 200.
Device 200 optionally includes image sensor(s) 210. Image sensors(s) 210 optionally include one or more visible light image sensor, such as charged coupled device (CCD) sensors, and/or complementary metal-oxide-semiconductor (CMOS) sensors operable to obtain images of physical objects from the real environment. Image sensor(s) 210 also optionally include one or more infrared (IR) sensor(s), such as a passive IR sensor or an active IR sensor, for detecting infrared light from the real environment. For example, an active IR sensor includes an IR emitter, such as an IR dot emitter, for emitting infrared light into the real environment. Image sensor(s) 210 also optionally include one or more event camera(s) configured to capture movement of physical objects in the real environment. Image sensor(s) 210 also optionally include one or more depth sensor(s) configured to detect the distance of physical objects from device 200. In some embodiments, information from one or more depth sensor(s) can allow the device to identify and differentiate objects in the real environment from other objects in the real environment. In some embodiments, one or more depth sensor(s) can allow the device to determine the texture and/or topography of objects in the real environment.
In some embodiments, device 200 uses CCD sensors, event cameras, and depth sensors in combination to detect the physical environment around device 200. In some embodiments, image sensor(s) 220 include a first image sensor and a second image sensor. The first image sensor and the second image sensor work in tandem and are optionally configured to capture different information of physical objects in the real environment. In some embodiments, the first image sensor is a visible light image sensor and the second image sensor is a depth sensor. In some embodiments, device 200 uses image sensor(s) 210 to detect the position and orientation of device 200 and/or display generation component(s) 224 in the real environment. For example, device 200 uses image sensor(s) 210 to track the position and orientation of display generation component(s) 224 relative to one or more fixed objects in the real environment.
In some embodiments, device 200 includes microphones(s) 218. Device 200 uses microphone(s) 218 to detect sound from the user and/or the real environment of the user. In some embodiments, microphone(s) 218 includes an array of microphones (including a plurality of microphones) that optionally operate in tandem, such as to identify ambient noise or to locate the source of sound in space of the real environment.
Device 200 includes location sensor(s) 214 for detecting a location of device 200 and/or display generation component(s) 224. For example, location sensor(s) 214 can include a GPS receiver that receives data from one or more satellites and allows device 200 to determine the device's absolute position in the physical world.
Device 200 includes orientation sensor(s) 216 for detecting orientation and/or movement of device 200 and/or display generation component(s) 224. For example, device 200 uses orientation sensor(s) 216 to track changes in the position and/or orientation of device 200 and/or display generation component(s) 224, such as with respect to physical objects in the real environment. Orientation sensor(s) 216 optionally include one or more gyroscopes and/or one or more accelerometers. Device 200 is not limited to the components and configuration of
Attention is now directed towards examples of graphical user interfaces (“GUIs”) and associated processes that are implemented on an electronic device, such as electronic device 100 or device 200. The GUIs can include display of one or more configurable virtual objects corresponding to physical objects.
In some embodiments, the electronic device 100 presents the virtual sofa 304 based on a file having the same or a similar format as file 700 described below with reference to
In some embodiments, in response to detecting a request from the user to change one or more of the characteristics of virtual sofa 304, the electronic device 100 transmits a query of the availability of the updated characteristics to the source of the virtual sofa 304. In response, in some embodiments, the electronic device 100 receives an indication of the availability of the updated characteristics from the source of the virtual sofa. As shown in
In
In some embodiments, the characteristics included in menu 308 can be defined by characteristics included in a file the electronic device 100 uses to generate virtual sofa 304. In some embodiments, the electronic device 100 transmits a request for the currently-available characteristics of the virtual sofa 304 to the source of the virtual sofa 304 in response to selection of the virtual sofa 304 in
In some embodiments, the electronic device is also capable of presenting other virtual objects that correspond to physical objects available for sale, but do not include, in the file defining the virtual object, purchasing information, such as the logic for completing a purchase through interaction with the virtual object. In these situations, the electronic device may present the virtual object and one or more menus for configuring the virtual object (e.g., similar to menus 310 and 312 associated with virtual sofa 304), but may not present an option to purchase the object (e.g., similar to option 314), for example. In some embodiments, virtual objects that do not include purchasing logic may still be user-configurable based on configuration settings embedded in the file defining the object. In some embodiments, when presenting a virtual object provided by a source that is not authorized by the manufacturer of the physical object corresponding to the virtual object, the electronic device does not contact the source of the virtual object to dynamically update the available configurations for the virtual object.
In some embodiments, in response to detecting selection of a different value for either characteristic of the virtual sofa 304 via user interaction with menu 310 or menu 312, the electronic device 100 can transmit a query of the availability of the selected configuration to the source of virtual sofa 304. In some embodiments, in response to receiving an indication from the source that the selected configuration is available (e.g., for purchase), the electronic device 100 updates the virtual sofa 304 to be displayed with the selected configuration. In some embodiments, the source of the virtual sofa 304 checks for the availability of each characteristic in the configuration separately (e.g., checking for sofas with no feet and checking for sofas with the selected upholstery). In some embodiments, the source of the virtual sofa 304 checks for the availability of the characteristics of the configuration in combination (e.g., checking for sofas with no feet with the selected upholstery).
For example, in
In some embodiments, if the price of the virtual sofa 304 with the updated configuration is different from the price of the virtual sofa 304 with the previous indication, the electronic device 100 can update the indication of the price of the sofa included in the option 314 to purchase the physical sofa corresponding to virtual sofa 304. In some embodiments, the price of the sofa can change over time due to sales and promotions. In some embodiments, by querying the source of the sofa for the current price of the sofa, the electronic device 101 is able to present current and accurate pricing information that takes into account any relevant sales and/or promotions. In some embodiments, factors such as other items in a user's shopping cart can impact the pricing information presented by the electronic device. For example, a seller can run a buy one get one free promotion or a free shipping promotion based on the total purchase price of a user's shopping cart that causes the pricing information to change based on the available promotion and whether or not the user's shopping cart qualifies of the promotion.
In some situations, the user may request a configuration of virtual sofa 304 that is not currently available. In some embodiments, in response to the user's request, the electronic device 100 transmits a query of availability of the configuration requested by the user to the source of the virtual sofa 304 and, in response, receives an indication from the source that the requested configuration is unavailable (e.g., instead of receiving an indication of availability and price, as would be the case if the configuration were available). In some embodiments, as shown in
It should be appreciated that electronic device 100 is able to adjust characteristics of the virtual sofa 304 and, more generally, of other virtual objects corresponding to physical objects available for purchase, other than the upholstery style. For example, the electronic device 100 is able to present the virtual sofa 304 with different configurations for the foot style of the sofa in a manner similar to the manner in which the electronic device 100 displays the virtual sofa 304 with a variety of upholstery styles. For example, in response to detecting the user select a different foot style from menu 310, the electronic device 100 transmits a query to the source of the sofa to obtain the availability of the sofa with a configuration including the user-selected foot style. In some embodiments, virtual sofa 304 includes additional characteristics that can be similarly modified by the user.
As described above with reference to
In some embodiments, the electronic device 100 presents the virtual chair 404 based on a file having the same or a similar format as file 700 described below with reference to
In
For example, in
In some embodiments, in addition to presenting virtual objects corresponding to real objects available for purchase, electronic device 100 is able to identify a real object and present purchasing information, including available options and pricing associated with the real object.
In
In some embodiments, in response to the user input illustrated in
In some embodiments, the user is able to select different values for characteristics of a real table using menus 506 and 508. For example, if the user wishes to purchase a real table that has a different color than real table 120, the user can select a different color from menu 506. In some embodiments, if the user wishes to purchase a real table that has a different size than real table 120, the user can select a different size from menu 508. In some embodiments, in response to detecting the user change one or more of the characteristics in menu 504, the electronic device 100 can update the pricing information included in the option 510 to purchase the table (e.g., after receiving the pricing information from the source of the table). In some embodiments, the electronic device 100 can display a representation of a virtual table with the user-selected configuration in response to detecting the user change one or more characteristics of the table in menus 506 and 508. In some embodiments, the electronic device 100 displays the virtual table in place of displaying the representation 120′ of the real table 120. In some embodiments, the electronic device 100 displays the virtual table adjacent to the representation 120′ of real table 120.
In some embodiments, the user can request notifications associated with particular objects and/or particular events related to the objects. In some embodiments, the electronic device 100 can present notifications similar to notification 606 that are associated with virtual objects saved by the user, for example, in an object management system or application. The user can set and modify settings indicating which types of notifications should be received for each object, or for all objects. For example, the user may wish to receive a notification when a particular color of a sofa is available for purchase, when an item of clothing goes on sale, or when the price changes for any of the objects saved by the user. In some embodiments, the user can disable notifications related to virtual objects one object at a time or once for all virtual objects for which the user has subscribed to notifications.
In some embodiments, a source of a virtual object can transmit an indication of the notification 606 to the electronic device 100. For example, in response to detecting an update to the metadata of a virtual object, the source of that virtual object can transmit an indication of the change of the metadata to the electronic device 100. In some embodiments, in response to receiving the indication of the change of the metadata from the source of the object, the electronic device 100 presents the notification 606.
In
In
Although virtual object 616 and virtual object 632 correspond to the same file and the same real object, in some embodiments, as shown in
In some embodiments, the virtual object file is portable and retains changes made by the user or the source of the object to the metadata associated with the file. Thus, if the user were to change the color of the object in the web browsing user interface 610, save the object file, then open the object file in the virtual collection user interface 630, the electronic device 100 would display the virtual object 632 in the color selected by the user in the web browsing user interface 610, for example. As another example, if the price of the object changes, the web browsing user interface 610 and the virtual collection user interface 630 would update display of the metadata associated with the virtual object to reflect the price change.
In some embodiments, the electronic device 100 can facilitate display of the virtual object in multiple user interfaces. For example, the electronic device 100 can detect the file associated with the virtual object 616 while displaying the web browsing user interface 610 and display the virtual object 632 in the virtual collection user interface 630. In some embodiments, the virtual object 616 is based on a file having the format of file 700 in
In some embodiments, file 700 can be provided by a source of the object that corresponds to the file 700. The file 700 can include indications 702a-702c of one or more attributes of the object, an indication 706 of the source of the object, an indication 708 of authentication information (e.g., digital rights management) of the object, pricing information 710 associated with the object, and an indication 712 of one or more retailers of the object.
In some embodiments, the indication 706 of the source of the object can include information for contacting the source of the object to obtain updated information about the object, such as the availability of various configurations of the object and/or pricing information. In some embodiments, the indication 708 of authentication information can include a private signature that can be verified by a third-party server (e.g., an electronic device other than the electronic device that presents the virtual object or the source of the virtual object). In some embodiments, the third-party server can verify the signature if the signature includes information corresponding to authentication by the manufacturer of the physical object corresponding to the virtual object that grants the source of the object (e.g., a retailer of the object) permission to market and sell the physical object corresponding to the virtual object. It should be understood that, in some embodiments, a respective physical object can be sold by multiple manufacturer-authorized retailers and in these situations, two virtual objects can correspond to the same product, but be associated with different sources and, therefore, have different configurations (e.g., attributes 702a-c and options 704a-i) available. In some embodiments, the indications 702a-c of each respective attribute of the object can include a plurality of options 704a-i associated with the respective attribute. For example, the file associated with virtual sofa 304 can include indications for the upholstery and the feet of the sofa, and these indications can include indications of the available options for each attribute. It should be appreciated that the number of attributes for a respective object, and the number of options for each attribute, can vary widely among objects and attributes. In some embodiments, the indication 704a-i of each option of each attribute can include information about the availability of the respective option.
In some embodiments, file 700 can be stored on the electronic device 100 and updated by the source of the object (e.g., in response to a request from the electronic device 100, automatically at predetermined time intervals, automatically whenever availability for one or more attributes changes). For example, updates to the file 700 can include adding or removing one or more attributes 702a-c, adding or removing one or more options 704a-i available for one or more attributes, updates to the pricing 710 of the object, updates to the retailers 712, and/or updates to the authentication data 708 (e.g., expiration and/or renewal of digital rights management for the object). In some embodiments, file 700 can be stored by the source of the object and the electronic device 100 can request information from file 700 in response to user requests to view and/or update the virtual object defined by file 700.
In some embodiments, operations of process 800 are performed at an electronic device in communication with a display generation component and one or more input devices. A computer-generated environment is optionally displayed/presented via the display generation component (e.g., using display generation component(s) 214). The computer-generated environment includes, in some embodiments, a representation of the real-world environment (or at least a representation of one or more portions of a real-world environment) and, optionally, one or more virtual objects. In some embodiments, the representation of the real-world environment, or at least one or more portions of a real-world environment, is captured using one or more input devices, such as image sensor(s) 210.
In some embodiments, the electronic device displays (802), via the display, a virtual object, the virtual object based on a file that defines the virtual object, a plurality of configurations of the virtual object, and a source of the virtual object, wherein the virtual object is displayed with a first configuration of the plurality of configurations of the virtual object. In some embodiments, the electronic device receives (804), via the one or more input devices, an input corresponding to a request to display the virtual object with a second configuration of the plurality of configurations of the virtual object, the second configuration different from the first configuration. In some embodiments, the electronic device transmits (806), to the source of the virtual object, a query of availability of the virtual object with the second configuration. In some embodiments, the electronic device receives (808), from the source of the virtual object, an indication of the availability of a physical object corresponding to the virtual object with the second configuration. In some embodiments, in accordance with a determination that the indication indicates that the physical object corresponding to the virtual object is available with the second configuration, the electronic device displays (810), via the display generation component, the virtual object with the second configuration.
In some embodiments, in accordance with a determination that the indication indicates that the virtual object is not available with the second configuration, the electronic device displays, via the display, an indication that the virtual object is not available with the second configuration. In some embodiments, the indication of availability is an indication of availability for purchase of the physical object corresponding to the virtual object. In some embodiments, the indication of availability is an availability of the virtual object for display by the electronic device. In some embodiments, the electronic device transmits the query of availability of the virtual object with the second configuration to the source of the virtual object in accordance with a determination that the file that defines the virtual object satisfies one or more criteria. In some embodiments, in accordance with a determination that the file that defines the virtual object does not satisfy the one or more criteria, the electronic device forgoes transmitting the query of availability of the virtual object with the second configuration. In some embodiments, the one or more criteria require that the file that defines the virtual object includes valid digital rights management information. In some embodiments, the indication indicates whether a plurality of characteristics of the second configuration are each available. In some embodiments, the indication indicates whether a plurality of characteristics of the second configuration are available in combination. In some embodiments, the virtual object is initially accessed via an environment associated with the source of the object and later accessed via an environment that is independent from the source of the virtual object. In some embodiments, the electronic device displays, via the display, a plurality of configurations of a second virtual object, and a source of the second virtual object. In some embodiments, the second virtual object is defined by a second file, and the second file and the file that defines the virtual object have a common file format. In some embodiments, the electronic device determines whether the file that defines the object includes a valid security credential. In some embodiments, displaying the virtual object comprises displaying the virtual object in response to a determination that the file includes a valid security credential. In some embodiments, the electronic device identifies, based on an image of a respective real object, a respective virtual object corresponding to the respective real object. In some embodiments, the electronic device requests, from a catalog, availability of the respective virtual object. In some embodiments, the electronic device receives, from the catalog, a first indication of the availability of the respective virtual object. In some embodiments, the electronic device presents a user interface element indicating the availability of the respective virtual object. In some embodiments, the plurality of configurations of the virtual object is a first plurality of configurations available during a first period of time (812). In some embodiments, during a second period of time different from the first period of time, the plurality of configurations of the virtual object is a second plurality of configurations available during the second period of time, the second plurality of configurations different from the first plurality of configurations (814).
The foregoing description, for purpose of explanation, has been described with reference to specific embodiments. However, the illustrative discussions above are not intended to be exhaustive or to limit the invention to the precise forms disclosed. Many modifications and variations are possible in view of the above teachings. The embodiments were chosen and described in order to best explain the principles of the invention and its practical applications, to thereby enable others skilled in the art to best use the invention and various described embodiments with various modifications as are suited to the particular use contemplated.
This application claims the benefit of U.S. Provisional Application No. 63/168,121, filed Mar. 30, 2021, the content of which is incorporated herein by reference in its entirety for all purposes.
Number | Date | Country | |
---|---|---|---|
63168121 | Mar 2021 | US |