Portal Views for Content Items

The implementation of a viewing portal with virtual content positioned behind the display in augmented reality systems addresses the issue of blending virtual and physical environments, enhancing depth perception and user comfort through clear separation and alignment with the physical horizon.

JP7749113B2Active Publication Date: 2025-10-03APPLE INC
View PDF 4 Cites 0 Cited by

Patent Information

Application Number
JP2024518372
Authority / Receiving Office
JP · JP
Patent Type
Patents
Current Assignee / Owner
Priority Date
2021-09-24
Filing Date
2022-09-20
Publication Date
2025-10-03
Estimated Expiration
2042-09-20

AI Technical Summary

Technical Problem

Existing augmented reality systems fail to adequately distinguish virtual content from the surrounding physical environment, often causing virtual content to blend with or extend through physical boundaries, leading to poor visual distinction and user discomfort.

Method used

Implementing a viewing portal as a virtual 2D plane positioned behind the display, with virtual content textured onto a surface at a calculated distance, creating a clear separation and depth perception by aligning the content's horizon with the physical environment's horizon, and using multiple portals for different effects or expanded views.

Benefits of technology

Enhances the visibility and depth perception of virtual content by clearly distinguishing it from the physical environment, providing a more immersive and comfortable XR experience.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 0007749113000001
    Figure 0007749113000001
  • Figure 0007749113000002
    Figure 0007749113000002
  • Figure 0007749113000003
    Figure 0007749113000003
Patent Text Reader

Abstract

Various implementations disclosed herein include devices, systems, and methods for providing an XR environment that represents an environment with a viewing portal for viewing additional content items disposed behind the viewing portal. Some implementations determine a first position of the viewing portal in a 3D coordinate system that corresponds to the environment, determine a second position of the content item in the 3D coordinate system, the second position being opposite the front of the viewing portal, and determine a viewpoint of the electronic device in the 3D coordinate system. In some implementations, a portion of the content item that is visible through the viewing portal from a viewpoint is identified, the portion being identified based on the first position, the second position, and the viewpoint. A view of the identified portion of the content item is then provided in the environment.
Need to check novelty before this filing date? Find Prior Art

Description

[Technical Field]

[0001] The present disclosure relates generally to electronic devices that display virtual content, and more particularly to systems, methods, and devices that provide views of virtual content in a physical environment. [Background technology]

[0002] Augmented reality (XR) environments provide views that combine real and virtual content in various ways. For example, an XR environment can include views that include virtual content items that correspond to two-dimensional (2D) photographs viewed within the real physical environment. Existing systems and techniques may not display such virtual content in a manner that adequately distinguishes the virtual content from the surrounding physical environment. For example, a 2D photograph may be displayed such that its edges are not easily distinguishable from the surrounding physical environment, or such that portions of the virtual content appear to extend through boundaries / walls of the physical environment. Improved techniques are needed for providing views of XR environments with virtual 2D photographs within the physical environment. Summary of the Invention

[0003] Various implementations disclosed herein include devices, systems, and methods that provide a view of an XR environment, including a physical environment with a viewing portal for viewing additional virtual content items positioned at a distance behind the viewing portal. For example, a panoramic photograph may be textured onto a virtual curved surface that is a calculated distance, such as 10 meters, behind the viewing portal. In some implementations, placing a content item behind the viewing portal can provide a desirable appearance, for example, that better distinguishes the content item from the physical environment at the edges of the viewing portal. In some implementations, multiple viewing portals for different content items may be presented simultaneously, and selection of one of the content items may trigger the provision of an expanded viewing portal for the selected content item. Alternatively, multiple viewing portals may show the same content item, for example, to allow comparison of different imaging effects applied to the same content item.

[0004] In general, one innovative aspect of the subject matter described herein can be implemented in a method that includes determining a first position of a viewing portal within a 3D coordinate system corresponding to an environment and determining a second position of a content item within the 3D coordinate system, the second position being opposite the front of the viewing portal. A viewpoint of an electronic device is then determined within the 3D coordinate system. In some implementations, a portion of the content item visible through the viewing portal from a viewpoint is identified, the portion being identified based on the first position, the second position, and the viewpoint. A view of the identified portion of the content item within the environment is then provided.

[0005] The present disclosure may have a more detailed description, as can be understood by those skilled in the art, by reference to aspects of several exemplary implementations, some of which are illustrated in the accompanying drawings. [Brief explanation of the drawings]

[0006] [Figure 1] 1 illustrates an electronic device in a physical environment displaying a view of an XR environment including virtual content depicted in the physical environment, according to some implementations.

[0007] [Figure 2] 1 illustrates virtual content located behind and viewed through an exemplary viewing portal, according to some implementations.

[0008] [Figure 3A] 1 illustrates a view of an XR environment including separate virtual content positioned behind and viewed through multiple exemplary viewing portals, according to some implementations. [Figure 3B] 1 illustrates a view of an XR environment including separate virtual content positioned behind and viewed through multiple exemplary viewing portals, according to some implementations. [Figure 3C] 1 illustrates a view of an XR environment including separate virtual content positioned behind and viewed through multiple exemplary viewing portals, according to some implementations.

[0009] [Figure 3D] 1 illustrates a view of an XR environment including a selected virtual content item displaced behind and viewed through an exemplary extended viewing portal, according to some implementations.

[0010] [Figure 4] 1 illustrates a view of an XR environment including virtual content positioned behind and viewed through multiple exemplary viewing portals, according to some implementations.

[0011] [Figure 5] 1 illustrates a view of an XR environment including virtual content positioned behind multiple exemplary viewing portals and viewed through another viewing portal, according to some implementations.

[0012] [Figure 6A] 1 illustrates a view of an XR environment including virtual content positioned behind multiple exemplary viewing portals and viewed through yet another viewing portal, according to some implementations.

[0013] [Figure 6B] 6B illustrates a subsequent view of the depth-separated objects of the virtual content of FIG. 6A and the depth-separated background of the virtual content of FIG. 6A as they remain viewed through the viewing portal of FIG. 6A, according to some implementations.

[0014] [Figure 7] 1 is a flowchart illustrating an example method for providing a view of an XR environment showing a physical environment using a viewing portal for viewing additional content items located behind the viewing portal, according to some implementations.

[0015] [Figure 8] 1 illustrates an exemplary electronic device, according to some implementations. DETAILED DESCRIPTION OF THE INVENTION

[0016] According to common practice, the various features illustrated in the figures may not be drawn to scale. Accordingly, dimensions of various features may be arbitrarily increased or decreased for clarity. In addition, some drawings may not depict all of the components of a given system, method, or device. Finally, like reference numerals may be used throughout the specification and figures to indicate like features.

[0017] Numerous details have been described to provide a thorough understanding of the exemplary implementations shown in the drawings. However, the drawings merely illustrate some exemplary aspects of the present disclosure and therefore should not be considered limiting. Those skilled in the art will understand that other effective aspects or variations do not include all of the specific details described herein. Furthermore, well-known systems, methods, components, devices, and circuits have not been described in exhaustive detail so as not to obscure more pertinent aspects of the exemplary implementations described herein.

[0018] Various implementations disclosed herein include devices, systems, and methods that provide a view of an XR environment including a depiction of a physical environment having a viewing portal for viewing additional content items located behind the viewing portal (e.g., opposite the front of the viewing portal). In some implementations, the viewing portal is a virtual 2D plane (e.g., a planar area bounded by a rounded rectangle). In some implementations, the additional content items are displayed using a surface located a predetermined distance (e.g., 10 meters or some other distance) behind the viewing portal. For example, a 2D panoramic picture may be textured onto a vertically flat, horizontally curved surface 10 meters behind the viewing portal and centered on the viewing portal.

[0019] Placing additional content items at a distance behind the viewing portal allows the user of the electronic device to focus on depth beyond the viewing portal window. Displacement of content behind the portal may make the distinction between the content viewed at the edge of the portal and the surrounding environment more apparent. Displacement of content behind the portal may also provide the appearance of depth between the portal and the virtual content and / or within the 2D virtual content itself. Virtual content may include 2D pictures, 2D images, 2D panoramas, etc.

[0020] The viewing portal configuration may be determined based on the content being viewed through it and / or the physical environment, hi some implementations, the shape and / or size of the viewing portal is controlled such that the viewing portal displayed within the physical environment does not intersect with the physical boundaries (e.g., walls, ceiling, floor) of the physical environment.

[0021] 1 shows a user 120 using an electronic device 180 in a physical environment 105, which in this example is a room in a house or an office. The electronic device 180 presents an XR environment.

[0022] As shown in FIG. 1 , the display 110 of the electronic device 180 presents an XR environment that includes a 2D photograph (e.g., a panoramic photograph) as virtual content 140 within a representation 130 of the physical environment 105. The virtual content 140 appears to float within the physical environment 105. However, the 2D panoramic photograph 140 displayed at the correct scale occludes an undesirably large portion of the representation of the physical environment 105, in this case obscuring the physical environment 105 because portions 140 a, 140 b of the virtual content 140 extend beyond the walls of the physical environment 105. In some cases, the virtual content 140 can cover other user interfaces or virtual content presented in the XR environment. This can occur particularly when viewing multiple large virtual content items, such as the 2D panoramic photograph 140, in the physical environment 105.

[0023] Thus, in some implementations, the virtual content and the physical or virtual environment are separated using a viewing portal (e.g., a user interface). For example, the viewing portal can be a 2D plane (e.g., a planar area bounded by a rounded rectangle) within the physical or virtual environment that serves as a portal to the 3D virtual environment. Included within that virtual environment can be a surface oriented toward the viewing portal and positioned at a predetermined depth (e.g., 10 meters or some other distance) behind the viewing portal to display the virtual content with the appearance of depth in the 3D virtual environment. The distance at which the virtual content (e.g., a 2D photograph) is positioned behind the viewing portal is selected to give the viewer (e.g., eyes / brain) the illusion that the photographed scene is true to scale; in other words, the illusion that the person is looking out a window in a real landscape or real environment. People can judge distance (in part) by the vergence angle of their eyes; once a person's object of focus is past a few meters, their brain can no longer distinguish actual depth from vergence of the eyes (e.g., they are said to be focusing at "infinity" at that point). In this case, secondary considerations in the presentation (e.g., geometry, relative size, shadows, etc.) can provide alternative hints at depth using a separate viewing portal and virtual content placement on the surface behind the viewing portal.

[0024] In some implementations, the virtual content includes a 2D photograph, a 2D panoramic photograph, or a 2D depth-separated photograph. The 2D depth-separated photograph may include at least one portion (e.g., a subject of the photograph) having a first depth and a second portion (e.g., a background) having a second depth greater than the first depth.

[0025] 2 illustrates virtual content displaced behind and viewed through an exemplary viewing portal. As shown in FIG. 2, display 110 of electronic device 180 displays textured virtual content 140 on surface 260 that is vertically flat and horizontally curved to be 10 meters (e.g., a preset distance) behind viewing portal 250. In some examples, surface 260 may comprise a full or partial cylindrical shell centered at viewing portal 250. In FIG. 2, virtual content 140 displayed behind viewing portal 250 has a focal length that is different from and greater than the distance to viewing portal 250.

[0026] In some implementations, virtual content 140 is positioned behind viewing portal 250 to give the appearance of depth when viewed through viewing portal 250 in physical environment 105. As shown in FIG. 2 , as electronic device 180 moves within physical environment 105, the portion of virtual content 140 visible through viewing portal 250 changes according to the changing perspective of electronic device 180. For example, as electronic device 180 moves left in physical environment 105, additional areas to the right of virtual content 140 become visible through fixed viewing portal 250. It should be understood that virtual content 140 on surface 260 may only be viewable through viewing portal 250. For example, if a user moves to the side or behind viewing portal 250 in representation 130 of physical environment 105, neither virtual content 140 nor surface 260 will be visible behind viewing portal 250.

[0027] In some implementations, the initial position of the viewing portal 250 relative to the representation 130 of the physical environment 105 in the XR environment is a default position in front of and oriented toward the electronic device 180. For example, the initial position of the viewing portal 250 may be 3 feet in front of the electronic device 180, facing the electronic device 180, and 5 feet above the floor (e.g., ground surface) of the physical environment 105. In some implementations, the initial size and shape of the viewing portal 250 is determined by an application running and displaying the corresponding virtual content behind and visible through the viewing portal 250. In some implementations, the viewing position of the viewing portal 250 relative to the physical environment 105 is manually controlled and can be moved by the user 120 of the electronic device 180.

[0028] In some implementations, the initial position of the virtual content 140 is oriented (e.g., centered) toward the viewing portal 250. In some implementations, the horizon or horizon line shown in the surface 260 behind the viewing portal 250 or in the virtual content 140 is aligned with the horizon or horizon line of the physical environment 105 or other viewing environment. Such alignment may be achieved by tracking the position and orientation of the device 180 within the physical environment, identifying the location of the horizon line based on the orientation and position of the device 180, identifying the horizon line shown in the 2D content (e.g., based on image analysis or metadata such as capture information associated with the capture of the 2D content), and aligning the horizon line when placing the 2D content relative to a representation of the physical environment. In some implementations, the ground plane shown in the surface 260 behind the viewing portal 250 or in the virtual content 140 is aligned with the ground plane of the physical environment 105 or other viewing environment. In some implementations, the placement and shape of surface 260 is determined by an application running and displaying corresponding virtual content on surface 260 that is viewed through a corresponding viewing portal. In some implementations, physical environment 105 or other viewing environment may not include other surfaces or content.

[0029] In some implementations, virtual content is positioned behind and not suitable to be viewed through a corresponding viewing portal based on the depth (e.g., focal length) included in the virtual content. For example, it may be undesirable to use a panorama created with objects close to the capturing image sensor because stereo capture may result in a noticeable difference between left-eye and right-eye capture, which may result in visual discomfort when viewed through the viewing portal.

[0030] 3A illustrates separate virtual content positioned behind and viewed through multiple exemplary viewing portals. As shown in FIG. 3A, display 110 illustrates a panoramic 2D photograph as virtual content 340-1 viewed through viewing portal 350-1, virtual content 140 viewed through viewing portal 350-2, and a panoramic 2D photograph as virtual content 340-3 viewed through viewing portal 350-3. Virtual content 340-1 is a rocky hill, virtual content 140 is a rocky shore of a lake, and virtual content 340-3 is a sunrise over the water. In some implementations, the portions of virtual content 340-1, 140, and 340-3 visible through viewing portals 350-1, 350-2, and 350-3 are displayed on different corresponding surfaces displaced behind each respective viewing portal 350-1, 350-2, and 350-3. Surfaces and associated virtual content can only be viewed through their respective viewing portals (e.g., virtual content 340-1 can be viewed through viewing portal 350-1, but not through viewing portals 350-2 and 350-3). In some implementations, corresponding surfaces can be positioned to have a common focal length based on the characteristics (e.g., size, capture parameters, object size, shape, etc.) of the respective virtual content 340-1, 340-2, 340-3. In some implementations, corresponding surfaces can be centered around and displaced behind each respective viewing portal. In other words, corresponding surfaces can be located in different locations when placed within the same virtual environment, but can partially overlap.

[0031] As shown in FIG. 3B , the portions of virtual content 340-1, 140, 340-3 visible through viewing portals 350-1, 350-2, 350-3 may be displayed on the same surface 260 or on different surfaces located at the same location. Therefore, the focal lengths of the virtual content 340-1, 140, 340-3 may be the same. The focal lengths of the virtual content 340-1, 140, 340-3 may be different from and greater than the distances to the viewing portals 350-1, 350-2, 350-3. For example, a common focal length allows user 120 to easily switch their attention between the individual pieces of virtual content 340-1, 140, 340-3 within physical environment 105. In some implementations, viewing portals 350-1, 350-2, 350-3 have a common shape and size. In some implementations, viewing portals 350-1, 350-2, 350-3 are different sizes but maintain a common shape, which allows user 120 to better recognize and distinguish virtual content 340-1, 140, 340-3 from physical environment 105. In some implementations, viewing portals 350-1, 350-2, 350-3 have rounded corners, which may further allow user 120 to distinguish the 3D virtual environment viewed through viewing portals 350-1, 350-2, 350-3 from the physical environment 105 viewed around viewing portals 350-1, 350-2, 350-3. The rounded corners on viewing portals 350-1, 350-2, 350-3 may use the same radius for the curved corners. In some implementations, the viewing portals 350-1, 350-2, 350-3 have edges with perceptible depth. In some implementations, the edge effects of the viewing portals 350-1, 350-2, 350-3 enable consistent or desired lighting effects to be provided with respect to the virtual content and lighting effects in the viewing portals (e.g., light spilling from the viewing portals).

[0032] 3C , portions of virtual content 340-1, 140, 340-3 viewable through viewing portals 350-1, 350-2, 350-3 can be displayed on different surfaces 360-1, 360-2, 360-3 located in the same or different XR environments. In some implementations, when different virtual content 340-1, 140, 340-3 are located on different respective surfaces 360-1, 360-2, 360-3 behind corresponding viewing portals 350-1, 350-2, 350-3 that are viewed simultaneously in a physical or virtual environment, the different respective surfaces 360-1, 360-2, 360-3 can be determined such that the respective focal lengths of the viewable portions of the different virtual content 340-1, 140, 340-3 are similar to each other and are all different from the distances from user 120 to the viewing portals 350-1, 350-2, 350-3.

[0033] In some implementations, the design of a viewing portal (e.g., size, shape, aspect ratio, depth, animation, etc.) is determined by the application running and / or displaying the corresponding virtual content behind and viewed through the viewing portal. Separating the viewing portal from the virtual content viewed through the corresponding viewing portal but displayed behind it allows the design of the corresponding viewing portal to be changed (e.g., expanded, stretched, or animated) without modifying the virtual content. In some implementations, the corresponding viewing portal always covers the edges of the virtual content viewed through it. For example, the viewing portal can change (e.g., size, shape, etc.) based on the virtual content viewed through it to prevent visible gaps between the corresponding viewing portal and the viewed virtual content no matter where user 120 moves within physical environment 105. In some implementations, the corresponding viewing portal is removed from physical environment 105 to prevent visible gaps between the corresponding viewing portal and the viewed virtual content. In some implementations, the placement (eg, display size) of the virtual content behind the viewing portal is based on the original size and physical environment 105 of the virtual content or representations therein.

[0034] FIG. 3D illustrates a selected virtual content item being viewed through an exemplary expanded viewing portal displaced behind it. As shown in FIG. 3A, when virtual content 140 is selected by user 120, viewing portal 350-2 can be expanded and stretched so that more of 2D panoramic photograph 140 is visible to user 120. As shown in FIG. 3D, when virtual content 140 is selected by user 120 in FIG. 3B, all 180 degrees of 2D panoramic photograph 140 is visible to user 120 on surface 260 through expanded viewing portal 350-2′ within physical environment 105. In this case, viewing portal 350-2′ can provide the visual effect of user 120 entering a virtual environment behind viewing portal 350-2 shown in FIGS. 3A-3C. In some implementations, there are other types of effects (e.g., audio, etc.) that can be applied based on which virtual content 340-1, 140, 340-3 is selected and where the corresponding viewing portal is positioned relative to physical environment 105.

[0035] In some implementations, if the 2D panoramic photograph 140 included 360 degrees when it was created, the 360-degree virtual content 140 can be viewed as the user 120 rotates 360 degrees within the physical environment 105 through a viewing portal 350-2′ that can frame a spherically shaped surface displayed within the physical environment 105 with the top and bottom removed. Additionally, the virtual content displayed behind the corresponding viewing portal can include orientations other than horizontal. For example, the panorama can be oriented vertically, such as at a 30-degree or 45-degree angle.

[0036] 4 illustrates virtual content displaced behind and viewed through multiple exemplary viewing portals. As shown in FIG. 4, display 110 shows virtual content 140 as seen by user 120 through multiple viewing portals 450-1, 450-2, 450-3, and 450-4. Virtual content 140 includes a rocky shore of a lake, a portion of the lake, and clouds in the distance above the lake. In some implementations, virtual content 140 is displayed on a single 2D surface that extends behind viewing portals 450-1, 450-2, 450-3, and 450-4, with different portions of virtual content 140 being visible through each of viewing portals 450-1, 450-2, 450-3, and 450-4 based on the perspective of electronic device 180 within physical environment 105. As shown in FIG. 4, when viewed by a user 120 at viewing portals 450-1, 450-2, 450-3, 450-4 in physical environment 105, virtual content 140 is displayed on a flat 2D plane behind viewing portals 450-1, 450-2, 450-3, 450-4, respectively.

[0037] As shown in FIG. 4 , each of viewing portals 450-1, 450-2, 450-3, and 450-4 applies different artistic effects to the same 2D panoramic image 140 viewed by user 120 through the portal. For example, the different visual effects can include, but are not limited to, vibrant warm hues, silver tones, monochrome tones, cool hues, effects that emphasize natural light, etc. Visual effects can make the virtual content appear more sketch-like or painting-like and can adjust clarity, color, brightness, or contrast. In this way, viewing portals 450-1, 450-2, 450-3, and 450-4 provide a tangible way for user 120 to simultaneously view virtual content 140 through different simulations of visual effects.

[0038] FIG. 5 illustrates virtual content displaced behind and viewed through another exemplary viewing portal. For example, the placement of the virtual content in the virtual environment behind the corresponding viewing portal (e.g., entered through) can be based on characteristics of the virtual content. In some implementations, the characteristics of the virtual content include the orientation or movement of the capturing electronic device when the virtual content was created. In some implementations, the gravity vector and other sensor data of the capturing electronic device can be used to determine the placement of the virtual content behind the corresponding viewing portal (e.g., the horizon, the ground plane, the pose of objects therein, etc.). In some implementations, image analysis of the virtual content can be used to determine the placement of the virtual content behind the corresponding viewing portal in the physical environment (e.g., the horizon, the ground plane, the pose of objects therein, etc.).

[0039] As shown in FIG. 5 , user 120 views virtual content 540 positioned behind a viewing portal 550 in a representation of physical environment 105 using the same orientation as the creator of the virtual content 540. In some implementations, the horizon of the virtual content 540 coincides with the horizon of the physical environment 105. In FIG. 5 , the skyscraper in the virtual content 540 may be displayed on a flat 2D surface oriented toward the viewing portal 550 and curved to be 10 meters behind and above the viewing portal 550. For example, the virtual content 540 may be displayed on a surface 260 rotated 90 degrees to have a vertical orientation relative to the portal 540 in the physical environment 105. However, the placement is not intended to be so limited, and other implementations may provide placement of the virtual content 540 behind the viewing portal 550 in the physical environment 105 that maintains or replicates the capture orientation. For example, the virtual content 540 can be displayed on intersecting orthogonal planes positioned behind the viewing portal 550, a first vertical plane parallel to the far wall of the physical environment 105 and a second horizontal plane parallel to the ceiling.

[0040] Figure 6A illustrates virtual content viewed through yet another exemplary viewing portal positioned behind it. As shown in Figure 6A, user 120 views virtual content 640 positioned behind viewing portal 650 in physical environment 105. In Figure 6A, virtual content 640 is a 2D depth-separated photograph that includes an isolated object 640a having a first depth and an isolated background 640b having a second depth that is greater than the first depth.

[0041] FIG. 6B shows a subsequent view of the depth-separated object 640a of the virtual content 640 moved in front of and aligned with the depth-separated background 640b that remains viewed by the user 120 through the modified viewing portal 650′ in the physical environment 105. As shown in FIG. 6B, the ground plane 660 of the background 640b of the virtual content 640′ is expanded such that the object 640a appears in front of and separated from the background 640b on the ground plane 660. In some implementations, the modified viewing portal 650′ has a size based on the size of the object 640a of the virtual content 640′. In some implementations, the virtual content 640′ is a 3D virtual object in the physical environment 105. In some implementations, the virtual content 640′ is aligned within the physical environment 105 (e.g., on a flat surface such as a ground plane, floor, desktop, or tabletop). As shown in FIG. 6B, the virtual content 640′ is aligned with the top surface of a box 670. In some implementations, the objects 640a of the virtual content 640' are aligned to different characteristics (horizon lines, distinctive features, etc.) of the background 640b of the virtual content 640'.

[0042] In some implementations, the virtual content 640 and viewing portal 650 move as animated objects between the arrangement shown in Figure 6A and the subsequent configuration shown in Figure 6B. In some implementations, text can be added that has a spatial relationship to the view of the virtual content 640' shown in Figure 6B. In some implementations, visual effects (e.g., smoke, lightning, celebratory effects, etc.) can be added that have a spatial relationship to the arrangement of the virtual content 640' shown in Figure 6B. In some implementations, audio effects (e.g., point source, ambience, spatial audio, etc.) can be added that have a spatial relationship to the view of the virtual content 640' shown in Figure 6B.

[0043] FIG. 7 is a flowchart illustrating an example method for providing a view of an XR environment showing a physical or virtual environment using a viewing portal for viewing additional content items placed behind the viewing portal. For example, a panoramic photograph may be textured onto a virtual curved surface that is, for example, 10 meters behind the viewing portal. In some implementations, placing the content items behind the viewing portal can provide a desirable appearance, for example, to better distinguish the content items from the physical environment at the edges of the viewing portal and / or give the viewer the sense of viewing an image with depth. In some implementations, method 700 is performed by a device (e.g., electronic device 800 of FIG. 8 ). Method 700 can be performed using an electronic device or by multiple devices in communication with each other. In some implementations, method 700 is performed by processing logic, which includes hardware, firmware, software, or a combination thereof. In some implementations, method 700 is performed by a processor executing code stored in a non-transitory computer-readable medium (e.g., memory). In some implementations, method 700 is performed by an electronic device having a processor.

[0044] At block 710, method 700 determines a first position of the viewing portal within a 3D coordinate system corresponding to the environment (e.g., the physical environment or the virtual environment). In some implementations, the initial position of the viewing portal is a pre-defined location (e.g., centered) based on the physical environment or the 3D coordinate system. In some implementations, the initial position of the viewing portal is based on depth data and / or other sensor data acquired about the physical environment. In some implementations, an initial size and / or aspect ratio of the viewing portal may also be determined.

[0045] At block 720, method 700 determines a second position of the content item within the 3D coordinate system, the second position being opposite the front of the viewing portal. In some implementations, the second position is selected at a focal distance behind the first position such that the view of the additional content item from both eyes of a person is substantially the same (e.g., there is little or no parallax). For example, the additional content item may be placed 10 meters behind the viewing portal and centered within the viewing portal. In some implementations, the content item includes a depth-segmented image, a 2D photograph, or a 2D panoramic photograph. In some implementations, determining the second position may also involve identifying a surface, e.g., a flat surface or a curved flat surface, that textures the content item. The display size of an image corresponding to the content item on a surface object may be based on the original size of the content item or a depiction therein.

[0046] In some implementations, the second position is independent of the first position at block 720, so the viewing portal can be expanded, stretched, or animated without modifying the content item. In some implementations, the second position is selected to provide the appearance of depth to the content item.

[0047] In some implementations, the second position aligns the content item with respect to the environment or 3D coordinate system at block 720. The alignment of the content item at the second position may be determined using sensor data (e.g., orientation, motion, gravity vectors, etc.) from the electronic device that created the content item. In some implementations, the second position aligns image features (e.g., horizon lines) corresponding to the content item on the surface object with features (e.g., horizon lines) of the environment.

[0048] At block 730, the method 700 generates a surface object, the surface object textured with an image corresponding to the content item, the surface object positioned at a second position. In some implementations, the content item is a panoramic photograph, and the surface object includes a virtual curved surface that is a distance behind the viewing portal. In some implementations, the image corresponding to the content item includes a 2D image corresponding to the content item. In some implementations, the surface object includes a portion of a cylindrical shell, and the interior surface of the cylindrical shell is textured with an image corresponding to the content item.

[0049] At block 740, the method 700 determines a viewpoint of the electronic device within a 3D coordinate system. In some implementations, the viewpoint of the electronic device is determined based on sensor data of the electronic device. In some implementations, the viewpoint of the electronic device is determined relative to the physical environment. In some implementations, the initial position of the viewing portal is a set distance directly in front of the viewpoint.

[0050] At block 750, the method 700 identifies a portion of the surface object that is visible through the viewing portal from the viewpoint, the portion being identified based on the first position, the second position, and the viewpoint. In some implementations, the size, aspect ratio, or first position of the viewing portal is determined based on parameters of an application that is running when the surface object is viewed and / or characteristics of the content item being viewed.

[0051] At block 760, the method 700 provides a view of the identified portion of the surface object in the environment. In some implementations, the identified portion of the surface content changes as the viewpoint of the electronic device moves within the physical environment. For example, the identified portion may be the subject of a content item.

[0052] In some implementations, the viewing portal can distinguish the content item from the physical environment (e.g., using the edges of the viewing portal). The viewing portal may also distinguish the surface object from the environment using the edges of the viewing portal. In some implementations, the size of the viewing portal is smaller than the physical environment, and the identified portion of the surface object does not intersect with an enclosing surface, such as a wall, of the physical environment.

[0053] In some implementations, different content items are placed behind corresponding multiple viewing portals that can be viewed simultaneously in a physical or virtual environment, and the focal lengths of the viewable portions of the different content items are determined to be similar to each other and different from the distances to the multiple viewing portals in the physical or virtual environment. In some implementations, multiple viewing portals for different content items may be viewed simultaneously, and selecting one of the content items may provide an expanded viewing portal such that more of the selected content item is visible in the physical environment. Alternatively, multiple viewing portals for the same content item can be used to enable comparison of different imaging effects applied to the same content item.

[0054] The method 700 may include providing a view of a plurality of viewing portals corresponding to a plurality of different content items in an environment, the plurality of viewing portals including the viewing portal and the plurality of content items including the content items. The plurality of content items may be provided on a plurality of surface objects at consistent focal distances behind corresponding viewing portals of the plurality of viewing portals. In accordance with a selection of one of the plurality of content items, a size of a corresponding one of the plurality of viewing portals may be expanded.

[0055] In some implementations, the content item includes a first portion with a first depth and a second portion with a second, greater depth. Then, while a portion of the surface object corresponding to the second portion remains visible, the viewing portal is reduced in size, and the first portion is moved to a position on the ground surface in front of the reduced-size viewing portal while simultaneously changing the first portion to a corresponding size.

[0056] In some implementations, blocks 710 to 760 are executed repeatedly. In some implementations, the techniques disclosed herein may be implemented on a wearable device such as an HMD having an optical see-through or opaque display.

[0057] While the examples provided above describe the use of a viewing portal in a physical environment, it should be understood that the viewing portal may also be used to view content in a virtual environment to provide similar benefits.

[0058] 8 is a block diagram of an example device 800. While certain features are shown, those skilled in the art will appreciate from this disclosure that various other features are not shown for the sake of brevity so as not to obscure more pertinent aspects of the implementations disclosed herein. To that end, by way of non-limiting example, in some implementations, electronic device 800 includes one or more processing units 802 (e.g., microprocessors, ASICs, FPGAs, GPUs, CPUs, processing cores, etc.), one or more input / output (I / O) devices and sensors 806, one or more communication interfaces 808 (e.g., USB, FIREWIRE, THUNDERBOLT, IEEE 802.3x, IEEE 802.11x, IEEE 802.16x, GSM, CDMA, TDMA, GPS, infrared, BLUETOOTH, ZIGBEE, SPI, I2C, or similar types of interfaces), one or more programming (e.g., I / O) interfaces 810, one or more displays 812, one or more inward-facing or outward-facing sensor systems 814, memory 820, and one or more communication buses 804 for interconnecting these and various other components.

[0059] In some implementations, the one or more communication buses 804 include circuitry that interconnects and controls communications between system components. In some implementations, the one or more I / O devices and sensors 806 include at least one of an inertial measurement unit (IMU), an accelerometer, a magnetometer, a gyroscope, a thermometer, one or more physiological sensors (e.g., a blood pressure monitor, a heart rate monitor, a blood oxygen sensor, a blood glucose sensor, etc.), one or more microphones, one or more speakers, a haptic engine, one or more depth sensors (e.g., structured light, time-of-flight, etc.), etc.

[0060] In some implementations, one or more displays 812 are configured to present content to a user. In some implementations, the one or more displays 812 correspond to holographic, digital light processing (DLP), liquid crystal display (LCD), reflective liquid crystal on silicon (LCoS), organic light-emitting field-effect transistor (OLET), organic light-emitting diode (OLED), surface-conduction electron emitter display (SED), field emission display (FED), quantum dot light-emitting diode (QD-LED), microelectromechanical system (MEMS), or similar display types. In some implementations, the one or more displays 812 correspond to a waveguide display, such as a diffractive, reflective, polarized, holographic, etc. For example, the electronic device 800 may include a single display. In another example, the electronic device 800 includes a display for each eye of the user.

[0061] In some implementations, the one or more sensor systems 814 include an image capture device or array that captures image data, or an audio capture device or array (e.g., microphones) that captures audio data. The one or more image sensor systems 814 can include one or more RGB cameras (e.g., with a complementary metal-oxide semiconductor (CMOS) image sensor or a charge-coupled device (CCD) image sensor), monochrome cameras, infrared cameras, etc. The one or more sensor systems 814 may include inward-facing or outward-facing sensors. In some implementations, the one or more image sensor systems 814 further include an illumination source that emits light, such as a flash. In some implementations, the one or more image sensor systems 814 further include an on-camera image signal processor (ISP) configured to perform multiple processing operations on the image data.

[0062] The memory 820 includes high-speed random-access memory, such as DRAM, SRAM, DDR RAM, or other random-access solid-state memory devices. In some implementations, the memory 820 includes non-volatile memory, such as one or more magnetic disk storage devices, optical disk storage devices, flash memory devices, or other non-volatile storage devices. The memory 820 optionally includes one or more storage devices located remotely from the one or more processing units 802. The memory 820 includes a non-transitory computer-readable storage medium.

[0063] In some implementations, memory 820 or the non-transitory computer-readable storage medium of memory 820 stores an optional operating system 830 and one or more instruction set(s) 840. Operating system 830 includes procedures for handling various basic system services and for performing hardware-dependent tasks. In some implementations, instruction set(s) 840 include executable software defined by binary information stored in the form of an electrical charge. In some implementations, instruction set(s) 840 is software executable by one or more processing units 802 to perform one or more of the techniques described herein.

[0064] In some implementations, the instruction set(s) 840 includes a viewing portal generator 842 executable by the processing unit(s) 802 to provide a viewing portal in a physical environment for viewing added virtual content positioned behind the viewing portal in accordance with one or more of the techniques disclosed herein.

[0065] While the instruction set(s) 840 are shown as residing on a single device, it should be understood that in other implementations, any combination of elements may be located in separate computing devices. Figure 8 is further intended as a functional description of the various features present in a particular implementation, as opposed to a structural overview of the implementations described herein. As will be recognized by those skilled in the art, items shown separately may be combined and some items may be separated. For example, the actual number of instruction sets and the division of specific functions and how functions are allocated among them will vary from implementation to implementation and, in some implementations, will depend in part on the particular combination of hardware, software, or firmware selected for a particular implementation.

[0066] It should be understood that the above-described implementations are given by way of example, and that the present invention is not limited to what has been specifically shown and described above, but rather its scope includes both combinations and subcombinations of the various features described above, as well as variations and modifications thereof not disclosed in the prior art that would occur to one skilled in the art upon reading the foregoing description.

[0067] Those skilled in the art will understand that well-known systems, methods, components, devices, and circuits have not been described in exhaustive detail so as not to obscure more pertinent aspects of the exemplary implementations described herein. Moreover, other useful aspects and / or variations do not include all of the specific details described herein. Accordingly, some details have been described to provide a thorough understanding of the exemplary aspects shown in the drawings. Furthermore, the drawings merely illustrate some exemplary embodiments of the present disclosure and therefore should not be considered limiting.

[0068] While the specification contains numerous specific implementation details, these should not be construed as limitations on the scope of any invention or the scope that may be claimed, but rather as descriptions of features that are specific to particular embodiments of particular inventions. Certain features that are described in this specification in the context of separate embodiments can also be implemented in a single embodiment. Conversely, various features that are described in the context of a single embodiment can also be implemented separately in multiple embodiments, or in any suitable subcombination. Furthermore, while features may be described above as working in a particular combination, or even originally claimed as such, in some instances, one or more features of a claimed combination can be deleted from that combination. Claimed combinations can also be directed to subcombinations or variations of subcombinations.

[0069] Similarly, although operations are depicted in the figures in a particular order, this should not be understood as requiring the operations to be performed in the order shown, or sequentially, or that all of the operations shown be performed to achieve desirable results. In certain situations, multitasking and parallel processing may be advantageous. Moreover, the separation of various system components in the above-described embodiments should not be understood as requiring such separation in all embodiments, and it should be understood that the described program components and systems may generally be integrated together into a single software product or packaged into multiple software products.

[0070] Thus, specific embodiments of the subject matter have been described. Other embodiments are within the scope of the following claims. In some cases, the actions recited in the claims may be performed in a different order and still achieve desirable results. Moreover, the processes depicted in the accompanying figures do not necessarily require the particular order shown, or sequential order, to achieve desirable results. In certain implementations, multitasking and parallel processing may be advantageous.

[0071] Embodiments of the subject matter and operations described herein can be implemented as digital electronic circuitry, or as computer software, firmware, or hardware, including the structures disclosed herein and structural equivalents thereof, or as a combination of one or more of these. Embodiments of the subject matter described herein can be implemented as one or more computer programs, i.e., one or more modules of computer program instructions encoded on a computer storage medium for execution by or to control the operation of a data processing device. Alternatively, or additionally, the program instructions can be encoded in an artificially generated propagated signal, such as a machine-generated electrical, optical, or electromagnetic signal, that is generated to encode information for transmission to a suitable receiver device for execution by the data processing device. A computer storage medium may be, or may be included in, a computer-readable storage device, a computer-readable storage substrate, a random-access or serial-access memory array or device, or a combination of one or more of these. Furthermore, while a computer storage medium is not a propagated signal, a computer storage medium can be a source or target of computer program instructions encoded in an artificially generated propagated signal. A computer storage medium may also be, or be contained in, one or more separate physical components or media (e.g., multiple CDs, disks, or other storage devices).

[0072] The term "data processing apparatus" encompasses all types of apparatus, devices, and machines for processing data, including, by way of example, a programmable processor, a computer, a system-on-chip, or a combination or plurality of the above. Apparatus may include special-purpose logic circuitry, such as a field-programmable gate array (FPGA) or an application-specific integrated circuit (ASIC). In addition to hardware, such apparatus may also include code that creates an execution environment for the computer program, such as code comprising processor firmware, a protocol stack, a database management system, an operating system, a cross-platform runtime environment, a virtual machine, or one or more combinations thereof. Apparatus and execution environments may implement a variety of different computing model infrastructures, such as web services, distributed computing, and grid computing infrastructures. Unless otherwise specified, throughout this description, the use of terms such as "processing," "computing," "calculating," "determining," and "identifying" is understood to refer to the actions or processes of a computing device. A computing device includes one or more computers or similar electronic computing device(s) that manipulate or transform data represented as physical electronic or magnetic quantities within the memory, registers or other information storage devices, transmission devices, or display devices of a computing platform.

[0073] The system(s) discussed herein are not limited to any particular hardware architecture or configuration. A computing device may include any suitable arrangement of components that provides a result conditioned by one or more inputs. Suitable computing devices range from general-purpose computing devices to special-purpose computing devices that implement one or more implementations of the present subject matter, and include general-purpose microprocessor-based computer systems that access stored software to program or configure the computing system. The teachings contained herein may be implemented in software and used to program or configure a computing device using any suitable programming, scripting, or other type of language or combination of languages.

[0074] Implementations of the methods disclosed herein may be performed in operation of such a computing device. The order of the blocks presented in the above examples may be changed, for example, the blocks may be reordered, combined, and / or divided into sub-blocks. Certain blocks or processes may be performed in parallel. The operations described herein may be implemented as operations performed by a data processing apparatus on data stored on one or more computer-readable storage devices or received from other sources.

[0075] The use of "adapted to" or "configured to" herein means open-ended and inclusive language that does not exclude devices that are adapted or configured to perform additional tasks or steps. Furthermore, the use of "based on" means open-ended and inclusive in that a process, step, calculation, or other action "based on" one or more enumerated conditions or values ​​may in fact be based on additional conditions or values ​​beyond the enumerated conditions or values. Headings, lists, and numbering contained herein are for ease of description and are not intended to be limiting.

[0076] In this specification, terms such as "first," "second," and the like may be used to describe various elements, but it will be understood that these elements should not be limited by these terms. These terms are used only to distinguish one element from another. For example, a first node can be referred to as a second node, and similarly, a second node can be referred to as a first node, without changing the meaning of the description, as long as the name is consistently changed for all occurrences of "first node" and consistently changed for all occurrences of "second node." Although a first node and a second node are both nodes, they are not the same node.

[0077] The terminology used herein is for the purpose of describing particular implementations and is not intended to limit the scope of the claims. When used in the description of the illustrated implementations and in the appended claims, the singular forms "a," "an," and "the" are intended to include the plural forms as well, unless the context clearly dictates otherwise. Also, as used herein, the term "and / or" should be understood to refer to and include any and all possible combinations of one or more of the associated listed items. It should be further understood that the terms "comprises" and / or "comprising," when used herein, specify the presence of stated features, integers, steps, operations, elements, and / or components, but do not exclude the presence or addition of one or more other features, integers, steps, operations, elements, components, and / or groups thereof.

[0078] As used herein, the term "if" can be interpreted to mean "when" or "upon" or "upon determining" or "in accordance with determining" or "in accordance with detecting" that the aforementioned condition is true, depending on the context. Similarly, the phrases "if it is determined that [the aforementioned condition is true]," "if [the aforementioned condition is true]," or "when [the aforementioned condition is true]" can be interpreted to mean "upon determining," "in accordance with determining," "upon detecting," or "in accordance with detecting" that the aforementioned condition is true.

Claims

1. In one or more processors of an electronic device, determining a first position of the viewing portal within a three-dimensional (3D) coordinate system corresponding to the environment; determining a second position of the content item within the 3D coordinate system, the second position being positioned a distance behind the front face of the viewing portal; a surface object, the surface object being textured with an image corresponding to the content item, the surface object being positioned at the second position; Creating a surface object; determining a viewpoint of the electronic device within the 3D coordinate system; identifying a portion of the surface object that is visible through the viewing portal from the viewpoint, the portion being identified based on the first position, the second position, and the viewpoint; providing a view of the identified portion of the surface object within the environment; and A method comprising:

2. The method of claim 1 , wherein the content item comprises a depth-segmented image, a two-dimensional (2D) photograph, or a panoramic photograph.

3. The method of claim 1 , wherein the second position is independent of the first position and is selected to provide the content item with the appearance of depth.

4. The method of claim 1 , further comprising: changing the design of the viewing portal without modifying the content items.

5. The method of claim 1 , wherein the identified portions of the surface object change as the viewpoint of the electronic device moves within the environment.

6. The method of claim 1 , wherein the viewing portal is smaller in size than the environment and the identified portion of the surface object does not intersect with an enclosing surface of the environment.

7. The method of claim 1 , wherein the second position is determined using sensor data from an electronic device that created the content item.

8. The method of claim 1 , wherein the size or aspect ratio of the viewing portal is determined based on parameters of an application running when the surface object is viewed or characteristics of the content item.

9. The method of claim 1 , wherein the second position is determined based on the content item.

10. The method of claim 1 , further comprising aligning a horizon of the image corresponding to the content item on the surface object with a horizon of the environment.

11. The method of claim 1 , wherein the display size of the image corresponding to the content item on the surface object is based on the original size of a representation within the content item.

12. providing views of a plurality of viewing portals corresponding to different content items in the environment, the plurality of viewing portals including the viewing portal and the plurality of content items including the content item, the plurality of content items being provided on a plurality of surface objects behind corresponding viewing portals of the plurality of viewing portals, the plurality of surface objects being positioned at equal focal distances from the corresponding viewing portals; expanding a size of a corresponding one of the plurality of viewing portals according to a selection of one of the plurality of content items; The method of claim 1 further comprising:

13. Further comprising providing a plurality of viewing portal views including views of different portions of the surface object based on the second position, the viewpoint, and respective locations of the plurality of viewing portals, each of the plurality of viewing portals exhibiting a different imaging effect to be applied to the surface object. The method of claim 1.

14. The content item includes a first portion having a first depth and a second portion having a second, greater depth, and the method includes: reducing the size of the viewing portal while a portion of the surface object corresponding to the second portion remains visible through the viewing portal; 10. The method of claim 1, further comprising: simultaneously moving the first portion to a position on a ground surface in front of the reduced-sized viewing portal while resizing the first portion to a corresponding size.

15. identifying a portion of the content item that corresponds to a subject of the content item; selecting an aspect ratio of the viewing portal to match the identified portion of the content item that corresponds to the subject of the content item; The method of claim 1 further comprising:

16. The method of claim 1 , wherein the viewing portal uses an edge of the viewing portal to distinguish the surface object from the environment.

17. The method of claim 1 , wherein the content item is a panoramic photograph and the surface object comprises a virtual curved surface that is a distance behind the viewing portal.

18. The method of claim 1 , wherein the environment is a physical environment or a 3D virtual environment.

19. 1. A system comprising: Memory and one or more processors in a device coupled to the memory, the memory including program instructions that, when executed on the one or more processors, cause the system to perform operations, the operations including: determining a first position of the viewing portal within a three-dimensional (3D) coordinate system corresponding to the environment; determining a second position of the content item within the 3D coordinate system, the second position being positioned a distance behind the front face of the viewing portal; a surface object, the surface object being textured with an image corresponding to the content item, the surface object being positioned at the second position; Creating a surface object; determining a viewpoint of the device within the 3D coordinate system; identifying a portion of the surface object that is visible through the viewing portal from the viewpoint, the portion being identified based on the first position, the second position, and the viewpoint; and providing a view of the identified portion of the surface object within the environment.

20. A non-transitory computer-readable storage medium storing program instructions executable via one or more processors to perform operations, the operations comprising: determining a first position of the viewing portal within a three-dimensional (3D) coordinate system corresponding to the environment; determining a second position of the content item within the 3D coordinate system, the second position being positioned a distance behind the front face of the viewing portal; a surface object, the surface object being textured with an image corresponding to the content item, the surface object being positioned at the second position; Creating a surface object; determining a viewpoint of a device within the 3D coordinate system, the device including the one or more processors; identifying a portion of the surface object that is visible through the viewing portal from the viewpoint, the portion being identified based on the first position, the second position, and the viewpoint; and providing a view of the identified portion of the surface object within the environment.

Citation Information

Patent Citations

  • Image generation device and image generation method

    JP2016062486A

  • Image processing method, apparatus, computer program, and computer device

    JP2021517309A

  • Intelligent object sizing and placement in a augmented / virtual reality environment

    US20170256096A1

  • Information processing device and information processing method

    WO2017047173A1