WO2019067482A1 - Displaying applications in a simulated reality setting - Google Patents
Displaying applications in a simulated reality setting Download PDFInfo
- Publication number
- WO2019067482A1 WO2019067482A1 PCT/US2018/052748 US2018052748W WO2019067482A1 WO 2019067482 A1 WO2019067482 A1 WO 2019067482A1 US 2018052748 W US2018052748 W US 2018052748W WO 2019067482 A1 WO2019067482 A1 WO 2019067482A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- application
- representation
- physical
- physical object
- attributes
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Ceased
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/048—Interaction techniques based on graphical user interfaces [GUI]
- G06F3/0481—Interaction techniques based on graphical user interfaces [GUI] based on specific properties of the displayed interaction object or a metaphor-based environment, e.g. interaction with desktop elements like windows or icons, or assisted by a cursor's changing behaviour or appearance
- G06F3/04815—Interaction with a metaphor-based environment or interaction object displayed as three-dimensional [3D], e.g. changing the user viewpoint with respect to the environment or object
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/011—Arrangements for interaction with the human body, e.g. for user immersion in virtual reality
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/011—Arrangements for interaction with the human body, e.g. for user immersion in virtual reality
- G06F3/013—Eye tracking input arrangements
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/017—Gesture based interaction, e.g. based on a set of recognized hand gestures
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/03—Arrangements for converting the position or the displacement of a member into a coded form
- G06F3/0304—Detection arrangements using opto-electronic means
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/048—Interaction techniques based on graphical user interfaces [GUI]
- G06F3/0481—Interaction techniques based on graphical user interfaces [GUI] based on specific properties of the displayed interaction object or a metaphor-based environment, e.g. interaction with desktop elements like windows or icons, or assisted by a cursor's changing behaviour or appearance
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/048—Interaction techniques based on graphical user interfaces [GUI]
- G06F3/0484—Interaction techniques based on graphical user interfaces [GUI] for the control of specific functions or operations, e.g. selecting or manipulating an object, an image or a displayed text element, setting a parameter value or selecting a range
- G06F3/04845—Interaction techniques based on graphical user interfaces [GUI] for the control of specific functions or operations, e.g. selecting or manipulating an object, an image or a displayed text element, setting a parameter value or selecting a range for image manipulation, e.g. dragging, rotation, expansion or change of colour
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/048—Interaction techniques based on graphical user interfaces [GUI]
- G06F3/0487—Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/70—Determining position or orientation of objects or cameras
- G06T7/73—Determining position or orientation of objects or cameras using feature-based methods
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V20/00—Scenes; Scene-specific elements
- G06V20/20—Scenes; Scene-specific elements in augmented reality scenes
Definitions
- the present disclosure relates generally to simulated reality settings, and more specifically to representations of electronic products in simulated reality settings.
- Devices such as mobile phones, execute computer applications for performing various tasks. Users interact with the computer applications using application user interfaces. For example, users input information into the computer applications using the application user interfaces. For another example, computer applications use the application user interfaces to produce feedback based on received users' input.
- the techniques include determining a position of a physical object on a physical surface; displaying a representation of an application in a simulated reality setting, wherein one or more attributes of the representation of the application are based on the position of the physical object on the physical surface; and in response to detecting a change in the position of the physical object on the physical surface, modifying the one or more attributes of the representation of the application based on the change in position of the physical object on the physical surface.
- modifying the one or more attributes of the representation of the application comprises modifying the display of the representation of the application based on the change in position of the physical object on the physical surface.
- the one or more attributes comprise an orientation of the representation of the application as displayed in the simulated reality setting with respect to a user; the change in the position of the physical object on the physical surface comprises a rotation of the physical object on the physical surface; and modifying the one or more attributes of the representation of the application based on the change in position of the physical object on the physical surface comprises changing the orientation of the
- the one or more attributes comprises a displayed location of the representation of the application; the change in the position of the physical object on the physical surface comprises a change in the physical location of the physical object on the physical surface; and modifying the one or more attributes of the representation of the application based on the change in position of the physical object on the physical surface comprises changing the displayed location of the representation of the application based on at least one of a magnitude of the change in the physical location of the physical object on the physical surface or direction of the change in the physical location of the physical object on the physical surface.
- modifying the one or more attributes of the representation of the application comprises modifying operation of the application; the operation of the application transitions from a primary operational state to a secondary operational state as the position of the physical object moves in a first direction; the operation of the application transitions from the secondary operational state to the primary operational state as the position of the physical object moves in a second direction different from the first direction; while in the primary operational state, the application is enabled to perform a function; and while in the secondary operational state, the application is not enabled to perform the function.
- modifying the one or more attributes of the representation of the application comprises modifying a visual appearance of the representation of the application; the visual appearance of the representation of the application transitions from a primary visual state to a secondary visual state as the position of the physical object moves in a third direction; the visual appearance of the representation of the application transitions from the secondary visual state to the primary visual state as the position of the physical object moves in a fourth direction different from the third direction; while in the primary visual state, the application is enabled to display a visual feature; and while in the secondary visual state, the application is not enabled to display the visual feature.
- determining the position of the physical object on the physical surface comprises determining whether a distance between the physical object and a user exceeds a first predetermined threshold; and modifying the one or more attributes of the representation of the application comprises: in accordance with a determination that the distance between the physical object and the user exceeds the first predetermined threshold, transitioning the application to a first operational state.
- determining the position of the physical object on the physical surface further comprises determining whether the distance between the physical object and the user exceeds a second predetermined threshold; and modifying the one or more attributes of the representation of the application further comprises: in accordance with a determination that the distance between the physical object and the user does not exceed the second predetermined threshold, transitioning the application to a second operational state different than the first operational state; and in accordance with a determination that the distance between the physical object and the user exceeds the second predetermined threshold and does not exceed the first predetermined threshold, transitioning the application to a third operational state different than the first and second operational states.
- determining the position of the physical object on the physical surface comprises determining whether a distance between the physical object and a user exceeds a third predetermined threshold; and modifying the one or more attributes of the representation of the application comprises: in accordance with a determination that the distance between the physical object and the user exceeds the third predetermined threshold, transitioning the representation of the application to a first visual state.
- determining the position of the physical object on the physical surface further comprises determining whether the distance between the physical object and the user exceeds a fourth predetermined threshold; and modifying the one or more attributes of the representation of the application further comprises: in accordance with a determination that the distance between the physical object and the user does not exceed the fourth predetermined threshold, transitioning the representation of the application to a second visual state different than the first visual state; and in accordance with a determination that the distance between the physical object and the user exceeds the fourth predetermined threshold and does not exceed the third predetermined threshold, transitioning the
- the techniques further comprise displaying a virtual representation of the physical object on the physical surface in the simulated reality setting.
- the change in the position of the physical object on the physical surface is detected by a sensor.
- the physical object comprises the sensor.
- the representation of the application is displayed having an elevated position above the physical object in the simulated reality setting.
- displaying the representation of the application comprises displaying a virtual user interface for providing input to the application, wherein the displayed virtual user interface is displayed at a location on the physical surface adjacent a user.
- the techniques further comprise while displaying the representation of the application, and prior to modifying the one or more attributes of the representation of the application, detecting a change in the position of the physical object on the physical surface.
- a device for displaying one or more applications in a simulated reality setting includes one or more processors and memory storing one or more programs configured to be executed by the one or more processors.
- the one or more programs include instructions for determining a position of a physical object on a physical surface; displaying a representation of an application in a simulated reality setting, wherein one or more attributes of the representation of the application are based on the position of the physical object on the physical surface; and in response to detecting a change in the position of the physical object on the physical surface, modifying the one or more attributes of the representation of the application based on the change in position of the physical object on the physical surface.
- a non-transitory (or, optionally, transitory) computer- readable storage medium storing one or more programs configured to be executed by one or more processors displays one or more applications in a simulated reality setting.
- the one or more programs include instructions for determining a position of a physical object on a physical surface; displaying a representation of an application in a simulated reality setting, wherein one or more attributes of the representation of the application are based on the position of the physical object on the physical surface; and in response to detecting a change in the position of the physical object on the physical surface, modifying the one or more attributes of the representation of the application based on the change in position of the physical object on the physical surface.
- FIGs. 1 A-1B depict exemplary systems for use in various computer simulated reality technologies, including virtual reality and mixed reality.
- FIGs. 2A-2G illustrate embodiments of a device displaying a representation of an application in a simulated reality setting.
- FIG. 3 depicts an exemplary technique for displaying one or more applications in a simulated reality setting.
- the present disclosure provides techniques for displaying an application in a simulated reality setting.
- the techniques include determining a position of a physical object on a physical surface (or a position of a virtual object on a representation of the physical surface), displaying a representation of an application in a simulated reality setting, and modifying attributes of the representation of the application in response to detecting changes in the position of the physical object on the physical surface (or changes in the position of the virtual object on the representation of the physical surface).
- the attributes of the representation of the application are based on the position of the physical object on the physical surface or the position of the virtual object on the representation of the physical surface.
- the position of the physical object or virtual object is changed, one or more attributes of the representation of the application are changed in response to the detected changes in the position of the physical object or virtual object.
- a physical setting refers to a world that individuals can sense and/or with which individuals can interact without assistance of electronic systems.
- Physical settings e.g., a physical forest
- physical elements e.g., physical trees, physical structures, and physical animals. Individuals can directly interact with and/or sense the physical setting, such as through touch, sight, smell, hearing, and taste.
- a physical element may also be referred to as a physical object.
- a simulated reality (SR) setting refers to an entirely or partly computer-created setting that individuals can sense and/or with which individuals can interact via an electronic system.
- SR a subset of an individual's movements is monitored, and, responsive thereto, one or more attributes of one or more virtual objects in the SR setting is changed in a manner that conforms with one or more physical laws.
- a SR system may detect an individual walking a few paces forward and, responsive thereto, adjust graphics and audio presented to the individual in a manner similar to how such scenery and sounds would change in a physical setting. Modifications to attribute(s) of virtual object(s) in a SR setting also may be made responsive to representations of movement (e.g., audio instructions).
- An individual may interact with and/or sense a SR object using any one of his senses, including touch, smell, sight, taste, and sound.
- an individual may interact with and/or sense aural objects that create a multi-dimensional (e.g., three
- Multi-dimensional or spatial aural settings provide an individual with a perception of discrete aural sources in multi-dimensional space.
- Aural transparency selectively incorporates sounds from the physical setting, either with or without computer-created audio.
- an individual may interact with and/or sense only aural objects.
- a VR setting refers to a simulated setting that is designed only to include computer-created sensory inputs for at least one of the senses.
- a VR setting includes multiple virtual objects with which an individual may interact and/or sense. An individual may interact and/or sense virtual objects in the VR setting through a simulation of a subset of the individual's actions within the computer-created setting, and/or through a simulation of the individual or his presence within the computer- created setting.
- a MR setting refers to a simulated setting that is designed to integrate computer-created sensory inputs (e.g., virtual objects) with sensory inputs from the physical setting, or a representation thereof.
- a mixed reality setting is between, and does not include, a VR setting at one end and an entirely physical setting at the other end.
- computer-created sensory inputs may adapt to changes in sensory inputs from the physical setting.
- some electronic systems for presenting MR settings may monitor orientation and/or location with respect to the physical setting to enable interaction between virtual objects and real objects (which are physical elements from the physical setting or representations thereof). For example, a system may monitor movements so that a virtual plant appears stationary with respect to a physical building.
- An AR setting refers to a simulated setting in which at least one virtual object is superimposed over a physical setting, or a representation thereof.
- an electronic system may have an opaque display and at least one imaging sensor for capturing images or video of the physical setting, which are representations of the physical setting. The system combines the images or video with virtual objects, and displays the combination on the opaque display.
- An individual using the system, views the physical setting indirectly via the images or video of the physical setting, and observes the virtual objects superimposed over the physical setting.
- image sensor(s) to capture images of the physical setting, and presents the AR setting on the opaque display using those images, the displayed images are called a video pass-through.
- an electronic system for displaying an AR setting may have a transparent or semi-transparent display through which an individual may view the physical setting directly.
- the system may display virtual objects on the transparent or semi- transparent display, so that an individual, using the system, observes the virtual objects superimposed over the physical setting.
- a system may comprise a projection system that projects virtual objects into the physical setting.
- the virtual objects may be projected, for example, on a physical surface or as a holograph, so that an individual, using the system, observes the virtual objects superimposed over the physical setting.
- An augmented reality setting also may refer to a simulated setting in which a representation of a physical setting is altered by computer-created sensory information. For example, a portion of a representation of a physical setting may be graphically altered (e.g., enlarged), such that the altered portion may still be representative of but not a faithfully reproduced version of the originally captured image(s). As another example, in providing video pass-through, a system may alter at least one of the sensor images to impose a particular viewpoint different than the viewpoint captured by the image sensor(s). As an additional example, a representation of a physical setting may be altered by graphically obscuring or excluding portions thereof.
- An AV setting refers to a simulated setting in which a computer-created or virtual setting incorporates at least one sensory input from the physical setting.
- the sensory input(s) from the physical setting may be representations of at least one characteristic of the physical setting.
- a virtual object may assume a color of a physical element captured by imaging sensor(s).
- a virtual object may exhibit characteristics consistent with actual weather conditions in the physical setting, as identified via imaging, weather-related sensors, and/or online weather data.
- an augmented reality forest may have virtual trees and structures, but the animals may have features that are accurately reproduced from images taken of physical animals.
- a head mounted system may have an opaque display and speaker(s).
- a head mounted system may be designed to receive an external display (e.g., a smartphone).
- the head mounted system may have imaging sensor(s) and/or microphones for taking images/video and/or capturing audio of the physical setting, respectively.
- a head mounted system also may have a transparent or semi-transparent display.
- the transparent or semi-transparent display may incorporate a substrate through which light representative of images is directed to an individual's eyes.
- the display may incorporate LEDs, OLEDs, a digital light projector, a laser scanning light source, liquid crystal on silicon, or any combination of these technologies.
- the substrate through which the light is transmitted may be a light waveguide, optical combiner, optical reflector, holographic substrate, or any combination of these substrates.
- the transparent or semi-transparent display may transition selectively between an opaque state and a transparent or semi-transparent state.
- the electronic system may be a projection-based system.
- a projection-based system may use retinal projection to project images onto an individual's retina.
- a projection system also may project virtual objects into a physical setting (e.g., onto a physical surface or as a holograph).
- SR systems include heads up displays, automotive windshields with the ability to display graphics, windows with the ability to display graphics, lenses with the ability to display graphics, headphones or earphones, speaker arrangements, input mechanisms (e.g., controllers having or not having haptic feedback), tablets, smartphones, and desktop or laptop computers.
- FIG. 1 A and FIG. IB depict exemplary system 100 for use in various simulated reality technologies, including virtual reality and mixed reality.
- system 100 includes device 100a.
- Device 100a includes various components, such as processor(s) 102, RF circuitry(ies) 104, memory(ies) 106, image sensor(s) 108, orientation sensor(s) 110, microphone(s) 112, location sensor(s) 116, speaker(s) 118, display(s) 120, and touch-sensitive surface(s) 122. These components optionally communicate over communication bus(es) 150 of device 100a.
- elements of system 100 are implemented in a base station device (e.g., a computing device, such as a remote server, mobile device, or laptop) and other elements of the system 100 are implemented in a second device (e.g., a head-mounted device).
- a base station device e.g., a computing device, such as a remote server, mobile device, or laptop
- a second device e.g., a head-mounted device
- device 100a is implemented in a base station device or a second device.
- system 100 includes two (or more) devices in communication, such as through a wired connection or a wireless connection.
- First device 100b e.g., a base station device
- processor(s) 102 e.g., a base station device
- RF circuitry(ies) 104 e.g., RF circuitry
- memory(ies) 106 e.g., EEPROM
- These components optionally communicate over communication bus(es) 150 of device 100b.
- Second device 100c (e.g., a head-mounted device) includes various components, such as processor(s) 102, RF circuitry(ies) 104, memory(ies) 106, image sensor(s) 108, orientation sensor(s) 110, microphone(s) 112, location sensor(s) 116, speaker(s) 118, display(s) 120, and touch-sensitive surface(s) 122. These components optionally communicate over communication bus(es) 150 of device 100c.
- System 100 includes processor(s) 102 and memory(ies) 106.
- Processor(s) 102 include one or more general processors, one or more graphics processors, and/or one or more digital signal processors.
- memory(ies) 106 are one or more non- transitory computer-readable storage mediums (e.g., flash memory, random access memory) that store computer-readable instructions configured to be executed by processor(s) 102 to perform the techniques described below.
- System 100 includes RF circuitry(ies) 104.
- RF circuitry(ies) 104 optionally include circuitry for communicating with electronic devices, networks, such as the Internet, intranets, and/or a wireless network, such as cellular networks and wireless local area networks (LANs).
- RF circuitry(ies) 104 optionally includes circuitry for communicating using near-field communication and/or short-range communication, such as Bluetooth®.
- System 100 includes display(s) 120.
- Display(s) 120 may have an opaque display.
- Display(s) 120 may have a transparent or semi-transparent display that may incorporate a substrate through which light representative of images is directed to an individual's eyes.
- Display(s) 120 may incorporate LEDs, OLEDs, a digital light projector, a laser scanning light source, liquid crystal on silicon, or any combination of these technologies.
- the substrate through which the light is transmitted may be a light waveguide, optical combiner, optical reflector, holographic substrate, or any combination of these substrates.
- the transparent or semi-transparent display may transition selectively between an opaque state and a transparent or semi-transparent state.
- system 100 may be designed to receive an external display (e.g., a smartphone).
- system 100 is a projection- based system that uses retinal projection to project images onto an individual's retina or projects virtual objects into a physical setting (e.g., onto a physical surface or as a holograph).
- system 100 includes touch-sensitive surface(s) 122 for receiving user inputs, such as tap inputs and swipe inputs.
- touch-sensitive surface(s) 122 for receiving user inputs, such as tap inputs and swipe inputs.
- display(s) 120 and touch-sensitive surface(s) 122 form touch-sensitive display(s).
- System 100 includes image sensor(s) 108.
- Image sensors(s) 108 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 a physical setting.
- Image sensor(s) 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 physical setting.
- IR infrared
- an active IR sensor includes an IR emitter, such as an IR dot emitter, for emitting infrared light into the physical setting.
- Image sensor(s) 108 also optionally include one or more event camera(s) configured to capture movement of physical objects in the physical setting.
- Image sensor(s) 108 also optionally include one or more depth sensor(s) configured to detect the distance of physical objects from system 100.
- system 100 uses CCD sensors, event cameras, and depth sensors in combination to detect the physical setting around system 100.
- image sensor(s) 108 include a first image sensor and a second image sensor. The first image sensor and the second image sensor are optionally configured to capture images of physical objects in the physical setting from two distinct perspectives.
- system 100 uses image sensor(s) 108 to receive user inputs, such as hand gestures.
- system 100 uses image sensor(s) 108 to detect the position and orientation of system 100 and/or display(s) 120 in the physical setting. For example, system 100 uses image sensor(s) 108 to track the position and orientation of display(s) 120 relative to one or more fixed elements in the physical setting.
- system 100 includes microphones(s) 112.
- System 100 uses microphone(s) 112 to detect sound from the user and/or the physical setting of the user.
- microphone(s) 1 12 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 physical setting.
- System 100 includes orientation sensor(s) 110 for detecting orientation and/or movement of system 100 and/or display(s) 120.
- system 100 uses orientation sensor(s) 110 to track changes in the position and/or orientation of system 100 and/or display(s) 120, such as with respect to physical objects in the physical setting.
- Orientation sensor(s) 110 optionally include one or more gyroscopes and/or one or more accelerometers.
- Device 100a is capable of supporting a variety of applications, such as one or more of the following: a drawing application, a presentation application, a word processing application, a website creation application, a disk authoring application, a spreadsheet application, a gaming application, a telephone application, a video conferencing application, an e mail application, an instant messaging application, a workout support application, a photo management application, a digital camera application, a digital video camera application, a web browsing application, a digital music player application, a digital video player application, and/or navigation applications.
- applications such as one or more of the following: a drawing application, a presentation application, a word processing application, a website creation application, a disk authoring application, a spreadsheet application, a gaming application, a telephone application, a video conferencing application, an e mail application, an instant messaging application, a workout support application, a photo management application, a digital camera application, a digital video camera application, a web browsing application, a digital music player application, a digital video player application,
- the various applications include a set of instructions that are executed on device 100a.
- One or more functions of the device, as well as corresponding information displayed on the device, are, optionally, adjusted and/or varied from one application to the next and/or within a respective application.
- a common architecture of the device optionally supports the variety of applications with user interfaces that are intuitive and transparent to the user.
- device 100a facilitates a user's interaction with the applications or other virtual objects by detecting (e.g., using image sensor(s) 108), in the physical setting, gestures or other input from a user. For example, using image sensor(s) 108, device 100a may detect a position, or series of movements, of a user's hand and/or fingers in the physical setting. Device 100a then interprets these detected positions and/or movements of the user's hand and/or fingers as an input (e.g., user input) for interfacing with a virtual object such as a representation of an application displayed in the simulated reality setting.
- a virtual object such as a representation of an application displayed in the simulated reality setting.
- the device allows a user to interact with the displayed representation of the application, and/or other virtual objects in the simulated reality setting, by performing gestures or motions in the physical setting.
- the device may also detect (e.g., using image sensor(s) 108) these gestures and/or motions and interpret them as input (e.g., user input) for interacting with physical objects represented on display 120 of device 100a in the simulated reality setting.
- FIGs. 2A-2G illustrate various embodiments of device 100a displaying, on display 120, a representation of one or more applications in a simulated reality setting.
- Device 100a is an embodiment of system 100, as described in reference to FIGs. 1A-1B.
- device 100a is shown as a mobile device, such as a mobile phone. It should be understood, however, that device 100a can be any device configured to display a simulated reality setting.
- Each representation of an application is a computer-generated user interface (UI) of the application displayed by device 100a on display 120 as a component of the simulated reality setting.
- Device 100a generates each representation of an application with various attributes such as, for example, the visual appearance of the representation of the application, the displayed orientation of the representation of the application, operation of the application, and the displayed location of the representation of the application.
- Device 100a determines the various attributes of the representation of the application based on a detected position of a corresponding token relative to a physical object in the physical setting (or relative to a representation of the physical object) such as, for example, a tabletop surface.
- device 100a modifies one or more of the attributes of the representation of the application corresponding to the token, as discussed in greater detail below with respect to FIGs. 2A-2G.
- the visual appearance of the representation of the application includes visual features such as content displayed by the representation of the application, portions of the visual representation of the application itself, or visual aspects of the representation of the application, such as size, color, font, shape, opaqueness, etc.
- Other embodiments include displayed visual states or objects of the application UI, such as an icon UI, widget UI, full application UI, or window size.
- a visual state of a representation of an application is indicated by the displayed visual features, wherein the representation of the application is enabled to display a fewer or greater amount of visual features, depending on the visual state of the representation of the application.
- the representation of the application when the representation of the application is in a minimized visual state, the representation of the application is displayed as a small object, such as an icon or other visual object (e.g., a window) that represents the associated application and takes up a minimal amount of visual space in the simulated reality setting.
- the representation of the application is enabled to display a limited amount of information in the minimized visual state, such as a badge or other data specific to the application that can be displayed in the small visual space of the minimized visual state.
- the representation of the application can be displayed in a maximized visual state in which the representation of the application is displayed as a fully formed object (e.g., a full-scale version of the application in its opened state) displayed to take up an amount of visual space in the simulated reality setting that allows the user to fully interact with the application.
- the representation of the application is displayed in a limited visual state in which the representation of the application is displayed to take up less visual space in the simulated reality setting than the fully formed object of the maximized state, but slightly more visual space than the small object of the minimized state.
- the object displayed in the limited visual state is referred to as a "widget.” The widget is enabled to display slightly more information than the minimized visual state of the representation of the application.
- the widget may display a single, unread message and option for responding to the message when the application is a messaging application.
- the widget may display a quote of a single stock when the application is a stock application.
- the widget may display the weather of a single location when the application is a weather application.
- the displayed orientation of the representation of the application includes an orientation of the representation of the application as displayed in the simulated reality setting relative to an actual location of a user, or an anticipated or expected location of the user.
- the location of the user (actual, anticipated, expected, or otherwise) may be approximated based on one or more factors, such as the location or position of device 100a, the location or position of the physical surface, and/or the locations or positions of one or more physical or virtual tokens.
- the orientation of the representation of the application is the orientation of the representation of the application as displayed in the simulated reality setting relative to device 100a.
- operation of the application includes the functionality of the application - the degree to which the application is capable of (or enabled for) operating or interacting with a user.
- the operation of the application is indicated by the enabled functionality of the application.
- the application is in a reduced operational state (e.g., the operability of the application is reduced relative to another operational state) or an increased operational state (e.g., the operability of the application is increased relative to another operational state) depending on whether or not the application is enabled to perform a greater or fewer amount of functions than it was enabled to perform in a previous operational state.
- a reduced operational state is an inactive state, or minimized operational state, in which the application is not open or active (e.g., the application is not enabled to perform any functions, or is enabled to perform a very limited number of functions such as displaying data).
- an increased operational state is an active state, or maximized operational state, in which the application is open and provides complete functionality (e.g., the application is enabled to perform all functions intended for that application).
- a limited operational state in which the application is enabled to perform a limited amount of functions can be considered an increased operational state when compared to the inactive or minimized operational state, but can alternatively be considered a reduced operational state when compared to the active or maximized operational state.
- the displayed location of the representation of the application includes a two-dimensional location, three-dimensional location, and/or orientation of the representation of the application as displayed in the simulated reality setting.
- the displayed location of the representation of the application has a two-dimensional location determined with respect to a displayed representation of the physical surface, wherein the two-dimensional location of the representation of the application corresponds to the two-dimensional location of a physical token on the physical surface (or a two-dimensional location of a virtual token on a displayed representation of the physical surface).
- the displayed location of the representation of the application has a three-dimensional location, wherein the x- and y-coordinates of the three- dimensional location correspond to the two-dimensional location (x- and y-coordinates) of the physical token on the physical surface (or the two-dimensional location (x- and y- coordinates) of the virtual token on the displayed representation of the physical surface).
- the displayed orientation or displayed location of the representation of the application may be considered a component of the visual appearance of the representation of the application.
- the displayed orientation of the representation of the application can also be considered a component of the location of the representation of the application.
- representation of an application is displayed positioned above a representation of a corresponding token and having a virtual "tether" 205 providing a visual connection between the representation of the application and the representation of the token.
- the token is a physical object in the physical setting.
- the token is, optionally, displayed in the simulated reality setting as: (1) a representation of the physical object, (2) a virtual object, (3) a combination of a virtual object and a representation of the physical object, or (4) is not displayed at all in the simulated reality setting.
- the token is not a physical object in the physical setting but is, instead, a virtual object displayed in the simulated reality setting.
- device 100a may detect one or more inputs (e.g., user inputs) (e.g., gestures) in the physical setting to determine inputs (e.g., user inputs) for interacting with the virtual token. For example, device 100a may display the virtual token at a first displayed location on display 120. Device 100a then detects (e.g., using image sensor(s) 108) a user positioning their finger in the physical setting at a location in front of device 100a that corresponds to the location of the displayed virtual token when viewed on display 120 of device 100a.
- inputs e.g., user inputs
- device 100a may display the virtual token at a first displayed location on display 120.
- Device 100a detects (e.g., using image sensor(s) 108) a user positioning their finger in the physical setting at a location in front of device 100a that corresponds to the location of the displayed virtual token
- Device 100a detects the user moving their finger from the first location in the physical setting to a second location in the physical setting and, in response, displays movement of the displayed representation of the virtual token from the first displayed location to a second displayed location.
- the second displayed location corresponds to the second location of the user's finger in the physical setting when viewed on display 120 of device 100a.
- device 100a moves the virtual token from the first location to the second location in response to detecting gestures of the user's hand and/or fingers in the physical setting.
- device 100a detects (e.g., using image sensor(s) 108) physical token 211 positioned on physical tabletop surface 212 and displays, on display 120, representation 221 of the physical token positioned on representation 222 of the physical tabletop surface.
- Representation 221 of the physical token has a same position with respect to representation 222 of the physical tabletop surface as the position of physical token 211 with respect to physical tabletop surface 212.
- the device also displays representation 201 of an application corresponding to physical token 211 (and representation 221 of the physical token).
- One or more attributes of representation 201 of the application are based on the detected position of physical token 211 on tabletop surface 212.
- device 100a determines one or more attributes of representation 201 of the application based on a detected position of physical token 211 on tabletop surface 212.
- Device 100a also modifies one or more attributes of representation 201 of the application in response to detecting a change in the position of the physical token on tabletop surface 212.
- Device 100a is also capable of generating and displaying one or more virtual tokens positioned on representation 222 of the tabletop surface. Examples of such embodiments are shown in FIGs. 2C and 2E.
- the device displays a representation of an application corresponding to the virtual token.
- One or more attributes of the representation of the application are based on device 100a detecting the position of the virtual token with respect to representation 222 of the tabletop surface.
- Device 100a modifies one or more attributes of the representation of the application in response to detecting a change in the position of the virtual token with respect to representation 222 of the tabletop surface.
- physical tabletop surface 212 has a width of W extending from left side 212a of tabletop surface 212 to right side 212b of tabletop surface 212, and is shown having regions 213a, 213b, and 213c.
- Representation 222 of the tabletop surface is shown having dimensions similar to physical tabletop surface 212 and having corresponding representations of regions 223a, 223b, and 223c, respectively.
- Region 213a (and corresponding region 223a) is a region that is located farthest from device 100a (and, consequently, the user). When a token is positioned in region 213a or
- region 223a which is the region located farthest from the user (or device 100a)
- device 100a interprets the position of the token in this region as an indication that the user is not seeking to interact with an application associated with the token.
- region 213c (and corresponding region 223c) is a region that is located closest to device 100a.
- device 100a interprets the position of the token in this region as an indication that the user has an immediate need or desire to access or interact with an application associated with the token because the user has positioned the token in the region located closest to the user (or device 100a).
- Region 213b (and corresponding region 223b) is a region that is located between region 213a and 213c (and corresponding regions 223a and 223c).
- device 100a interprets the position of the token in this region as an indication that the user has no immediate need or desire to access or interact with an application associated with the token, but may want to have limited interaction with, or access to, the application because the user has positioned the token in an intermediate region from the user that is not as convenient as the closest region (213c or 223c), but also not as distant as the farthest region (213a or 223a).
- regions 213 and corresponding regions 223 are not limited to the spacing and positions shown in the figures, and can all be different sizes, shapes, and positions than what is shown in the figures.
- regions 213c can be as shown in FIG. 2 A, while regions 213a and 213b can be narrowed to fit in region 213b shown in FIG. 2 A.
- regions 213 can be positioned on tabletop surface 212 as arcs that radiate concentrically from device 100a.
- device 100a can display the representations of corresponding regions 223 on display 120 as including markings, highlighting, or some other visual effect to distinguish regions 223 on display 120, thereby allowing the user to more easily and accurately identify regions 223 on representation 222 of the tabletop surface.
- representation 201 of the application is shown transitioning between various visual states and operational states based on the position of token 211.
- the application represented by representation 201 of the application is shown as different types of applications (e.g., messaging applications, calendar applications, web browsing applications, etc.), while the reference numerals (e.g., 201, 221) remain consistent in the figures.
- the various examples of applications are provided to illustrate the variation in the different attributes, including visual states and operational states, of representation 201 of the application and not, necessarily, that the application itself changes as token 211 is moved among the various positions.
- the illustrated and described applications and attributes e.g., visual states and operational states
- any application can be represented in any of the visual and operational states shown in the figures and discussed herein.
- each visual and operational state can be used to represent any application, and not just those shown in the figures and discussed herein.
- device 100a detects (e.g., using image sensor(s) 108) physical token 211 positioned in region 213a of physical tabletop surface 212, approximately 25% of the width W from right side 212b of tabletop surface 212.
- device 100a displays, on display 120, representation 221 of the physical token having a corresponding two-dimensional position on representation 222 of the physical surface (e.g., approximately 25% from the right edge of representation 222 of the physical surface) in corresponding region 223 a, and having representation 201 of the application positioned above representation 221 of the token.
- device 100a Because device 100a detects the position of physical token 211 as being located in region 213a, which is located farthest from the user, the device determines that the user has no need or desire for accessing or interacting with the application. Accordingly, device 100a displays representation 201 of the application in a minimized visual state (e.g., to minimize obstruction of visual display 120) and reduces the operational state of the application to a minimized (e.g., inactive) operational state (e.g., to conserve system resources such as battery consumption and processing capacity). Device 100a displays representation 201 of the application in a minimized visual state by displaying representation 201 as an icon or other small object that represents the associated application and takes up a minimal amount of visual space on display 120. In some embodiments of a minimized visual state,
- representation 201 of the application includes one or more badges 225 indicating, for example, a number of unread notifications associated with the corresponding application.
- the application is a calendar application
- representation 201 of the calendar application is displayed as an icon for the calendar application that displays the date and includes badge 225 indicating three unread notifications associated with the calendar application.
- device 100a reduces the operational state of the application to a minimized, or inactive, operational state.
- the application or representation 201 of the application
- the application provides little or no functionality.
- the application is not opened or active, but is enabled to provide limited information or functionality by displaying badge 225 and other data (e.g., the current date) that requires minimal processing or functionality of the application.
- device 100a detects physical token 211 positioned in region 213b of physical tabletop surface 212, approximately 25% of the width W from left side 212a of tabletop surface 212.
- device 100a displays, on display 120, representation 221 of the physical token having a corresponding two-dimensional position on representation 222 of the physical surface (e.g., approximately 25% from the left edge of representation 222 of the physical surface) in corresponding region 223b, and having representation 201 of the application positioned above representation 221 of the token.
- device 100a Because device 100a detects the position of physical token 211 as being located in region 213b, which is an intermediate region from the user, the device determines that the user has no immediate need or desire for accessing or interacting with the application, but may want to have limited interaction with, or access to, the application. Accordingly, device 100a transitions the display of representation 201 of the application to a limited visual state (e.g., to reduce obstruction of visual display 120, while still displaying a greater amount of content or information than in the inactive state) and transitions the operational state of the application to a limited operational state (e.g., to conserve system resources such as battery consumption and processing capacity, while still providing greater functional capacity than in the inactive state).
- a limited visual state e.g., to reduce obstruction of visual display 120, while still displaying a greater amount of content or information than in the inactive state
- operational state of the application e.g., to conserve system resources such as battery consumption and processing capacity, while still providing greater functional capacity than in the inactive state.
- Device 100a displays representation 201 of the application in a limited visual state by displaying representation 201 as a widget or other object that represents the associated application, takes up a smaller amount of visual space on display 120 than the full application UI, and displays a greater amount of content or information than the icon displayed when the application is in the inactive state (shown in FIG. 2A).
- representation 201 of the application includes limited content of the application. For example, in the embodiment illustrated in FIG.
- the application is a messaging application
- representation 201 of the messaging application is displayed as a widget UI for the messaging application that displays name 230 of a contact, the latest message 231 (either received from or, optionally, sent to the contact), and a displayed function 232 for accessing the messaging the application (e.g., a reply function for replying to message 231).
- device 100a transitions the operational state of the application to a limited operational state.
- the application (or representation 201 of the application) is enabled to perform a limited amount of functions (e.g., typically a greater number of functions that the minimized operational state, but less than the maximized operational state).
- the application is enabled to display contact 230, message 231, and function 232.
- the application is also enabled to process user input to execute function 232, which in this embodiment, includes processing user input to generate and send a message to contact 230 in response to message 231.
- device 100a is capable of processing input (e.g., user input) in the form of a user's gaze (e.g., detected by image sensor(s) 108) and speech (e.g., detected by microphone 112) to execute a reply function, such as that shown in FIG. 2B.
- input e.g., user input
- a user's gaze e.g., detected by image sensor(s) 108
- speech e.g., detected by microphone 112
- device 100a detects (e.g., using image sensor(s) 108) physical token 211 positioned in region 213c of the physical tabletop surface 212, approximately halfway between left side 212a and right side 212b of tabletop surface 212.
- device 100a displays, on display 120, representation 221 of the physical token having a corresponding two- dimensional position on representation 222 of the physical surface (e.g., approximately halfway between the left and right edges of representation 222 of the physical surface) in corresponding region 223 c, and having representation 201 of the application positioned above representation 221 of the token.
- device 100a Because device 100a detects the position of physical token 211 as being located in region 213c, which is located closest to the user, the device determines that the user has an immediate need or desire for accessing or interacting with the application. Accordingly, device 100a transitions the displayed representation 201 of the application to a maximized visual state (e.g., to allow a user to fully interact with the application) and transitions the operational state of the application to a maximized (e.g., active or open) operational state (e.g., to allow the user to fully interact with the application).
- Device 100a displays representation 201 of the application in a maximized visual state by displaying representation 201 as a full-scale version of the application so that a user can fully interact with the application.
- the application is a web browsing application
- representation 201 of the web browsing application is displayed as a full web browsing UI that displays, for example, URL 234, webpage 235, webpage navigation buttons 236, and other features for allowing full user interaction with the web browsing application.
- device 100a transitions the operational state of the application to a maximized, or active, operational state.
- the application (or representation 201 of the application) provides complete functionality.
- the application is enabled to perform all functions intended for that application.
- the web browsing application in FIG. 2C is enabled to fully operate for its intended purpose, including receiving and processing user input to enable all features and functionality of the web browsing application.
- device 100a also displays, on display 120, virtual token 240 positioned in region 223 a of representation 222 of the physical surface. In response to determining this position of virtual token 240, device 100a also displays representation 241 of an application associated with virtual token 240, wherein representation 241 of the application is positioned above virtual token 240. Because the virtual token is located in region 223a, which is located farthest from the user, device 100a determines the user has no need or desire for accessing or interacting with the application and, therefore, displays representation 241 of the application in a minimized visual state and reduces the operational state of the application to a minimized operational state. As shown in FIG.
- device 100a by displaying representation 241 of the application in the minimized visual state, device 100a is able to conveniently display both representation 201 of the application in the maximized visual state and representation 241 of the application in the minimized state, while minimizing obstruction of the visual space in the simulated reality setting to reduce visual distractions to the user.
- device 100a By reducing the operational state of the application associated with virtual token 240, device 100a is able to conserve system resources, while still allowing a user to fully interact with representation 201 of the application in the maximized operational state.
- device 100a also displays a virtual user interface, which is a computer-generated object displayed in the simulated reality setting for receiving input (e.g., user input) and facilitating user interaction with an application.
- a virtual user interface which is a computer-generated object displayed in the simulated reality setting for receiving input (e.g., user input) and facilitating user interaction with an application.
- device 100a displays, on display 120, virtual user interface 250 for receiving user input and facilitating user interaction with representation 201 of the application, which is shown in a maximized visual state and having a maximized operational state in accordance with the above discussion of FIG. 2C.
- Virtual user interface 250 is displayed on representation 222 of the physical surface at a location convenient to the user, such as region 223c, and having various features for receiving input (e.g., user input).
- Device 100a detects (e.g., using image sensor(s) 108), user gestures at a location on physical surface 212 corresponding to the displayed location of virtual user interface 250 on representation 222 of the physical surface, and interprets these gestures as input on virtual user interface 250, which device 100a also interprets as input for the application.
- the virtual user interface may resemble a virtual keyboard, such as that shown in FIG. 2D, wherein a user may provide input by touching various locations of the virtual keyboard, which are detected by device 100a.
- the virtual user interface may resemble a displayed surface similar to a track-pad.
- device 100a displays the virtual user interface regardless of the position of the token (e.g., 211) or the displayed and operational states of the corresponding representation (e.g., 201) of the application.
- device 100a can display the virtual user interface when physical token 211 is positioned in region 213a, 213b, or 213c of physical surface 212.
- device 100a can display the virtual user interface when a virtual token (e.g., 240) is positioned in region 223a, 223b, or 223c of representation 222 of the physical surface.
- a virtual token e.g., 240
- device 100a includes infrared (IR) sensor(s), such as a passive IR sensor or an active IR sensor, for detecting a user touch on physical surface 212.
- IR infrared
- an active IR sensor includes an IR emitter, such as an IR dot emitter, for emitting infrared light into the physical setting.
- an IR sensor(s) is included in the physical token (e.g., 211).
- the IR sensor(s) is a separate component of system 100 that is positioned, for example, on physical surface 212 for detecting user contact with physical surface 212. An example of such an embodiment is illustrated in FIG. 2E, which shows IR sensor 260 positioned on physical surface 212.
- Device 100a displays, on display 120, virtual tokens 262, 264, and 266, and representations
- Device 100a also displays, optionally, representation 270 of IR sensor 260 on representation 222 of the physical surface.
- IR sensor 260 is positioned in the center of physical surface 212 so that IR sensor 260 can detect user contact with physical surface 212 (e.g., for interacting with virtual tokens 262, 264, and 266) in any direction from IR sensor 260.
- the attributes of representations 263, 265, and 267 of the applications are determined based on the detected positions of respective virtual tokens 262, 264, and 266 on representation 222 of the physical surface, similar to the way in which the attributes of representation 201 of the application are determined based on the detected position of physical token 211 on physical surface 212.
- device 100a modifies one or more attributes of the representation (e.g., 201) of the application based on detecting a change in the position of the physical token (e.g., 211) on the physical surface (e.g., 212), or based on detecting a change in the position of a virtual token (e.g., 240, 262, 264, 266) on the representation (e.g., 222) of the physical surface.
- the change in position of the token may include a rotation of the token
- the corresponding change in attribute includes a change in the displayed orientation of the representation of the application corresponding to the rotated token.
- FIGs. 2F and 2G show token 211 having indicia 275 positioned facing front side 212c of physical surface 212 in FIG. 2F, and rotated counterclockwise approximately 45 degrees toward right side 212b of physical surface 212 in FIG. 2G.
- device 100a detects the position of token 211 with indicia 275 facing front side 212c of physical surface 212, and device 100a displays representation 201 of the application having a displayed orientation facing towards a corresponding front side (not shown) of representation 222 of the physical surface.
- device 100a detects rotation of token 211 by about 45 degrees in a counterclockwise direction and, in response, rotates the displayed orientation of representation 201 of the application approximately 45 degrees in a counterclockwise direction to match the rotation of token 211.
- FIGs. 1 illustrates the embodiment illustrated in FIGs.
- device 100a is described as modifying the displayed orientation of representation 201 of the application relative to representation 222 of the physical surface, specifically, a front side of representation 222 of the physical surface, which also corresponds to the position of device 100a.
- the relative positions of the front side of representation 222 of the physical surface and device 100a are the same in the embodiment illustrated in FIGs. 2F and 2G.
- device 100a modifies the displayed orientation of representation 201 of the application with respect to the perspective of device 100a, and not necessarily with respect to representation 222 of the physical surface, even though those two perspectives can be consistent with each other.
- device 100a may change the orientation of representation 201 of the application in response to other detected changes in orientation of token 211.
- the device may adjust the orientation of representation 201 of the application in an up-or-down direction in response to detecting an up-or-down rotation of token 211.
- FIG. 3 depicts an exemplary technique 300 for displaying one or more
- the technique is carried out by system 100 described in reference to FIGs. 1A-1B and 2A-2G.
- the device determines a position (e.g., two-dimensional location, three-dimensional location, and/or orientation) of a physical object (e.g., a token 211 that is a physical object from the physical setting that is visible in the simulated reality setting) on a physical surface (e.g., a tabletop surface 212 in the physical setting).
- a physical object e.g., a token 211 that is a physical object from the physical setting that is visible in the simulated reality setting
- a physical surface e.g., a tabletop surface 212 in the physical setting.
- the physical surface is visible in the simulated reality setting.
- the physical object is a predefined physical object such as a physical token having a particular design or shape (e.g., hemi-sphere, cylinder, puck).
- the physical object is not an electronic device, or alternatively, lacks a CPU, memory, and/or communication circuitry (e.g., wireless communication circuitry).
- the physical object can be represented as a virtual object that is computer generated and displayed in the simulated reality setting.
- the token is not a physical object but is, instead, a virtual object (e.g., 240, 262, 264, 266) that is computer generated and displayed in the simulated reality setting.
- the device displays a representation (e.g., representation 201, the computer-generated UI of the application displayed as a component of the simulated reality setting) of an application in a simulated reality setting.
- a representation e.g., representation 201, the computer-generated UI of the application displayed as a component of the simulated reality setting
- One or more attributes of the representation of the application are based on the position of the physical object (e.g., token 211) on the physical surface (e.g., 212).
- the attributes include, for example, visual appearance (e.g., full application UI, widget UI, icon UI, window size), orientation of the representation of the application, operation of the application (e.g., full operation, limited operation, no operation), and displayed location of the representation of the application in the simulated reality setting.
- the representation of the application has different
- the representation (e.g., 201) of the application is displayed having an elevated position above the physical object (e.g., representation 201 of the application is floating above representation 221 of the physical object) in the virtual simulated reality setting.
- the representation of the application is displayed having a visual connection to the representation of the token.
- the visual connection includes a virtual tether (e.g., 205) connecting the displayed representation of the application to representation 221 of the token.
- a virtual tether e.g., 205
- displaying the representation (e.g., 201) of the application comprises displaying a virtual user interface (e.g., 250) for providing input (e.g., user input) to the application.
- the displayed virtual user interface is displayed, in some embodiments, at a location on the physical surface (e.g., at region 223c of representation 222 of the physical surface as shown in FIG. 2D) adjacent a user (e.g., an actual location of the user, an anticipated or expected location of the user, or a location of device 100a).
- the user is capable of providing user input to the application by interacting with the virtual user interface.
- the virtual user interface is a computer- generated surface displayed on representation 222 of the physical surface in the simulated reality setting.
- the device modifies, at block 306, the one or more attributes (e.g., display (visual appearance, orientation, location of the representation (e.g., 201) of the application) and operation of the application) of the representation (e.g., 201) of the application based on the change in position of the physical object (e.g., token 211) on the physical surface (e.g., tabletop 212).
- the device changes the representation of the application in response to detecting a change in the physical position of the token (e.g., 211). In some embodiments, the device changes the orientation of the representation of the application (e.g., as shown in FIGs. 2F and 2G) in response to detecting rotation of the token. In some embodiments, the device changes the location of the displayed representation (e.g., 201) of the application in the simulated reality setting in response to detecting a change in the physical location of the token on the physical surface. In some embodiments, the device changes the appearance of the UI of the application (e.g., the representation 201 of the application) displayed in the simulated reality setting in response to detecting a change in the location of the token on the physical surface. In some embodiments, the device changes the representation of the application in response to detecting a change in the physical position of the token on the physical surface. In some embodiments, the device changes the representation of the application in response to detecting a change in the physical position of the token (e.g., 211). In some
- the device changes the operation of the application displayed in the simulated reality setting in response to detecting a change in the location of the token on the physical surface.
- modifying the one or more attributes of the representation of the application comprises modifying the display of the representation (e.g., 201) of the application based on the change in position of the physical object (e.g., 211) on the physical surface (e.g., 212). In some embodiments, this includes modifying the visual appearance, orientation, or location of the representation of the application as displayed in the simulated reality setting.
- the one or more attributes comprise an orientation of the representation (e.g., 201) of the application as displayed in the simulated reality setting with respect to a user (e.g., an orientation of the representation of the application as displayed in the simulated reality setting relative to an actual location of the user, an anticipated or expected location of the user (e.g., based on a perspective of the image data displayed on display 120 of device 100a), or a location of the device (e.g., 100a)).
- the change in the position of the physical object (e.g., 211) on the physical surface (e.g., 212) comprises a rotation of the physical object on the physical surface. For example, a rotation as shown in FIGs.
- modifying the one or more attributes of the representation of the application based on the change in position of the physical object on the physical surface comprises changing the orientation of the
- a magnitude e.g., 45 degrees as shown in FIG. 2G
- a direction e.g., counterclockwise as shown in FIG. 2G
- the representation (e.g., 201) of the application is rotated in a direction that corresponds to the direction of rotation of the physical object and by a magnitude that corresponds to the magnitude of rotation of the physical object.
- rotating the physical object about an x-axis includes rotating the physical object in an up-or-down motion.
- rotating the physical object about a y-axis includes rotating the physical object side-to-side.
- the magnitude of rotation is a degree of rotation (e.g., 45 degrees) about the axis of rotation.
- the magnitude of rotation is limited to a set range of rotation about the axis of rotation.
- the magnitude of rotation of the representation of the application is a magnitude that is scaled (e.g., dampened or amplified) relative to the magnitude of rotation of the physical object.
- the direction of rotation of the representation of the application is the same as the direction of rotation of the physical object (e.g., the physical object rotates clockwise and the representation of the application also rotates clockwise).
- the direction of rotation of the representation of the application is opposite the direction of rotation of the physical object (e.g., the physical object rotates clockwise, and the representation of the application rotates counterclockwise).
- the one or more attributes comprises a displayed location of the representation (e.g., 201) of the application (e.g., a location of the representation of the application as displayed in the simulated reality setting).
- the change in the position of the physical object (e.g., 211) on the physical surface (e.g., 212) comprises a change in the physical location of the physical object on the physical surface (e.g., a change in the two- dimensional location of the physical object on the physical surface).
- modifying the one or more attributes of the representation of the application based on the change in position of the physical object on the physical surface comprises changing the displayed location of the representation of the application based on at least one of a magnitude of the change in the physical location of the physical object on the physical surface or direction of the change in the physical location of the physical object on the physical surface.
- the physical object e.g., 211
- a second location on the physical surface e.g., a two- dimensional movement on the physical surface represented by a movement from a first two- dimensional coordinate corresponding to the first location of the physical object on the physical surface to a second two-dimensional coordinate corresponding to the second location of the physical object on the physical surface
- the displayed representation e.g., 201 of the application is moved from its initial displayed location in the simulated reality setting to a different displayed location in the simulated reality setting.
- the movement of the displayed representation of the application is in a direction that corresponds to the direction of movement of the physical object on the physical surface and by a magnitude (e.g., distance and/or velocity) that corresponds to the magnitude (e.g., distance and/or velocity) of the movement of the physical object on the physical surface.
- the magnitude of the movement of the physical object includes the physical distance between the first location of the physical object (e.g., the two-dimensional coordinate corresponding to the first location of the physical object on the physical surface) and the second location of the physical object (e.g., the two-dimensional coordinate corresponding to the second location of the physical object on the physical surface).
- the magnitude of the movement of the physical object includes a velocity of the movement of the physical object from the first location to the second location.
- the magnitude of the movement of the displayed representation of the application is a magnitude that is scaled (e.g., dampened or amplified) relative to the magnitude of the movement of the physical object.
- the direction of the movement of the displayed representation of the application is the same as the direction of movement of the physical object (e.g., the physical object moves left, and the displayed representation of the application also moves left).
- the direction of movement of the displayed representation of the application is opposite the direction of movement of the physical object (e.g., the physical object moves left, and the displayed representation of the application moves right).
- modifying the one or more attributes of the representation (e.g., 201) of the application comprises modifying operation (e.g., functionality, the degree to which the application is capable of operating or interacting with the user) of the application.
- the operation of the application transitions from a primary operational state (e.g., an increased operational state such as that shown in FIG. 2C or, in some embodiments, shown in FIG. 2B) to a secondary operational state (e.g., a reduced operational state such as that shown in FIG. 2A or, in some embodiments, shown in FIG. 2B), as the position of the physical object moves in a first direction.
- a primary operational state e.g., an increased operational state such as that shown in FIG. 2C or, in some embodiments, shown in FIG. 2B
- a secondary operational state e.g., a reduced operational state such as that shown in FIG. 2A or, in some embodiments, shown in FIG. 2B
- the first direction can be a direction away from an actual location of the user, or from an anticipated or expected location of the user, or away from device 100a (e.g., from region 213b to region 213a, or from region 213c to 213b).
- the operation of the application transitions from the secondary operational state to the primary operational state as the position of the physical object moves in a second direction different from the first direction.
- the second direction can be a direction towards an actual location of the user, towards an anticipated or expected location of the user, or towards the device (e.g., from region 213a to region 213b, or from region 213b to region 213c).
- the application While in the primary operational state, the application is enabled to perform a function (e.g., process a user input), and while in the secondary operational state, the application is not enabled to perform the function (e.g., process a user input.).
- the application provides greater functionality in the primary operational state than in the secondary operational state. In some embodiments, the application is enabled to process more data in the primary operational state than in the secondary operational state. In some embodiments, the application is enabled to interact more with the user in the primary operational state than in the secondary operational state. In some embodiments, the application provides less functionality in the secondary operational state than in the primary operational state. In some embodiments, the application is enabled to process less data in the secondary operational state than in the primary operational state. In some embodiments, the application is enabled to interact less with the user in the secondary operational state than in the primary operational state.
- modifying the one or more attributes of the representation of the application comprises modifying a visual appearance (e.g., full application UI, widget UI, icon UI, window size) of the representation (e.g., 201) of the application.
- the visual appearance of the representation of the application transitions from a primary visual state (e.g., such as that shown in FIG. 2C or, in some embodiments, shown in FIG. 2B) to a secondary visual state (e.g., such as that shown in FIG. 2A or, in some embodiments, shown in FIG. 2B) as the position of the physical object moves in a third direction.
- the third direction may be a direction away from an actual location of the user, from an anticipated or expected location of the user, or away from device 100a (e.g., from region 213c to region 213b, or from region 213b to region 213a).
- the third direction is the first direction.
- the visual appearance of the representation of the application transitions from the secondary visual state to the primary visual state as the position of the physical object moves in a fourth direction different from the third direction.
- the fourth direction may be a direction towards an actual location of the user, towards an anticipated or expected location of the user, or towards device 100a (e.g., from region 213a to region 213b, or from region 213b to region 213c).
- the fourth direction is the second direction.
- the application is enabled to display a visual feature
- the application is not enabled to display the visual feature.
- the visual feature may include, for example, a portion of the displayed representation of the application such as content displayed in the representation of the application, portions of the visual representation of the application itself, or visual aspects of the representation of the application such as size, color, opaqueness, etc.
- the visual appearance of the representation of the application, as displayed in the simulated reality setting includes at least one of an increased size or increased amount of content than while in the secondary visual state.
- the visual appearance of the representation of the application, as displayed in the simulated reality setting includes at least one of a decreased size or decreased amount of content than while in the primary visual state.
- determining the position of the physical object (e.g., 211) on the physical surface (e.g., 212) comprises determining whether a distance between the physical object and a user (e.g., an actual location of the user, an anticipated or expected location of the user, or a location of device 100a) exceeds a first predetermined threshold.
- the first predetermined threshold corresponds to a distance sufficient to determine the physical object is located in a region (e.g., 213a) on the physical surface located farthest from the user or device.
- modifying the one or more attributes of the representation of the application comprises: in accordance with a
- the application transitions to a first operational state.
- the physical object e.g., token 211
- the region on the physical surface e.g., 212 located farthest from the user (e.g., region 213a)
- the application transitions to an operational state that provides little or no functionality such as that shown in FIG. 2A.
- the first operational state is a minimized operational state in which the application does not process user input.
- determining the position of the physical object (e.g., 211) on the physical surface (e.g., 212) further comprises determining whether the distance between the physical object and the user (e.g., an actual location of the user, an anticipated or expected location of the user, or a location of device 100a) exceeds a second predetermined threshold.
- the second predetermined threshold corresponds to a distance sufficient to determine the physical object is located in a region (e.g., 213c) on the physical surface located closest to the user or device.
- modifying the one or more attributes of the representation of the application further comprises: in accordance with a determination that the distance between the physical object and the user (or device) does not exceed the second predetermined threshold, transitioning the application to a second operational state different than the first operational state. For example, when the physical object is located in the region on the physical surface located closest to the user (e.g., region 213c), the application transitions to an operational state that provides complete functionality such as that shown in FIG. 2C. In accordance with a determination that the distance between the physical object and the user exceeds the second predetermined threshold and does not exceed the first predetermined threshold, the application is transitioned to a third operational state different than the first and second operational states.
- the application transitions to an operational state that provides limited functionality such as that shown in FIG. 2B.
- the second operational state is a maximized operational state in which the application is capable of functioning at full capacity or without limiting features of the application.
- the third operational state is a limited operational state in which the application is capable of functioning with some capacity (greater than no functionality), but less than at full capacity.
- the limited functionality includes processing limited user inputs such as user inputs provided using at least one of speech or gaze (a detected location of the user's eye).
- the application is a messaging application and, when the application is in the limited operational state, the messaging application can display a received message (e.g., 231) and process user input provided by speech and detected eye movement to send a response to the received message, but cannot process the full range of user input that is provided when the application is in the maximized operational state.
- a received message e.g., 231
- determining the position of the physical object (e.g., 211) on the physical surface (e.g., 212) comprises determining whether a distance between the physical object and a user (e.g., an actual location of the user, an anticipated or expected location of the user, or a location of device 100a) exceeds a third predetermined threshold.
- the third predetermined threshold corresponds to a distance sufficient to determine the physical object is located in a region (e.g., 213a) on the physical surface located farthest from the user or device.
- the third predetermined threshold is the first predetermined threshold.
- modifying the one or more attributes of the representation of the application comprises: in accordance with a determination that the distance between the physical object and the user (or device) exceeds the third predetermined threshold, transitioning the representation of the application to a first visual state. For example, when the physical object is located in the region on the physical surface located farthest from the user (e.g., region 213a), the representation of the application is displayed as a small object such as an icon or other visual object, such as a window, that takes up a minimal amount of visual space in the simulated reality setting as shown in FIG. 2A.
- the first visual state is a minimized visual state in which the representation of the application includes a minimal amount of information displayed in the simulated reality setting.
- the representation of the application includes badges (e.g., badge 225 indicating a number of unread notifications), when the representation of the application is in the minimized visual state.
- the application is a calendar application and the information displayed in the minimized visual state of the representation of the application is the date.
- determining the position of the physical object (e.g., 211) on the physical surface (e.g., 212) further comprises determining whether the distance between the physical object and the user (e.g., an actual location of the user, an anticipated or expected location of the user, or a location of device 100a) exceeds a fourth predetermined threshold.
- the fourth predetermined threshold corresponds to a distance sufficient to determine the physical object is located in a region (e.g., 213c) on the physical surface located closest to the user or device.
- the fourth predetermined threshold is the second predetermined threshold.
- modifying the one or more attributes of the representation of the application further comprises: in accordance with a determination that the distance between the physical object and the user does not exceed the fourth predetermined threshold, transitioning the representation of the application to a second visual state different than the first visual state. For example, when the physical object is located in the region on the physical surface located closest to the user, the representation of the application is displayed as a fully formed object (a full-scale version of the application in its opened state as shown in FIG. 2C) displayed to take up an amount of visual space in the simulated reality setting that allows the user to fully interact with the application.
- the representation of the application is transitioned to a third visual state different than the first and second visual states. For example, when the physical object is located in an intermediate region (e.g., 213b) on the physical surface located between the region farthest from the user and the region closest to the user, the representation of the application is displayed to take up less visual space in the simulated reality setting than the fully formed object of the maximized state, but slightly more visual space than the small object of the minimized state as shown in FIG. 2B.
- an intermediate region e.g., 213b
- the second visual state is a maximized visual state in which the amount of information displayed by the representation of the application is unrestricted. In some embodiments, when the representation of the application is in the maximized visual state, the representation of the application displays an amount of information sufficient to allow full user interaction with the application for the application's intended purpose.
- the third visual state is a limited visual state in which the amount of information displayed by the representation of the application is less than the amount of information displayed in the maximized visual state, but greater than the amount of information displayed in the minimized visual state. In some embodiments, displaying the representation of the application in the limited visual state allows the application to convey some information to a user while minimizing distraction and reserving system resources. In some embodiments, such as that shown in FIG. 2B, the application is a messaging application, and the representation of the messaging application displays a single message 231 in the limited visual state.
- technique 300 further comprises displaying a virtual representation of the physical object (e.g., 211) (e.g., a computer-generated object) on the physical surface (e.g., 212) in the simulated reality setting.
- the change in the position of the physical object (e.g., 211) on the physical surface (e.g., 212) is detected by a sensor (e.g., infrared (IR) sensor 260 positioned on or near the physical surface).
- the physical object comprises the sensor (e.g., the IR sensor is included in the physical object).
- technique 300 further comprises while displaying the representation (e.g., 201) of the application, and prior to modifying the one or more attributes (e.g., visual appearance, orientation, operation of the application, displayed location of the representation of the application) of the representation of the application, detecting a change in the position of the physical object (e.g., 211) on the physical surface (e.g., 212).
- attributes e.g., visual appearance, orientation, operation of the application, displayed location of the representation of the application
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Human Computer Interaction (AREA)
- Multimedia (AREA)
- Computer Vision & Pattern Recognition (AREA)
- User Interface Of Digital Computer (AREA)
- Processing Or Creating Images (AREA)
Abstract
The present disclosure relates to techniques for displaying an application in a simulated reality setting. The techniques include determining a position of a physical object on a physical surface (or a position of a virtual object on a representation of the physical surface), displaying a representation of an application in a simulated reality setting, and modifying attributes of the representation of the application in response to detecting changes in the position of the physical object on the physical surface (or changes in the position of the virtual object on the representation of the physical surface). In some embodiments, the attributes of the representation of the application are based on the position of the physical object on the physical surface or the position of the virtual object on the representation of the physical surface.
Description
DISPLAYING APPLICATIONS IN A SIMULATED REALITY SETTING
CROSS-REFERENCE TO RELATED APPLICATIONS
[0001] This application claims priority to U.S. Provisional Patent Application No.
62/565,741, titled "Displaying Applications in a Mixed-Reality Environment," filed
September 29, 2017, the content of which is incorporated by reference in its entirety.
TECHNICAL FIELD
[0002] The present disclosure relates generally to simulated reality settings, and more specifically to representations of electronic products in simulated reality settings.
BACKGROUND
[0003] Devices, such as mobile phones, execute computer applications for performing various tasks. Users interact with the computer applications using application user interfaces. For example, users input information into the computer applications using the application user interfaces. For another example, computer applications use the application user interfaces to produce feedback based on received users' input.
SUMMARY
[0004] Described herein are techniques for displaying an application in a simulated reality setting. In some embodiments, the techniques include determining a position of a physical object on a physical surface; displaying a representation of an application in a simulated reality setting, wherein one or more attributes of the representation of the application are based on the position of the physical object on the physical surface; and in response to detecting a change in the position of the physical object on the physical surface, modifying the one or more attributes of the representation of the application based on the change in position of the physical object on the physical surface.
[0005] In some embodiments, modifying the one or more attributes of the representation of the application comprises modifying the display of the representation of the application based on the change in position of the physical object on the physical surface.
[0006] In some embodiments, the one or more attributes comprise an orientation of the representation of the application as displayed in the simulated reality setting with respect to a user; the change in the position of the physical object on the physical surface comprises a rotation of the physical object on the physical surface; and modifying the one or more attributes of the representation of the application based on the change in position of the physical object on the physical surface comprises changing the orientation of the
representation of the application based on at least one of a magnitude of the rotation of the physical object on the physical surface or a direction of the rotation of the physical object on the physical surface.
[0007] In some embodiments, the one or more attributes comprises a displayed location of the representation of the application; the change in the position of the physical object on the physical surface comprises a change in the physical location of the physical object on the physical surface; and modifying the one or more attributes of the representation of the application based on the change in position of the physical object on the physical surface comprises changing the displayed location of the representation of the application based on at least one of a magnitude of the change in the physical location of the physical object on the physical surface or direction of the change in the physical location of the physical object on the physical surface.
[0008] In some embodiments, modifying the one or more attributes of the representation of the application comprises modifying operation of the application; the operation of the application transitions from a primary operational state to a secondary operational state as the position of the physical object moves in a first direction; the operation of the application transitions from the secondary operational state to the primary operational state as the position of the physical object moves in a second direction different from the first direction; while in the primary operational state, the application is enabled to perform a function; and while in the secondary operational state, the application is not enabled to perform the function.
[0009] In some embodiments, modifying the one or more attributes of the representation of the application comprises modifying a visual appearance of the representation of the application; the visual appearance of the representation of the application transitions from a primary visual state to a secondary visual state as the position of the physical object moves in a third direction; the visual appearance of the representation of the application transitions from the secondary visual state to the primary visual state as the position of the physical
object moves in a fourth direction different from the third direction; while in the primary visual state, the application is enabled to display a visual feature; and while in the secondary visual state, the application is not enabled to display the visual feature.
[0010] In some embodiments, determining the position of the physical object on the physical surface comprises determining whether a distance between the physical object and a user exceeds a first predetermined threshold; and modifying the one or more attributes of the representation of the application comprises: in accordance with a determination that the distance between the physical object and the user exceeds the first predetermined threshold, transitioning the application to a first operational state.
[0011] In some embodiments, determining the position of the physical object on the physical surface further comprises determining whether the distance between the physical object and the user exceeds a second predetermined threshold; and modifying the one or more attributes of the representation of the application further comprises: in accordance with a determination that the distance between the physical object and the user does not exceed the second predetermined threshold, transitioning the application to a second operational state different than the first operational state; and in accordance with a determination that the distance between the physical object and the user exceeds the second predetermined threshold and does not exceed the first predetermined threshold, transitioning the application to a third operational state different than the first and second operational states.
[0012] In some embodiments, determining the position of the physical object on the physical surface comprises determining whether a distance between the physical object and a user exceeds a third predetermined threshold; and modifying the one or more attributes of the representation of the application comprises: in accordance with a determination that the distance between the physical object and the user exceeds the third predetermined threshold, transitioning the representation of the application to a first visual state.
[0013] In some embodiments, determining the position of the physical object on the physical surface further comprises determining whether the distance between the physical object and the user exceeds a fourth predetermined threshold; and modifying the one or more attributes of the representation of the application further comprises: in accordance with a determination that the distance between the physical object and the user does not exceed the fourth predetermined threshold, transitioning the representation of the application to a second visual state different than the first visual state; and in accordance with a determination that
the distance between the physical object and the user exceeds the fourth predetermined threshold and does not exceed the third predetermined threshold, transitioning the
representation of the application to a third visual state different than the first and second visual states.
[0014] In some embodiments, the techniques further comprise displaying a virtual representation of the physical object on the physical surface in the simulated reality setting.
[0015] In some embodiments, the change in the position of the physical object on the physical surface is detected by a sensor. In some embodiments, the physical object comprises the sensor.
[0016] In some embodiments, the representation of the application is displayed having an elevated position above the physical object in the simulated reality setting.
[0017] In some embodiments, displaying the representation of the application comprises displaying a virtual user interface for providing input to the application, wherein the displayed virtual user interface is displayed at a location on the physical surface adjacent a user.
[0018] In some embodiments, the techniques further comprise while displaying the representation of the application, and prior to modifying the one or more attributes of the representation of the application, detecting a change in the position of the physical object on the physical surface.
[0019] In some embodiments, a device for displaying one or more applications in a simulated reality setting includes one or more processors and memory storing one or more programs configured to be executed by the one or more processors. The one or more programs include instructions for determining a position of a physical object on a physical surface; displaying a representation of an application in a simulated reality setting, wherein one or more attributes of the representation of the application are based on the position of the physical object on the physical surface; and in response to detecting a change in the position of the physical object on the physical surface, modifying the one or more attributes of the representation of the application based on the change in position of the physical object on the physical surface.
[0020] In some embodiments, a non-transitory (or, optionally, transitory) computer- readable storage medium storing one or more programs configured to be executed by one or
more processors displays one or more applications in a simulated reality setting. The one or more programs include instructions for determining a position of a physical object on a physical surface; displaying a representation of an application in a simulated reality setting, wherein one or more attributes of the representation of the application are based on the position of the physical object on the physical surface; and in response to detecting a change in the position of the physical object on the physical surface, modifying the one or more attributes of the representation of the application based on the change in position of the physical object on the physical surface.
BRIEF DESCRIPTION OF THE DRAWINGS
[0021] In the following description, reference is made to the accompanying drawings which form a part thereof, and which illustrate several embodiments. Other embodiments may be utilized and structural and operational changes may be made without departing from the scope of the present disclosure. The use of the same reference symbols in different drawings indicates similar or identical items.
[0022] FIGs. 1 A-1B depict exemplary systems for use in various computer simulated reality technologies, including virtual reality and mixed reality.
[0023] FIGs. 2A-2G illustrate embodiments of a device displaying a representation of an application in a simulated reality setting.
[0024] FIG. 3 depicts an exemplary technique for displaying one or more applications in a simulated reality setting.
DETAILED DESCRIPTION
[0025] Various embodiments of electronic systems and techniques for using such systems in relation to various simulated reality technologies, including virtual reality and mixed reality (which incorporates sensory inputs from a physical setting), are described. In particular, the present disclosure provides techniques for displaying an application in a simulated reality setting. The techniques include determining a position of a physical object on a physical surface (or a position of a virtual object on a representation of the physical surface), displaying a representation of an application in a simulated reality setting, and modifying attributes of the representation of the application in response to detecting changes in the position of the physical object on the physical surface (or changes in the position of the
virtual object on the representation of the physical surface). The attributes of the representation of the application are based on the position of the physical object on the physical surface or the position of the virtual object on the representation of the physical surface. When the position of the physical object or virtual object is changed, one or more attributes of the representation of the application are changed in response to the detected changes in the position of the physical object or virtual object.
[0026] In the following description, a physical setting refers to a world that individuals can sense and/or with which individuals can interact without assistance of electronic systems. Physical settings (e.g., a physical forest) include physical elements (e.g., physical trees, physical structures, and physical animals). Individuals can directly interact with and/or sense the physical setting, such as through touch, sight, smell, hearing, and taste. A physical element may also be referred to as a physical object.
[0027] In contrast, a simulated reality (SR) setting refers to an entirely or partly computer-created setting that individuals can sense and/or with which individuals can interact via an electronic system. In SR, a subset of an individual's movements is monitored, and, responsive thereto, one or more attributes of one or more virtual objects in the SR setting is changed in a manner that conforms with one or more physical laws. For example, a SR system may detect an individual walking a few paces forward and, responsive thereto, adjust graphics and audio presented to the individual in a manner similar to how such scenery and sounds would change in a physical setting. Modifications to attribute(s) of virtual object(s) in a SR setting also may be made responsive to representations of movement (e.g., audio instructions).
[0028] An individual may interact with and/or sense a SR object using any one of his senses, including touch, smell, sight, taste, and sound. For example, an individual may interact with and/or sense aural objects that create a multi-dimensional (e.g., three
dimensional) or spatial aural setting, and/or enable aural transparency. Multi-dimensional or spatial aural settings provide an individual with a perception of discrete aural sources in multi-dimensional space. Aural transparency selectively incorporates sounds from the physical setting, either with or without computer-created audio. In some SR settings, an individual may interact with and/or sense only aural objects.
[0029] One example of SR is virtual reality (VR). A VR setting refers to a simulated setting that is designed only to include computer-created sensory inputs for at least one of the
senses. A VR setting includes multiple virtual objects with which an individual may interact and/or sense. An individual may interact and/or sense virtual objects in the VR setting through a simulation of a subset of the individual's actions within the computer-created setting, and/or through a simulation of the individual or his presence within the computer- created setting.
[0030] Another example of SR is mixed reality (MR). A MR setting refers to a simulated setting that is designed to integrate computer-created sensory inputs (e.g., virtual objects) with sensory inputs from the physical setting, or a representation thereof. On a reality spectrum, a mixed reality setting is between, and does not include, a VR setting at one end and an entirely physical setting at the other end.
[0031] In some MR settings, computer-created sensory inputs may adapt to changes in sensory inputs from the physical setting. Also, some electronic systems for presenting MR settings may monitor orientation and/or location with respect to the physical setting to enable interaction between virtual objects and real objects (which are physical elements from the physical setting or representations thereof). For example, a system may monitor movements so that a virtual plant appears stationary with respect to a physical building.
[0032] One example of mixed reality is augmented reality (AR). An AR setting refers to a simulated setting in which at least one virtual object is superimposed over a physical setting, or a representation thereof. For example, an electronic system may have an opaque display and at least one imaging sensor for capturing images or video of the physical setting, which are representations of the physical setting. The system combines the images or video with virtual objects, and displays the combination on the opaque display. An individual, using the system, views the physical setting indirectly via the images or video of the physical setting, and observes the virtual objects superimposed over the physical setting. When a system uses image sensor(s) to capture images of the physical setting, and presents the AR setting on the opaque display using those images, the displayed images are called a video pass-through. Alternatively, an electronic system for displaying an AR setting may have a transparent or semi-transparent display through which an individual may view the physical setting directly. The system may display virtual objects on the transparent or semi- transparent display, so that an individual, using the system, observes the virtual objects superimposed over the physical setting. In another example, a system may comprise a projection system that projects virtual objects into the physical setting. The virtual objects
may be projected, for example, on a physical surface or as a holograph, so that an individual, using the system, observes the virtual objects superimposed over the physical setting.
[0033] An augmented reality setting also may refer to a simulated setting in which a representation of a physical setting is altered by computer-created sensory information. For example, a portion of a representation of a physical setting may be graphically altered (e.g., enlarged), such that the altered portion may still be representative of but not a faithfully reproduced version of the originally captured image(s). As another example, in providing video pass-through, a system may alter at least one of the sensor images to impose a particular viewpoint different than the viewpoint captured by the image sensor(s). As an additional example, a representation of a physical setting may be altered by graphically obscuring or excluding portions thereof.
[0034] Another example of mixed reality is augmented virtuality (AV). An AV setting refers to a simulated setting in which a computer-created or virtual setting incorporates at least one sensory input from the physical setting. The sensory input(s) from the physical setting may be representations of at least one characteristic of the physical setting. For example, a virtual object may assume a color of a physical element captured by imaging sensor(s). In another example, a virtual object may exhibit characteristics consistent with actual weather conditions in the physical setting, as identified via imaging, weather-related sensors, and/or online weather data. In yet another example, an augmented reality forest may have virtual trees and structures, but the animals may have features that are accurately reproduced from images taken of physical animals.
[0035] Many electronic systems enable an individual to interact with and/or sense various SR settings. One example includes head mounted systems. A head mounted system may have an opaque display and speaker(s). Alternatively, a head mounted system may be designed to receive an external display (e.g., a smartphone). The head mounted system may have imaging sensor(s) and/or microphones for taking images/video and/or capturing audio of the physical setting, respectively. A head mounted system also may have a transparent or semi-transparent display. The transparent or semi-transparent display may incorporate a substrate through which light representative of images is directed to an individual's eyes. The display may incorporate LEDs, OLEDs, a digital light projector, a laser scanning light source, liquid crystal on silicon, or any combination of these technologies. The substrate through which the light is transmitted may be a light waveguide, optical combiner, optical reflector, holographic substrate, or any combination of these substrates. In one embodiment,
the transparent or semi-transparent display may transition selectively between an opaque state and a transparent or semi-transparent state. In another example, the electronic system may be a projection-based system. A projection-based system may use retinal projection to project images onto an individual's retina. Alternatively, a projection system also may project virtual objects into a physical setting (e.g., onto a physical surface or as a holograph). Other examples of SR systems include heads up displays, automotive windshields with the ability to display graphics, windows with the ability to display graphics, lenses with the ability to display graphics, headphones or earphones, speaker arrangements, input mechanisms (e.g., controllers having or not having haptic feedback), tablets, smartphones, and desktop or laptop computers.
[0036] FIG. 1 A and FIG. IB depict exemplary system 100 for use in various simulated reality technologies, including virtual reality and mixed reality.
[0037] In some embodiments, as illustrated in FIG. 1 A, system 100 includes device 100a. Device 100a includes various components, such as processor(s) 102, RF circuitry(ies) 104, memory(ies) 106, image sensor(s) 108, orientation sensor(s) 110, microphone(s) 112, location sensor(s) 116, speaker(s) 118, display(s) 120, and touch-sensitive surface(s) 122. These components optionally communicate over communication bus(es) 150 of device 100a.
[0038] In some embodiments, elements of system 100 are implemented in a base station device (e.g., a computing device, such as a remote server, mobile device, or laptop) and other elements of the system 100 are implemented in a second device (e.g., a head-mounted device). In some embodiments, device 100a is implemented in a base station device or a second device.
[0039] As illustrated in FIG. IB, in some embodiments, system 100 includes two (or more) devices in communication, such as through a wired connection or a wireless connection. First device 100b (e.g., a base station device) includes processor(s) 102, RF circuitry(ies) 104, and memory(ies) 106. These components optionally communicate over communication bus(es) 150 of device 100b. Second device 100c (e.g., a head-mounted device) includes various components, such as processor(s) 102, RF circuitry(ies) 104, memory(ies) 106, image sensor(s) 108, orientation sensor(s) 110, microphone(s) 112, location sensor(s) 116, speaker(s) 118, display(s) 120, and touch-sensitive surface(s) 122. These components optionally communicate over communication bus(es) 150 of device 100c.
[0040] System 100 includes processor(s) 102 and memory(ies) 106. Processor(s) 102 include one or more general processors, one or more graphics processors, and/or one or more digital signal processors. In some embodiments, memory(ies) 106 are one or more non- transitory computer-readable storage mediums (e.g., flash memory, random access memory) that store computer-readable instructions configured to be executed by processor(s) 102 to perform the techniques described below.
[0041] System 100 includes RF circuitry(ies) 104. RF circuitry(ies) 104 optionally include circuitry for communicating with electronic devices, networks, such as the Internet, intranets, and/or a wireless network, such as cellular networks and wireless local area networks (LANs). RF circuitry(ies) 104 optionally includes circuitry for communicating using near-field communication and/or short-range communication, such as Bluetooth®.
[0042] System 100 includes display(s) 120. Display(s) 120 may have an opaque display. Display(s) 120 may have a transparent or semi-transparent display that may incorporate a substrate through which light representative of images is directed to an individual's eyes. Display(s) 120 may incorporate LEDs, OLEDs, a digital light projector, a laser scanning light source, liquid crystal on silicon, or any combination of these technologies. The substrate through which the light is transmitted may be a light waveguide, optical combiner, optical reflector, holographic substrate, or any combination of these substrates. In one embodiment, the transparent or semi-transparent display may transition selectively between an opaque state and a transparent or semi-transparent state. Other examples of display(s) 120 include heads up displays, automotive windshields with the ability to display graphics, windows with the ability to display graphics, lenses with the ability to display graphics, tablets, smartphones, and desktop or laptop computers. Alternatively, system 100 may be designed to receive an external display (e.g., a smartphone). In some embodiments, system 100 is a projection- based system that uses retinal projection to project images onto an individual's retina or projects virtual objects into a physical setting (e.g., onto a physical surface or as a holograph).
[0043] In some embodiments, system 100 includes touch-sensitive surface(s) 122 for receiving user inputs, such as tap inputs and swipe inputs. In some embodiments, display(s) 120 and touch-sensitive surface(s) 122 form touch-sensitive display(s).
[0044] System 100 includes image sensor(s) 108. Image sensors(s) 108 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 a physical setting. Image sensor(s) 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 physical setting. For example, an active IR sensor includes an IR emitter, such as an IR dot emitter, for emitting infrared light into the physical setting. Image sensor(s) 108 also optionally include one or more event camera(s) configured to capture movement of physical objects in the physical setting. Image sensor(s) 108 also optionally include one or more depth sensor(s) configured to detect the distance of physical objects from system 100. In some embodiments, system 100 uses CCD sensors, event cameras, and depth sensors in combination to detect the physical setting around system 100. In some embodiments, image sensor(s) 108 include a first image sensor and a second image sensor. The first image sensor and the second image sensor are optionally configured to capture images of physical objects in the physical setting from two distinct perspectives. In some embodiments, system 100 uses image sensor(s) 108 to receive user inputs, such as hand gestures. In some embodiments, system 100 uses image sensor(s) 108 to detect the position and orientation of system 100 and/or display(s) 120 in the physical setting. For example, system 100 uses image sensor(s) 108 to track the position and orientation of display(s) 120 relative to one or more fixed elements in the physical setting.
[0045] In some embodiments, system 100 includes microphones(s) 112. System 100 uses microphone(s) 112 to detect sound from the user and/or the physical setting of the user. In some embodiments, microphone(s) 1 12 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 physical setting.
[0046] System 100 includes orientation sensor(s) 110 for detecting orientation and/or movement of system 100 and/or display(s) 120. For example, system 100 uses orientation sensor(s) 110 to track changes in the position and/or orientation of system 100 and/or display(s) 120, such as with respect to physical objects in the physical setting. Orientation sensor(s) 110 optionally include one or more gyroscopes and/or one or more accelerometers.
[0047] Device 100a is capable of supporting a variety of applications, such as one or more of the following: a drawing application, a presentation application, a word processing application, a website creation application, a disk authoring application, a spreadsheet application, a gaming application, a telephone application, a video conferencing application, an e mail application, an instant messaging application, a workout support application, a photo management application, a digital camera application, a digital video camera
application, a web browsing application, a digital music player application, a digital video player application, and/or navigation applications.
[0048] The various applications include a set of instructions that are executed on device 100a. One or more functions of the device, as well as corresponding information displayed on the device, are, optionally, adjusted and/or varied from one application to the next and/or within a respective application. In this way, a common architecture of the device optionally supports the variety of applications with user interfaces that are intuitive and transparent to the user.
[0049] In some embodiments, device 100a facilitates a user's interaction with the applications or other virtual objects by detecting (e.g., using image sensor(s) 108), in the physical setting, gestures or other input from a user. For example, using image sensor(s) 108, device 100a may detect a position, or series of movements, of a user's hand and/or fingers in the physical setting. Device 100a then interprets these detected positions and/or movements of the user's hand and/or fingers as an input (e.g., user input) for interfacing with a virtual object such as a representation of an application displayed in the simulated reality setting. In this way, the device allows a user to interact with the displayed representation of the application, and/or other virtual objects in the simulated reality setting, by performing gestures or motions in the physical setting. The device may also detect (e.g., using image sensor(s) 108) these gestures and/or motions and interpret them as input (e.g., user input) for interacting with physical objects represented on display 120 of device 100a in the simulated reality setting.
[0050] FIGs. 2A-2G illustrate various embodiments of device 100a displaying, on display 120, a representation of one or more applications in a simulated reality setting. Device 100a is an embodiment of system 100, as described in reference to FIGs. 1A-1B. In FIGs. 2A-2G, device 100a is shown as a mobile device, such as a mobile phone. It should be understood, however, that device 100a can be any device configured to display a simulated reality setting.
[0051] Each representation of an application is a computer-generated user interface (UI) of the application displayed by device 100a on display 120 as a component of the simulated reality setting. Device 100a generates each representation of an application with various attributes such as, for example, the visual appearance of the representation of the application, the displayed orientation of the representation of the application, operation of the application, and the displayed location of the representation of the application. Device 100a determines
the various attributes of the representation of the application based on a detected position of a corresponding token relative to a physical object in the physical setting (or relative to a representation of the physical object) such as, for example, a tabletop surface. Thus, in response to detecting (e.g., using image sensor(s) 108) a change in the position of the token, device 100a modifies one or more of the attributes of the representation of the application corresponding to the token, as discussed in greater detail below with respect to FIGs. 2A-2G.
[0052] In some embodiments, the visual appearance of the representation of the application includes visual features such as content displayed by the representation of the application, portions of the visual representation of the application itself, or visual aspects of the representation of the application, such as size, color, font, shape, opaqueness, etc. Other embodiments include displayed visual states or objects of the application UI, such as an icon UI, widget UI, full application UI, or window size. In some embodiments, a visual state of a representation of an application is indicated by the displayed visual features, wherein the representation of the application is enabled to display a fewer or greater amount of visual features, depending on the visual state of the representation of the application. For example, when the representation of the application is in a minimized visual state, the representation of the application is displayed as a small object, such as an icon or other visual object (e.g., a window) that represents the associated application and takes up a minimal amount of visual space in the simulated reality setting. In some embodiments, the representation of the application is enabled to display a limited amount of information in the minimized visual state, such as a badge or other data specific to the application that can be displayed in the small visual space of the minimized visual state. In some embodiments, the representation of the application can be displayed in a maximized visual state in which the representation of the application is displayed as a fully formed object (e.g., a full-scale version of the application in its opened state) displayed to take up an amount of visual space in the simulated reality setting that allows the user to fully interact with the application. In some embodiments, the representation of the application is displayed in a limited visual state in which the representation of the application is displayed to take up less visual space in the simulated reality setting than the fully formed object of the maximized state, but slightly more visual space than the small object of the minimized state. In some embodiments, the object displayed in the limited visual state is referred to as a "widget." The widget is enabled to display slightly more information than the minimized visual state of the representation of the application. For example, the widget may display a single, unread message and option for
responding to the message when the application is a messaging application. In another embodiment, the widget may display a quote of a single stock when the application is a stock application. In yet another embodiment, the widget may display the weather of a single location when the application is a weather application.
[0053] In some embodiments, the displayed orientation of the representation of the application includes an orientation of the representation of the application as displayed in the simulated reality setting relative to an actual location of a user, or an anticipated or expected location of the user. In some embodiments, the location of the user (actual, anticipated, expected, or otherwise) may be approximated based on one or more factors, such as the location or position of device 100a, the location or position of the physical surface, and/or the locations or positions of one or more physical or virtual tokens. In some embodiments, the orientation of the representation of the application is the orientation of the representation of the application as displayed in the simulated reality setting relative to device 100a.
[0054] In some embodiments, operation of the application includes the functionality of the application - the degree to which the application is capable of (or enabled for) operating or interacting with a user. In some embodiments, the operation of the application is indicated by the enabled functionality of the application. For example, in some embodiments, the application is in a reduced operational state (e.g., the operability of the application is reduced relative to another operational state) or an increased operational state (e.g., the operability of the application is increased relative to another operational state) depending on whether or not the application is enabled to perform a greater or fewer amount of functions than it was enabled to perform in a previous operational state. One example of a reduced operational state is an inactive state, or minimized operational state, in which the application is not open or active (e.g., the application is not enabled to perform any functions, or is enabled to perform a very limited number of functions such as displaying data). One example of an increased operational state is an active state, or maximized operational state, in which the application is open and provides complete functionality (e.g., the application is enabled to perform all functions intended for that application). Some operational states can be considered either an increased operational state or a reduced operational state depending on how the operational state is evaluated. For example, a limited operational state in which the application is enabled to perform a limited amount of functions (e.g., the application is enabled to function with some capacity greater than the inactive or minimized operational state, but less than the full functional capacity enabled in the maximized operational state)
can be considered an increased operational state when compared to the inactive or minimized operational state, but can alternatively be considered a reduced operational state when compared to the active or maximized operational state.
[0055] In some embodiments, the displayed location of the representation of the application includes a two-dimensional location, three-dimensional location, and/or orientation of the representation of the application as displayed in the simulated reality setting. In some embodiments, the displayed location of the representation of the application has a two-dimensional location determined with respect to a displayed representation of the physical surface, wherein the two-dimensional location of the representation of the application corresponds to the two-dimensional location of a physical token on the physical surface (or a two-dimensional location of a virtual token on a displayed representation of the physical surface). In some embodiments, the displayed location of the representation of the application has a three-dimensional location, wherein the x- and y-coordinates of the three- dimensional location correspond to the two-dimensional location (x- and y-coordinates) of the physical token on the physical surface (or the two-dimensional location (x- and y- coordinates) of the virtual token on the displayed representation of the physical surface).
[0056] It should be appreciated that various attributes may overlap. For example, the displayed orientation or displayed location of the representation of the application may be considered a component of the visual appearance of the representation of the application. Similarly, the displayed orientation of the representation of the application can also be considered a component of the location of the representation of the application.
[0057] In some embodiments, such as those illustrated in FIGs. 2A-2G, each
representation of an application is displayed positioned above a representation of a corresponding token and having a virtual "tether" 205 providing a visual connection between the representation of the application and the representation of the token. The positioning of the representation of the application above the representation of the token, and the virtual tether 205, each allows a user to more quickly and easily identify corresponding
representations of tokens and applications.
[0058] In some embodiments, the token is a physical object in the physical setting. In such embodiments, the token is, optionally, displayed in the simulated reality setting as: (1) a representation of the physical object, (2) a virtual object, (3) a combination of a virtual object
and a representation of the physical object, or (4) is not displayed at all in the simulated reality setting.
[0059] In some embodiments, the token is not a physical object in the physical setting but is, instead, a virtual object displayed in the simulated reality setting. In such embodiments, device 100a may detect one or more inputs (e.g., user inputs) (e.g., gestures) in the physical setting to determine inputs (e.g., user inputs) for interacting with the virtual token. For example, device 100a may display the virtual token at a first displayed location on display 120. Device 100a then detects (e.g., using image sensor(s) 108) a user positioning their finger in the physical setting at a location in front of device 100a that corresponds to the location of the displayed virtual token when viewed on display 120 of device 100a. Device 100a then detects the user moving their finger from the first location in the physical setting to a second location in the physical setting and, in response, displays movement of the displayed representation of the virtual token from the first displayed location to a second displayed location. The second displayed location corresponds to the second location of the user's finger in the physical setting when viewed on display 120 of device 100a. In this
embodiment, device 100a moves the virtual token from the first location to the second location in response to detecting gestures of the user's hand and/or fingers in the physical setting.
[0060] In the embodiments illustrated in FIGs. 2A-2D and 2F-2G, device 100a detects (e.g., using image sensor(s) 108) physical token 211 positioned on physical tabletop surface 212 and displays, on display 120, representation 221 of the physical token positioned on representation 222 of the physical tabletop surface. Representation 221 of the physical token has a same position with respect to representation 222 of the physical tabletop surface as the position of physical token 211 with respect to physical tabletop surface 212. The device also displays representation 201 of an application corresponding to physical token 211 (and representation 221 of the physical token). One or more attributes of representation 201 of the application are based on the detected position of physical token 211 on tabletop surface 212. In other words, device 100a determines one or more attributes of representation 201 of the application based on a detected position of physical token 211 on tabletop surface 212.
Device 100a also modifies one or more attributes of representation 201 of the application in response to detecting a change in the position of the physical token on tabletop surface 212.
[0061] Device 100a is also capable of generating and displaying one or more virtual tokens positioned on representation 222 of the tabletop surface. Examples of such
embodiments are shown in FIGs. 2C and 2E. In such embodiments, the device displays a representation of an application corresponding to the virtual token. One or more attributes of the representation of the application are based on device 100a detecting the position of the virtual token with respect to representation 222 of the tabletop surface. Device 100a modifies one or more attributes of the representation of the application in response to detecting a change in the position of the virtual token with respect to representation 222 of the tabletop surface.
[0062] In the embodiments illustrated in FIGs. 2A-2G, physical tabletop surface 212 has a width of W extending from left side 212a of tabletop surface 212 to right side 212b of tabletop surface 212, and is shown having regions 213a, 213b, and 213c. Representation 222 of the tabletop surface is shown having dimensions similar to physical tabletop surface 212 and having corresponding representations of regions 223a, 223b, and 223c, respectively. Region 213a (and corresponding region 223a) is a region that is located farthest from device 100a (and, consequently, the user). When a token is positioned in region 213a or
corresponding region 223a, which is the region located farthest from the user (or device 100a), device 100a interprets the position of the token in this region as an indication that the user is not seeking to interact with an application associated with the token. In contrast, region 213c (and corresponding region 223c) is a region that is located closest to device 100a. When a token is positioned in region 213c or corresponding region 223c, device 100a interprets the position of the token in this region as an indication that the user has an immediate need or desire to access or interact with an application associated with the token because the user has positioned the token in the region located closest to the user (or device 100a). Region 213b (and corresponding region 223b) is a region that is located between region 213a and 213c (and corresponding regions 223a and 223c). When a token is positioned in region 213b or corresponding region 223b, device 100a interprets the position of the token in this region as an indication that the user has no immediate need or desire to access or interact with an application associated with the token, but may want to have limited interaction with, or access to, the application because the user has positioned the token in an intermediate region from the user that is not as convenient as the closest region (213c or 223c), but also not as distant as the farthest region (213a or 223a).
[0063] It should be appreciated that regions 213 and corresponding regions 223 are not limited to the spacing and positions shown in the figures, and can all be different sizes, shapes, and positions than what is shown in the figures. For example, regions 213c can be as
shown in FIG. 2 A, while regions 213a and 213b can be narrowed to fit in region 213b shown in FIG. 2 A. In another embodiment, regions 213 can be positioned on tabletop surface 212 as arcs that radiate concentrically from device 100a. It should also be appreciated that device 100a can display the representations of corresponding regions 223 on display 120 as including markings, highlighting, or some other visual effect to distinguish regions 223 on display 120, thereby allowing the user to more easily and accurately identify regions 223 on representation 222 of the tabletop surface.
[0064] In the embodiments discussed below and illustrated in FIGs. 2A-2G,
representation 201 of the application is shown transitioning between various visual states and operational states based on the position of token 211. In these various embodiments, the application represented by representation 201 of the application is shown as different types of applications (e.g., messaging applications, calendar applications, web browsing applications, etc.), while the reference numerals (e.g., 201, 221) remain consistent in the figures. It should be understood that the various examples of applications are provided to illustrate the variation in the different attributes, including visual states and operational states, of representation 201 of the application and not, necessarily, that the application itself changes as token 211 is moved among the various positions. The illustrated and described applications and attributes (e.g., visual states and operational states) are not intended to be limiting. Therefore, it should be understood that any application can be represented in any of the visual and operational states shown in the figures and discussed herein. Similarly, each visual and operational state can be used to represent any application, and not just those shown in the figures and discussed herein.
[0065] Referring now to the embodiment illustrated in FIG. 2 A, device 100a detects (e.g., using image sensor(s) 108) physical token 211 positioned in region 213a of physical tabletop surface 212, approximately 25% of the width W from right side 212b of tabletop surface 212. In response to detecting this position of physical token 211, device 100a displays, on display 120, representation 221 of the physical token having a corresponding two-dimensional position on representation 222 of the physical surface (e.g., approximately 25% from the right edge of representation 222 of the physical surface) in corresponding region 223 a, and having representation 201 of the application positioned above representation 221 of the token.
[0066] Because device 100a detects the position of physical token 211 as being located in region 213a, which is located farthest from the user, the device determines that the user has no need or desire for accessing or interacting with the application. Accordingly, device 100a
displays representation 201 of the application in a minimized visual state (e.g., to minimize obstruction of visual display 120) and reduces the operational state of the application to a minimized (e.g., inactive) operational state (e.g., to conserve system resources such as battery consumption and processing capacity). Device 100a displays representation 201 of the application in a minimized visual state by displaying representation 201 as an icon or other small object that represents the associated application and takes up a minimal amount of visual space on display 120. In some embodiments of a minimized visual state,
representation 201 of the application includes one or more badges 225 indicating, for example, a number of unread notifications associated with the corresponding application. For example, in the embodiment illustrated in FIG. 2A, the application is a calendar application, and representation 201 of the calendar application is displayed as an icon for the calendar application that displays the date and includes badge 225 indicating three unread notifications associated with the calendar application.
[0067] In the embodiment illustrated in FIG. 2 A, device 100a reduces the operational state of the application to a minimized, or inactive, operational state. In the minimized operational state, the application (or representation 201 of the application) provides little or no functionality. For example, the application is not opened or active, but is enabled to provide limited information or functionality by displaying badge 225 and other data (e.g., the current date) that requires minimal processing or functionality of the application.
[0068] In the embodiment illustrated in FIG. 2B, device 100a detects physical token 211 positioned in region 213b of physical tabletop surface 212, approximately 25% of the width W from left side 212a of tabletop surface 212. In response to detecting this position of physical token 211, device 100a displays, on display 120, representation 221 of the physical token having a corresponding two-dimensional position on representation 222 of the physical surface (e.g., approximately 25% from the left edge of representation 222 of the physical surface) in corresponding region 223b, and having representation 201 of the application positioned above representation 221 of the token.
[0069] Because device 100a detects the position of physical token 211 as being located in region 213b, which is an intermediate region from the user, the device determines that the user has no immediate need or desire for accessing or interacting with the application, but may want to have limited interaction with, or access to, the application. Accordingly, device 100a transitions the display of representation 201 of the application to a limited visual state (e.g., to reduce obstruction of visual display 120, while still displaying a greater amount of
content or information than in the inactive state) and transitions the operational state of the application to a limited operational state (e.g., to conserve system resources such as battery consumption and processing capacity, while still providing greater functional capacity than in the inactive state). Device 100a displays representation 201 of the application in a limited visual state by displaying representation 201 as a widget or other object that represents the associated application, takes up a smaller amount of visual space on display 120 than the full application UI, and displays a greater amount of content or information than the icon displayed when the application is in the inactive state (shown in FIG. 2A). In some embodiments of a limited visual state, representation 201 of the application includes limited content of the application. For example, in the embodiment illustrated in FIG. 2B, the application is a messaging application, and representation 201 of the messaging application is displayed as a widget UI for the messaging application that displays name 230 of a contact, the latest message 231 (either received from or, optionally, sent to the contact), and a displayed function 232 for accessing the messaging the application (e.g., a reply function for replying to message 231).
[0070] In the embodiment illustrated in FIG. 2B, device 100a transitions the operational state of the application to a limited operational state. In the limited operational state, the application (or representation 201 of the application) is enabled to perform a limited amount of functions (e.g., typically a greater number of functions that the minimized operational state, but less than the maximized operational state). For example, in the embodiment illustrated in FIG. 2B, the application is enabled to display contact 230, message 231, and function 232. The application is also enabled to process user input to execute function 232, which in this embodiment, includes processing user input to generate and send a message to contact 230 in response to message 231. In some embodiments, device 100a is capable of processing input (e.g., user input) in the form of a user's gaze (e.g., detected by image sensor(s) 108) and speech (e.g., detected by microphone 112) to execute a reply function, such as that shown in FIG. 2B.
[0071] In the embodiment illustrated in FIG. 2C, device 100a detects (e.g., using image sensor(s) 108) physical token 211 positioned in region 213c of the physical tabletop surface 212, approximately halfway between left side 212a and right side 212b of tabletop surface 212. In response to detecting this position of physical token 211, device 100a displays, on display 120, representation 221 of the physical token having a corresponding two- dimensional position on representation 222 of the physical surface (e.g., approximately
halfway between the left and right edges of representation 222 of the physical surface) in corresponding region 223 c, and having representation 201 of the application positioned above representation 221 of the token.
[0072] Because device 100a detects the position of physical token 211 as being located in region 213c, which is located closest to the user, the device determines that the user has an immediate need or desire for accessing or interacting with the application. Accordingly, device 100a transitions the displayed representation 201 of the application to a maximized visual state (e.g., to allow a user to fully interact with the application) and transitions the operational state of the application to a maximized (e.g., active or open) operational state (e.g., to allow the user to fully interact with the application). Device 100a displays representation 201 of the application in a maximized visual state by displaying representation 201 as a full-scale version of the application so that a user can fully interact with the application. For example, in the embodiment illustrated in FIG. 2C, the application is a web browsing application, and representation 201 of the web browsing application is displayed as a full web browsing UI that displays, for example, URL 234, webpage 235, webpage navigation buttons 236, and other features for allowing full user interaction with the web browsing application.
[0073] In the embodiment illustrated in FIG. 2C, device 100a transitions the operational state of the application to a maximized, or active, operational state. In the maximized operational state, the application (or representation 201 of the application) provides complete functionality. In other words, the application is enabled to perform all functions intended for that application. For example, the web browsing application in FIG. 2C is enabled to fully operate for its intended purpose, including receiving and processing user input to enable all features and functionality of the web browsing application.
[0074] In the embodiment illustrated in FIG. 2C, device 100a also displays, on display 120, virtual token 240 positioned in region 223 a of representation 222 of the physical surface. In response to determining this position of virtual token 240, device 100a also displays representation 241 of an application associated with virtual token 240, wherein representation 241 of the application is positioned above virtual token 240. Because the virtual token is located in region 223a, which is located farthest from the user, device 100a determines the user has no need or desire for accessing or interacting with the application and, therefore, displays representation 241 of the application in a minimized visual state and reduces the operational state of the application to a minimized operational state. As shown in FIG. 2C,
by displaying representation 241 of the application in the minimized visual state, device 100a is able to conveniently display both representation 201 of the application in the maximized visual state and representation 241 of the application in the minimized state, while minimizing obstruction of the visual space in the simulated reality setting to reduce visual distractions to the user. By reducing the operational state of the application associated with virtual token 240, device 100a is able to conserve system resources, while still allowing a user to fully interact with representation 201 of the application in the maximized operational state.
[0075] In some embodiments, device 100a also displays a virtual user interface, which is a computer-generated object displayed in the simulated reality setting for receiving input (e.g., user input) and facilitating user interaction with an application. For example, in FIG. 2D, device 100a displays, on display 120, virtual user interface 250 for receiving user input and facilitating user interaction with representation 201 of the application, which is shown in a maximized visual state and having a maximized operational state in accordance with the above discussion of FIG. 2C. Virtual user interface 250 is displayed on representation 222 of the physical surface at a location convenient to the user, such as region 223c, and having various features for receiving input (e.g., user input). Device 100a detects (e.g., using image sensor(s) 108), user gestures at a location on physical surface 212 corresponding to the displayed location of virtual user interface 250 on representation 222 of the physical surface, and interprets these gestures as input on virtual user interface 250, which device 100a also interprets as input for the application. In some embodiments, the virtual user interface may resemble a virtual keyboard, such as that shown in FIG. 2D, wherein a user may provide input by touching various locations of the virtual keyboard, which are detected by device 100a. In other embodiments, the virtual user interface may resemble a displayed surface similar to a track-pad. In some embodiments, device 100a displays the virtual user interface regardless of the position of the token (e.g., 211) or the displayed and operational states of the corresponding representation (e.g., 201) of the application. In other words, device 100a can display the virtual user interface when physical token 211 is positioned in region 213a, 213b, or 213c of physical surface 212. Similarly, device 100a can display the virtual user interface when a virtual token (e.g., 240) is positioned in region 223a, 223b, or 223c of representation 222 of the physical surface.
[0076] In some embodiments, device 100a includes infrared (IR) sensor(s), such as a passive IR sensor or an active IR sensor, for detecting a user touch on physical surface 212.
For example, an active IR sensor includes an IR emitter, such as an IR dot emitter, for emitting infrared light into the physical setting. In some embodiments, an IR sensor(s) is included in the physical token (e.g., 211). In some embodiments, the IR sensor(s) is a separate component of system 100 that is positioned, for example, on physical surface 212 for detecting user contact with physical surface 212. An example of such an embodiment is illustrated in FIG. 2E, which shows IR sensor 260 positioned on physical surface 212.
Device 100a displays, on display 120, virtual tokens 262, 264, and 266, and representations
263, 265, and 267 of various applications corresponding, respectively, to virtual tokens 262,
264, and 266. Device 100a also displays, optionally, representation 270 of IR sensor 260 on representation 222 of the physical surface. In this embodiment, IR sensor 260 is positioned in the center of physical surface 212 so that IR sensor 260 can detect user contact with physical surface 212 (e.g., for interacting with virtual tokens 262, 264, and 266) in any direction from IR sensor 260. In accordance with the other embodiments discussed herein, it should be understood that the attributes of representations 263, 265, and 267 of the applications are determined based on the detected positions of respective virtual tokens 262, 264, and 266 on representation 222 of the physical surface, similar to the way in which the attributes of representation 201 of the application are determined based on the detected position of physical token 211 on physical surface 212.
[0077] In the embodiments discussed herein, device 100a modifies one or more attributes of the representation (e.g., 201) of the application based on detecting a change in the position of the physical token (e.g., 211) on the physical surface (e.g., 212), or based on detecting a change in the position of a virtual token (e.g., 240, 262, 264, 266) on the representation (e.g., 222) of the physical surface. In some embodiments, the change in position of the token may include a rotation of the token, and the corresponding change in attribute includes a change in the displayed orientation of the representation of the application corresponding to the rotated token. An example of such an embodiment is illustrated in FIGs. 2F and 2G, which show token 211 having indicia 275 positioned facing front side 212c of physical surface 212 in FIG. 2F, and rotated counterclockwise approximately 45 degrees toward right side 212b of physical surface 212 in FIG. 2G.
[0078] In FIG. 2F, device 100a detects the position of token 211 with indicia 275 facing front side 212c of physical surface 212, and device 100a displays representation 201 of the application having a displayed orientation facing towards a corresponding front side (not shown) of representation 222 of the physical surface. In FIG. 2G, device 100a detects
rotation of token 211 by about 45 degrees in a counterclockwise direction and, in response, rotates the displayed orientation of representation 201 of the application approximately 45 degrees in a counterclockwise direction to match the rotation of token 211. In the embodiment illustrated in FIGs. 2F and 2G, device 100a is described as modifying the displayed orientation of representation 201 of the application relative to representation 222 of the physical surface, specifically, a front side of representation 222 of the physical surface, which also corresponds to the position of device 100a. In other words, the relative positions of the front side of representation 222 of the physical surface and device 100a, are the same in the embodiment illustrated in FIGs. 2F and 2G. In some embodiments, however, device 100a modifies the displayed orientation of representation 201 of the application with respect to the perspective of device 100a, and not necessarily with respect to representation 222 of the physical surface, even though those two perspectives can be consistent with each other.
[0079] Although the embodiment illustrated in FIGs. 2F and 2G shows device 100a modifying the displayed orientation of representation 201 of the application in response to detecting side-to-side rotation of token 211 in a counterclockwise direction, it should be appreciated that device 100a may change the orientation of representation 201 of the application in response to other detected changes in orientation of token 211. For example, in some embodiments, the device may adjust the orientation of representation 201 of the application in an up-or-down direction in response to detecting an up-or-down rotation of token 211.
[0080] FIG. 3 depicts an exemplary technique 300 for displaying one or more
applications in a simulated reality setting. In some embodiments, the technique is carried out by system 100 described in reference to FIGs. 1A-1B and 2A-2G.
[0081] At block 302, the device (e.g., 100a) determines a position (e.g., two-dimensional location, three-dimensional location, and/or orientation) of a physical object (e.g., a token 211 that is a physical object from the physical setting that is visible in the simulated reality setting) on a physical surface (e.g., a tabletop surface 212 in the physical setting). In some embodiments, the physical surface is visible in the simulated reality setting. In some embodiments, the physical object is a predefined physical object such as a physical token having a particular design or shape (e.g., hemi-sphere, cylinder, puck). In some
embodiments, the physical object is not an electronic device, or alternatively, lacks a CPU, memory, and/or communication circuitry (e.g., wireless communication circuitry). In some embodiments, the physical object can be represented as a virtual object that is computer
generated and displayed in the simulated reality setting. In some embodiments, the token is not a physical object but is, instead, a virtual object (e.g., 240, 262, 264, 266) that is computer generated and displayed in the simulated reality setting.
[0082] At block 304, the device (e.g., 100a) displays a representation (e.g., representation 201, the computer-generated UI of the application displayed as a component of the simulated reality setting) of an application in a simulated reality setting. One or more attributes of the representation of the application are based on the position of the physical object (e.g., token 211) on the physical surface (e.g., 212). The attributes include, for example, visual appearance (e.g., full application UI, widget UI, icon UI, window size), orientation of the representation of the application, operation of the application (e.g., full operation, limited operation, no operation), and displayed location of the representation of the application in the simulated reality setting. Thus, the representation of the application has different
appearances and/or operation when the token is positioned in different locations on the physical surface, and has a displayed orientation that changes with rotation of the token.
[0083] In some embodiments, the representation (e.g., 201) of the application is displayed having an elevated position above the physical object (e.g., representation 201 of the application is floating above representation 221 of the physical object) in the virtual simulated reality setting. In some embodiments, the representation of the application is displayed having a visual connection to the representation of the token. In some
embodiments, the visual connection includes a virtual tether (e.g., 205) connecting the displayed representation of the application to representation 221 of the token.
[0084] In some embodiments, displaying the representation (e.g., 201) of the application comprises displaying a virtual user interface (e.g., 250) for providing input (e.g., user input) to the application. The displayed virtual user interface is displayed, in some embodiments, at a location on the physical surface (e.g., at region 223c of representation 222 of the physical surface as shown in FIG. 2D) adjacent a user (e.g., an actual location of the user, an anticipated or expected location of the user, or a location of device 100a). In some embodiments, the user is capable of providing user input to the application by interacting with the virtual user interface. In some embodiments, the virtual user interface is a computer- generated surface displayed on representation 222 of the physical surface in the simulated reality setting.
[0085] In response to detecting a change in the position of the physical object on the physical surface, the device (e.g., 100a) modifies, at block 306, the one or more attributes (e.g., display (visual appearance, orientation, location of the representation (e.g., 201) of the application) and operation of the application) of the representation (e.g., 201) of the application based on the change in position of the physical object (e.g., token 211) on the physical surface (e.g., tabletop 212). In some embodiments, the device changes the representation of the application in response to detecting a change in the physical position of the token (e.g., 211). In some embodiments, the device changes the orientation of the representation of the application (e.g., as shown in FIGs. 2F and 2G) in response to detecting rotation of the token. In some embodiments, the device changes the location of the displayed representation (e.g., 201) of the application in the simulated reality setting in response to detecting a change in the physical location of the token on the physical surface. In some embodiments, the device changes the appearance of the UI of the application (e.g., the representation 201 of the application) displayed in the simulated reality setting in response to detecting a change in the location of the token on the physical surface. In some
embodiments, the device changes the operation of the application displayed in the simulated reality setting in response to detecting a change in the location of the token on the physical surface.
[0086] In some embodiments, modifying the one or more attributes of the representation of the application comprises modifying the display of the representation (e.g., 201) of the application based on the change in position of the physical object (e.g., 211) on the physical surface (e.g., 212). In some embodiments, this includes modifying the visual appearance, orientation, or location of the representation of the application as displayed in the simulated reality setting.
[0087] In some embodiments, the one or more attributes comprise an orientation of the representation (e.g., 201) of the application as displayed in the simulated reality setting with respect to a user (e.g., an orientation of the representation of the application as displayed in the simulated reality setting relative to an actual location of the user, an anticipated or expected location of the user (e.g., based on a perspective of the image data displayed on display 120 of device 100a), or a location of the device (e.g., 100a)). The change in the position of the physical object (e.g., 211) on the physical surface (e.g., 212) comprises a rotation of the physical object on the physical surface. For example, a rotation as shown in FIGs. 2F and 2G of the physical object about an axis of rotation (e.g., x-axis or y-axis)
extending through the physical object. In some embodiments, modifying the one or more attributes of the representation of the application based on the change in position of the physical object on the physical surface comprises changing the orientation of the
representation of the application based on at least one of a magnitude (e.g., 45 degrees as shown in FIG. 2G) of the rotation of the physical object on the physical surface or a direction (e.g., counterclockwise as shown in FIG. 2G) of the rotation of the physical object on the physical surface.
[0088] For example, when the physical object (e.g., 211) is rotated about the axis of rotation (e.g., an x- or y-axis), the representation (e.g., 201) of the application is rotated in a direction that corresponds to the direction of rotation of the physical object and by a magnitude that corresponds to the magnitude of rotation of the physical object. In some embodiments, rotating the physical object about an x-axis includes rotating the physical object in an up-or-down motion. In some embodiments, rotating the physical object about a y-axis includes rotating the physical object side-to-side. In some embodiments, the magnitude of rotation is a degree of rotation (e.g., 45 degrees) about the axis of rotation. In some embodiments, the magnitude of rotation is limited to a set range of rotation about the axis of rotation. In some embodiments, the magnitude of rotation of the representation of the application is a magnitude that is scaled (e.g., dampened or amplified) relative to the magnitude of rotation of the physical object. In some embodiments, the direction of rotation of the representation of the application is the same as the direction of rotation of the physical object (e.g., the physical object rotates clockwise and the representation of the application also rotates clockwise). In some embodiments, the direction of rotation of the representation of the application is opposite the direction of rotation of the physical object (e.g., the physical object rotates clockwise, and the representation of the application rotates counterclockwise).
[0089] In some embodiments, the one or more attributes comprises a displayed location of the representation (e.g., 201) of the application (e.g., a location of the representation of the application as displayed in the simulated reality setting). The change in the position of the physical object (e.g., 211) on the physical surface (e.g., 212) comprises a change in the physical location of the physical object on the physical surface (e.g., a change in the two- dimensional location of the physical object on the physical surface). In some embodiments, modifying the one or more attributes of the representation of the application based on the change in position of the physical object on the physical surface comprises changing the displayed location of the representation of the application based on at least one of a
magnitude of the change in the physical location of the physical object on the physical surface or direction of the change in the physical location of the physical object on the physical surface.
[0090] For example, when the physical object (e.g., 211) is moved from a first location on the physical surface (e.g., 212) to a second location on the physical surface (e.g., a two- dimensional movement on the physical surface represented by a movement from a first two- dimensional coordinate corresponding to the first location of the physical object on the physical surface to a second two-dimensional coordinate corresponding to the second location of the physical object on the physical surface), the displayed representation (e.g., 201) of the application is moved from its initial displayed location in the simulated reality setting to a different displayed location in the simulated reality setting. The movement of the displayed representation of the application is in a direction that corresponds to the direction of movement of the physical object on the physical surface and by a magnitude (e.g., distance and/or velocity) that corresponds to the magnitude (e.g., distance and/or velocity) of the movement of the physical object on the physical surface. In some embodiments, the magnitude of the movement of the physical object includes the physical distance between the first location of the physical object (e.g., the two-dimensional coordinate corresponding to the first location of the physical object on the physical surface) and the second location of the physical object (e.g., the two-dimensional coordinate corresponding to the second location of the physical object on the physical surface). In some embodiments, the magnitude of the movement of the physical object includes a velocity of the movement of the physical object from the first location to the second location. In some embodiments, the magnitude of the movement of the displayed representation of the application is a magnitude that is scaled (e.g., dampened or amplified) relative to the magnitude of the movement of the physical object. In some embodiments, the direction of the movement of the displayed representation of the application is the same as the direction of movement of the physical object (e.g., the physical object moves left, and the displayed representation of the application also moves left). In some embodiments, the direction of movement of the displayed representation of the application is opposite the direction of movement of the physical object (e.g., the physical object moves left, and the displayed representation of the application moves right).
[0091] In some embodiments, modifying the one or more attributes of the representation (e.g., 201) of the application comprises modifying operation (e.g., functionality, the degree to which the application is capable of operating or interacting with the user) of the application.
The operation of the application transitions from a primary operational state (e.g., an increased operational state such as that shown in FIG. 2C or, in some embodiments, shown in FIG. 2B) to a secondary operational state (e.g., a reduced operational state such as that shown in FIG. 2A or, in some embodiments, shown in FIG. 2B), as the position of the physical object moves in a first direction. For example, the first direction can be a direction away from an actual location of the user, or from an anticipated or expected location of the user, or away from device 100a (e.g., from region 213b to region 213a, or from region 213c to 213b). The operation of the application transitions from the secondary operational state to the primary operational state as the position of the physical object moves in a second direction different from the first direction. For example, the second direction can be a direction towards an actual location of the user, towards an anticipated or expected location of the user, or towards the device (e.g., from region 213a to region 213b, or from region 213b to region 213c). While in the primary operational state, the application is enabled to perform a function (e.g., process a user input), and while in the secondary operational state, the application is not enabled to perform the function (e.g., process a user input.). In some embodiments, the application provides greater functionality in the primary operational state than in the secondary operational state. In some embodiments, the application is enabled to process more data in the primary operational state than in the secondary operational state. In some embodiments, the application is enabled to interact more with the user in the primary operational state than in the secondary operational state. In some embodiments, the application provides less functionality in the secondary operational state than in the primary operational state. In some embodiments, the application is enabled to process less data in the secondary operational state than in the primary operational state. In some embodiments, the application is enabled to interact less with the user in the secondary operational state than in the primary operational state.
[0092] In some embodiments, modifying the one or more attributes of the representation of the application comprises modifying a visual appearance (e.g., full application UI, widget UI, icon UI, window size) of the representation (e.g., 201) of the application. The visual appearance of the representation of the application transitions from a primary visual state (e.g., such as that shown in FIG. 2C or, in some embodiments, shown in FIG. 2B) to a secondary visual state (e.g., such as that shown in FIG. 2A or, in some embodiments, shown in FIG. 2B) as the position of the physical object moves in a third direction. For example, the third direction may be a direction away from an actual location of the user, from an
anticipated or expected location of the user, or away from device 100a (e.g., from region 213c to region 213b, or from region 213b to region 213a). In some embodiments, the third direction is the first direction. The visual appearance of the representation of the application transitions from the secondary visual state to the primary visual state as the position of the physical object moves in a fourth direction different from the third direction. For example, the fourth direction may be a direction towards an actual location of the user, towards an anticipated or expected location of the user, or towards device 100a (e.g., from region 213a to region 213b, or from region 213b to region 213c). In some embodiments, the fourth direction is the second direction. While in the primary visual state, the application is enabled to display a visual feature, and while in the secondary visual state, the application is not enabled to display the visual feature. The visual feature may include, for example, a portion of the displayed representation of the application such as content displayed in the representation of the application, portions of the visual representation of the application itself, or visual aspects of the representation of the application such as size, color, opaqueness, etc. In some embodiments, while in the primary visual state, the visual appearance of the representation of the application, as displayed in the simulated reality setting, includes at least one of an increased size or increased amount of content than while in the secondary visual state. In some embodiments, while in the secondary visual state, the visual appearance of the representation of the application, as displayed in the simulated reality setting, includes at least one of a decreased size or decreased amount of content than while in the primary visual state.
[0093] In some embodiments, determining the position of the physical object (e.g., 211) on the physical surface (e.g., 212) comprises determining whether a distance between the physical object and a user (e.g., an actual location of the user, an anticipated or expected location of the user, or a location of device 100a) exceeds a first predetermined threshold. In some embodiments, the first predetermined threshold corresponds to a distance sufficient to determine the physical object is located in a region (e.g., 213a) on the physical surface located farthest from the user or device. In some embodiments, modifying the one or more attributes of the representation of the application comprises: in accordance with a
determination that the distance between the physical object and the user (e.g., device 100a) exceeds the first predetermined threshold, transitioning the application to a first operational state. For example, when the physical object (e.g., token 211) is located in the region on the physical surface (e.g., 212) located farthest from the user (e.g., region 213a), the application transitions to an operational state that provides little or no functionality such as that shown in
FIG. 2A. In some embodiments, the first operational state is a minimized operational state in which the application does not process user input.
[0094] In some embodiments, determining the position of the physical object (e.g., 211) on the physical surface (e.g., 212) further comprises determining whether the distance between the physical object and the user (e.g., an actual location of the user, an anticipated or expected location of the user, or a location of device 100a) exceeds a second predetermined threshold. In some embodiments, the second predetermined threshold corresponds to a distance sufficient to determine the physical object is located in a region (e.g., 213c) on the physical surface located closest to the user or device. In some embodiments, modifying the one or more attributes of the representation of the application further comprises: in accordance with a determination that the distance between the physical object and the user (or device) does not exceed the second predetermined threshold, transitioning the application to a second operational state different than the first operational state. For example, when the physical object is located in the region on the physical surface located closest to the user (e.g., region 213c), the application transitions to an operational state that provides complete functionality such as that shown in FIG. 2C. In accordance with a determination that the distance between the physical object and the user exceeds the second predetermined threshold and does not exceed the first predetermined threshold, the application is transitioned to a third operational state different than the first and second operational states. For example, when the physical object is located in an intermediate region (e.g., region 213b) on the physical surface located between the region farthest from the user and the region closest to the user, the application transitions to an operational state that provides limited functionality such as that shown in FIG. 2B. In some embodiments, the second operational state is a maximized operational state in which the application is capable of functioning at full capacity or without limiting features of the application. In some embodiments, the third operational state is a limited operational state in which the application is capable of functioning with some capacity (greater than no functionality), but less than at full capacity. In some embodiments, the limited functionality includes processing limited user inputs such as user inputs provided using at least one of speech or gaze (a detected location of the user's eye). For example, in some embodiments (e.g., FIG. 2B), the application is a messaging application and, when the application is in the limited operational state, the messaging application can display a received message (e.g., 231) and process user input provided by speech and detected eye
movement to send a response to the received message, but cannot process the full range of user input that is provided when the application is in the maximized operational state.
[0095] In some embodiments, determining the position of the physical object (e.g., 211) on the physical surface (e.g., 212) comprises determining whether a distance between the physical object and a user (e.g., an actual location of the user, an anticipated or expected location of the user, or a location of device 100a) exceeds a third predetermined threshold. In some embodiments, the third predetermined threshold corresponds to a distance sufficient to determine the physical object is located in a region (e.g., 213a) on the physical surface located farthest from the user or device. In some embodiments, the third predetermined threshold is the first predetermined threshold. In some embodiments, modifying the one or more attributes of the representation of the application comprises: in accordance with a determination that the distance between the physical object and the user (or device) exceeds the third predetermined threshold, transitioning the representation of the application to a first visual state. For example, when the physical object is located in the region on the physical surface located farthest from the user (e.g., region 213a), the representation of the application is displayed as a small object such as an icon or other visual object, such as a window, that takes up a minimal amount of visual space in the simulated reality setting as shown in FIG. 2A. In some embodiments, the first visual state is a minimized visual state in which the representation of the application includes a minimal amount of information displayed in the simulated reality setting. In some embodiments, the representation of the application includes badges (e.g., badge 225 indicating a number of unread notifications), when the representation of the application is in the minimized visual state. In some embodiments, such as that shown in FIG. 2A, the application is a calendar application and the information displayed in the minimized visual state of the representation of the application is the date.
[0096] In some embodiments, determining the position of the physical object (e.g., 211) on the physical surface (e.g., 212) further comprises determining whether the distance between the physical object and the user (e.g., an actual location of the user, an anticipated or expected location of the user, or a location of device 100a) exceeds a fourth predetermined threshold. In some embodiments, the fourth predetermined threshold corresponds to a distance sufficient to determine the physical object is located in a region (e.g., 213c) on the physical surface located closest to the user or device. In some embodiments, the fourth predetermined threshold is the second predetermined threshold. In some embodiments, modifying the one or more attributes of the representation of the application further
comprises: in accordance with a determination that the distance between the physical object and the user does not exceed the fourth predetermined threshold, transitioning the representation of the application to a second visual state different than the first visual state. For example, when the physical object is located in the region on the physical surface located closest to the user, the representation of the application is displayed as a fully formed object (a full-scale version of the application in its opened state as shown in FIG. 2C) displayed to take up an amount of visual space in the simulated reality setting that allows the user to fully interact with the application. In accordance with a determination that the distance between the physical object and the user exceeds the fourth predetermined threshold and does not exceed the third predetermined threshold, the representation of the application is transitioned to a third visual state different than the first and second visual states. For example, when the physical object is located in an intermediate region (e.g., 213b) on the physical surface located between the region farthest from the user and the region closest to the user, the representation of the application is displayed to take up less visual space in the simulated reality setting than the fully formed object of the maximized state, but slightly more visual space than the small object of the minimized state as shown in FIG. 2B. In some
embodiments, the second visual state is a maximized visual state in which the amount of information displayed by the representation of the application is unrestricted. In some embodiments, when the representation of the application is in the maximized visual state, the representation of the application displays an amount of information sufficient to allow full user interaction with the application for the application's intended purpose. In some embodiments, the third visual state is a limited visual state in which the amount of information displayed by the representation of the application is less than the amount of information displayed in the maximized visual state, but greater than the amount of information displayed in the minimized visual state. In some embodiments, displaying the representation of the application in the limited visual state allows the application to convey some information to a user while minimizing distraction and reserving system resources. In some embodiments, such as that shown in FIG. 2B, the application is a messaging application, and the representation of the messaging application displays a single message 231 in the limited visual state.
[0097] In some embodiments, technique 300 further comprises displaying a virtual representation of the physical object (e.g., 211) (e.g., a computer-generated object) on the physical surface (e.g., 212) in the simulated reality setting.
[0098] In some embodiments, the change in the position of the physical object (e.g., 211) on the physical surface (e.g., 212) is detected by a sensor (e.g., infrared (IR) sensor 260 positioned on or near the physical surface). In some embodiments, the physical object comprises the sensor (e.g., the IR sensor is included in the physical object).
[0099] In some embodiments, technique 300 further comprises while displaying the representation (e.g., 201) of the application, and prior to modifying the one or more attributes (e.g., visual appearance, orientation, operation of the application, displayed location of the representation of the application) of the representation of the application, detecting a change in the position of the physical object (e.g., 211) on the physical surface (e.g., 212).
[0100] While the present disclosure has been shown and described with reference to the embodiments provided herein, it will be understood by those skilled in the art that various changes in form and details may be made without departing from the scope of the present disclosure.
Claims
1. A method for displaying one or more applications in a simulated reality setting, the method comprising:
determining a position of a physical object on a physical surface;
displaying a representation of an application in a simulated reality setting, wherein one or more attributes of the representation of the application are based on the position of the physical object on the physical surface; and
in response to detecting a change in the position of the physical object on the physical surface, modifying the one or more attributes of the representation of the application based on the change in position of the physical object on the physical surface.
2. The method of claim 1, wherein modifying the one or more attributes of the representation of the application comprises modifying the display of the representation of the application based on the change in position of the physical object on the physical surface.
3. The method of any of claims 1-2, wherein:
the one or more attributes comprise an orientation of the representation of the application as displayed in the simulated reality setting with respect to a user;
the change in the position of the physical object on the physical surface comprises a rotation of the physical object on the physical surface; and
modifying the one or more attributes of the representation of the application based on the change in position of the physical object on the physical surface comprises changing the orientation of the representation of the application based on at least one of a magnitude of the rotation of the physical object on the physical surface or a direction of the rotation of the physical object on the physical surface.
4. The method of any of claims 1-3, wherein:
the one or more attributes comprises a displayed location of the representation of the application;
the change in the position of the physical object on the physical surface comprises a change in the physical location of the physical object on the physical surface; and
modifying the one or more attributes of the representation of the application based on the change in position of the physical object on the physical surface comprises changing the displayed location of the representation of the application based on at least one of a magnitude of the change in the physical location of the physical object on the physical surface or direction of the change in the physical location of the physical object on the physical surface.
5. The method of any of claims 1-4, wherein:
modifying the one or more attributes of the representation of the application comprises modifying operation of the application;
the operation of the application transitions from a primary operational state to a secondary operational state as the position of the physical object moves in a first direction; the operation of the application transitions from the secondary operational state to the primary operational state as the position of the physical object moves in a second direction different from the first direction;
while in the primary operational state, the application is enabled to perform a function; and
while in the secondary operational state, the application is not enabled to perform the function.
6. The method of any of claims 1-5, wherein:
modifying the one or more attributes of the representation of the application comprises modifying a visual appearance of the representation of the application;
the visual appearance of the representation of the application transitions from a primary visual state to a secondary visual state as the position of the physical object moves in a third direction;
the visual appearance of the representation of the application transitions from the secondary visual state to the primary visual state as the position of the physical object moves in a fourth direction different from the third direction;
while in the primary visual state, the application is enabled to display a visual feature; and
while in the secondary visual state, the application is not enabled to display the visual feature.
7. The method of any of claims 1-4, wherein:
determining the position of the physical object on the physical surface comprises determining whether a distance between the physical object and a user exceeds a first predetermined threshold; and
modifying the one or more attributes of the representation of the application comprises:
in accordance with a determination that the distance between the physical object and the user exceeds the first predetermined threshold, transitioning the application to a first operational state.
8. The method of claim 7, wherein:
determining the position of the physical object on the physical surface further comprises determining whether the distance between the physical object and the user exceeds a second predetermined threshold; and
modifying the one or more attributes of the representation of the application further comprises:
in accordance with a determination that the distance between the physical object and the user does not exceed the second predetermined threshold, transitioning the application to a second operational state different than the first operational state; and
in accordance with a determination that the distance between the physical object and the user exceeds the second predetermined threshold and does not exceed the first predetermined threshold, transitioning the application to a third operational state different than the first and second operational states.
9. The method of any of claims 1-4 and 7-8, wherein:
determining the position of the physical object on the physical surface comprises determining whether a distance between the physical object and a user exceeds a third predetermined threshold; and
modifying the one or more attributes of the representation of the application comprises:
in accordance with a determination that the distance between the physical object and the user exceeds the third predetermined threshold, transitioning the representation of the application to a first visual state.
10. The method of claim 9, wherein:
determining the position of the physical object on the physical surface further comprises determining whether the distance between the physical object and the user exceeds a fourth predetermined threshold; and
modifying the one or more attributes of the representation of the application further comprises:
in accordance with a determination that the distance between the physical object and the user does not exceed the fourth predetermined threshold, transitioning the representation of the application to a second visual state different than the first visual state; and
in accordance with a determination that the distance between the physical object and the user exceeds the fourth predetermined threshold and does not exceed the third predetermined threshold, transitioning the representation of the application to a third visual state different than the first and second visual states.
11. The method of any of claims 1-10, further comprising displaying a virtual
representation of the physical object on the physical surface in the simulated reality setting.
12. The method of any of claims 1-11, wherein the change in the position of the physical object on the physical surface is detected by a sensor.
The method of claim 12, wherein the physical object comprises the sensor.
14. The method of any of claims 1-13, wherein the representation of the application is displayed having an elevated position above the physical object in the simulated reality setting.
15. The method of any of claims 1-14, wherein displaying the representation of the application comprises displaying a virtual user interface for providing input to the application, wherein the displayed virtual user interface is displayed at a location on the physical surface adjacent a user.
16. The method of any of claims 1-15, further comprising: while displaying the representation of the application, and prior to modifying the one or more attributes of the representation of the application, detecting a change in the position of the physical object on the physical surface.
17. A device for displaying one or more applications in a simulated reality setting, comprising:
one or more processors; and
memory storing one or more programs configured to be executed by the one or more processors, the one or more programs including instructions for:
determining a position of a physical object on a physical surface;
displaying a representation of an application in a simulated reality setting, wherein one or more attributes of the representation of the application are based on the position of the physical object on the physical surface; and
in response to detecting a change in the position of the physical object on the physical surface, modifying the one or more attributes of the representation of the application based on the change in position of the physical object on the physical surface.
18. The device of claim 17, wherein modifying the one or more attributes of the representation of the application comprises modifying the display of the representation of the application based on the change in position of the physical object on the physical surface.
19. The device of any of claims 17-18, wherein:
the one or more attributes comprise an orientation of the representation of the application as displayed in the simulated reality setting with respect to a user;
the change in the position of the physical object on the physical surface comprises a rotation of the physical object on the physical surface; and
modifying the one or more attributes of the representation of the application based on the change in position of the physical object on the physical surface comprises changing the orientation of the representation of the application based on at least one of a magnitude of the rotation of the physical object on the physical surface or a direction of the rotation of the physical object on the physical surface.
20. The device of any of claims 17-19, wherein:
the one or more attributes comprises a displayed location of the representation of the application;
the change in the position of the physical object on the physical surface comprises a change in the physical location of the physical object on the physical surface; and
modifying the one or more attributes of the representation of the application based on the change in position of the physical object on the physical surface comprises changing the displayed location of the representation of the application based on at least one of a magnitude of the change in the physical location of the physical object on the physical surface or direction of the change in the physical location of the physical object on the physical surface.
21. The device of any of claims 17-20, wherein:
modifying the one or more attributes of the representation of the application comprises modifying operation of the application;
the operation of the application transitions from a primary operational state to a secondary operational state as the position of the physical object moves in a first direction; the operation of the application transitions from the secondary operational state to the primary operational state as the position of the physical object moves in a second direction different from the first direction;
while in the primary operational state, the application is enabled to perform a function; and
while in the secondary operational state, the application is not enabled to perform the function.
22. The device of any of claims 17-21, wherein:
modifying the one or more attributes of the representation of the application comprises modifying a visual appearance of the representation of the application;
the visual appearance of the representation of the application transitions from a primary visual state to a secondary visual state as the position of the physical object moves in a third direction;
the visual appearance of the representation of the application transitions from the secondary visual state to the primary visual state as the position of the physical object moves in a fourth direction different from the third direction;
while in the primary visual state, the application is enabled to display a visual feature; and
while in the secondary visual state, the application is not enabled to display the visual feature.
23. The device of any of claims 17-20, wherein:
determining the position of the physical object on the physical surface comprises determining whether a distance between the physical object and a user exceeds a first predetermined threshold; and
modifying the one or more attributes of the representation of the application comprises:
in accordance with a determination that the distance between the physical object and the user exceeds the first predetermined threshold, transitioning the application to a first operational state.
24. The device of claim 23, wherein:
determining the position of the physical object on the physical surface further comprises determining whether the distance between the physical object and the user exceeds a second predetermined threshold; and
modifying the one or more attributes of the representation of the application further comprises:
in accordance with a determination that the distance between the physical object and the user does not exceed the second predetermined threshold, transitioning the application to a second operational state different than the first operational state; and
in accordance with a determination that the distance between the physical object and the user exceeds the second predetermined threshold and does not exceed the first predetermined threshold, transitioning the application to a third operational state different than the first and second operational states.
25. The device of any of claims 17-20 and 23-24, wherein:
determining the position of the physical object on the physical surface comprises determining whether a distance between the physical object and a user exceeds a third predetermined threshold; and
modifying the one or more attributes of the representation of the application comprises:
in accordance with a determination that the distance between the physical object and the user exceeds the third predetermined threshold, transitioning the representation of the application to a first visual state.
26. The device of claim 25, wherein:
determining the position of the physical object on the physical surface further comprises determining whether the distance between the physical object and the user exceeds a fourth predetermined threshold; and
modifying the one or more attributes of the representation of the application further comprises:
in accordance with a determination that the distance between the physical object and the user does not exceed the fourth predetermined threshold, transitioning the representation of the application to a second visual state different than the first visual state; and
in accordance with a determination that the distance between the physical object and the user exceeds the fourth predetermined threshold and does not exceed the third predetermined threshold, transitioning the representation of the application to a third visual state different than the first and second visual states.
27. The device of any of claims 17-26, the instructions further comprising:
displaying a virtual representation of the physical object on the physical surface in the simulated reality setting.
28. The device of any of claims 17-27, wherein the change in the position of the physical object on the physical surface is detected by a sensor.
29. The device of claim 28, wherein the physical object comprises the sensor.
30. The device of any of claims 17-29, wherein the representation of the application is displayed having an elevated position above the physical object in the simulated reality setting.
31. The device of any of claims 17-30, wherein displaying the representation of the application comprises displaying a virtual user interface for providing input to the
application, wherein the displayed virtual user interface is displayed at a location on the physical surface adjacent a user.
32. The device of any of claims 17-31, the instructions further comprising:
while displaying the representation of the application, and prior to modifying the one or more attributes of the representation of the application, detecting a change in the position of the physical object on the physical surface.
33. A non-transitory computer-readable storage medium storing one or more programs configured to be executed by one or more processors, the one or more programs including instructions for:
determining a position of a physical object on a physical surface;
displaying a representation of an application in a simulated reality setting, wherein one or more attributes of the representation of the application are based on the position of the physical object on the physical surface; and
in response to detecting a change in the position of the physical object on the physical surface, modifying the one or more attributes of the representation of the application based on the change in position of the physical object on the physical surface.
34. An apparatus comprising means for performing the method of any of claims 1-16.
35. A transitory computer-readable storage medium storing one or more programs configured to be executed by one or more processors, the one or more programs including instructions to perform the method of any of claims 1-16.
Priority Applications (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| US16/651,249 US10983663B2 (en) | 2017-09-29 | 2018-09-25 | Displaying applications |
| CN201880063519.0A CN111448542B (en) | 2017-09-29 | 2018-09-25 | show applications |
Applications Claiming Priority (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| US201762565741P | 2017-09-29 | 2017-09-29 | |
| US62/565,741 | 2017-09-29 |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| WO2019067482A1 true WO2019067482A1 (en) | 2019-04-04 |
Family
ID=63966087
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| PCT/US2018/052748 Ceased WO2019067482A1 (en) | 2017-09-29 | 2018-09-25 | Displaying applications in a simulated reality setting |
Country Status (3)
| Country | Link |
|---|---|
| US (1) | US10983663B2 (en) |
| CN (1) | CN111448542B (en) |
| WO (1) | WO2019067482A1 (en) |
Cited By (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| WO2021061349A1 (en) * | 2019-09-27 | 2021-04-01 | Apple Inc. | Controlling representations of virtual objects in a computer-generated reality environment |
| US12118182B2 (en) | 2020-07-14 | 2024-10-15 | Apple Inc. | Generating suggested content for workspaces |
Families Citing this family (40)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US11366514B2 (en) | 2018-09-28 | 2022-06-21 | Apple Inc. | Application placement based on head position |
| US11494051B1 (en) * | 2018-11-01 | 2022-11-08 | Intuit, Inc. | Image template-based AR form experiences |
| US11334326B2 (en) | 2019-02-27 | 2022-05-17 | Adrian Andres Rodriguez-Velasquez | Systems, devices, and methods of developing or modifying software using physical blocks |
| WO2021061351A1 (en) | 2019-09-26 | 2021-04-01 | Apple Inc. | Wearable electronic device presenting a computer-generated reality environment |
| CN116360601A (en) | 2019-09-27 | 2023-06-30 | 苹果公司 | Electronic device, storage medium, and method for providing an augmented reality environment |
| WO2021262507A1 (en) | 2020-06-22 | 2021-12-30 | Sterling Labs Llc | Displaying a virtual display |
| AU2021349381B2 (en) | 2020-09-25 | 2024-02-22 | Apple Inc. | Methods for interacting with virtual controls and/or an affordance for moving virtual objects in virtual environments |
| JP7784422B2 (en) | 2020-09-25 | 2025-12-11 | アップル インコーポレイテッド | How to navigate the user interface |
| EP4697149A3 (en) * | 2020-09-25 | 2026-03-11 | Apple Inc. | Methods for adjusting and/or controlling immersion associated with user interfaces |
| CN117032450B (en) | 2020-09-25 | 2024-11-08 | 苹果公司 | Method for manipulating objects in an environment |
| CN116670627A (en) | 2020-12-31 | 2023-08-29 | 苹果公司 | Methods for Grouping User Interfaces in Environments |
| WO2022164644A1 (en) * | 2021-01-26 | 2022-08-04 | Sterling Labs Llc | Displaying a contextualized widget |
| US11995230B2 (en) | 2021-02-11 | 2024-05-28 | Apple Inc. | Methods for presenting and sharing content in an environment |
| JP7713533B2 (en) | 2021-04-13 | 2025-07-25 | アップル インコーポレイテッド | Methods for providing an immersive experience within an environment |
| CN119960596A (en) | 2021-09-23 | 2025-05-09 | 苹果公司 | Device, method and graphical user interface for content application |
| EP4388397A1 (en) | 2021-09-25 | 2024-06-26 | Apple Inc. | Devices, methods, and graphical user interfaces for presenting virtual objects in virtual environments |
| US12456271B1 (en) | 2021-11-19 | 2025-10-28 | Apple Inc. | System and method of three-dimensional object cleanup and text annotation |
| CN119556830A (en) | 2022-01-12 | 2025-03-04 | 苹果公司 | Methods for displaying, selecting, and moving objects and containers in the environment |
| JP7843357B2 (en) | 2022-01-19 | 2026-04-09 | アップル インコーポレイテッド | Methods for displaying and repositioning objects within an environment |
| US12541280B2 (en) | 2022-02-28 | 2026-02-03 | Apple Inc. | System and method of three-dimensional placement and refinement in multi-user communication sessions |
| US12272005B2 (en) | 2022-02-28 | 2025-04-08 | Apple Inc. | System and method of three-dimensional immersive applications in multi-user communication sessions |
| US12321666B2 (en) | 2022-04-04 | 2025-06-03 | Apple Inc. | Methods for quick message response and dictation in a three-dimensional environment |
| EP4511722A1 (en) | 2022-04-20 | 2025-02-26 | Apple Inc. | Obstructed objects in a three-dimensional environment |
| WO2023205457A1 (en) | 2022-04-21 | 2023-10-26 | Apple Inc. | Representations of messages in a three-dimensional environment |
| US12394167B1 (en) | 2022-06-30 | 2025-08-19 | Apple Inc. | Window resizing and virtual object rearrangement in 3D environments |
| US12112011B2 (en) | 2022-09-16 | 2024-10-08 | Apple Inc. | System and method of application-based three-dimensional refinement in multi-user communication sessions |
| US12148078B2 (en) | 2022-09-16 | 2024-11-19 | Apple Inc. | System and method of spatial groups in multi-user communication sessions |
| US12099653B2 (en) | 2022-09-22 | 2024-09-24 | Apple Inc. | User interface response based on gaze-holding event assessment |
| US12405704B1 (en) | 2022-09-23 | 2025-09-02 | Apple Inc. | Interpreting user movement as direct touch user interface interactions |
| KR20250075620A (en) | 2022-09-24 | 2025-05-28 | 애플 인크. | Methods for controlling and interacting with a three-dimensional environment. |
| US12524956B2 (en) | 2022-09-24 | 2026-01-13 | Apple Inc. | Methods for time of day adjustments for environments and environment presentation during communication sessions |
| CN120266083A (en) | 2022-09-24 | 2025-07-04 | 苹果公司 | Methods for attention-based interaction with user interfaces |
| CN121165940A (en) | 2023-01-30 | 2025-12-19 | 苹果公司 | Devices, methods, and graphical user interfaces for displaying multiple sets of controls in response to gaze and/or gesture input |
| US12108012B2 (en) | 2023-02-27 | 2024-10-01 | Apple Inc. | System and method of managing spatial states and display modes in multi-user communication sessions |
| US12118200B1 (en) | 2023-06-02 | 2024-10-15 | Apple Inc. | Fuzzy hit testing |
| US12443286B2 (en) | 2023-06-02 | 2025-10-14 | Apple Inc. | Input recognition based on distinguishing direct and indirect user interactions |
| US12099695B1 (en) | 2023-06-04 | 2024-09-24 | Apple Inc. | Systems and methods of managing spatial groups in multi-user communication sessions |
| CN121187445A (en) | 2023-06-04 | 2025-12-23 | 苹果公司 | Methods for managing overlapping windows and applying visual effects |
| CN119536865A (en) * | 2023-08-29 | 2025-02-28 | 华为技术有限公司 | Virtual scene display method and device and equipment |
| US20250378645A1 (en) | 2024-06-09 | 2025-12-11 | Apple Inc. | Methods of interacting with content in a virtual environment |
Family Cites Families (27)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP4332964B2 (en) * | 1999-12-21 | 2009-09-16 | ソニー株式会社 | Information input / output system and information input / output method |
| US7394459B2 (en) * | 2004-04-29 | 2008-07-01 | Microsoft Corporation | Interaction between objects and a virtual environment display |
| JP5263049B2 (en) * | 2009-07-21 | 2013-08-14 | ソニー株式会社 | Information processing apparatus, information processing method, and program |
| US9142062B2 (en) * | 2011-03-29 | 2015-09-22 | Qualcomm Incorporated | Selective hand occlusion over virtual projections onto physical surfaces using skeletal tracking |
| JP5821526B2 (en) * | 2011-10-27 | 2015-11-24 | ソニー株式会社 | Image processing apparatus, image processing method, and program |
| US9202313B2 (en) * | 2013-01-21 | 2015-12-01 | Microsoft Technology Licensing, Llc | Virtual interaction with image projection |
| US20140282220A1 (en) * | 2013-03-14 | 2014-09-18 | Tim Wantland | Presenting object models in augmented reality images |
| KR102138511B1 (en) | 2013-08-28 | 2020-07-28 | 엘지전자 주식회사 | Apparatus and Method for Portable Device transmitting marker information for videotelephony of Head Mounted Display |
| JP6618681B2 (en) * | 2013-12-25 | 2019-12-11 | キヤノンマーケティングジャパン株式会社 | Information processing apparatus, control method and program therefor, and information processing system |
| US9524588B2 (en) | 2014-01-24 | 2016-12-20 | Avaya Inc. | Enhanced communication between remote participants using augmented and virtual reality |
| US10592929B2 (en) * | 2014-02-19 | 2020-03-17 | VP Holdings, Inc. | Systems and methods for delivering content |
| US10529359B2 (en) * | 2014-04-17 | 2020-01-07 | Microsoft Technology Licensing, Llc | Conversation detection |
| US9858720B2 (en) | 2014-07-25 | 2018-01-02 | Microsoft Technology Licensing, Llc | Three-dimensional mixed-reality viewport |
| EP2996017B1 (en) * | 2014-09-11 | 2022-05-11 | Nokia Technologies Oy | Method, apparatus and computer program for displaying an image of a physical keyboard on a head mountable display |
| CN106663411A (en) * | 2014-11-16 | 2017-05-10 | 易欧耐特感知公司 | Systems and methods for augmented reality preparation, processing, and application |
| WO2017021902A1 (en) * | 2015-08-03 | 2017-02-09 | Smartvizs Private Limited | System and method for gesture based measurement of virtual reality space |
| US9886086B2 (en) * | 2015-08-21 | 2018-02-06 | Verizon Patent And Licensing Inc. | Gesture-based reorientation and navigation of a virtual reality (VR) interface |
| WO2017039308A1 (en) * | 2015-08-31 | 2017-03-09 | Samsung Electronics Co., Ltd. | Virtual reality display apparatus and display method thereof |
| US10318225B2 (en) * | 2015-09-01 | 2019-06-11 | Microsoft Technology Licensing, Llc | Holographic augmented authoring |
| US20170232348A1 (en) * | 2016-02-05 | 2017-08-17 | Prizm Labs, Inc. | Methods for executing an instance of a virtual multiplayer game at multiple local devices |
| US20170256096A1 (en) * | 2016-03-07 | 2017-09-07 | Google Inc. | Intelligent object sizing and placement in a augmented / virtual reality environment |
| CA3023488C (en) * | 2016-04-14 | 2022-06-28 | The Research Foundation For The State University Of New York | System and method for generating a progressive representation associated with surjectively mapped virtual and physical reality image data |
| US10885801B2 (en) * | 2016-05-24 | 2021-01-05 | Tangible Play, Inc. | Virtualized tangible programming |
| US10802665B2 (en) * | 2016-10-05 | 2020-10-13 | Motorola Solutions, Inc. | System and method for projecting graphical objects |
| US10290152B2 (en) * | 2017-04-03 | 2019-05-14 | Microsoft Technology Licensing, Llc | Virtual object user interface display |
| US10564915B2 (en) * | 2018-03-05 | 2020-02-18 | Microsoft Technology Licensing, Llc | Displaying content based on positional state |
| US11366514B2 (en) * | 2018-09-28 | 2022-06-21 | Apple Inc. | Application placement based on head position |
-
2018
- 2018-09-25 US US16/651,249 patent/US10983663B2/en active Active
- 2018-09-25 CN CN201880063519.0A patent/CN111448542B/en active Active
- 2018-09-25 WO PCT/US2018/052748 patent/WO2019067482A1/en not_active Ceased
Non-Patent Citations (5)
| Title |
|---|
| ANONYMOUS: "The Dynamic Desktop (in the office of the future...) - YouTube", 19 August 2014 (2014-08-19), XP055529433, Retrieved from the Internet <URL:http://www.youtube.com/watch?v=m9lZfnRrM4Y> [retrieved on 20181203] * |
| DEDUAL N J ET AL: "Creating hybrid user interfaces with a 2D multi-touch tabletop and a 3D see-through head-worn display", MIXED AND AUGMENTED REALITY (ISMAR), 2011 10TH IEEE INTERNATIONAL SYMPOSIUM ON, IEEE, 26 October 2011 (2011-10-26), pages 231 - 232, XP032118684, ISBN: 978-1-4577-2183-0, DOI: 10.1109/ISMAR.2011.6092391 * |
| GEORGE W FITZMAURICE ET AL: "May 7-11 1995 @BULLET CHI '95 MOSAIC OF CREATIVITY Bricks: Laying the Foundations for Graspable User Interfaces", 11 May 1995 (1995-05-11), CHI'95, Denver, Colorado, USA, XP055270298, Retrieved from the Internet <URL:http://delivery.acm.org/10.1145/230000/223964/p442-fitzmaurice.pdf> [retrieved on 20160503] * |
| ORIT SHAER ET AL: "Tangible User Interfaces: Past, Present, and Future Directions", FOUNDATIONS AND TRENDS? IN HUMAN-COMPUTER INTERACTION, vol. 3, no. 1-2, 2 January 2010 (2010-01-02), pages 1 - 137, XP055359912, ISSN: 1551-3955, DOI: 10.1561/1100000026 * |
| REGENBRECHT H ET AL: "A tangible AR desktop environment", COMPUTERS AND GRAPH, ELSEVIER, GB, vol. 25, no. 5, 1 October 2001 (2001-10-01), pages 755 - 763, XP004318021, ISSN: 0097-8493, DOI: 10.1016/S0097-8493(01)00118-2 * |
Cited By (10)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| WO2021061349A1 (en) * | 2019-09-27 | 2021-04-01 | Apple Inc. | Controlling representations of virtual objects in a computer-generated reality environment |
| KR20210136116A (en) * | 2019-09-27 | 2021-11-16 | 애플 인크. | virtual objects control |
| CN113785260A (en) * | 2019-09-27 | 2021-12-10 | 苹果公司 | Controlling representations of virtual objects in a computer-generated real-world environment |
| JP2022533811A (en) * | 2019-09-27 | 2022-07-26 | アップル インコーポレイテッド | Virtual object control |
| US11861056B2 (en) | 2019-09-27 | 2024-01-02 | Apple Inc. | Controlling representations of virtual objects in a computer-generated reality environment |
| JP7436505B2 (en) | 2019-09-27 | 2024-02-21 | アップル インコーポレイテッド | Controlling virtual objects |
| KR102684612B1 (en) * | 2019-09-27 | 2024-07-15 | 애플 인크. | Control virtual objects |
| CN113785260B (en) * | 2019-09-27 | 2025-02-11 | 苹果公司 | Controlling Virtual Objects |
| US12254127B2 (en) | 2019-09-27 | 2025-03-18 | Apple Inc. | Controlling representations of virtual objects in a computer-generated reality environment |
| US12118182B2 (en) | 2020-07-14 | 2024-10-15 | Apple Inc. | Generating suggested content for workspaces |
Also Published As
| Publication number | Publication date |
|---|---|
| CN111448542A (en) | 2020-07-24 |
| US10983663B2 (en) | 2021-04-20 |
| US20200293177A1 (en) | 2020-09-17 |
| CN111448542B (en) | 2023-07-11 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US10983663B2 (en) | Displaying applications | |
| US12141423B2 (en) | Techniques for manipulating computer graphical objects | |
| US12511009B2 (en) | Representations of messages in a three-dimensional environment | |
| US12596472B2 (en) | Methods for displaying a visual indication in a user interface based on user interaction | |
| US20230325004A1 (en) | Method of interacting with objects in an environment | |
| US11954245B2 (en) | Displaying physical input devices as virtual objects | |
| US10416835B2 (en) | Three-dimensional user interface for head-mountable display | |
| CN116888571A (en) | Ways to manipulate the user interface in the environment | |
| KR20230048450A (en) | A method for adjusting and/or controlling immersion associated with a user interface | |
| CN119620857A (en) | Device and method for accessing system functions of a computer system while displaying a three-dimensional environment | |
| US11714540B2 (en) | Remote touch detection enabled by peripheral device | |
| US12271531B2 (en) | Devices, methods, and graphical user interfaces for using a cursor to interact with three-dimensional environments | |
| US20250383750A1 (en) | Devices, methods, and graphical user interfaces for manipulating virtual objects in a three-dimensional environment | |
| US20260104781A1 (en) | Methods of facilitating and interacting with virtual workspaces in a three-dimensional environment | |
| US12489815B1 (en) | Toolbox and context for user interactions | |
| CN118715499A (en) | Device, method and graphical user interface for accessing system functions of a computer system while displaying a three-dimensional environment |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| 121 | Ep: the epo has been informed by wipo that ep was designated in this application |
Ref document number: 18793075 Country of ref document: EP Kind code of ref document: A1 |
|
| NENP | Non-entry into the national phase |
Ref country code: DE |
|
| 122 | Ep: pct application non-entry in european phase |
Ref document number: 18793075 Country of ref document: EP Kind code of ref document: A1 |