EP4430574A1 - Augmented reality collaboration system with annotation capability - Google Patents
Augmented reality collaboration system with annotation capabilityInfo
- Publication number
- EP4430574A1 EP4430574A1 EP22893765.2A EP22893765A EP4430574A1 EP 4430574 A1 EP4430574 A1 EP 4430574A1 EP 22893765 A EP22893765 A EP 22893765A EP 4430574 A1 EP4430574 A1 EP 4430574A1
- Authority
- EP
- European Patent Office
- Prior art keywords
- user device
- user
- image
- virtual content
- annotation
- 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.)
- Pending
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/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
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/16—Constructional details or arrangements
- G06F1/1613—Constructional details or arrangements for portable computers
- G06F1/163—Wearable computers, e.g. on a belt
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/16—Constructional details or arrangements
- G06F1/1613—Constructional details or arrangements for portable computers
- G06F1/1632—External expansion units, e.g. docking stations
-
- 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, e.g. changing the user viewpoint with respect to the environment or object
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T19/00—Manipulating 3D models or images for computer graphics
- G06T19/006—Mixed reality
Definitions
- the disclosed technology relates generally to augmented reality systems, and more particularly, some embodiments relate to collaboration using such systems.
- a claimed solution rooted in computer technology overcomes problems specifically arising in the realm of computer technology.
- one aspect disclosed features a system comprising: a first user device configured to display virtual content, the first user device comprising one or more displays; one or more hardware processors; and a non-transitory machine-readable storage medium encoded with instructions executable by the one or more hardware processors to: generate a first image depicting virtual content in a virtual location corresponding to a physical location in a physical environment of the first user device, display the first image in the one or more displays of the first user device, enable a user of the first user device to create media and associate that media with the virtual content in the first image in the form of an annotation, and store the annotation and virtual content, and make it available for access by a plurality of additional user devices.
- Embodiments of the system may include one or more of the following features.
- the media is generated by the user through the use of a second user device.
- the second user device is a handheld device.
- the second user device executes a first application that is communicably linked to a second application on which the first image is being generated.
- the first user device is a head-mounted device.
- the instructions are further executable by the one or more hardware processors to: determine a pose of the first user device with respect to the physical location; and generate the first image based on the pose.
- the instructions are further executable by the one or more hardware processors to: hold the first image in the one or more displays of the first user device as the pose of the first user device changes while adding the annotation to the image.
- the instructions are further executable by the one or more hardware processors to: store a view of the annotation and virtual content according to the pose.
- at least one of the plurality of additional user devices is configured to: retrieve the stored view of the annotation and virtual content; generate a second image based on the view; and display the second image in one or more displays of the additional user device.
- the first and second images are displayed synchronously. In some embodiments, the first and second images are displayed asynchronously.
- the additional user device is proximate to the first user device. In some embodiments, the additional user device is remote from the first user device. In some embodiments, the additional user device is configured to enable its user to create a second media and associate that second media with the annotation. In some embodiments, the media comprises at least one of: text; an image; a video segment; or an audio segment.
- one aspect disclosed features non-transitory machine-readable storage medium encoded with instructions executable by one or more hardware processors to: generate a first image depicting virtual content in a virtual location corresponding to a physical location in a physical environment of the first user device; display the first image in the one or more displays of a first user device; enable a user of the first user device to create media and associate that media with the virtual content in the first image in the form of an annotation; and store the annotation and virtual content, and make it available for access by a plurality of additional user devices.
- Embodiments of the medium may include one or more of the following features.
- the media is generated by the user through the use of a second user device.
- the second user device is a handheld device.
- the second user device executes a first application that is communicably linked to a second application on which the first image is being generated.
- the first user device is a head-mounted device.
- the instructions are further executable by the one or more hardware processors to: determine a pose of the first user device with respect to the physical location; and generate the first image based on the pose.
- the instructions are further executable by the one or more hardware processors to: hold the first image in the one or more displays of the first user device as the pose of the first user device changes while adding the annotation to the image.
- the instructions are further executable by the one or more hardware processors to: store a view of the annotation and virtual content according to the pose.
- at least one of the plurality of additional user devices is configured to: retrieve the stored view of the annotation and virtual content; generate a second image based on the view; and display the second image in one or more displays of the additional user device.
- the first and second images are displayed synchronously. In some embodiments, the first and second images are displayed asynchronously.
- the additional user device is proximate to the first user device. In some embodiments, the additional user device is remote from the first user device. In some embodiments, the additional user device is configured to enable its user to create a second media and associate that second media with the annotation. In some embodiments, the media comprises at least one of: text; an image; a video segment; or an audio segment.
- FIG. 1 illustrates an augmented reality collaboration system featuring a physical holopad according to some embodiments of the disclosed technology.
- FIG. 2 illustrates the use of an augmented reality collaboration system featuring a physical holopad in conjunction with a computer-aided design (CAD) system according to some embodiments of the disclosed technology.
- CAD computer-aided design
- FIG. 3 is a perspective view of the interior of a physical holopad according to some embodiments of the disclosed technology.
- FIG. 4 is a perspective view of a headset according to some embodiments of the disclosed technology.
- FIG. 5 is a perspective view of an add-on device according to some embodiments of the disclosed technology.
- FIG. 6 is a perspective view of a user device with the add-on device attached according to some embodiments of the disclosed technology.
- FIG. 7 illustrates an augmented reality collaboration system featuring a virtual holopad according to some embodiments of the disclosed technology.
- FIG. 8 illustrates some example networked systems according to embodiments of the disclosed technology.
- FIG. 9 is a flowchart of a process of a physical holopad system according to some embodiments of the disclosed technology.
- FIG. 10 is a flowchart of a process of a virtual holopad system according to some embodiments of the disclosed technology.
- FIG. 11 is a flowchart for a process for providing, to a second holopad system user, a virtual proxy of a user in a first holopad system, according to embodiments of the disclosed technology.
- FIG. 12 illustrates the augmented reality collaboration system 700 of FIG. 7 with a user JW adding a text annotation to virtual content according to some embodiments of the disclosed technology.
- FIG. 13 illustrates the augmented reality collaboration system of FIG. 12 where a second user PM has added a text annotation to the virtual content in response to user JW's initial text annotation, according to some embodiments of the disclosed technology.
- FIG. 14 illustrates the augmented reality collaboration system of FIG. 13 where a third user AB has added a further text annotation to the virtual content according to some embodiments of the disclosed technology.
- FIG. 15 is a flowchart of a process of a physical holopad system according to some embodiments of the disclosed technology.
- FIG. 16 is an example computing component that may be used to implement various features of embodiments described in the present disclosure.
- some embodiments of the disclosed technology provide augmented reality collaboration systems featuring physical devices that designate a projection location for virtual content displayed by the collaboration system, also referred to herein as physical "holopads.”
- images of virtual content are displayed to the users in a predetermined location relative to the physical holopad, such that the virtual content resembles a hologram projected by the holopad.
- the users may view and interact with virtual content using a variety of user devices, including headsets, tablets, smartphones, controllers, gestures and gesture recognition coupled with virtual control systems, and the like.
- Each physical holopad not only provides position and orientation information for the system, but also serves as an intuitive physical point of reference for the users.
- the disclosed technology acts as a shared 3D monitor, making it clear to users of the collaboration system where virtual content will appear, thus facilitating the purpose and effectiveness of the system.
- the disclosed technology permits 3D videoconferencing, with a holopad at each location. These embodiments enable geographically-distributed users to feel as though they are all collaborating around the same table.
- each physical holopad may be a structure that includes a plurality of radiation emitters, for example such as infrared emitters, arranged in a known pattern.
- the holopad may be placed in a central location about which users may gather in a single location, for example such as a conference room table.
- Sensors on each user device may detect emissions from the emitters to determine the pose of the headset with respect to the holopad.
- the "pose" of an object represents its spatial relationship with another object, including position and orientation.
- sensors on a user device may determine the pose of the headset with respect to the physical holopad using object or image recognition technologies.
- the physical holopad need not include radiation emitters.
- determining a pose may include processing outputs of inertial monitoring units (I MUs) in the user devices.
- I MUs inertial monitoring units
- a user device that takes the form of a headset may include an IMU.
- Sensors such as cameras typically allow position fixes at relatively low frequencies of around 60Hz.
- IMUs may provide position changes at a very high rate, for example at a frequency of 200 Hz or higher. The fusion of these two technologies and their relative outputs allows the collaboration system to achieve highly- accurate position fixes, while also allowing it to make highly-accurate predictions of the user's future positions.
- the system may generate an image of the virtual content for each user device based on its pose with respect to the physical holopad.
- the user devices may display the images in a predetermined location relative to the physical holopad.
- the virtual content may appear to the users to hover above the holopad as though the holopad were projecting a hologram of the virtual content.
- Some embodiments of the disclosed technology provide augmented reality collaboration systems featuring virtual holopads.
- users may view and interact with virtual content using a variety of user devices, including headsets, tablets, smartphones, and the like, without the use of a physical holopad.
- the user may employ the user device and surface tracking software (such as ARKit or ARCore) to place a virtual holopad on the surface.
- surface tracking software such as ARKit or ARCore
- the virtual holopad serves as a visual point of reference for the user as well as a means for aligning the coordinate system of the user's environment with that of remote systems that include a physical or virtual holopad.
- the system generates an image of the virtual content for display on a user device in a predetermined location relative to the virtual holopad.
- the virtual content may appear to the users to hover above the virtual holopad as though the virtual holopad were projecting a hologram of the virtual content.
- all users see the virtual content in the same position relative to the holopad, thereby thus creating the perception of the system as presenting a shared 3D/holographic monitor.
- one or more of the disclosed augmented reality systems may be interconnected to share virtual content for communication or collaboration.
- the interconnected systems may be networked, and may include one or more of the physical holopad systems and one or more of the virtual holopad systems.
- each user may have one or more permissions.
- the permissions may include permissions to view or edit the virtual content.
- the users may change permissions during the collaboration, according to user input and/or specific parameters that may be set on the system at the outset or during the collaboration session.
- Any of the systems may be remote from one or more other systems.
- Any of the virtual holopad systems may be collocated with other virtual or physical holopad systems.
- FIG. 1 illustrates an augmented reality collaboration system 100 featuring a physical holopad according to some embodiments of the disclosed technology.
- the system 100 includes a physical holopad 102 and a plurality of user devices employed by three users 104a, b,c to view and interact with virtual content 106, which in this example represents a building.
- users 104a, b employ headsets 108a, b to view the virtual content 106
- user 104c employs a tablet 110 to view the virtual content 106.
- users 104b, c are local, and are physically present in the same room as the holopad 102, and user 104a is remote, in another location, as indicated by broken lines.
- a virtual proxy of the remote user 104a may be displayed to the local users 104b, c as part of the virtual content 106, for example as described below in detail.
- the virtual proxy represent the headset 108a of the remote user 104a.
- the pose of each user device with respect to the physical holopad 102 may be determined by sensing emitters on the holopad, or by object or image recognition.
- the tablet 110 may include sensors, or may be equipped with an add-on device that includes the sensors, for example as described below.
- the system may include one or more computer systems 116 each featuring a memory and one or more processors executing instructions stored in the memory to generate images of the virtual content 106 for display to the users 104 on the user devices, which may be tethered to the computer systems 116 for power and communications.
- the headsets may be tethered to the computer system, while the mobile devices may run on their own batteries and compute power.
- some or all of this processing may take place at the user devices, which may be battery-powered and contain any and all processors and communication equipment needed to function in the collaboration system.
- the user devices may have wired connections to the computer, for example to provide high image quality, compute power, and/or electrical power.
- the user devices may have wireless connections to the computer, such as Bluetooth, WiFi, and the like, for example to allow increased mobility of the users 104.
- the users 104 may employ their user devices, or a peripheral device that is directly or indirectly connected to their user devices, to interact with the virtual content 106.
- a smartphone may include an app that provides tools for interacting with the virtual content.
- user 104b is shown using a smartphone 112b to interact with the content using a beam 114.
- the beam 114 may be a virtual beam generated by the system and visible on the user devices. Interaction with the virtual content may include selection of the virtual content, modification of the virtual content, annotation of the virtual content, and the like.
- the other users 104a, c may also interact with the virtual content 106, either sequentially or concurrently.
- user 104a may employ a smartphone 112a to interact with the virtual content 106, while user 104c may employ tablet 110.
- the users 104a, b may employ their headsets 108a, b to interact with the virtual content 106.
- the headsets may include user interfaces including tactile control, gaze control, voice command, and the like.
- the headsets 108 may include sensors for detecting the gestures.
- the disclosed systems may be used in conjunction with other systems.
- the systems may include applications for creating virtual content using 3D data from existing 3D tools such as computer-aided design (CAD) systems.
- FIG. 2 illustrates the use of an augmented reality collaboration system 200 featuring a physical holopad in conjunction with a CAD system according to some embodiments of the disclosed technology.
- the system 200 includes a physical holopad 202 and a headset 208 for viewing virtual content 206, which in this example represents a rocket engine.
- the system 200 also includes a CAD system 220.
- the views generated by the CAD system 220 may be coordinated with the views of the virtual content 206. For example, manipulation of one view may affect both views, for example in real time.
- the physical holopad 202 is shown as a standalone unit, the disclosed physical holopads may take any physical form, and may be attached to, or integrated with, one or more physical objects. In FIG. 2, three examples are shown.
- the physical holopad 202 is a cruciform design.
- a physical holopad 210 is attached to, or integrated with, the frame of a computer monitor.
- a physical holopad 212 is attached to, or integrated with, a stand 214 for holding the headsets 208.
- FIG. 3 is a perspective view of the interior of a physical holopad 300 according to some embodiments of the disclosed technology.
- the holopad has a cruciform design and four radiation emitters 302a,b,c,d disposed within respective arms of the physical holopad 300.
- the disclosed physical holopads may take any physical shape.
- the emitters 302 are arranged in a predetermined pattern that is known to the system. These arrangements facilitate determining poses of the user devices with respect to the physical holopad 300.
- FIG. 4 is a perspective view of a headset 400 according to some embodiments of the disclosed technology.
- the headset 400 may include a sensor 402 configured to capture emissions of the emitters of the physical holopads.
- the sensor 402 may include an infrared camera configured to capture images of the emitters.
- the headset 400 may include one or more optical elements.
- the optical element(s) may be implemented as any reflective translucent optic, for example as shown at 404.
- the optical element(s) 404 may be implemented as an off-axis optic, bird bath optic, prismatic optic, planar optic (i.e., a "waveguide"), or the like.
- the optical elements are designed to permit other collocated users to see the eyes of the wearer.
- the translucent optic could be user replaceable with reflective opaque optic for a virtual reality experience.
- the optical element 404 may be replaced or augmented by a display to allow for pass-through augmented reality or virtual reality experiences.
- the display may be a LCD, LED, OLED, or other display, that is positioned in the user device in front of the user's eyes.
- the display facilitates viewing the image of the virtual content integrated with the physical environment.
- the headset 400 includes a camera for capturing images of the physical environment, and these images are added to the images of virtual content so the wearer sees the virtual content integrated with the physical environment.
- the front of the headset may be opaque.
- the headset 400 may include a head attachment mechanism 406.
- the head attachment mechanism 406 may be implemented in any manner.
- the head attachment mechanism 406 may be implemented as a headband or the like.
- the optical element 404 is positioned so the headset 400 provides ample room to accommodate users wearing eyeglasses.
- the user device for viewing the virtual content may be implemented as a handheld computer, such as a smartphone, tablet, or the like.
- these handheld user devices may include sensors capable of detecting the emitters of the physical holopad.
- some embodiments may provide or be configured to accept an add-on device capable of performing the sensing.
- FIG. 5 is a perspective view of an add-on device 500 according to some embodiments of the disclosed technology.
- the add-on device 500 may include an attachment device 502 configured to attach the add-on device 500 to a user device.
- the attachment device 502 is implemented as a clamp.
- the attachment device 502 may attach to the user device in any manner.
- FIG. 6 is a perspective view of a user device 600 with the add-on device 500 attached according to some embodiments of the disclosed technology.
- the user device is implemented as a smartphone.
- the user device 600 may be any device capable of performing the functions described herein.
- the add-on device 500 may be configured to communicate wirelessly with the user device 600.
- the add-on device 500 may include a Bluetooth transceiver, NFC device, WiFi device, or the like.
- the add-on device 500 may have a wired communication connection to the user device 600.
- the add-on device 500 may have a connector configured to connect to a connector of the user device 600.
- the add-on device 500 may communicate to a computer network, to which user device 600 is also connected, for example via that user device's cellular or internet connection (e.g., via WiFi).
- the add-on device 500 may include an NFC tag to pair the add-on device 500 and the user device 600 for direct communications. For example, a user may enter a conference room, pick up an add-on device 500, which pairs with the user device 600, identifies itself to the user device 600, which automatically opens up a controller app on the user device 600.
- the add-on device 500 may have a power source independent of the power source of the user device 600. In some embodiments, the add-on device 500 may be configured to draw power from the user device 600. In some embodiments, the add-on device 500 may be configured to provide power to the user device 600. All combinations of the described configurations are contemplated.
- FIG. 7 illustrates an augmented reality collaboration system 700 featuring a virtual holopad 702 according to some embodiments of the disclosed technology.
- the system 700 includes a user device that a user can use to view and interact with virtual content 706, which in this example represents a rocket engine.
- virtual content 706, which in this example represents a rocket engine is implemented as a tablet 710.
- the user device may be any device capable of performing the functions described herein.
- the user device may be implemented as a headset, smartphone, laptop, and the like.
- a user may employ the tablet 710 to place a virtual object in a 3D scene displayed by the tablet 710 in a virtual location that corresponds to a physical location in the user's physical environment.
- the user has placed the virtual holopad 702 in the virtual location corresponding to the surface of table 720.
- the user may place the virtual holopad 702 in virtual locations corresponding to other surfaces in the user's physical environment instead.
- the virtual holopad serves as a point of reference for the user.
- the system may determine the pose of the tablet 710 with respect to the physical surface indicated by the virtual holopad 702.
- an application executing on the tablet 710 may use one or more sensors to scan and track surfaces in the physical environment, and to determine the physical location indicated by the virtual holopad with respect to the tablet 710.
- the system generates an image of the virtual content 706 and the virtual holopad 702 based on the pose of the tablet 710 with respect to the surface of table 720 selected by the user and enabled by surface tracking software implemented by the tablet 710.
- the tablet 710 may then display the image in a predetermined location relative to the virtual holopad 702.
- the virtual content may appear to the user to hover above the virtual holopad as though the holopad were projecting a hologram of the virtual content.
- the image may include an image of the virtual holopad 702.
- the image may include an image of the physical environment, as shown in FIG. 7, where the image includes an image of the table 720.
- FIG. 8 illustrates some example networked systems according to embodiments of the disclosed technology.
- One or more of the systems may include a wireless router to connect one or more components of the system.
- the wireless router may employ any wireless technology, for example including WiGig, WiFi6, 5G mmWave, and the like.
- a configuration including two users and a physical holopad in one room is shown at 804.
- both users are viewing the same virtual content.
- a configuration including two users and a first physical holopad in one room, and one user and a second physical holopad in a second room is shown at 806.
- all three users are viewing the same virtual content.
- a configuration including one user and a first physical holopad in one room, and one user and a second physical holopad in a second room, is shown at 808.
- both users are viewing the same virtual content.
- a configuration including one user and a virtual holopad, indicated by a broken line, in one room is shown at 810.
- FIG. 9 is a flowchart of a process 900 of a physical holopad system according to some embodiments of the disclosed technology.
- the process 900 may be performed by the physical holopad system 100 of FIG. 1.
- the process 900 is described for one user device.
- the process 900 may be performed for each user device in a physical holopad system.
- the process 900 may include sensing outputs of a plurality of radiation emitters disposed in a structure, at 902.
- each of the headsets 108 may include one or more sensors, for example such as the sensor 402 of FIG. 4.
- the headsets 108 may include additional sensors for detecting the gestures.
- Each user device may include a sensor, for example integrated in the user device or as part of an add-on device such as the add-on device 500 of FIG. 5.
- the emitters may be infrared emitters, and the sensor may be an infrared camera that captures an image of the infrared emitters.
- the process 900 may include determining a pose of the user device with respect to the structure based on the sensed outputs of the radiation emitters and outputs of the IMU, at 904.
- the computer system(s) 116 may determine a pose of the user device 108 with respect to the physical holopad 102.
- Each user device may have a different pose with respect to the holopad 102. Therefore each image may be different, and may present the virtual content as viewed from the respective pose.
- the system may fix the orientation of the virtual content with respect to the holopad 102, and may update the images frequently. For example, the images may be refreshed at a high rate using complex algorithms such as fused camera and inertial sensors with prediction based on head motion models. Therefore, the virtual content may appear to remain stationary, so that the users may move about the room to view the virtual content from different perspectives.
- the system may generate a pair of images. Such user devices may display the pair of images concurrently as a stereoscopic image of the virtual content.
- the process 900 may include displaying an image on an optical element of the user device in a predetermined location relative to the structure, at 908.
- the computer system(s) 116 may transmit the image to the user device, and responsive to receiving the image, the user device may display the image on its display or optical element.
- the process 900 may repeat, providing a seamless viewing experience to the user.
- FIG. 10 is a flowchart of a process 1000 of a virtual holopad system according to some embodiments of the disclosed technology.
- the process 1000 may be performed by the virtual holopad system 700 of FIG. 7.
- the process 1000 is described for one user device. However, the process 1000 may be performed for each user device in the virtual holopad system.
- the process 1000 may include capturing data related to the physical environment, at 1002.
- the tablet 710 may include a sensor for capturing the image.
- the sensor may be implemented as a camera, depth sensor, or the like, or combinations thereof.
- the tablet 710 may include a sensor for capturing the image.
- the sensor may be implemented as a camera, depth sensor, or the like, or combinations thereof.
- the process 1000 may include generating an image of virtual content based on the pose of the user device with respect to the physical location of the virtual object, at 1008.
- the tablet 710 may generate an image of the virtual content 706 for the user based on the pose of the tablet 710 with respect to the physical location that corresponds to the user's placement of the virtual holopad.
- the image presents the virtual content 706 as viewed from that pose.
- the system may fix the orientation of the virtual content with respect to the virtual holopad 702, and may update the images frequently. Therefore, the virtual content appears to remain stationary, so that the user may move about the room to view the virtual content from different perspectives.
- the system may generate a pair of images. Such user devices may display the pair of images concurrently as a stereoscopic image of the virtual content.
- the process 1000 may include displaying an image on a display or optical element of the user device in a predetermined location relative to the physical location of the placed virtual object, at 1010.
- the image may be displayed on the tablet 710 as illustrated in FIG. 7.
- the image may be displayed on other user devices such as headsets, smartphones, laptops, and the like.
- the process 1000 may repeat, providing a seamless viewing experience to the user.
- each networked system may include, in images provided to its local users, representations of users and/or user devices in other systems. These representations, referred to herein as "virtual proxies," may take any form. For example, a virtual proxy of a user may represent only the user devices currently employed by that user. However, the virtual proxies may be represented in any way. In some embodiments, movements of the users may be tracked to provide more realistic virtual proxies. For example, the systems may track movement of a user's head, hand, body, eyes, and the like.
- FIG. 11 is a flowchart for a process 1100 for providing, to a second holopad system user, a virtual proxy of a user in a first holopad system, according to embodiments of the disclosed technology.
- Either of the first and second holopad systems may be a virtual holopad system or a physical holopad system.
- the process 1100 may include generating a virtual proxy of a user device in the physical holopad system, at 1102.
- the virtual proxy may include one or more three-dimensional objects.
- the virtual proxy may represent one or more user devices, the user, a control device being used by the user, or any combination thereof.
- the process 1100 may include adding the virtual proxy to an image of virtual content for the second holopad system, at 1104.
- the virtual proxy is added to the image of virtual content based on the pose of the user device with respect to the holopad in the first holopad system. This use of pose preserves the spatial relationship between the user and the virtual content, so that relationship is replicated with the virtual proxy in the second holopad system.
- the first holopad system may add the virtual proxy to the images of the virtual content, and provide those images to the second holopad system.
- the first holopad system may transmit, to the second holopad system, the virtual proxy, or information representing the virtual proxy, along with information describing the pose of the user device with respect to the structure, thereby enabling the second holopad system to generate an image of the virtual content that includes the virtual proxy.
- the process 1100 may include displaying the image in the second holopad system, at 1106.
- the image may be displayed on one or more user devices employed by users of the second holopad system to view the virtual content.
- the disclosed systems may cooperate to present the virtual content in the same geographical orientation at each system.
- each system may use compass directions to orient the virtual content.
- virtual content representing a building may be oriented so the north side of the building faces north.
- the physical holopad may include a compass.
- the compass may be visible to the users so the users can rotate the holopad to face north.
- the compass may include a transmitter to transmit direction information to the devices that generate the images of the virtual content, which may employ that direction information to rotate the virtual content accordingly.
- the physical holopad may include a design element that indicates how the holopad should be placed in a room to provide a desired perspective of the virtual content to an audience.
- the top of the holopad may have an arrow with the word "Audience" to indicate proper orientation.
- the virtual proxy may be presented in the second holopad system to the west of the virtual content.
- users in multiple systems may occupy the same position relative to the virtual content. Superimposing virtual proxies of these users could be disconcerting to users. Therefore, in some embodiments, the system may display the virtual proxies such that they don't appear on top of each other.
- the physical holopad and/or user devices may include a camera for detecting ambient lighting conditions.
- the camera may have a wide field of view, for example having a fisheye lens.
- the computing system(s) and/or devices generating the images of the virtual content may then adjust the lighting of the virtual content accordingly.
- a user may create media and associate that media with virtual content as an annotation. Any media may be used.
- the media may include text, images, video segments, audio segments, and combinations thereof.
- annotation and virtual content may be stored, and may be made available for access by other users. Other users may add additional annotations. An additional annotation may be linked to a previous annotation, or may be independent of other annotations. Other features of these embodiments are described in detail below.
- FIG. 12 illustrates the augmented reality collaboration system 700 of FIG. 7 with a user adding a text annotation to virtual content according to some embodiments of the disclosed technology. While the annotation process is depicted and described in a virtual holopad system, it should be appreciated that the annotation process applies to physical holopad systems, and systems that include both physical and virtual holopads, as well.
- the user is using a tablet 710 to add the annotation.
- any device capable of performing the described functions may be used to add annotations.
- the user may use a head-mounted device that captures user inputs using a gestural interface.
- user may employ a workstation to add annotations.
- a user with the initials JW has used tablet 710 to create text media that reads "reroute conduit.”
- a user may initiate the annotation process with a long press on the touchscreen of the tablet 710 at a desired location of interest in the virtual content.
- the system may "freeze" the image, and hold the image even as the pose of the user changes.
- the user may place the tablet 710 on the table 720 while adding the annotation.
- An annotation pane 1202 may appear with a tail 1204 joining the annotation pane 1202 to the location of interest in the virtual content.
- the user may then add the media in the annotation pane 1202.
- the system may store the annotation and the virtual content, and make it available for access by other devices.
- the system may store the user's view of the virtual content as well. For example, the system may determine the pose of the user with respect to the physical location where the virtual content is depicted, and may store a view of the annotation and virtual content according to the determined pose. Other users may operate user devices to retrieve and display that view. In any case, users may view the virtual content and the annotation from any angle.
- some embodiments may provide asynchronous operation, where generating an annotation by one user, and viewing that annotation by other users, may take place at different times. Some embodiments may provide synchronous operation, where users may view another user's annotation as soon as it is committed, or even while the annotation is being generated.
- a user device that generates an annotation may be proximate to a user device that views that annotation.
- both user devices may be in the same room, and may be viewing the virtual content depicted in the same physical location in the room.
- a user device that generates an annotation may be remote from the user device that views that annotation.
- user devices may be in different rooms, in different buildings, or separated by large distances.
- FIG. 13 illustrates the augmented reality collaboration system of FIG. 12 where user JW sees that a second user has added a text annotation to the virtual content according to some embodiments of the disclosed technology.
- user JW employs tablet 710 to see that another user with initials PM has added a text annotation that reads "will do.”
- PM's annotation is linked to JW's annotation. This linkage may be indicated by displaying both annotations in the same annotation pane 1302, as shown in FIG. 13.
- FIG. 14 illustrates the augmented reality collaboration system of FIG. 13 where user JW sees that a third user has added a text annotation to the virtual content according to some embodiments of the disclosed technology.
- user JW employs tablet 710 to see that another user with initials AB has added a text annotation that reads "reroute here too.”
- AB's annotation is independent of the annotations of JW and PB. This independence may be indicated by displaying AB's annotations in a different annotation pane 1402, as shown in FIG. 14.
- FIG. 15 is a flowchart of an annotation process 1500 for a holopad system according to some embodiments of the disclosed technology.
- the annotation process 1500 applies to systems that include physical holopads, virtual holopads, or both.
- the process 1500 may be performed by the physical holopad system 100 of FIG. 1, the virtual holopad system 700 of FIG. 7, or both.
- the process 1500 may include generating a first image depicting virtual content in a virtual location corresponding to a physical location in a physical environment of the first user device, at 1502.
- the image may be generated as described elsewhere herein.
- Generating the image may include determining a pose of the first user device with respect to the physical location, and generating the first image based on the pose.
- the process 1500 may include displaying the first image in one or more displays of the first user device, at 1504.
- the image may be displayed as described elsewhere herein.
- the user device may be a handheld device, a head-mounted device, a workstation, or a similar device.
- the media may include text, images, video segments, audio segments, hyperlinks, and combinations thereof.
- the media may include a recording of a virtual content session, which may include manipulating the virtual content, spoken content of the users in the session, and annotations added by the users.
- the process 1500 may include enabling the user to create media and associate that media with the virtual content in the first image in the form of an annotation, at 1506. For example, the user may create an annotation as described above with reference to FIGS. 12-14.
- the process 1500 may include storing the annotation and virtual content, at 1508, and making the annotation and virtual content available for access by a plurality of additional user devices, at 1510.
- the annotation and virtual content may be stored in a networked server that is accessible by the user devices. Local storage may be used as well.
- the process 1500 may include retrieving the stored annotation and virtual content, at 1512.
- annotation and virtual content may be retrieved from a networked server.
- the annotation and virtual content may be retrieved by any user device, including the user device that created the annotation.
- the annotation and virtual content may be shared by hyperlinks and the like.
- the annotation and virtual content may be retrieved by selecting the shared link.
- the process 1500 may include generating a second image based on the retrieved annotation and virtual content, at 1514, and displaying the second image in one or more displays of the user device, at 1516.
- the second image may be generated and displayed as described elsewhere herein.
- FIG. 16 depicts a block diagram of an example computer system 1600 in which embodiments described herein may be implemented.
- the computer system 1600 includes a bus 1602 or other communication mechanism for communicating information, one or more hardware processors 1604 coupled with bus 1602 for processing information.
- Hardware processor(s) 1604 may be, for example, one or more general purpose microprocessors.
- the computer system 1600 also includes a main memory 1606, such as a random access memory (RAM), cache and/or other dynamic storage devices, coupled to bus 1602 for storing information and instructions to be executed by processor 1604.
- Main memory 1606 also may be used for storing temporary variables or other intermediate information during execution of instructions to be executed by processor 1604.
- Such instructions when stored in storage media accessible to processor 1604, render computer system 1600 into a specialpurpose machine that is customized to perform the operations specified in the instructions.
- the computer system 1600 further includes a read only memory (ROM) 1608 or other static storage device coupled to bus 1602 for storing static information and instructions for processor 1604.
- a storage device 1610 such as a magnetic disk, optical disk, or USB thumb drive (Flash drive), etc., is provided and coupled to bus 1602 for storing information and instructions.
- the computer system 1600 may be coupled via bus 1602 to a display 1612, such as a liquid crystal display (LCD) (or touch screen), for displaying information to a computer user.
- a display 1612 such as a liquid crystal display (LCD) (or touch screen)
- An input device 1614 is coupled to bus 1602 for communicating information and command selections to processor 1604.
- cursor control 1616 is Another type of user input device
- cursor control 1616 such as a mouse, a trackball, or cursor direction keys for communicating direction information and command selections to processor 1604 and for controlling cursor movement on display 1612.
- the same direction information and command selections as cursor control may be implemented via receiving touches on a touch screen without a cursor.
- the computing system 1600 may include a user interface module to implement a GUI that may be stored in a mass storage device as executable software codes that are executed by the computing device(s).
- This and other modules may include, by way of example, components, such as software components, object-oriented software components, class components and task components, processes, functions, attributes, procedures, subroutines, segments of program code, drivers, firmware, microcode, circuitry, data, databases, data structures, tables, arrays, and variables.
- the word “component,” “engine,” “system,” “database,” data store,” and the like, as used herein, can refer to logic embodied in hardware or firmware, or to a collection of software instructions, possibly having entry and exit points, written in a programming language, such as, for example, Java, C, C++, and Python.
- a software component may be compiled and linked into an executable program, installed in a dynamic link library, or may be written in an interpreted programming language such as, for example, BASIC, Perl, or Python. It will be appreciated that software components may be callable from other components or from themselves, and/or may be invoked in response to detected events or interrupts.
- Software components configured for execution on computing devices may be provided on a computer readable medium, such as a compact disc, digital video disc, flash drive, magnetic disc, or any other tangible medium, or as a digital download (and may be originally stored in a compressed or installable format that requires installation, decompression or decryption prior to execution).
- a computer readable medium such as a compact disc, digital video disc, flash drive, magnetic disc, or any other tangible medium, or as a digital download (and may be originally stored in a compressed or installable format that requires installation, decompression or decryption prior to execution).
- Such software code may be stored, partially or fully, on a memory device of the executing computing device, for execution by the computing device.
- Software instructions may be embedded in firmware, such as an EPROM.
- hardware components may be comprised of connected logic units, such as gates and flip-flops, and/or may be comprised of programmable units, such as programmable gate arrays or processors.
- the computer system 1600 may implement the techniques described herein using customized hard-wired logic, one or more ASICs or FPGAs, firmware and/or program logic which in combination with the computer system causes or programs computer system 1600 to be a special-purpose machine. According to one embodiment, the techniques herein are performed by computer system 1600 in response to processor(s) 1604 executing one or more sequences of one or more instructions contained in main memory 1606. Such instructions may be read into main memory 1606 from another storage medium, such as storage device 1610. Execution of the sequences of instructions contained in main memory 1606 causes processor(s) 1604 to perform the process steps described herein. In alternative embodiments, hard-wired circuitry may be used in place of or in combination with software instructions.
- non-transitory media refers to any media that store data and/or instructions that cause a machine to operate in a specific fashion. Such non-transitory media may comprise non-volatile media and/or volatile media.
- Non-volatile media includes, for example, optical or magnetic disks, such as storage device 1610.
- Volatile media includes dynamic memory, such as main memory 1606.
- Non-transitory media include, for example, a floppy disk, a flexible disk, hard disk, solid state drive, magnetic tape, or any other magnetic data storage medium, a CD-ROM, any other optical data storage medium, any physical medium with patterns of holes, a RAM, a PROM, and EPROM, a FLASH- EPROM, NVRAM, any other memory chip or cartridge, and networked versions of the same.
- Non-transitory media is distinct from but may be used in conjunction with transmission media.
- Transmission media participates in transferring information between non- transitory media.
- transmission media includes coaxial cables, copper wire and fiber optics, including the wires that comprise bus 1602.
- Transmission media can also take the form of acoustic or light waves, such as those generated during radio-wave and infra-red data communications.
- the computer system 1600 also includes a communication interface 1618 coupled to bus 1602.
- Network interface 1618 provides a two-way data communication coupling to one or more network links that are connected to one or more local networks.
- communication interface 1618 may be an integrated services digital network (ISDN) card, cable modem, satellite modem, or a modem to provide a data communication connection to a corresponding type of telephone line.
- ISDN integrated services digital network
- network interface 1618 may be a local area network (LAN) card to provide a data communication connection to a compatible LAN (or a WAN component to communicate with a WAN).
- LAN local area network
- Wireless links may also be implemented.
- network interface 1618 sends and receives electrical, electromagnetic or optical signals that carry digital data streams representing various types of information.
- a network link typically provides data communication through one or more networks to other data devices.
- a network link may provide a connection through local network to a host computer orto data equipment operated by an Internet Service Provider (ISP).
- ISP Internet Service Provider
- the ISP in turn provides data communication services through the world wide packet data communication network now commonly referred to as the "Internet.”
- Internet Internet
- Local network and Internet both use electrical, electromagnetic or optical signals that carry digital data streams.
- the signals through the various networks and the signals on network link and through communication interface 1618, which carry the digital data to and from computer system 1600, are example forms of transmission media.
- the computer system 1600 can send messages and receive data, including program code, through the network(s), network link and communication interface 1618.
- a server might transmit a requested code for an application program through the Internet, the ISP, the local network and the communication interface 1618.
- the received code may be executed by processor 1604 as it is received, and/or stored in storage device 1610, or other non-volatile storage for later execution.
- Each of the processes, methods, and algorithms described in the preceding sections may be embodied in, and fully or partially automated by, code components executed by one or more computer systems or computer processors comprising computer hardware.
- the one or more computer systems or computer processors may also operate to support performance of the relevant operations in a "cloud computing" environment or as a "software as a service” (SaaS).
- SaaS software as a service
- the processes and algorithms may be implemented partially or wholly in application-specific circuitry.
- the various features and processes described above may be used independently of one another, or may be combined in various ways. Different combinations and sub-combinations are intended to fall within the scope of this disclosure, and certain method or process blocks may be omitted in some implementations.
- a circuit might be implemented utilizing any form of hardware, or a combination of hardware and software.
- processors, controllers, ASICs, PLAs, PALs, CPLDs, FPGAs, logical components, software routines or other mechanisms might be implemented to make up a circuit.
- the various circuits described herein might be implemented as discrete circuits or the functions and features described can be shared in part or in total among one or more circuits. Even though various features or elements of functionality may be individually described or claimed as separate circuits, these features and functionality can be shared among one or more common circuits, and such description shall not require or imply that separate circuits are required to implement such features or functionality.
- a circuit is implemented in whole or in part using software, such software can be implemented to operate with a computing or processing system capable of carrying out the functionality described with respect thereto, such as computer system 1600.
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Human Computer Interaction (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- User Interface Of Digital Computer (AREA)
Abstract
Description
Claims
Applications Claiming Priority (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| US17/522,797 US20220083307A1 (en) | 2020-09-16 | 2021-11-09 | Augmented reality collaboration system with annotation capability |
| PCT/US2022/079263 WO2023086752A1 (en) | 2021-11-09 | 2022-11-04 | Augmented reality collaboration system with annotation capability |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| EP4430574A1 true EP4430574A1 (en) | 2024-09-18 |
| EP4430574A4 EP4430574A4 (en) | 2025-08-27 |
Family
ID=86336774
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| EP22893765.2A Pending EP4430574A4 (en) | 2021-11-09 | 2022-11-04 | Augmented Reality Collaboration System with Annotation Capability |
Country Status (3)
| Country | Link |
|---|---|
| EP (1) | EP4430574A4 (en) |
| CN (1) | CN118414638A (en) |
| WO (1) | WO2023086752A1 (en) |
Families Citing this family (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US20240371059A1 (en) * | 2023-05-02 | 2024-11-07 | Meta Platforms Technologies, Llc | Collaborative Workspace for an Artificial Reality Environment |
Family Cites Families (7)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US8400548B2 (en) * | 2010-01-05 | 2013-03-19 | Apple Inc. | Synchronized, interactive augmented reality displays for multifunction devices |
| WO2013117977A2 (en) * | 2012-02-06 | 2013-08-15 | Sony Computer Entertainment Europe | Book object for augmented reality |
| CN105188516B (en) * | 2013-03-11 | 2017-12-22 | 奇跃公司 | For strengthening the System and method for virtual reality |
| US20150062123A1 (en) * | 2013-08-30 | 2015-03-05 | Ngrain (Canada) Corporation | Augmented reality (ar) annotation computer system and computer-readable medium and method for creating an annotated 3d graphics model |
| WO2016164342A1 (en) * | 2015-04-06 | 2016-10-13 | Scope Technologies Us Inc. | Methods and apparatus for augmented reality applications |
| US20170316611A1 (en) * | 2016-04-20 | 2017-11-02 | 30 60 90 Corporation | System and method for very large-scale communication and asynchronous documentation in virtual reality and augmented reality environments enabling guided tours of shared design alternatives |
| US20190370544A1 (en) * | 2017-05-30 | 2019-12-05 | Ptc Inc. | Object Initiated Communication |
-
2022
- 2022-11-04 EP EP22893765.2A patent/EP4430574A4/en active Pending
- 2022-11-04 WO PCT/US2022/079263 patent/WO2023086752A1/en not_active Ceased
- 2022-11-04 CN CN202280084552.8A patent/CN118414638A/en active Pending
Also Published As
| Publication number | Publication date |
|---|---|
| CN118414638A (en) | 2024-07-30 |
| EP4430574A4 (en) | 2025-08-27 |
| WO2023086752A1 (en) | 2023-05-19 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US11922652B2 (en) | Augmented reality collaboration system with physical device | |
| US11847752B2 (en) | Augmented reality collaboration system | |
| CN115700433B (en) | System and method for interactive three-dimensional preview | |
| KR102543993B1 (en) | Display device sharing and interactivity in simulated reality (SR) | |
| US10657716B2 (en) | Collaborative augmented reality system | |
| EP4325438B1 (en) | Methods and apparatuses for providing input for head-worn image display devices | |
| US20200371665A1 (en) | Collaborative augmented reality system | |
| US20220083307A1 (en) | Augmented reality collaboration system with annotation capability | |
| EP2691938B1 (en) | Selective hand occlusion over virtual projections onto physical surfaces using skeletal tracking | |
| Unlu et al. | PAIR: Phone as an augmented immersive reality controller | |
| EP4430574A1 (en) | Augmented reality collaboration system with annotation capability | |
| KR20250056993A (en) | Collaboration objects associated with geographic locations | |
| Piekarski et al. | Through-walls collaboration | |
| CN117075770A (en) | Interaction control method and device based on augmented reality, electronic equipment and storage medium | |
| CN119816869A (en) | Selective access to collaborative objects based on timestamps |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| STAA | Information on the status of an ep patent application or granted ep patent |
Free format text: STATUS: THE INTERNATIONAL PUBLICATION HAS BEEN MADE |
|
| PUAI | Public reference made under article 153(3) epc to a published international application that has entered the european phase |
Free format text: ORIGINAL CODE: 0009012 |
|
| STAA | Information on the status of an ep patent application or granted ep patent |
Free format text: STATUS: REQUEST FOR EXAMINATION WAS MADE |
|
| 17P | Request for examination filed |
Effective date: 20240522 |
|
| AK | Designated contracting states |
Kind code of ref document: A1 Designated state(s): AL AT BE BG CH CY CZ DE DK EE ES FI FR GB GR HR HU IE IS IT LI LT LU LV MC ME MK MT NL NO PL PT RO RS SE SI SK SM TR |
|
| DAV | Request for validation of the european patent (deleted) | ||
| DAX | Request for extension of the european patent (deleted) | ||
| A4 | Supplementary search report drawn up and despatched |
Effective date: 20250730 |
|
| RIC1 | Information provided on ipc code assigned before grant |
Ipc: G06T 19/00 20110101AFI20250724BHEP Ipc: G06F 3/01 20060101ALI20250724BHEP Ipc: G06F 3/04815 20220101ALI20250724BHEP Ipc: G06T 19/20 20110101ALI20250724BHEP |