Image synthesis system and method

The image synthesis system adjusts the position and orientation of 3D objects within a scene to maintain high-quality views during dynamic viewer movements, addressing the limitations of limited data capture in augmented and virtual reality applications.

JP7607653B2Active Publication Date: 2024-12-27KONINKLIJKE PHILIPS NV
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
JP2022525825
Authority / Receiving Office
JP · JP
Patent Type
Patents
Current Assignee / Owner
Priority Date
2019-11-05
Filing Date
2020-10-23
Publication Date
2024-12-27
Estimated Expiration
2040-10-23

AI Technical Summary

Technical Problem

Existing image synthesis systems face challenges in generating high-quality views of objects from arbitrary viewing positions and orientations due to limited data capture, particularly in augmented and virtual reality applications, leading to degraded image quality and restricted user movement.

Method used

An image synthesis system that includes a pose determination circuit to adjust the position and orientation of a 3D object within a scene based on a viewing zone, ensuring that the distance measure between the viewer's pose and the object's pose does not exceed a threshold, thereby maintaining image quality during dynamic viewer movements.

Benefits of technology

This approach enhances user experience by allowing flexible movement while maintaining high-quality image synthesis, ensuring that 3D objects appear realistic and stable within the scene, even when the viewer changes positions or orientations.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 0007607653000003
    Figure 0007607653000003
  • Figure 0007607653000004
    Figure 0007607653000004
  • Figure 0007607653000005
    Figure 0007607653000005
Patent Text Reader

Abstract

The image synthesis system includes receivers 201, 203, 205 that receive scene data describing at least a portion of a scene, object data describing a 3D object from a viewing zone having a relative pose with respect to the object, and a view pose within the scene. A pose determination circuit 207 determines an object pose of a 3D object within the 3D scene in response to the scene data and the view pose, and a view synthesis circuit 209 generates a view image of the object from the object data, object pose, and view pose. A circuit 211 determines a viewing region within the scene that corresponds to the viewing zone of the object at the object pose. The pose determination circuit 207 determines a distance measure for the view pose relative to the viewing region and modifies the object pose if the distance measure satisfies criteria including a requirement that the distance between the view pose and the pose of the viewing region exceed a threshold.
Need to check novelty before this filing date? Find Prior Art

Description

[Technical field]

[0001] The present invention relates to image synthesis systems, and in particular, but not exclusively, to image synthesis devices supporting view synthesis for mixed, augmented or virtual reality applications. [Background technology]

[0002] 2. Description of the Related Art In recent years, the variety and scope of image and video applications has expanded significantly with the constant development and introduction of new services and means for using and consuming video.

[0003] For example, one increasingly popular service is the presentation of image sequences in such a way that the viewer can actively and dynamically interact with the system to change the parameters of the rendering. A very attractive feature in many applications is the ability to change the viewer's virtual viewing position and viewing direction, which allows, for example, the viewer to move around or look around the presented scene.

[0004] Such features can provide a user with a particularly virtual reality experience, whereby the user can, for example, move around (relatively) freely in the virtual environment and dynamically change his or her position and where he or she is looking. Typically, such virtual reality (VR) applications are based on a three-dimensional model of the scene, which is dynamically evaluated to provide the specific view requested. This approach is well known from gaming applications for computers and consoles, for example in categories such as first-person shooters.

[0005] Another example is an Augmented Reality (AR) or Mixed Reality (MR) application where the virtual generated content is mixed with the perception of the local environment. For example, the user wears glasses or a headset that also includes a display that allows the virtual content to be displayed in a way that the user can perceive while allowing the user to see directly around them. The virtual content can be adapted to the view of the real world. For example, in an MR system, the user can see the local environment with, for example, additional virtual objects appearing in the scene.

[0006] Similarly, in a VR experience, additional content such as virtual objects is provided apart from the model describing the virtual scene. The VR system incorporates such objects along with the rendering of the scene, so that the view presented to the user includes the objects in the scene.

[0007] Thus, in AR and MR applications, a real background is overlaid with computer graphics, such as 3D computer-generated objects, and in VR applications, a virtual background is overlaid with computer graphics, such as 3D computer-generated objects that are not part of the model of the scene.

[0008] The objects are specifically 3D objects that are aligned with the viewer's viewpoint, and the representation of the 3D objects in the view image provided to the user is adapted to the viewer's movements, so that the objects paper over the viewer as they are in the scene, e.g., as the viewer moves, the appearance of the objects changes as they are seen from different viewing directions.

[0009] However, in order to generate such views of an object from different viewing directions, the object must be represented with sufficiently complete data to preferably allow views to be generated from any view position and orientation relative to the object. While this is feasible in some applications, in many applications, such as when the object is generated from real-world captures, the data representing the object may be limited.

[0010] For example, the object is a real object captured by multiple cameras arranged in a straight line with a given inter-camera distance. Usually, the number of cameras is relatively limited, and in practice, camera rigs with about 3-10 cameras are often used. However, the problem with such objects is that the capture of the object is typically very limited. For example, while accurate data is available for viewing positions in front of the object, insufficient data is often obtained for other viewing positions. For example, no data may be captured for viewing positions behind or to the side of the object. This may result in the inability to synthesize views for some positions / orientations, or at least a significant degradation in image quality.

[0011] Specifically, view-synthesized objects are obtained as projections from a multi-view with depth (MVD) capture. Such objects can be cut out from the original MVD capture using, for example, chroma keying. However, for image objects synthesized from MVD content, high-quality imaging is typically limited to positions in front of the object, making it difficult or impossible to generate overlay content at all positions. This can result in poor quality for many viewer positions / poses, or can severely limit the positions / poses the viewer can assume to ensure sufficient quality. Summary of the Invention [Problem to be solved by the invention]

[0012] As such, improved approaches would be advantageous, particularly approaches that allow for improved usability, improved flexibility, improved virtual / augmented / mixed reality experiences, reduced complexity, simplified implementation, improved synthetic image quality, improved rendering, increased user (possibly virtual) freedom of movement, improved user experience, and / or improved performance and / or usability.

[0013] SUMMARY OF THE DISCLOSURE Accordingly, the invention seeks to preferably mitigate, alleviate or eliminate one or more of the above mentioned disadvantages singly or in any combination. [Means for solving the problem]

[0014] According to one aspect of the invention, there is provided an image synthesis system comprising: a first receiver for receiving scene data describing at least a portion of a three-dimensional scene, a second receiver for receiving object data describing a three-dimensional object, the object data providing visual data of the three-dimensional object from a viewing zone having a relative pose with respect to the three-dimensional object, a third receiver for receiving a view pose of a viewer within the three-dimensional scene, a pose determination circuit for determining an object pose of the three-dimensional object within the three-dimensional scene in response to the scene data and the view pose, a view synthesis circuit for generating a view image from the visual data, the object pose, and the view pose, the view image including a view of the three-dimensional object within the three-dimensional scene with the three-dimensional object in its object pose and as viewed from the view pose, and a view synthesis circuit for determining the object pose of the three-dimensional object and the viewing zone. and a circuit for determining a viewing region within the three-dimensional scene of a relative pose of the three-dimensional object in a state that is the object pose, the viewing region corresponding to a viewing zone within the three-dimensional scene of the three-dimensional object in the object pose; the pose determination circuit determines a distance measure for a view pose relative to the viewing region for the object pose and modifies the object pose in response to the distance measure satisfying a first criterion including a requirement that the distance between the view pose and the pose of the viewing region exceed a first threshold; a view synthesis circuit generates the views of the three-dimensional object to be from different angles for at least some changes in view pose where the distance does not exceed the first threshold; and the pose determination circuit determines a new object pose that follows the changes in object pose, the determination of the new object pose being constrained such that the distance measure does not satisfy the first criterion for the new object pose.

[0015] The present invention, in many embodiments, improves the user experience by allowing for a better trade-off between image quality and freedom of movement in AR, VR and / or MR applications.

[0016] This approach can enable or facilitate applications, for example, where a synthesized virtual object is merged into a scene so that the object looks like a normal object in the scene for small movements, but adapts and changes position and / or orientation if necessary to maintain a sufficiently high quality.

[0017] This approach makes it possible to improve AR / VR / MR applications based on limited capture and representation of objects to be synthesized, e.g. objects represented by multi-view and depth.

[0018] A viewing zone may be a set of view poses for which object data is specified as sufficient for image synthesis. The poses of the viewing zone are determined relative to the 3D object. The viewing zone may be scene independent or relative to the capture coordinate system or object coordinate system.

[0019] A viewing region may be a set of view poses that includes a view pose of a three-dimensional scene that coincides with a viewing zone when a 3D object is added to the scene. A viewing region may be a region in a scene that coincides with a viewing zone when an object is positioned and oriented according to an object pose. A viewing region may consist of poses in a three-dimensional scene that belong to a viewing zone when an object is positioned and oriented according to an object pose.

[0020] A viewing zone may be a set of poses described / defined with respect to an object. A viewing region may be a set of poses described / defined with respect to a 3D scene. A viewing zone may be a set of poses described / defined with respect to an object or capture coordinate system. A viewing region may be a set of poses described / defined with respect to a scene coordinate system.

[0021] The scene data may be a complete or partial description of a three-dimensional scene. The scene data may include data describing the positions and contours of one or more objects in the scene. The scene objects may be virtual objects or real-world objects for MR / AR applications.

[0022] The pose may be a position and / or an orientation. The new object pose may be a pose in which the object pose has been modified.

[0023] For real-world 3D scenes (especially for AR / MR applications), the scene data can be generated automatically, for example using computer vision algorithms.

[0024] According to an optional feature of the invention, the viewing area is at least a two-dimensional area.

[0025] According to an optional feature of the invention, for at least some view poses that are in different directions from the object pose, the distance does not exceed a threshold.

[0026] In some embodiments, the distance depends on the difference in orientation between the view pose and the pose of the viewing region. In some embodiments, the viewing region includes poses having different orientations relative to the object pose. In some embodiments, the viewing region includes poses that vary in at least two dimensions. In some embodiments, the viewing region is at least a three-dimensional region. In some embodiments, the viewing region has an extension in at least one orientation dimension. In some embodiments, the viewing region has an extension in at least one orientation dimension and at least one position dimension. In some embodiments, the distance includes an orientation distance contribution. In some embodiments, the distance includes both a position distance contribution and an orientation distance contribution.

[0027] According to an optional feature of the invention, the pose determination circuitry does not change the object pose for a changing view pose when the distance measure satisfies criteria including a requirement that the distance between the view pose and the pose of the viewing area does not exceed a second threshold.

[0028] This, in many embodiments, improves the user experience and enhances and / or facilitates usability, in particular by allowing the representation of a 3D object in such a way that the view of the 3D object changes with respect to the viewer's movement, just as the object would in reality.

[0029] According to an optional feature of the invention, modifying the object pose comprises modifying a position of the object pose.

[0030] This, in many embodiments, enhances the user experience and improves and / or facilitates manipulation. The change in object pose may include a change in translation.

[0031] According to an optional feature of the invention, modifying the object pose comprises modifying an orientation of the object pose.

[0032] This, in many embodiments, enhances the user experience and improves and / or facilitates manipulation.Changing the object pose may include changing its rotation.

[0033] According to an optional feature of the invention, the scene data includes data for at least one scene object in the three-dimensional scene, and the pose determination circuitry determines a new object pose following the modification, subject to the constraint that there is no occlusion of the view pose of the three-dimensional object by the at least one scene object.

[0034] This provides an improved user experience and improved and / or easier operation in many embodiments.

[0035] According to an optional feature of the invention, the scene data includes object data for at least one object in the three-dimensional scene, and the pose determination circuitry determines a new object pose following the changes, subject to the constraint that there is no overlap between the at least one object in the three-dimensional scene and the three-dimensional object in the new view pose.

[0036] This provides an improved user experience and improved and / or easier operation in many embodiments.

[0037] According to an optional feature of the invention, the viewing zone includes a reference pose, and the pose determination circuitry biases the new object pose following the modification towards alignment of the reference pose with the view pose.

[0038] This, in many embodiments, enhances the user experience and improves and / or facilitates usability. The pose determination circuitry may determine the new object pose by evaluating the preference measure for a number of poses. The bias may be such that the closer the reference pose is to the view pose, the higher the preference measure. The pose with the highest preference measure may be selected as the new object pose.

[0039] The bias may be such that the smaller the distance between the reference pose and the view pose of a given candidate pose, the higher the change in selection of the candidate pose as the new object pose.

[0040] The bias may be such that all constraints for the selection of the new object pose are satisfied and the pose with the lowest distance measure between the reference pose and the view pose is selected as the new object pose.

[0041] In some embodiments, the pose determination circuitry modifies the object pose to align the reference pose with the view pose, in some embodiments, the pose determination circuitry selects a new object pose that follows the modifications such that the reference pose is the same as the view pose.

[0042] According to an optional feature of the invention, the pose determination circuitry determines a new object pose following the modification, subject to the constraint that the distance measure does not satisfy a first criterion for the new view pose.

[0043] This provides an improved user experience and improved and / or easier operation in many embodiments.

[0044] According to an optional feature of the invention, the pose determination circuitry biases the new object pose following the modification towards a minimum pose difference relative to the object pose before the modification.

[0045] This provides an improved user experience and improved and / or easier operation in many embodiments.

[0046] The pose determination circuitry may determine the new object pose by evaluating the preference measure for a number of poses. The bias may be such that the closer a pose is to the pose before the change, the higher the preference measure for that pose. The pose with the highest preference measure may be selected as the new object pose.

[0047] The bias may be such that the smaller the distance between a given candidate pose and the previous object pose, the higher the change in selection of the candidate pose as the new object pose.

[0048] The bias may be such that all constraints for the selection of the new object pose are satisfied and the pose with the lowest distance measure between it and the previous object pose is selected as the new object pose.

[0049] According to an optional feature of the invention, the scene data includes data for at least one scene object in the three-dimensional scene, and the pose determination circuitry determines a new object pose following the modification, subject to the constraint of no occlusion of a view pose of the at least one scene object by the three-dimensional object.

[0050] This provides an improved user experience and improved and / or easier operation in many embodiments.

[0051] According to an optional feature of the invention, the pose determination circuitry performs a pose search over a region of the scene to find a new object pose subject to modification that satisfies a number of constraints.

[0052] This provides an improved user experience and improved and / or easier operation in many embodiments.

[0053] According to an optional feature of the invention, the representation of the three-dimensional object includes multi-view images and a depth representation of the three-dimensional object.

[0054] According to an optional feature of the invention, the scene data provides a visual model of at least a portion of the three-dimensional scene, and the view synthesis circuitry generates a view image in response to the visual model such that the view image is a view of the scene from a view pose blended with a view of the three-dimensional object.

[0055] According to one aspect of the invention, there is provided a method of image synthesis comprising the steps of receiving scene data describing at least a portion of a three-dimensional scene, receiving object data describing a three-dimensional object, the object data providing visual data of the three-dimensional object from a viewing zone having a relative pose with respect to the three-dimensional object, receiving a view pose of a viewer within the three-dimensional scene, determining an object pose of the three-dimensional object within the three-dimensional scene in response to the scene data and the view pose, generating a view image from the visual data, the object pose and the view pose, the view image comprising a view of the three-dimensional object within the three-dimensional scene with the three-dimensional object at the object pose and as viewed from the view pose, and generating a viewing area within the three-dimensional scene representing the object pose of the three-dimensional object and the relative pose of the viewing zone. The method includes determining a distance measure for a view pose relative to the viewing region for the object pose, and modifying the object pose in response to the distance measure satisfying a first criterion including a requirement that the distance between the view pose and the pose of the viewing region exceeds a first threshold, wherein generating view images includes generating views of the three-dimensional object to be from different angles for at least some changes in the view pose where the distance does not exceed the first threshold, and modifying the object pose includes determining a new object pose that follows the changes in the object pose, and the determination of the new object pose is subject to the constraint that the distance measure does not satisfy the first criterion for the new object pose.

[0056] There may be provided an image synthesis system comprising a first receiver for receiving scene data describing at least a portion of a three-dimensional scene expressed in a first coordinate system (scene coordinate system), a second receiver for receiving object data describing a three-dimensional object, the object data providing visual data of the three-dimensional object from a viewing zone having a relative pose with respect to the three-dimensional object, a third receiver for receiving a view pose of a viewer within the three-dimensional scene, the view pose being relative to the first coordinate system, a pose determination circuit for determining an object pose of the three-dimensional object in the first coordinate system in response to the scene data and the view pose, and a view image from the visual data, the object pose, and the view pose. a view synthesis circuit for generating a view image including a view of a three-dimensional object at an object pose from a view pose; and a circuit for determining a viewing region in a first coordinate system of an object pose of the three-dimensional object and a relative pose of the viewing zone, the viewing region corresponding to the viewing zone in the first coordinate system of the three-dimensional object at the object pose, the pose determination circuit determining a distance measure for the view pose relative to the viewing region for the object pose, and modifying the object pose in response to the distance measure satisfying a first criterion including a requirement that the distance between the view pose and the pose of the viewing region exceed a first threshold.

[0057] There may be provided an image synthesis system comprising a first receiver (201) for receiving scene data describing at least a portion of a three-dimensional scene, a second receiver (203) for receiving object data describing a three-dimensional object, the object data providing visual data of the three-dimensional object from a viewing zone having a relative pose with respect to the three-dimensional object, a third receiver (205) for receiving a view pose of a viewer within the three-dimensional scene, a pose determination circuit (207) for determining an object pose of the three-dimensional object within the three-dimensional scene in response to the scene data and the view pose, and a view synthesis circuit (209) for generating a view image from the visual data, the object pose and the view pose, the view image being an image of the three-dimensional object relative to the visual data of the three-dimensional object. a view synthesis circuit (209) including a view of the three-dimensional object in the three-dimensional scene at the object pose and as viewed from the view pose; and a circuit (211) for determining a viewing region in the three-dimensional scene of an object pose of the three-dimensional object and a relative pose of the viewing zone, the viewing region corresponding to the viewing zone in the three-dimensional scene of the three-dimensional object at the object pose, the pose determination circuit (207) determining a distance measure for the view pose relative to the viewing region for the object pose and modifying the object pose in response to the distance measure satisfying a first criterion including a requirement that the distance between the view pose and the pose of the viewing region exceed a first threshold.

[0058] There may be provided a method of image synthesis comprising the steps of receiving scene data describing at least a portion of a three-dimensional scene, receiving object data describing a three-dimensional object, the object data providing visual data of the three-dimensional object from a viewing zone having a relative pose with respect to the three-dimensional object, receiving a view pose of a viewer within the three-dimensional scene, determining an object pose of the three-dimensional object in the three-dimensional scene in response to the scene data and the view pose, and generating a view image from the visual data, the object pose and the view pose, the view image being generated with the three-dimensional object in the object pose and with respect to the view pose. determining a viewing region within the three dimensional scene of an object pose of the three dimensional object and a relative pose of the viewing zone, the viewing region corresponding to the viewing zone within the three dimensional scene of the three dimensional object at the object pose; determining a distance measure for the view pose relative to the viewing region for the object pose; and modifying the object pose in response to the distance measure satisfying a first criterion including a requirement that the distance between the view pose and the pose of the viewing region exceeds a first threshold.

[0059] These and other aspects, features and advantages of the invention will be apparent from and elucidated with reference to the embodiments described hereinafter. [Brief description of the drawings]

[0060] Embodiments of the invention will now be described, by way of example only, with reference to the drawings in which:

[0061] [Figure 1] FIG. 1 shows an example of image and depth capture of a 3D object. [Diagram 2]FIG. 2 illustrates an example of elements of an image synthesis device according to some embodiments of the present invention. [Diagram 3] FIG. 3 illustrates an example of a scene in which virtual 3D object elements are presented according to some embodiments of the present invention. [Figure 4] FIG. 4 illustrates an example of a scene in which virtual 3D object elements are presented according to some embodiments of the present invention. [Diagram 5] FIG. 5 illustrates an example of a process that may be performed by an image synthesis device according to some embodiments of the present invention. DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS

[0062] In many Augmented Reality (AR), Mixed Reality (MR) or even Virtual Reality (VR) applications, it is desirable to add another or additional 3D object to the perceived environment. For example, in AR and MR, the synthesized object is integrated / merged / overlaid with the real background. As an example, the user wears glasses or a headset that allows the user to see the real-world environment, such as the room the user is in, but also includes a display that presents synthesized virtual computer graphics. These displays are used to display a view of the synthesized objects, so that the objects are perceived as (virtual) objects present in the room. In a VR experience, the view of the real world is replaced by a background generated from scene data representing a virtual scene. In this case, the data of the virtual scene and the 3D objects are provided and generated separately. Thus, in a VR application, a background is generated based on the scene data, and computer graphics generated from another 3D data describing the 3D objects are overlaid on this background.

[0063] 3D objects are presented aligned to the viewer's viewpoint, and views are generated to reflect the user's movements and changes in pose. Thus, as the user moves, the view of the 3D object changes to reflect how the 3D object would look if it were a real object positioned in the scene. Furthermore, in order for the 3D object to appear to be a regular object in the scene, the view of the 3D object needs to be aligned to the scene. For example, it may be desirable to render an object to appear to be positioned / standing on the floor of a room, which requires dynamically changing the positioning of the view of the 3D object to match the movement of the same point on the floor in the glasses / display. For example, in mixed reality, computer graphics objects need to fit the environment in which they are positioned. To be perceived as realistic, an object should not fall through a table, stick to the ceiling, etc.

[0064] In the present field, the terms "configuration" and "pose" are used as common terms for position or orientation. For example, a combination of position and orientation of an object, camera, head, or view may be referred to as a pose or configuration. Thus, a configuration or pose indication includes six values / components / degrees of freedom, each value / component typically describing an individual characteristic of the position / location or orientation / direction of the corresponding object. Of course, in many cases, a configuration or pose may be considered or represented with fewer components, for example when one or more components are considered fixed or irrelevant (e.g., four components can fully represent an object pose when all objects are considered to be at the same height and have a horizontal orientation). In the following, the term "pose" refers to a position and / or orientation represented by one to six values ​​(corresponding to the maximum possible degrees of freedom). The term "pose" may also be replaced by the term "configuration". The term "pose" may also be replaced by the term "position and / or orientation". The term "pose" may be replaced with the term "position and orientation" (if the pose provides both position and orientation information), with the term "position" (if the pose provides position (or possibly only position) information), or with "orientation" (if the pose provides orientation (or possibly only orientation) information).

[0065] An example of an MR application is an educational application that generates and presents a 3D object in the shape of a lecturer such that the lecturer appears to be in the same room as the students / users of the application. Thus, the 3D object may in many scenarios be a temporally changing 3D object, such as a 3D video object.

[0066] If the 3D object overlaid on the scene is a virtual object that is fully described by complete 3D data, it is possible to generate appropriate views for all view poses, without degradation or complications for specific positions or orientations of viewing the scene. However, in many scenarios, the 3D object may not be fully characterized from all possible viewpoints / poses. For example, the 3D object may be a real-world object that is captured by a suitable capture operation, but that only provides complete data for a limited range of poses.

[0067] As a specific example, a 3D object may be represented by captured data generated by multiple images (possibly including depth data) captured from multiple capture poses of a limited capture area, which need to be close to each other to provide enough data to enable high quality view synthesis / interpolation between the captured view images. However, to reduce the required number of capture cameras / poses, it is often only practically feasible to cover a relatively small capture area.

[0068] A commonly used approach is to use what is known as multi-view with depth (MVD) capture, where multiple views of an object are captured so that the object is represented by multiple captured images with associated depth data of the capture pose in a limited capture area. The images may in practice be captured using a camera rig that includes multiple cameras and depth sensors.

[0069] An example of such a capture system is shown in Figure 1. Figure 1 shows an object 101 to be captured in front of a background 103, specifically a green screen background. Multiple capture cameras 105 are positioned in a capture area 107. In such an example, the object is, for example, cut out from the MVD captured image using, for example, chroma keying techniques known to those skilled in the art.

[0070] The result of the capture is therefore a representation of the 3D object with a multi-view image and depth representation, i.e. with images and depths provided for multiple capture poses. The multi-view image and depth representation thus provides a technique for capturing a 3D object from a capture / viewing zone. The data representing the 3D object thus provides a representation of the 3D object from a viewing zone. The visual data from the viewing zone provides a description of the 3D object. The viewing zone contains poses for the object. The included poses are poses that provide data that allow the representation to generate a view image. It is therefore believed that for view poses that fall within the viewing zone for the object, a view image of sufficient quality can be generated, but for view poses outside the viewing zone for the object, the generation of a view image of sufficient quality is not guaranteed.

[0071] Of course, the exact selection / determination / characterization of the viewing zone (usually represented by its boundary, contour, or edge) will depend on the particular preferences and requirements of each individual embodiment. For example, in some embodiments, the viewing zone is determined to correspond directly to the capture zone, i.e., the viewing zone is the zone spanned by the capture pose. In many embodiments, the viewing zone is determined to include poses where a distance measure between the pose and the nearest capture pose satisfies a criterion.

[0072] Thus, data is generated that is shown / designed / considered to represent the 3D object for poses within the viewing zone, but not for poses outside the viewing zone. The viewing zone is determined relative to the 3D object and reflects the particular capture process (e.g., camera rig, etc.) used. The viewing zone is described / defined relative to the capture or object coordinate system, and is defined independently of the scene and scene coordinate system.

[0073] In many embodiments, the viewing zone is R N is defined as a subset of poses in space, where N is the number of dimensions considered. In many embodiments, especially in many 6DoF applications, N is equal to 6, which typically corresponds to three coordinates / dimensions indicating position and three coordinates indicating orientation ( / direction / rotation). In some embodiments, N may be less than 6, which corresponds to some dimensions that are not considered (specifically, either ignored or considered fixed).

[0074] In some embodiments only the position dimension or coordinates are considered, in other embodiments only the orientation dimension is considered, however in many embodiments at least one position dimension and one orientation dimension are considered.

[0075] The viewing zone is at least two dimensional and contains poses that vary in at least two coordinate / dimension values. In many embodiments, the viewing zone is at least three dimensional and contains poses that vary in at least three coordinate / dimension values. The viewing zone is typically at least a two-dimensional or three-dimensional zone. The viewing zone contains poses that vary in at least two dimensions.

[0076] In many embodiments, the viewing zone contains poses with different orientations relative to the object pose, and therefore the viewing zone typically has a non-zero extension for at least one orientation coordinate / dimension.

[0077] In most embodiments, the viewing zone has an extension in at least one orientation dimension and at least one position dimension, and thus in most embodiments both position and orientation are taken into account by the system.

[0078] 2 shows an example of an image synthesizer used to provide an AR / MR / VR experience in which the above 3D objects are included in the scene. In this description, we focus on MR applications, such as where a dynamic 3D object in the form of a lecturer is overlaid on the user's perception of the real-world environment around them. However, it will be appreciated that in other embodiments the principles described can be used to provide, for example, a VR experience.

[0079] The image synthesiser includes a first receiver 201 for receiving scene data describing at least a portion of a three-dimensional scene. In an AR / MR application, the scene is in particular a real-world scene in which a user is present. Thus, the scene data describes the characteristics of the room / environment in which the user is present. In a VR experience, the scene data describes the characteristics of a virtual scene. The scene data includes in particular data describing the position and / or contours of one or more objects in the scene.

[0080] Scene data describes elements or characteristics of a scene into which a 3D object is inserted. In AR / MR applications, scene data describes characteristics of a real-world environment, and in particular the characteristics of one or more objects in the real world. Scene data describes in particular the positions and contours of one or more objects in the local environment. Objects include walls, furniture, or other objects present in the environment.

[0081] In such cases, the scene is determined, for example, by manual input or scanning of the real-world environment. Often this is performed at application initialization time, or it may be performed on a more permanent basis, for example for a stationary environment.

[0082] In a VR application, the scene data includes data describing the positions of objects, etc., and also includes visual data of the objects. Specifically, the scene data is a full model of the 3D scene. Thus, in a VR application, the scene data includes sufficient data to enable a view of the virtual scene to be generated.

[0083] Scene data is provided relative to a scene coordinate system, i.e. the positions of objects in a scene are evaluated with respect to the scene coordinate system. It will be appreciated that in some scenarios scene data is stored or received according to one scene coordinate system and this is transformed into a different scene coordinate system as part of processing (e.g. as part of the rendering of an application).

[0084] The image synthesiser further includes a second receiver 203 for receiving object data describing 3D objects to be overlaid / merged into a scene (eg, a real or virtual scene depending on the application) represented by the scene data.

[0085] The object data provides visual data of the 3D object from a viewing zone associated with the 3D object. Thus, the viewing zone is defined in relation to the 3D object and includes / describes a pose associated with the 3D object, from which the object data includes sufficient data to enable generation of an image (having acceptable quality). As mentioned above, the exact criteria for determining the viewing zone will depend on the preferences and requirements of a particular embodiment.

[0086] In many embodiments, the received object data includes an indication of the viewing zone. For example, the object data is generated by the aforementioned MVD capture, and together with the images and the depth map, an indication of the viewing zone is included in the object data. In other embodiments, the viewing zone is determined by the second receiver 203 itself. For example, the object data includes an indication of the capture poses of each of the provided images (associated with the 3D object), and the second receiver 203 then determines the viewing zone to include poses whose distance to one of the capture poses is less than a threshold value. The particular distance measure and threshold value used are selected depending on the particular design criteria of a particular embodiment.

[0087] The viewing zone is defined relative to the 3D object and is provided according to a coordinate system called the object or capture coordinate system. The coordinate system is a coordinate system to which the object data is referenced and is independent of the scene. The viewing zone is described, for example, by a region having a given distance and direction from the 3D object. For example, the viewing zone is represented by a pose offset vector to the center point of the region defined, for example, by a set of intervals for each coordinate component (for example, the intervals for each of the six coordinates that define the pose in the object coordinate system).

[0088] The image synthesizer includes a third receiver 205 for receiving a view pose of a viewer within the three-dimensional scene. The view pose represents the position and / or orientation from which the viewer views the scene, and in VR applications provides the pose from which a view of the scene should be generated.

[0089] The first, second and third receivers may be implemented in any suitable manner and may receive data from any suitable source, including local memory, a network connection, a wireless connection, a data medium, etc.

[0090] The receiver may be implemented as one or more integrated circuits, such as an application specific integrated circuit (ASIC). In some embodiments, the receiver may be implemented as one or more programmed processing units, such as, for example, as firmware or software running on a suitable processor, such as a central processing unit, a digital signal processing unit, or a microcontroller. In such embodiments, it will be appreciated that the processing unit includes on-board or external memory, clock driving circuits, interface circuits, user interface circuits, etc. Such circuits may further be implemented as part of the processing unit, as an integrated circuit, and / or as discrete electronic circuits.

[0091] The image synthesis apparatus further includes a pose determination circuit 207 that determines an object pose of a 3D object in a scene, specifically in a scene coordinate system. The object pose indicates the position and / or orientation of a 3D object in a scene / scene coordinate system specifically. Thus, the pose determination circuit 207 specifically determines where to position and orient a 3D object in a scene.

[0092] The pause determination circuit 207 may be implemented in any suitable manner, such as as one or more integrated circuits, such as an application specific integrated circuit (ASIC). In some embodiments, the receiver may be implemented as one or more programmed processing units, such as, for example, as firmware or software running on a suitable processor, such as a central processing unit, a digital signal processing unit, or a microcontroller. In such embodiments, it will be appreciated that the processing unit includes on-board or external memory, clock driving circuits, interface circuits, user interface circuits, etc. Such circuits may further be implemented as part of the processing unit, as integrated circuits, and / or as discrete electronic circuits.

[0093] The image synthesis device further includes a view synthesis circuit 209 that generates a view image of the 3D object. Specifically, the view synthesis circuit 209 generates an image object corresponding to the 3D object as seen from the view pose, with the 3D object positioned and oriented as indicated by the object pose. The view image specifically includes only the image object corresponding to the view of the 3D object. For example, in some embodiments, a full view image corresponding to the entire area of ​​a display (e.g., of glasses or a headset) is generated, which includes only pixels corresponding to the view of the 3D object, and all other pixels are transparent. Such an image is displayed directly on the display. In other embodiments, the generated view image is an image object that is positioned at an appropriate position on the display. In such a scenario, the view image / image object is associated with position information indicating the position of the view image / object in the display.

[0094] In a VR application, the image synthesizer can further generate image portions reflecting the virtual scene from the scene data.

[0095] The view synthesis circuitry 209 may be implemented in any suitable manner, such as as one or more integrated circuits, such as application specific integrated circuits (ASICs). In some embodiments, the receiver may be implemented as one or more programmed processing units, such as, for example, as firmware or software running on a suitable processor, such as a central processing unit, a digital signal processing unit, or a microcontroller. It will be appreciated that in such embodiments, the processing unit includes on-board or external memory, clock driving circuits, interface circuits, user interface circuits, etc. Such circuits may further be implemented as part of the processing unit, as integrated circuits, and / or as discrete electronic circuits.

[0096] In this manner, the image synthesizer generates a view image of a 3D object from visual data of the object data describing visual characteristics of the 3D object, the object pose, and the view pose, such that the view image includes a view of the three-dimensional object at and from the view pose, being the object pose.

[0097] It will be appreciated that typically a stereo image / object is generated that includes a right eye view image / object and a left eye view image / object, such that when the view images are presented to a user, for example via an AR / VR headset, the 3D object appears as if it actually exists as a 3D object in the scene.

[0098] Many algorithms and approaches are known for synthesizing images, and it will be appreciated that any suitable approach may be used in the view synthesis circuit 209.

[0099] In this way, the image synthesizer can generate views of 3D objects and merge / overlay them onto the scene, where the views of the 3D objects are generated to appear, for example, at a particular position and with a particular orientation in the room the user is currently in.

[0100] Furthermore, as the view pose dynamically changes as the user moves around the scene, the view of the 3D object is constantly updated to reflect the change in view pose. Thus, the position of the 3D object and the portion of the 3D object contained in the view image object dynamically changes, so that the object appears to remain in the same position and have the same orientation. That is, as the user moves, the object appears stationary to the user in the scene / environment.

[0101] Thus, the view synthesis circuit 209 generates views of the 3D object as if from different angles for lateral movement of the view pose with respect to the object pose. If the viewer pose changes such that it is in a different direction / orientation than the object pose, the view synthesis circuit 209 generates views of the 3D object as if from different angles. Thus, as the viewer pose changes, the object can be perceived as stationary and having a fixed orientation in the scene. The viewer can effectively move and view the object from different directions. The object is presented in such a way that it is perceived as a real object in the scene.

[0102] 3 shows an example in which a virtual 3D object 101 is positioned in a scene that is a real-world room that the user is in. The room includes walls 301 and several room objects 303, e.g. furniture.

[0103] The scene data describes the positions of the walls 301 and the room object 303 with respect to a scene coordinate system, as well as their contours. The object poses of the 3D objects are determined with respect to the same scene coordinate system as the view pose (either by being directly received with respect to this scene coordinate system, or by being transformed to this scene coordinate system).

[0104] As the 3D object is included to be recognized as an object in the scene, the view pose therefore also represents the viewpoint and orientation from which the 3D object is viewed, i.e., the pose from which a view of the 3D object should be generated.

[0105] The initial object pose when starting the application is determined according to any suitable criteria or algorithm. For example, in some embodiments, the user manually enters inputs that set the initial position and orientation of the 3D object. In many embodiments, the initial object pose is set automatically, usually based on the object data and the scene data. The initial object pose may be set so that the object is at some distance to one of the objects and appears to be standing on the floor. For example, the initial object pose is set to be as far away as possible from the walls and furniture of the scene. This is advantageous when the viewer translates outside the viewing area, since in this case the object does not collide directly with the scene objects. Thus, there is no need to suddenly jump to a very different position in the scene. As another example, if the object is a person, the person may be describing a certain characteristic in the scene, e.g., a machine, a kitchen, a piece of furniture. In this case, the initial pose needs to be selected to best relate to the object being described. For example, the person points to a given object in the scene. In this case, the pose is important for correct recognition.

[0106] A particular requirement for determining the initial object pose is that the received object data should be such that it allows the generation of an image of the 3D object 101. The initial object pose should therefore be such that the initial view pose with respect to the initial object pose is consistent with the relationship of the 3D object to the viewing zone.

[0107] The image synthesis device includes a viewing region circuit 211 that determines a viewing region in the scene / scene coordinate system for the current object pose. The viewing region is the region in the scene / scene coordinate system that corresponds to the viewing zone of the current object pose. As mentioned above, object data is associated with a viewing zone, which is a set of poses associated with the object pose for which the object data is considered valid for generating (sufficient quality) image content representing a view of the object. This associated viewing zone corresponds to a viewing region in the scene / scene coordinate system. That is, there is a viewing region in the scene / scene coordinate system that includes poses for which the received object data is considered valid.

[0108] In some embodiments, the viewing zone refers to an object or capture system that is independent of the scene coordinate system, while the viewing region refers to the scene coordinate system. The view region circuit 211 converts between them based on the object pose.

[0109] The viewing region circuit 211 determines this viewing region, which corresponds to the viewing zone of the current object pose.

[0110] For example, if the viewing zone is given by an offset vector related to the pose of a 3D object, the corresponding pose in the scene coordinate system of the current object pose is generated by offsetting the current object pose by this vector, e.g., the viewing zone is given as a predefined region around the pose indicated by the offset vector, and the viewing region is determined as the corresponding predefined region around the pose resulting from offsetting the current object pose by the offset vector.

[0111] As another example, a capture position for an object is indicated and the corresponding capture position in the scene coordinate system of the current object pose is determined, where the viewing region is determined, for example, as the set of poses for which a suitable distance metric is below a threshold.

[0112] Many algorithms and approaches are known for converting between various coordinate systems, and it will be appreciated that any suitable approach may be used without detracting from the invention.

[0113] Similar to the viewing zone, the viewing area is R N N is defined as a subset of poses in space, where N is the number of dimensions considered. In many embodiments, particularly in many 6DoF applications, N is equal to 6, which typically corresponds to three coordinates / dimensions indicating position and three coordinates indicating orientation ( / direction / rotation). In some embodiments, N may be less than 6, which corresponds to some dimensions that are not considered (particularly, that are either ignored or considered fixed).

[0114] In some embodiments, only the position dimension or coordinates of the viewing region are considered, while in other embodiments only the orientation dimension is considered, however in many embodiments at least one position dimension and one orientation dimension are considered.

[0115] The viewing area is at least two-dimensional and contains poses that vary in at least two coordinate / dimension values. In many embodiments, the viewing area is at least three-dimensional and contains poses that vary in at least three coordinate / dimension values. The viewing area is typically at least a two- or three-dimensional zone. The viewing zone contains poses that vary in at least two dimensions.

[0116] In many embodiments, the viewing area contains poses with different orientations relative to the object pose, and therefore the viewing area typically has a non-zero extension for at least one orientation coordinate / dimension.

[0117] In most embodiments, the viewing area has an extension in at least one orientation dimension and at least one position dimension, and thus in most embodiments both position and orientation are taken into account.

[0118] The view area circuitry 211 may be implemented as an integrated circuit, such as an application specific integrated circuit (ASIC). In some embodiments, the view area circuitry 211 may be implemented as a programmed processing unit, such as, for example, as firmware or software running on a suitable processor, such as a central processing unit, a digital signal processing unit, or a microcontroller. In such embodiments, it will be appreciated that the processing unit includes on-board or external memory, clock driving circuits, interface circuits, user interface circuits, and the like. Such circuits may further be implemented as part of the processing unit, as an integrated circuit, and / or as discrete electronic circuits.

[0119] In the system, the pose determination circuit 207 determines a distance measure of the view pose relative to the viewing region of the object pose. In some embodiments, the distance measure is a simple binary distance measure indicating whether the view pose is within the viewing region or whether the view pose is outside the viewing region. Such a distance measure can be generated simply by comparing the pose coordinates with the current range of pose coordinates of the current viewing region. As a specific example, a difference vector between the view pose and the pose indicated by the offset vector is determined, and if this vector is smaller than the extension of the viewing zone / region in the corresponding direction (e.g., from a central reference position), the distance measure indicates that the view pose is within the viewing region, otherwise it is outside the viewing region.

[0120] As another example, in some embodiments, a distance measure is generated that generates a value indicating the distance from the current view pose to the pose of the viewing area. This pose of the viewing area may be dependent on the view pose, e.g., a fixed reference pose (e.g., the pose indicated by the offset vector) or the closest pose in the viewing area. The distance measure may, for example, determine difference values ​​for each coordinate of the pose and combine these into a combined value that can be used as the distance measure. For example, for position coordinates, a Euclidean distance measure is determined, and for orientation coordinates, the sum of absolute coordinate differences is used (or, for example, a simple angular difference between vectors indicating the direction of the pose may be used).

[0121] The pose determination circuit 207 further evaluates whether the distance measure meets a first criterion, which includes a requirement that the distance between the view pose and the pose of the viewing area exceeds a first threshold.

[0122] Thus, the pose determination circuitry 207 may determine whether the current view pose is more than a certain amount away from the viewing region according to any suitable distance determination and requirements. It will be appreciated that this criterion may also include other considerations, such as, for example, frequency of detection, time since last detection, user-selected settings, etc. It will also be appreciated that in some embodiments (e.g., based on the parameters discussed above), the threshold may be dynamically adaptable. Indeed, in many embodiments, the applied threshold may be determined as a function of different parameters, and thus may be, for example, direction-dependent (e.g., allowing a larger distance for lateral movements than for movements straight toward or away from the current object pose).

[0123] In many embodiments, the pose determination circuit 207 simply detects whether the current view pose is within the viewing region, for example, by determining whether a binary measure indicates that the view pose is within the viewing region. In other embodiments, more complex approaches are used, for example, by comparing a non-binary distance measure to a dynamic threshold. In some embodiments, the first criterion includes a requirement that the distance between the view pose and any pose in the viewing region exceeds a first threshold. In this case, the threshold can be set to zero. That is, the requirement is met if the distance between the view pose and any pose in the viewing region exceeds the zero threshold.

[0124] In many embodiments, the first criterion includes a requirement that the distance between the view pose and the reference pose of the viewing region exceeds a first threshold. The reference pose is independent of the viewer's pose where the requirement is not met. The reference pose can be fixed as long as the requirement is not met. In some embodiments, the reference pose is changed when the requirement is met (specifically when the object pose is changed).

[0125] The pose determination circuitry 207 is further responsive to detecting that the distance metric satisfies the first criterion to modify the object pose. Thus, the pose determination circuitry 207 detects that the current view pose moves outside the viewing area (e.g., by a particular distance) and, in response, modifies the object pose, i.e., where the 3D object is in the scene and / or the orientation of the 3D object in the scene.

[0126] The viewing region is considered as a representation of the viewing zone in the scene / scene coordinate system of the current object pose, and thus indicates the area in the scene where the object data is deemed to provide sufficient data for generation of a view of the object. Thus, the pose determination circuit 207 determines that the view pose has been altered to such an extent that the object data cannot be trusted to provide sufficiently complete and accurate data for generation of a sufficiently high quality view of the 3D object.

[0127] This detection results in a modification of the object pose such that the new view pose is within the viewing region of the new object pose. Thus, in particular, the new object pose determined by the pose determination circuit 207 is subject to the requirement that the new object pose does not satisfy a first criterion. That is, the new object pose must be selected such that the new viewing region corresponding to the viewing zone of the new object pose does not satisfy the first criterion in terms of the distance measure of the new view pose and the new object pose. Thus, the new object pose is selected such that the view pose is not too far from the viewing region of the new object pose.

[0128] As a specific example, the new object pose is determined such that the new / current view pose is within the viewing region of the new object pose.

[0129] It will be appreciated that the exact algorithm or selection criteria for determining the new object pose will depend on the particular implementation, and many different approaches can be used, some particularly advantageous considerations and criteria are detailed below.

[0130] The pose determination circuit 207 does not change the object pose for a changing view pose in scenarios where a given criterion is met (such as a criterion or requirement that the distance measure meets criteria including a requirement that the distance not exceed a second threshold).

[0131] Thus, in many embodiments, in at least some situations and scenarios, the object pose is fixed or made permanent. Specifically, in many embodiments, the object pose is not changed unless a first criterion is met. The object pose is changed only if it is determined that the view pose has moved too far from the viewing area.

[0132] For example, in some embodiments, the pose determination circuit 207 keeps the object pose fixed as long as the view pose is within the viewing region, and changes the object pose (only) if the distance measure indicates that the view pose moves outside the viewing region. When the view pose moves outside the viewing region, the object pose is changed so that the viewing region of the new object pose includes the current view pose.

[0133] This approach improves the user's experience in many embodiments and scenarios. For example, in an MR application, a 3D object, e.g., representing a lecturer, is presented in such a way that it is perceived as being in a certain position in the room and facing the user. If the user moves relatively little (e.g., to stay in the viewing area), the 3D object / lecturer appears to behave as a real object; that is, the user can move sideways, see the lecturer from different angles, etc. Furthermore, the presented image is of high quality. However, if the user moves away from the initial pose and moves outside the viewing area, the system does not simply continue to render a view of the 3D object / lecturer from the new pose, as this would result in poor quality due to the incomplete data provided by the object data.

[0134] Rather, instead, it is detected that the user has moved too far away from the initial pose (e.g., outside the viewing area) and the 3D object / instructor is repositioned and / or oriented to a new position, e.g., the 3D object / instructor "jumps" to a new position in the room, e.g., such that it is seen just in front of the current view position, and / or the orientation is changed such that the instructor is perceived to have rotated / turned so that he is again facing directly at the user.

[0135] In many embodiments, this approach ensures that the perceived quality of a particular 3D object is always sufficiently high, and that it is always possible to render the 3D object based on the available object data. A higher quality can be guaranteed at a minimum for the service. At the same time, for the most common movements, a natural experience can be achieved with a view of the 3D object following the user's movement (e.g. parallax).

[0136] The described experience can be very beneficial for many applications, e.g., educational applications, where students do not move very often. For example, a student is presented with a natural perception of the lecturer as long as he or she is sitting at a desk. However, if the student stands up and moves to a chair in a different part of the room, the system automatically changes the position and / or orientation of the lecturer to provide the user with a corresponding experience in this new location.

[0137] Thus, the view synthesis circuit 209 generates views of the three-dimensional object to be from different angles for at least some movements of the view pose whose distance does not exceed the first threshold. Specifically, for any movements whose distance does not exceed the first threshold but that include a movement component perpendicular to the direction from the object pose to the viewer pose, the generated views of the object correspond to different viewing angles of the object.

[0138] It will be appreciated that this is essentially true for any distance and threshold determination that allows for any two-dimensional movement and keeps the object pose constant for changing viewer poses. For example, a two (or more) dimensional viewing zone leads to a two (or more) dimensional viewing region, which leads to movements that do not satisfy the threshold including movements that have a vertical component and therefore movements that have different viewing angles of the object when the object pose is constant.

[0139] In many embodiments, the first threshold is such that for at least some view poses that are in different directions from the object pose, the distance does not exceed the first threshold. Thus, such a change between view poses does not generate a new object pose, but results in a view pose that is in a different direction from the object. That is, the object is viewed or seen from a different angle. Thus, keeping the object pose constant over such a change in view pose generates a view of the object with a different view angle. That is, the object is seen from a different angle corresponding to the movement of the viewer. Thus, in such an embodiment, if the first threshold is not met, the view of the object will look like a normal 3D object in the scene, resulting in a more natural perception.

[0140] In many embodiments, the distance measure and / or the first threshold includes an orientation component. Thus, the distance may depend on the orientation difference between the view pose and the pose of the viewing region. Similarly, the threshold also includes orientation considerations.

[0141] Thus, in many embodiments, the distance / first threshold includes an orientation distance contribution. In most embodiments, the distance / first threshold includes both a position distance contribution and an orientation distance contribution. In some embodiments, the distance and / or the first threshold are multi-component values. For example, they are considered as vectors.

[0142] For example, the first threshold is exceeded when one component of the distance measure exceeds a threshold (e.g., when the difference in one of the components of the view pose relative to the object pose exceeds a threshold). Specifically, the pose determination circuit 207 determines a new object pose when the orientation of the view pose is changed such that at least one of the orientation values ​​differs from the corresponding orientation value of the pose in the viewing region by more than a threshold included in the first threshold.

[0143] In some embodiments, the first threshold is an adaptive threshold. In particular, in some embodiments, the pose determination circuit 207 adapts the threshold depending on characteristics of the object data and / or characteristics of the viewing zone.

[0144] For example, the pose determination circuit 207 adapts the threshold depending on the object data (e.g., based on the number of views and / or angular density provided for the object represented by the multiview and depth representation). For example, the more views provided and the higher the angular density, the higher the threshold is set, so that the object pose remains constant for a larger region. As another example, the threshold is adapted based on the size of the missing portion of the texture mesh used to represent the object. For example, the smaller the amount of the object for which a texture map is not provided, the higher the threshold will be, resulting in an increase in the region where the object pose does not change.

[0145] As another example, the pose determination circuit 207 adapts the threshold based on the characteristics of the viewing area. For example, the threshold is adapted based on the size of the viewing area. In such an example, the threshold is increased if the viewing area is small and decreased if the viewing area is large. In many embodiments, this provides a more favorable tradeoff between the user's experience of a natural 3D effect of the object (e.g., natural parallax, recognition that the object is an actual object in the scene) and the image quality of the presented object (e.g., amount of compositing artifacts and errors).

[0146] As described above, the pose determination circuit 207 modifies the object pose when a view pose change that meets a first criterion is detected. In some embodiments, the orientation of the object pose is modified such that the object pose is reoriented in the environment. For example, if the user moves too far to the side of the 3D object, resulting in the object data not providing enough data to render an accurate view of the 3D object (e.g., there is no data for the back or rear side of the 3D object), the pose determination circuit 207 modifies the object pose such that the 3D object appears to have rotated, for example, to face the user again.

[0147] Alternatively or additionally, the pose determination circuitry 207 may modify the object pose to change the position of the 3D object in the scene. For example, if the user moves too far to the side of the 3D object, such that the object data does not provide enough data to render an accurate view of the 3D object (e.g., there is no data for the back or rear side of the 3D object), the pose determination circuitry 207 modifies the object pose so that the position of the 3D object in the scene is directly in front of the viewer, i.e., so that the 3D object is again viewed directly from the front.

[0148] It should be understood that the described approach of modifying the object pose when the first criterion is met does not depend on a particular operation or other criterion applied to determine the object pose before or after the modification in the first place (it targets the new object pose following the modification that results in the first criterion not being satisfied). Rather, it is an advantage of the above approach that it is useful and suitable for practically any algorithm or criterion used to determine the object pose. It does not require any particular initialization or constraints, but can be implemented, for example, as an "overlay" or "control operation" on top of any desired algorithm used to determine the object pose. In the object pose, if the view pose is modified such that the first criterion is satisfied, the modification can be performed such that the first criterion is no longer satisfied. This does not depend on the object pose having specific characteristics, how the object pose was selected, or what criteria / algorithms were used for this determination / selection.

[0149] In particular, it does not depend on the particular algorithm used to determine the object pose based on either the view pose or the scene data.Additional operation of the claimed concepts allows for a variety of algorithms to be overlaid and is independent of how the object pose may be selected.

[0150] Determining an object pose based on scene data associates the object with the scene. However, the exact manner in which this is done depends entirely on the preferences and requirements of a particular implementation, and the operation of modifying the object pose based on a distance metric is not limited to any particular requirement, preference, or method of determining the object pose based on scene data. For example, in some embodiments, it may be desirable to determine an initial object pose to be as far away as possible from any object in the scene. In other embodiments, it may be desirable to determine an initial object pose to be immediately adjacent to a particular object. In still other embodiments, it may be desirable to position an object in front of a part of the scene with which it contrasts (e.g., a bright object is positioned in front of a dark scene element), and so forth. Determining the object pose as a function of scene data is entirely a design decision, and the approach is not limited to any particular operation.

[0151] Similarly, the dependency of the object pose on the view pose of the claimed concept is that the object pose is modified if it is detected that the view pose is modified to satisfy a first criterion, such that the new object pose satisfies the first criterion according to the modification. This concept and operation defines the dependency of the object pose on the view pose. No conditions are placed or imposed on other approaches or algorithms used to select an object pose based on the view pose, or indeed if the view pose is further used in determining the object pose. In particular, the concept does not depend on the particular approach used to determine the initial object pose. This is a design choice of the individual embodiments.

[0152] In particular, the operations and advantages are not limited to any particular determination of an initial object pose or any particular selection of an initial object pose. As an example, the system starts with a determination of an initial pose selected such that the object is in front of a dark portion of the scene (e.g., the sky in a night scene). However, otherwise, the object pose may be selected completely randomly. The system then evaluates the distance measure and the first criterion for the initial object pose and the current view pose. If the evaluation determines that the first criterion is satisfied, the system changes the object pose to a pose in which the first criterion is not satisfied. Thus, even if an existing algorithm or application generates an undesirable initial object pose, this approach can be used as an additional control to correct this initial object pose to a desired object pose. Thus, rather than relying on any particular algorithm or approach to determine an object pose, this approach can in fact be used to expand the variety of algorithms for determining object poses. This is because this approach can be used to correct or compensate for undesirable results of such algorithms.

[0153] This approach does not depend or relate at all to an initial pose, e.g. a pose selected by the author, or even to being a desired position. This approach is not used to maintain a desired pose of the object, but rather to enable the opposite effect: the object pose is automatically modified to suit the current view pose. Thus, rather than trying to impose a specific object pose, this is free to be determined and then modified if a first criterion is not met. This allows more freedom for the algorithm that determines the object pose, since it can be ensured that the object pose is modified if image quality is not guaranteed as indicated by the first criterion being met.

[0154] In most embodiments, the pose determination circuit 207 modifies both the orientation and the position of the object pose and therefore the 3D object.

[0155] In some embodiments, a reference pose is specified for the viewing zone. In many embodiments, for example, a preferred pose for generating an image of a 3D object is defined. For example, the reference pose may be a central pose or an average pose for all poses included in the viewing zone, or one of the capture poses. Thus, in many embodiments, the reference pose indicates a preferred pose for the view of the 3D object.

[0156] The pose determination circuit 207 modifies the object pose by aligning the current view pose with the reference pose of the viewing zone. For example, a new object pose is selected to be the reference pose of the viewing zone that maps to the current view pose. The reference pose of the viewing zone is defined for the 3D object and is mapped to a corresponding reference pose in the viewing area of ​​the scene. Thus, by aligning the reference pose with the view pose, the 3D object is repositioned so that it is positioned in a preferred position, such as where it can achieve optimal quality, or to reduce the number of required modifications, for example by providing a maximum distance to the edge of the viewing area.

[0157] As a specific example, the pose determination circuit 207 uses the offset vector to determine a new object pose, for example, the new object pose is determined as the pose coordinates of the view pose after subtracting the pose coordinates of the offset vector.

[0158] This approach provides advantageous usability and user experience in many embodiments, such as allowing the user to move around freely while remaining within the viewing area. However, if the view pose becomes too far off, the system effectively resets the representation of the 3D object by resetting its position and orientation to a preferred relationship to the current view pose.

[0159] In many embodiments, other parameters or constraints are also taken into account, with alignment of the reference pose with the view pose being just one consideration, but even in such cases it is desirable to align the reference pose with the view pose as closely as possible (taking other considerations into account), and thus the pose determination circuit 207 biases the selection of new object poses towards alignment of the view pose with the reference pose.

[0160] In many embodiments, the pose determination circuit 207 determines a new object pose to avoid occlusion of the current view pose.

[0161] Specifically, the pose determination circuit 207 determines a new object pose such that the 3D object is not occluded by any scene object described by the scene data. For example, the pose determination circuit 207 determines all poses in the scene that have a direct line of sight to the view pose that does not intersect with any scene object based on the scene data. Then, a new object pose is selected from these poses according to given preference requirements (e.g., as close as possible for alignment with the reference pose, minimal pose change, etc.).

[0162] In some embodiments, the pose determination circuit 207 determines a new object pose such that the 3D object does not obscure a set of one or more scene objects in the scene, the set of scene objects including all scene objects described by the scene data, or, for example, only a subset of these, for example only objects of a particular type.

[0163] For example, the pose determination circuit 207 determines, based on the scene data, positions corresponding to the surfaces of all scene objects that are not walls. For each of these positions, a direct line of sight to the current view pose is traced, and an object pose is determined, subject to the constraint that the 3D object does not intersect any of these lines.

[0164] In some embodiments, the pose determination circuit 207 determines a new object pose that follows the change in the object pose such that there is no overlap between the set of scene objects and the 3D object when positioned and oriented according to the new object pose, where again the set of scene objects includes all scene objects or only a subset of these.

[0165] For example, the pose determination circuit 207 determines a preferred object pose according to a preference metric such as closest alignment between the reference pose and the current view pose or minimal change in the object pose. It then determines the contour of the 3D object for this pose. If this results in no overlap with the scene object, the new object pose is set to this value, otherwise the object pose is shifted until there is no overlap.

[0166] As another example, in some embodiments, the maximum cross-sectional dimension of a 3D object (the farthest distance between two points of the 3D object) is determined, and a new object pose is selected with the requirement that the distance to any scene object in the set of scene objects must be greater than this maximum cross-sectional dimension.

[0167] In many embodiments, the pose determination circuit 207 biases the determination of the new object pose towards an object pose that has a minimal difference from the object pose before the change. In some embodiments, the smallest possible change is selected for the selection of the new object pose while still satisfying other requirements. For example, all poses in the scene / scene coordinate system are determined where the object does not occlude any scene objects and where the 3D object does not overlap any scene objects. The difference between these poses and the previous object pose is determined according to any suitable distance measure (e.g., the minimum Euclidean distance between positions and the minimum angle between orientations). The new object pose is then selected as the one for which the minimum distance measure is found.

[0168] Such an approach minimizes the perceived jumps in the representation of the 3D object as much as possible.

[0169] For example, the described system is beneficial in applications where 3D objects are synthesized from MVD content limited to a viewing zone. The viewer's position, indicated by the viewpose, cannot deviate too much from the original camera position without degrading the quality of the resulting image (if it can be generated in practice). The exact degradation depends on the proximity to the viewing area and the complexity of the captured object, etc. If the deviation from the captured position / viewing area is large, the 3D object will be distorted due to lack of deocclusion data or inaccuracies in the depth map, etc. Figure 1 shows an example of MVD object capture, and Figure 3 shows how this is visualized as a computer-generated image in a real or virtual room. The problem in such a situation is that the viewer has a limited viewing area determined by the MVD object capture, but the viewer wants to move freely around the entire room. The described approach addresses this and provides a system that allows the viewer to move around the room while maintaining high quality for the visualization of the 3D object.

[0170] This can be achieved in particular by allowing the visualized 3D object to be "snapped" around the room in a constrained manner. For example, when the viewer moves out of the viewing zone, the 3D object is repositioned (snapped) and reoriented so that the observer is again optimally positioned at the center of the viewing zone. Multiple repositioning and reorientation of the AR object is possible. Furthermore, when remaining within the viewing area, the visualized 3D object is dynamically modified to reflect the user's movement, thereby providing a natural experience and view of the 3D object.

[0171] The new object pose following the changes is determined to optimize a given criterion under a given set of constraints. For example, the new object pose is determined to ensure that the change in the position of the 3D object relative to the viewer's viewing direction is as small as possible, while at the same time there is no collision with scene objects such as furniture. As another example, the new object pose is determined to ensure that the distance between the view pose and the reference pose is as small as possible, while at the same time there is no collision with scene objects such as furniture.

[0172] The determination of the object pose specifically includes one or more of the following considerations, all of which are taken into account in the following order of priority: 1. Avoid collisions between 3D objects and scene objects. The new object pose needs to avoid colliding with other objects such as walls or cupboards. For virtual scenes, collisions can be detected from known geometry or manually annotated with additional (meta)data. For real scenes, valid poses are determined, for example, using computer vision algorithms. 2. Avoid occlusion of 3D objects by scene objects. 3. Select the object pose position such that the minimum translation magnitude relative to the previous object position is achieved. 4. Select the object pose orientation that achieves the minimum rotation angle magnitude compared to the current viewing direction. 5. If no valid pose is identified, search all poses in the scene to identify an object pose that meets the requirements.

[0173] Figure 4 shows an example of a scene in the form of a virtual or real room (r1) containing three cupboards (c1, c2, c3). At time t=1, the viewer is located at a viewing position v1 and the 3D object is optimally shown at o1. As the viewer moves around in the viewing area z1, o1 remains in the same position relative to r1, i.e., it remains in the scene. At t=2, the viewer moves out of the initial viewing area to a viewing position v2. However, the distance to o1 remains the same. In this scenario, the position of o2 has not changed relative to o1 (translation magnitude=0). Only the orientation of o2 with respect to o1 changes, i.e., the object rotates to face the viewer. At t=3, the viewer moves to v3. In a criterion that only considers the minimization of the translation of the 3D object, the 3D object would be optimally shown at o3. a However, this would cause a collision, so the 3D object would move to o3 instead. b will be moved to.

[0174] More specifically, the rendering of an MVD object involves the following formula:

number

[0175] In this equation, the 4×4 model matrix M i transforms coordinates that are local to object i into the global world coordinate system. For a captured MVD 3D object, each view in the set of views has its own initial model matrix that positions the entire set to an initial world position.

[0176] The viewing zone of a multiview object is typically restricted to the space around the original capture position of the camera array. When a multiview 3D object is first placed in a scene, the viewer is positioned at the center of its viewing zone (as represented by the view pose), for example by mapping the origin of the camera rig to a position close to the viewer's eyes. The model matrix is ​​therefore a function of the view matrix: M i =f(V)

[0177] Initially, the viewer is positioned, assuming that the multi-view capture is taken from their current head position: M *,4 =V *,4

[0178] In a 360° graphics environment, the orientation represented by the model matrix can be arbitrary, as long as there are no collisions with other (graphics) objects already present in the scene.

[0179] When the viewer starts to move in the scene, it is very likely that he will move outside the viewing zone / region. To bring the viewer back into the viewing zone, the image synthesizer translates or rotates the 3D object so that the viewing region for the new object pose encompasses the view pose. Figure 5 shows how the model matrix M of the 3D object is adjusted so that the viewer is repositioned to the center of the viewing zone. i We show an approach to correcting for this. The example in Figure 5 includes both translation and rotation of a 3D object.

[0180] Referring to FIG. 5, the view pose is at the boundary of the viewing region, and the rotation -α is around the y-axis to the current model matrix M i is applied to the xz plane, and then the translation (t x ,t z ) followed by the new model matrix: M i ←T(α,t x ,t z )Mi Where: T(α,t x ,t z )=M translation (t x ,t z )M rotation (α) It is.

[0181] The changing position of the viewer relative to the 3D object is known via the view matrix V.

[0182] In some embodiments, the detection of a view pose moving outside the viewing area is performed in the capture coordinate system, in this example the position of the view pose is transformed into the capture coordinates.

number

[0183] It will be appreciated that for clarity, the above description describes embodiments of the invention with reference to various functional circuits, units, and processors. However, it will be apparent that functionality may be distributed between various functional circuits, units, or processors as appropriate without detracting from the invention. For example, functionality described as being performed by separate processors or controllers may be performed by the same processor or controller. Thus, references to specific functional units or circuits are to be regarded merely as references to suitable means for providing the described functionality, rather than indicative of a strict logical or physical structure or organization.

[0184] The invention can be implemented in any suitable form including hardware, software, firmware or any combination of these. The invention may optionally be implemented at least partly as computer software running on one or more data processors and / or digital signal processors. The elements and components of the embodiments of the invention may be physically, functionally and logically implemented in any suitable way. Indeed functionality may be implemented in a single unit, in several units or as part of other functional units. Thus, the invention may be implemented in a single unit or may be physically and functionally distributed between different units, circuits and processors.

[0185] Generally, examples of an image synthesis system, an image synthesis method, and a computer program implementing the method are illustrated by the following embodiments.

[0186] Embodiments: 1. An image synthesis system comprising: a first receiver (201) for receiving scene data describing at least a portion of a three-dimensional scene; a second receiver (203) for receiving object data describing the three-dimensional object, the object data providing visual data of the three-dimensional object from a viewing zone having a relative pose with respect to the three-dimensional object; a third receiver (205) for receiving a view pose of a viewer within the three-dimensional scene; a pose determination circuit (207) for determining an object pose of a 3D object in the 3D scene in response to the scene data and the view pose; a view synthesis circuit (209) for generating a view image from the visual data, the object pose, and the view pose, the view image including a view of a three-dimensional object in the three-dimensional scene as viewed from the view pose, with the three-dimensional object at the object pose; a circuit (211) for determining a viewing region within the three-dimensional scene of an object pose of the three-dimensional object and a relative pose of the viewing zone, the viewing region corresponding to the viewing zone within the three-dimensional scene of the three-dimensional object at the object pose; Including, The pose determination circuit (207) determines a distance measure for a view pose relative to the viewing region for the object pose, and modifies the object pose in response to the distance measure satisfying a first criterion including a requirement that the distance between the view pose and the pose of the viewing region exceed a first threshold. 2. An image synthesis system as described in embodiment 1, wherein the pose determination circuit (207) does not change the object pose for a changing view pose when the distance measure satisfies criteria including a requirement that the distance between the view pose and the pose of the viewing area does not exceed a second threshold. 3. The image synthesis system of any previous embodiment, wherein modifying the object pose includes modifying a position of the object pose. 4. The image synthesis system of any previous embodiment, wherein modifying the object pose includes modifying the orientation of the object pose. 5. An image synthesis system as described in any previous embodiment, wherein the scene data includes data for at least one scene object in a three-dimensional scene, and the pose determination circuit (207) determines a new object pose following the change, subject to the constraint that there is no occlusion of the view pose of the three-dimensional object by the at least one scene object. 6. The image synthesis system of any previous embodiment, wherein the scene data includes object data for at least one object in the three-dimensional scene, and the pose determination circuit (207) determines a new object pose that follows the changes, subject to the constraint that there is no overlap between the at least one object in the three-dimensional scene and the three-dimensional object in the new view pose. 7. The image synthesis system of any previous embodiment, wherein the viewing zone includes a reference pose, and the pose determination circuit (207) biases the new object pose according to the modification for the purpose of aligning the reference pose with the view pose. 8. The image synthesis system of any previous embodiment, wherein the pose determination circuit (207) determines a new object pose following the modification, subject to the constraint that the distance measure does not satisfy the first criterion for the new view pose. 9. The image synthesis system of any previous embodiment, wherein the pose determination circuit (207) biases the new object pose following the modification towards a minimum pose difference relative to the object pose before the modification. 10. An image synthesis system as described in any previous embodiment, wherein the scene data includes data for at least one scene object in a three-dimensional scene, and the pose determination circuit (207) determines a new object pose following the change, subject to the constraint that there is no occlusion of the view pose of the at least one scene object by the three-dimensional object. 11. The image synthesis system of any previous embodiment, wherein the pose determination circuit (207) performs a pose search on a region of the scene to find a new object pose subject to modification that satisfies a number of constraints. 12. An image synthesis system as in any previous embodiment, wherein the representation of the three-dimensional object includes multi-view images and a depth representation of the three-dimensional object. 13. An image synthesis system as described in any previous embodiment, wherein the scene data provides a visual model of at least a portion of a three-dimensional scene, and wherein the view synthesis circuitry (209) generates a view image according to the visual model such that the view image is a view of the scene from a view pose blended with a view of the three-dimensional object. 14. An image synthesis method comprising: receiving scene data describing at least a portion of a three-dimensional scene; receiving object data describing a three-dimensional object, the object data providing visual data of the three-dimensional object from a viewing zone having a relative pose with respect to the three-dimensional object; receiving a view pose of a viewer within a three-dimensional scene; determining an object pose for a three-dimensional object in the three-dimensional scene as a function of the scene data and the view pose; generating a view image from the visual data, the object pose, and the view pose, the view image comprising a view of the three-dimensional object in the three-dimensional scene with the three-dimensional object at the object pose and as viewed from the view pose; determining a viewing region within the three-dimensional scene of an object pose of the three-dimensional object and a relative pose of the viewing zone, the viewing region corresponding to the viewing zone within the three-dimensional scene of the three-dimensional object at the object pose; determining a distance measure for a view pose relative to a viewing region for an object pose; modifying the object pose in response to the distance measure satisfying a first criterion including a requirement that the distance between the view pose and the pose of the viewing region exceeds a first threshold; 13. An image synthesis method comprising: 15. A computer program product comprising program code means adapted to perform all the steps of embodiment 14 when the program is run on a computer.

[0187] More particularly, the present invention is defined by the appended claims.

[0188] Although the present invention has been described in connection with some embodiments, it is not intended to be limited to the specific form set forth herein. Rather, the scope of the present invention is limited only by the appended claims. Moreover, although certain features may appear to be described in connection with a particular embodiment, those skilled in the art will recognize that various features of the described embodiments may be combined in accordance with the present invention. In the claims, the term "comprising" does not exclude the presence of other elements or steps.

[0189] Moreover, although individually listed, a plurality of means, elements, circuits or method steps may be implemented by, for example, one circuit, unit or processor. Moreover, although individual features may be included in different claims, these features may also be advantageously combined, and the inclusion in various claims does not imply that the combination of features is not feasible and / or advantageous. Moreover, the inclusion of a feature in one category of claims does not imply a limitation of this category, but rather indicates that the feature may be applied to other claim categories as well, where appropriate. Moreover, the order of features in the claims does not imply a particular order in which the features must function, and in particular the order of individual steps in a method claim does not imply that the steps must be performed in this order. Rather, the steps may be performed in any suitable order. Moreover, a reference in the singular does not exclude a reference in the plural. Thus, a reference to a "first", "second", etc. does not exclude the plural. Reference signs in the claims are provided only as examples for clarity, and these examples should not be construed as limiting the scope of the claims in any way.

Claims

1. a first receiver for receiving scene data describing at least a portion of a three-dimensional scene; a second receiver for receiving object data describing a three-dimensional object, the object data providing visual data of the three-dimensional object from a viewing zone having a relative pose with respect to the three-dimensional object; a third receiver for receiving a view pose of a viewer within the three-dimensional scene; a pose determination circuit for determining an object pose of the three-dimensional object in the three-dimensional scene in response to the scene data and the view pose; a view synthesis circuit that generates a view image from the visual data, the object pose, and the view pose, the view image including a view of the three-dimensional object in the three-dimensional scene with the three-dimensional object at the object pose and viewed from the view pose; and a circuit for determining a viewing region within the three-dimensional scene for the object pose of the three-dimensional object and the relative pose of the viewing zone, the viewing region corresponding to the viewing zone in the three-dimensional scene at a time when the three-dimensional object is at the object pose; Including, the pose determination circuit determines a distance measure for the view pose relative to the viewing region for the object pose and modifies the object pose in response to the distance measure satisfying a first criterion including a requirement that the distance between the view pose and the pose of the viewing region exceed a first threshold; the view synthesis circuit generates the views of the three-dimensional object to be from different angles for at least some changes in the view pose where the distance does not exceed the first threshold; the pose determination circuit determines a new object pose that follows the changes in the object pose, the determination of the new object pose being subject to the constraint that the distance measure does not satisfy the first criterion for the new object pose.

2. The image synthesis system of claim 1 , wherein the viewing area is at least a two-dimensional area.

3. The image synthesis system of claim 1 or 2, wherein the first threshold is such that the distance does not exceed the first threshold for at least some view poses in different directions from the object pose.

4. 4. The image synthesis system of claim 1, wherein the pose determination circuitry does not change the object pose for a changing view pose when the distance measure satisfies criteria including a requirement that the distance between the view pose and the pose of the viewing area does not exceed a second threshold.

5. The image synthesis system of claim 1 , wherein the modification of an object pose comprises a modification of a position of the object pose.

6. The image synthesis system of claim 1 , wherein the modification of an object pose comprises a modification of an orientation of the object pose.

7. the scene data includes data for at least one scene object in the three-dimensional scene; 7. The image synthesis system of claim 1, wherein the pose determination circuitry determines a new object pose following the change in object pose, the determination of the new object pose being constrained by no occlusion of the view pose of the three-dimensional object by the at least one scene object.

8. the scene data includes object data for at least one object in the three-dimensional scene; 8. The image synthesis system of claim 1, wherein the pose determination circuitry determines a new object pose according to the change in object pose, and the determination of the new object pose is subject to a constraint that there is no overlap between the at least one object in the three-dimensional scene and the three-dimensional object in the new view pose.

9. the viewing zone includes a reference pose; The image synthesis system of claim 1 , wherein the pose determination circuitry biases a new object pose following the modification for the purpose of alignment between the reference pose and the view pose.

10. 10. The image synthesis system of claim 1, wherein the pose determination circuitry biases a new object pose following the modification of an object pose towards a minimum pose difference relative to an object pose before the modification of the object pose.

11. the scene data includes data for at least one scene object in the three-dimensional scene; 11. The image synthesis system of claim 1, wherein the pose determination circuitry determines a new object pose following the change in object pose, under the constraint of no occlusion of the view pose of the at least one scene object by the three-dimensional object.

12. 12. The image synthesis system of claim 1, wherein the pose determination circuitry performs a pose search over a region of a scene to find a new object pose that follows the modification of the object pose that satisfies a number of constraints.

13. 13. The image synthesis system of claim 1, wherein the representation of the three-dimensional object comprises multi-view images and a depth representation of the three-dimensional object.

14. the scene data providing a visual model of at least a portion of the three-dimensional scene; 14. The image synthesis system of claim 1, wherein the view synthesis circuitry generates the view image in response to the visual model such that the view image is a view of a scene from the view pose blended with the view of the three-dimensional object.

15. 15. An image synthesis system according to any preceding claim, wherein the pose determination circuitry is adapted to adapt the threshold value depending on characteristics of the object data.

16. 16. An image synthesis system according to claim 1, wherein the pose determination circuitry adapts the threshold value depending on characteristics of the viewing zone.

17. receiving scene data describing at least a portion of a three-dimensional scene; receiving object data describing a three-dimensional object, the object data providing visual data of the three-dimensional object from a viewing zone having a relative pose with respect to the three-dimensional object; receiving a view pose of a viewer within the three-dimensional scene; determining an object pose of the three-dimensional object in the three-dimensional scene in response to the scene data and the view pose; generating a view image from the visual data, the object pose, and the view pose, the view image comprising a view of the three-dimensional object in the three-dimensional scene with the three-dimensional object in the object pose and as viewed from the view pose; determining a viewing region within the three-dimensional scene for the object pose of the three-dimensional object and the relative pose of the viewing zone, the viewing region corresponding to the viewing zone in the three-dimensional scene with the three-dimensional object at the object pose; determining a distance measure for the view pose relative to the viewing region for the object pose; modifying the object pose in response to the distance measure satisfying a first criterion including a requirement that a distance between the view pose and a pose of the viewing area exceeds a first threshold; Including, generating the view images includes generating the views of the three-dimensional object to be from different angles for at least some changes of the view pose where the distance does not exceed the first threshold; 13. The method of claim 12, wherein modifying the object pose comprises determining a new object pose that follows the modification of the object pose, and the determination of the new object pose is constrained such that the distance measure does not satisfy the first criterion for the new object pose.

18. A computer program comprising program code means adapted to carry out all the steps of the image synthesis method according to claim 17, when the program is run on a computer.

Citation Information

Patent Citations

  • Image processing apparatus, image processing method, and program

    JP2019067427A

  • Image processing apparatus, image generating method, and storage medium

    US20190199997A1