WO2024090022A1 - 情報処理装置、情報処理方法、及びプログラム - Google Patents

情報処理装置、情報処理方法、及びプログラム Download PDF

Info

Publication number
WO2024090022A1
WO2024090022A1 PCT/JP2023/031553 JP2023031553W WO2024090022A1 WO 2024090022 A1 WO2024090022 A1 WO 2024090022A1 JP 2023031553 W JP2023031553 W JP 2023031553W WO 2024090022 A1 WO2024090022 A1 WO 2024090022A1
Authority
WO
WIPO (PCT)
Prior art keywords
virtual object
information processing
processing device
unit
image
Prior art date
Application number
PCT/JP2023/031553
Other languages
English (en)
French (fr)
Inventor
敦 石原
Original Assignee
ソニーグループ株式会社
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by ソニーグループ株式会社 filed Critical ソニーグループ株式会社
Publication of WO2024090022A1 publication Critical patent/WO2024090022A1/ja

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T15/003D [Three Dimensional] image rendering
    • G06T15/50Lighting effects
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T19/00Manipulating 3D models or images for computer graphics

Definitions

  • This disclosure relates to an information processing device, an information processing method, and a program.
  • XR Extended Reality
  • a user can visually see the light reflected on the surface of an object, which can help the user understand the shape and characteristics of the object's surface. For example, a user can see that when the surrounding light hits an object, it is reflected like a mirror, or that some light is reflected sharply or dully, allowing the user to understand the unevenness, texture, or material of the object's surface.
  • Patent Document 1 discloses a technology that incorporates real-time reflection of the user and the surrounding environment into a graphical user interface.
  • Patent Document 1 is a technology that adds a reflection effect to a two-dimensional user interface displayed on a two-dimensional display, so it is difficult to add light reflection to the surface of a three-dimensional virtual object.
  • an information processing device including: a mapping unit that maps an environmental image captured in real time of the surrounding environment onto each surface of a specified solid; and a reflection rendering unit that derives a partial area of each surface of the specified solid to be referenced when rendering the virtual object inside the specified solid based on the characteristics of the surface of the virtual object rendered superimposed on real space and the line of sight of a user viewing the virtual object, and uses the environmental image of the derived partial area to generate a reflection image to be superimposed on the surface of the virtual object.
  • the present disclosure also provides an information processing method using a computing device, which includes mapping an environmental image captured in real time of the surrounding environment onto each surface of a specified solid, deriving a partial area of each surface of the specified solid that is referenced when the virtual object is rendered inside the specified solid based on the characteristics of the surface of the virtual object rendered superimposed on real space and the line of sight of the user viewing the virtual object, and generating a reflected image to be superimposed on the surface of the virtual object using the environmental image of the derived partial area.
  • a program that causes a computer to function as a mapping unit that maps an environmental image captured in real time of the surrounding environment onto each face of a specified solid, and a reflection drawing unit that derives a partial area of each face of the specified solid that is referenced when drawing a virtual object inside the specified solid based on the characteristics of the surface of the virtual object that is drawn superimposed on real space and the line of sight of a user viewing the virtual object, and uses the environmental image of the derived partial area to generate a reflection image that is superimposed on the surface of the virtual object.
  • FIG. 1 is a block diagram showing a functional configuration of an information processing device for mapping an environmental image onto a predetermined solid body and evaluating surface characteristics of a virtual object.
  • FIG. 11 is an explanatory diagram for explaining mapping of an environmental image onto a predetermined solid body.
  • FIG. 11 is a flowchart showing the flow of a process for evaluating the surface characteristics of a virtual object.
  • 11 is an explanatory diagram for explaining a process for evaluating a surface of a virtual object.
  • FIG. 1 is a schematic diagram showing an overview of an information processing device according to a first embodiment of the present disclosure; 1 is a block diagram showing a functional configuration of an information processing apparatus according to a first embodiment;
  • FIG. 4 is a flowchart illustrating a flow of operations of the information processing device according to the first embodiment.
  • FIG. 2 is a schematic diagram showing an overview of processing in the information processing apparatus according to the first embodiment
  • FIG. 11 is a schematic diagram showing an overview of an information processing device according to a second embodiment of the present disclosure.
  • FIG. 13 is a schematic diagram showing an overview of an information processing device according to a third embodiment of the present disclosure.
  • FIG. 13 is a block diagram showing a functional configuration of an information processing device according to a third embodiment.
  • FIG. 13 is a schematic diagram showing an overview of an information processing device according to a fourth embodiment of the present disclosure.
  • FIG. 13 is a block diagram showing a functional configuration of an information processing apparatus according to a fourth embodiment.
  • FIG. 2 is a schematic perspective view showing the configuration of a mirror body.
  • FIG. 13 is a flowchart showing the flow of operations of the information processing device according to the fourth embodiment.
  • FIG. 13 is a schematic diagram showing an overview of an information processing device according to a fifth embodiment of the present disclosure.
  • FIG. 13 is a block diagram showing a functional configuration of an information processing device according to a fifth embodiment.
  • FIG. 13 is a flowchart showing the flow of operations of an information processing device and a sensor device according to a fifth embodiment.
  • FIG. 13 is a block diagram showing functional configurations of an information processing device and a sensor device according to a first modified example.
  • FIG. 11 is a flowchart illustrating the flow of operations of an information processing device and a sensor device according to a first modified example.
  • FIG. 11 is a block diagram showing functional configurations of an information processing device and a sensor device according to a second modified example.
  • FIG. 11 is a flowchart illustrating the flow of operations of an information processing device and a sensor device according to a second modified example.
  • FIG. 13 is a block diagram showing functional configurations of an information processing device and a sensor device according to a third modified example.
  • FIG. 11 is a flowchart showing the flow of operations of a sensor device according to a third modified example.
  • FIG. 13 is a flowchart showing the flow of operations of an information processing device according to a third modified example.
  • FIG. 13 is a block diagram showing functional configurations of an information processing device and a sensor device according to a fourth modified example.
  • FIG. 11 is a block diagram showing functional configurations of an information processing device and a sensor device according to a second modified example.
  • FIG. 11 is a flowchart illustrating the flow of operations of an information processing device and a sensor device according to a second modified example.
  • FIG. 13 is a flowchart showing the flow of operations of an information processing device according to a fourth modified example.
  • 13 is a timing chart of an information processing device and a sensor device according to a fifth embodiment.
  • 13 is a timing chart of an information processing device and a sensor device according to a fourth modified example.
  • 11 is a flowchart illustrating an example of an operation for controlling the resolution of a sensor unit that captures an environmental image according to the distance between a user and a virtual object.
  • FIG. 11 is a flowchart illustrating an example of an operation for controlling the resolution of an environmental image based on the priority of an object included in a region of the environmental image captured by a sensor.
  • FIG. 2 is a block diagram showing an example of a hardware configuration of an information processing device according to each embodiment.
  • Fig. 1 is a block diagram showing a functional configuration of an information processing device 10 for mapping an environmental image onto a predetermined solid body and evaluating surface characteristics of a virtual object.
  • Fig. 2 is an explanatory diagram for explaining mapping of an environmental image onto a predetermined solid body.
  • Fig. 3 is a flow chart showing a process flow for evaluating surface characteristics of a virtual object.
  • Fig. 4 is an explanatory diagram for explaining a process for evaluating the surface of a virtual object.
  • the information processing device 10 includes a drawing unit 11, an asset storage unit 12, and an evaluation unit 13. As a preliminary step to drawing a virtual object, the information processing device 10 generates a cube map that is used when reflecting an environmental image onto the surface of the virtual object. Furthermore, the information processing device 10 evaluates the reflection characteristics of the surface of the virtual object using the generated cube map.
  • the rendering unit 11 maps the environmental image onto each surface of a solid body of a predetermined shape.
  • the environmental image may be, for example, an image captured in real time of the real space in which the virtual object is rendered, or may be an evaluation texture for evaluating the reflection characteristics of the virtual object by the evaluation unit 13 described later.
  • the solid of a predetermined shape is a cubic-shaped map used when deriving an environmental image to be reflected on the surface of a virtual object.
  • a map is also called a cube map.
  • the drawing unit 11 can generate a virtual space for reflecting an environmental image on the surface of the virtual object by drawing a virtual object inside a cube map in which an environmental image is mapped onto each face.
  • the rendering unit 11 first generates a mapping image CI by expanding an environmental image EI captured by a wide-angle camera such as a fisheye camera onto each surface of a cube-shaped cube map.
  • the rendering unit 11 generates a cube transformation map EM that maps the position of each pixel in the mapping image CI to the position of each surface of the cube map.
  • This allows the rendering unit 11 to uniquely determine the correspondence between the coordinates (x, y) on the hemispherical coordinate system of the environmental image EI and the coordinates (X, Y) on the cube map coordinate system. This correspondence is static, so it can be used in the same way even if the position and orientation of the imaging device that captures the real space changes.
  • the asset storage unit 12 stores asset information of virtual objects to be superimposed on real space.
  • the asset information of a virtual object is a collection of information required to render the virtual object, and includes, for example, the shape, texture, or animation of the virtual object.
  • the asset information of a virtual object may be defined in a known format such as the Obj format or the FBX format.
  • the asset information of a virtual object includes information about the normal vector of the virtual object's surface.
  • a normal vector is a vector that indicates the direction of a vertex, pixel, or a face containing multiple vertices on the virtual object's surface (i.e., the direction perpendicular to the face).
  • the normal vector of the virtual object's surface is referenced to derive the reflection vector of light on the virtual object's surface.
  • the evaluation unit 13 generates evaluation information of the virtual object by evaluating the reflection on each surface of the virtual object. Specifically, the evaluation unit 13 instructs the drawing unit 11 to perform drawing for evaluating the reflection on each surface of the virtual object, and generates evaluation information of the virtual object based on the surface state of the virtual object drawn by the drawing unit 11. There may be cases where a virtual object includes a portion whose surface has low reflectance. Therefore, by evaluating the reflection on the surface of the virtual object, the evaluation unit 13 can evaluate whether or not light in real space is reflected on the surface of the virtual object, and if so, at what resolution or number of colors the light in real space is reflected.
  • the evaluation unit 13 causes the drawing unit 11 to draw a virtual object inside a cube map with an evaluation texture mapped onto each surface, and compares each surface of the drawn virtual object with the evaluation texture. In this way, the evaluation unit 13 can evaluate the degree to which the evaluation texture mapped onto the cube map is reflected on each surface of the virtual object, thereby evaluating the reflection characteristics of each surface of the virtual object.
  • the information processing device 10 may evaluate the reflection characteristics of each surface of the virtual object according to the operational flow shown in FIG. 3.
  • the evaluation unit 13 reads asset information of the virtual object to be evaluated from the asset storage unit 12 (S10). Next, the evaluation unit 13 reads the evaluation texture to be mapped to each surface of the cube map (S11).
  • the drawing unit 11 draws the virtual object from the evaluation viewpoint using the loaded asset information and evaluation texture (S12).
  • the rendering unit 11 may render the virtual object from six directions, namely, top, bottom, front, back, left and right, in order to have the evaluation unit 13 evaluate the reflectance and reflection color characteristics of the virtual object in all directions.
  • the rendering unit 11 may render a virtual object Ob placed inside a cube map CM having an evaluation texture mapped to each surface, from viewpoints in six directions, namely, top, bottom, front, back, left and right.
  • the rendering unit 11 further determines whether or not the rendering of the virtual object has been completed after mapping two or more evaluation textures onto the cube map (S15). If the rendering is not complete (S15/No), the rendering unit 11 changes the evaluation texture (S16) and again performs rendering of the virtual object in step S12. This is because, in order to more accurately evaluate the reflectance and reflective color characteristics of the surface of the virtual object, it is important to render the virtual object using at least two or more evaluation textures with different patterns or colors.
  • the evaluation unit 13 compares the evaluation texture with the rendering result of the surface of the virtual object for each evaluation texture and for each viewpoint (S17).
  • the comparison between the evaluation texture and the rendering result is performed using metrics such as PSNR (Peak Signal to Noise Ratio) or SSIM (Structural SIMilarity).
  • PSNR Peak Signal to Noise Ratio
  • SSIM Structuretural SIMilarity
  • the evaluation unit 13 judges whether there is a viewpoint where the similarity (PSNR or SSIM) between the evaluation texture and the rendering result is equal to or greater than a threshold value (S18). Note that the similarity between the evaluation texture and the rendering result for different evaluation textures is compared between the same viewpoints, and the higher similarity is adopted.
  • the judgment threshold in step S18 is, for example, a threshold for judging whether or not the evaluation texture is reflected on the surface of the virtual object.
  • the evaluation unit 13 can judge that the reflection characteristics of the surface of the virtual object are high and the evaluation texture is reflected on the surface of the virtual object by reflection.
  • the evaluation unit 13 can judge that the reflection characteristics of the surface of the virtual object are low and the evaluation texture is not reflected.
  • the evaluation unit 13 determines that the reflection characteristics of the surface of the virtual object are low, and decides not to superimpose the environmental image on the surface of the virtual object when drawing the virtual object in a later stage (S19). After that, the evaluation unit 13 generates the above decision as evaluation information, and stores it in the asset storage unit 12 in association with the asset information of the virtual object.
  • the evaluation unit 13 determines that the reflection characteristics of the surface of the virtual object whose similarity is equal to or greater than the threshold are high, and decides to superimpose the environmental image on the surface of the virtual object when drawing the virtual object in a later stage (S20). After that, the evaluation unit 13 generates the above decision as evaluation information, and stores it in the asset storage unit 12 in association with the asset information of the virtual object.
  • the evaluation unit 13 may generate evaluation information instructing that the environmental image superimposed on the surface of the virtual object from each viewpoint be made more fine depending on the degree of similarity.
  • a high degree of similarity between the evaluation texture and the rendering result of the surface of the virtual object indicates that the evaluation texture is reflected more clearly on the surface of the virtual object. Therefore, the evaluation unit 13 may generate evaluation information instructing that the higher the degree of similarity, the higher the resolution of the environmental image superimposed on the surface of the virtual object and the greater the number of colors.
  • the information processing device 10 can reduce or eliminate the processing for parts with low reflectance by generating evaluation information that evaluates the reflection characteristics of the surface of the virtual object to be drawn. Therefore, the information processing device 10 can further reduce the processing load in drawing the virtual object.
  • the evaluation information indicating the reflection characteristics of the surface of the virtual object described above may not be evaluated by the evaluation unit 13, but may be set in advance by, for example, the creator of the asset information of the virtual object.
  • Fig. 5 is a schematic diagram showing an overview of an information processing device 200 according to this embodiment.
  • the information processing device 200 is a so-called stationary XR display.
  • the user Us can view a virtual object Ob superimposed on the real space in front of the display unit 202, which is a light field display.
  • an environmental image RI captured by a sensor unit 201 installed in front of the user Us is superimposed on the surface of the virtual object Ob.
  • FIG. 6 is a block diagram showing the functional configuration of the information processing device 200 according to this embodiment.
  • the information processing device 200 includes a sensor unit 201, a self-location estimation unit 203, a map storage unit 204, an asset storage unit 205, a control unit 206, a drawing unit 207, and a display unit 202.
  • the sensor unit 201 includes an imaging device that captures the environment on the user Us side.
  • the sensor unit 201 may include an imaging device equipped with a fisheye lens with a wide viewing angle.
  • the images captured by the sensor unit 201 are used as environmental images that are mapped onto each surface of the cube map, and are also used by the self-position estimation unit 203 to estimate the head position and line of sight of the user Us.
  • the self-position estimation unit 203 estimates the position of the user Us based on the input from the sensor unit 201.
  • the sensor unit 201 and the presentation location of the virtual object Ob are fixed, so the self-position estimation unit 203 can estimate the head position and line of sight direction of the user Us based on the image of the user Us side captured by the sensor unit 201.
  • the map storage unit 204 stores a cube transformation map that uniquely determines the correspondence between coordinates in the hemispherical coordinate system of the environmental image and coordinates in the cube map coordinate system.
  • the cube transformation map is data that indicates the correspondence between the position of each pixel in the mapped environmental image and the position of each surface of the cube map.
  • the asset storage unit 205 like the asset storage unit 12 described above, stores asset information for the virtual object Ob that is superimposed on real space.
  • the control unit 206 instructs the drawing unit 207 to draw the virtual object Ob.
  • the control unit 206 may instruct the drawing unit 207 to draw using a drawing library such as OpenGL (registered trademark), Vulkan (registered trademark), or DirectX (registered trademark).
  • control unit 206 first maps the image of the user Us captured by the sensor unit 201 onto a cube map, and instructs the drawing unit 207 to draw the virtual object Ob inside the cube map.
  • the control unit 206 derives a reflection vector on the surface of the virtual object Ob based on the estimated gaze direction of the user Us and the normal vector of the surface of the virtual object Ob.
  • the control unit 206 instructs the drawing unit 207 to superimpose an environmental image of the intersection between the derived reflection vector and the cube map onto the surface of the virtual object Ob.
  • the control unit 206 may instruct the drawing unit 207 to perform drawing by referring to evaluation information of the virtual object Ob stored in the asset storage unit 205.
  • the reflection vector may be, for example, a vector indicating the reflection of the line of sight vector indicating the line of sight of the user Us when it is totally reflected on the surface of the virtual object Ob. More specifically, the reflection vector may be a vector emitted in the opposite direction to the line of sight vector at the same angle as the angle between the line of sight vector and the normal vector of the surface of the virtual object Ob from the intersection of the line of sight vector indicating the line of sight of the user Us and the normal vector of the surface of the virtual object Ob.
  • the user Us can view the virtual object Ob with a more realistic feel by superimposing an environmental image mapped to a cube map of the reflection of the line of sight of the user Us on the surface of the virtual object Ob.
  • the reflection vector may be a vector indicating the reflection of the line of sight vector indicating the line of sight of the user Us when it is reflected on the surface of the virtual object Ob in a manner other than total reflection.
  • the drawing unit 207 draws the virtual object Ob according to the instructions of the control unit 206.
  • the display unit 202 displays the drawing results by the drawing unit 207.
  • the display unit 202 may be a light field display configured as an LCD (Liquid Crystal Display) device or an organic EL (Electro-Luminescence) device.
  • the information processing device 200 can allow the user Us to visually recognize a virtual object Ob on whose surface an environmental image captured in real time is superimposed.
  • Fig. 7 is a flow chart showing the flow of the operation of the information processing device 200 according to this embodiment.
  • Fig. 8 is a schematic diagram showing an overview of the processing in the information processing device 200 according to this embodiment.
  • control unit 206 reads the cube transformation map from the map storage unit 204 (S201).
  • control unit 206 reads the asset information and evaluation information of the virtual object Ob from the asset storage unit 205 (S202).
  • the sensor unit 201 captures an image of the environment on the user Us side (S203).
  • the self-position estimation unit 203 estimates the gaze vector of the user Us based on the captured image of the environment on the user Us side (S204).
  • the gaze vector of the user Us can be estimated using a known gaze detection method.
  • the gaze vector of the user Us may be estimated as a composite vector of both vectors, with the viewpoint being the midpoint of a line segment connecting the start point of the right eye vector and the start point of the left eye vector.
  • the drawing unit 207 also maps the captured image of the environment on the user Us side onto a cube map (S205).
  • the drawing unit 207 draws the virtual object Ob at an arbitrary position in the world coordinates (S206), generates an image to be superimposed on the surface of the virtual object Ob (S207), and superimposes the generated image on the surface of the virtual object Ob (S208). Since the information processing device 200 according to this embodiment is a so-called stationary XR display, the world coordinates can be considered to be the same as the sensor coordinates whose origin is the three-dimensional position of the imaging device of the sensor unit 201.
  • the drawing unit 207 places the center of a cube map CM onto which the environmental image captured by the sensor unit 201 is mapped, at the origin of the sensor coordinates, and draws a virtual object Ob at an arbitrary position inside the cube map CM (S206).
  • the drawing unit 207 then derives a reflection vector RV based on the normal vector NV of the surface of the virtual object Ob and the line of sight vector SV of the user Us.
  • the reflection vector RV may be derived as a vector that is emitted from the intersection of the line of sight vector SV of the user Us and the normal vector NV of the surface of the virtual object Ob in the opposite direction to the line of sight vector SV at the same angle as the angle between the line of sight vector SV and the normal vector NV.
  • the images of the intersections between the derived reflection vector RV and each face of the cube map CM become the images to be superimposed on the surface of the virtual object Ob.
  • the drawing unit 207 can then refer to the cube transformation map EM and extract from the environmental image EP images that correspond to the intersections between the reflection vector RV and each face of the cube map CM, thereby generating an image to be superimposed on the surface of the virtual object Ob (S207). Furthermore, the drawing unit 207 can generate an image DI to be displayed on the display unit 202 by superimposing the extracted image on the surface of the virtual object Ob (S208).
  • the information processing device 200 can reflect the environmental image captured in real time by the sensor unit 201 on the surface of the virtual object Ob.
  • Fig. 9 is a schematic diagram showing an overview of an information processing device 300 according to this embodiment.
  • the information processing device 300 is a so-called stationary XR display that uses projection mapping technology.
  • the user Us can view a virtual object Ob superimposed on the surface of a real object by a display unit 302, which is a projector.
  • a display unit 302 which is a projector.
  • an environmental image RI captured by a sensor unit 301 installed in front of the user Us is superimposed on the surface of the virtual object Ob.
  • the sensor unit 301 and the presentation location of the virtual object Ob are fixed, so that it is possible to superimpose the environmental image RI on the surface of the virtual object Ob with a configuration similar to that of the information processing device 200 according to the first embodiment. Therefore, a description of the functional configuration and operation of the information processing device 300 will be omitted.
  • Fig. 10 is a schematic diagram showing an overview of an information processing device 400 according to this embodiment.
  • the information processing device 400 can be applied to AR (Augmented Reality) technology using a mobile terminal such as a smartphone.
  • a user Us can view a virtual object Ob superimposed on an image captured by a first sensor unit 401a via a display unit 402.
  • an environmental image RI captured by a second sensor unit 401b capturing an image of the user Us side is superimposed on the surface of the virtual object Ob.
  • FIG. 11 is a block diagram showing the functional configuration of the information processing device 400 according to this embodiment.
  • the information processing device 400 includes a first sensor unit 401a, a second sensor unit 401b, an internal sensor unit 408, a self-location estimation unit 403, a map storage unit 404, an asset storage unit 405, a control unit 406, a drawing unit 407, and a display unit 402.
  • the first sensor unit 401a includes an imaging device that captures the line of sight of the user Us when the display unit 402 is directed toward the user Us.
  • the image captured by the first sensor unit 401a is displayed on the display unit 402 as a video see-through image.
  • the image captured by the first sensor unit 401a is also used by the self-position estimation unit 403 to estimate the self-position of the information processing device 400.
  • the second sensor unit 401b includes an imaging device that captures the environment on the user Us side.
  • the images captured by the second sensor unit 401b are used as environmental images that are mapped onto each surface of the cube map.
  • the internal sensor unit 408 includes an inertial sensor such as an IMU (Inertial Measurement Unit) that measures the acceleration acting on the information processing device 400 and the rotational angular acceleration.
  • the information measured by the internal sensor unit 408 is used by the self-position estimation unit 403 to estimate the self-position of the information processing device 400.
  • the internal sensor unit 408 may further include a distance measurement sensor such as a ToF (Time of Flight) sensor.
  • ToF Time of Flight
  • the self-position estimation unit 403 estimates the position and orientation of the information processing device 400 based on inputs from the first sensor unit 401a and the internal sensor unit 408. Specifically, the self-position estimation unit 403 can estimate the position and orientation of the information processing device 400 in world coordinates by using techniques such as SLAM (Simultaneous Localization And Mapping), VO (Visual Odometry), or VIO (Visual Inertial Odometry). In this embodiment, since the imaging direction of the first sensor unit 401a is the line of sight of the user Us, the self-position estimation unit 403 can estimate the line of sight of the user Us by estimating the position and orientation of the information processing device 400.
  • SLAM Simultaneous Localization And Mapping
  • VO Visual Odometry
  • VIO Visual Inertial Odometry
  • the map storage unit 404, asset storage unit 405, control unit 406, drawing unit 407, and display unit 402 are substantially similar to the map storage unit 204, asset storage unit 205, control unit 206, drawing unit 207, and display unit 202 described in the first embodiment, so their description will be omitted here.
  • the information processing device 400 can allow the user Us to visually recognize a virtual object Ob on whose surface an environmental image captured in real time is superimposed.
  • Fig. 12 is a schematic diagram showing an overview of an information processing device 500 according to this embodiment.
  • the information processing device 500 can be applied to XR technology using an HMD (Head Mounted Display).
  • a user Us can view a virtual object Ob superimposed on an image captured by a sensor unit 501 via a display unit 502 of the HMD.
  • an environmental image RI captured by the sensor unit 501 as an image reflected by a mirror body Mr is superimposed on the surface of the virtual object Ob.
  • FIG. 13 is a block diagram showing the functional configuration of the information processing device 500 according to this embodiment.
  • the information processing device 500 includes a sensor unit 501, a tracking unit 503, a map storage unit 504, an asset storage unit 505, a control unit 506, a drawing unit 507, and a display unit 502.
  • the mirror body Mr has a mirror-like surface and is a jig that reflects the environment of the user Us on the surface.
  • the mirror body Mr may have the configuration shown in FIG. 14.
  • FIG. 14 is a schematic perspective view showing the configuration of the mirror body Mr.
  • the mirror body Mr comprises a mirror ball 5100, a support 5200, a base 5300, and a handle 5400.
  • the mirror ball 5100 is a spherical body with a mirror-like polished surface.
  • the mirror ball 5100 can reflect an image of the user Us's environment on its surface.
  • the support 5200 is a member that connects the mirror ball 5100 to the base 5300.
  • the base 5300 is provided in a flat plate shape at the bottom of the support 5200.
  • the handle 5400 is a member that the user Us holds when holding the mirror body Mr, and is provided at the bottom of the base 5300.
  • the base 5300 may also have markers 5501, 5502, 5503, 5504, 5511, 5512, 5513, and 5514 (hereinafter simply referred to as markers 5500) for tracking the position and orientation of the mirror ball 5100.
  • the markers 5501, 5502, 5503, and 5504 may be provided at the four corners of the top surface of the base 5300.
  • the markers 5511, 5512, 5513, and 5514 may also be provided on each side of the base 5300.
  • the markers 5501, 5502, 5503, 5504, 5511, 5512, 5513, and 5514 are each assumed to be unique markers.
  • the sensor unit 501 includes an imaging device that captures the line of sight of the user Us.
  • the image captured by the sensor unit 501 is displayed on the display unit 502 as a video see-through image.
  • the image captured by the sensor unit 501 is also used by the tracking unit 503 to estimate the positional relationship between the sensor unit 501 and the mirror body Mr.
  • the image of the surface portion of the mirror body Mr is used as an environmental image that is mapped onto each surface of the cube map.
  • the tracking unit 503 estimates the positional relationship between the sensor unit 501 and the mirror body Mr using an image captured by the sensor unit 501. As an example, if the mirror body Mr has markers 5500, the tracking unit 503 may estimate the positional relationship between the sensor unit 501 and the mirror body Mr by tracking the markers 5500 whose respective positional relationships are known. As another example, the tracking unit 503 may estimate the positional relationship between the sensor unit 501 and the mirror body Mr by tracking the three-dimensional shape of the mirror body Mr. Various methods such as feature detection, recognition by machine learning, or contour shape detection can be used to track the three-dimensional shape of the mirror body Mr.
  • the map storage unit 504, asset storage unit 505, control unit 506, drawing unit 507, and display unit 502 are substantially similar to the map storage unit 204, asset storage unit 205, control unit 206, drawing unit 207, and display unit 202 described in the first embodiment, and therefore will not be described here.
  • the information processing device 500 can allow the user Us to visually recognize a virtual object Ob on which an environmental image reflected on the surface of the mirror body Mr is superimposed.
  • Fig. 15 is a flow chart showing the flow of the operation of the information processing device 500 according to this embodiment.
  • the control unit 506 reads a cube transformation map from the map storage unit 504 (S501).
  • the control unit 506 reads asset information and evaluation information of the virtual object Ob from the asset storage unit 505 (S502).
  • the sensor unit 501 captures an image in the line of sight of the user Us (S503).
  • the image capture direction of the sensor unit 501 is the line of sight of the user Us.
  • the tracking unit 503 estimates the positional relationship between the sensor unit 501 and the mirror body Mr based on the image captured by the sensor unit 501 (S504).
  • the tracking unit 503 may track the position and orientation of the mirror body Mr using the marker 5500 that the mirror body Mr has, or may track the position and orientation of the mirror body Mr using the three-dimensional shape of the mirror body Mr.
  • the sensor unit 501 may return to step S503 and capture an image in the line of sight of the user Us again.
  • control unit 506 extracts an area corresponding to the surface of the mirror body Mr from the image captured by the sensor unit 501 (S506).
  • control unit 506 maps the image of the extracted area onto the cube map by using the position and orientation of the mirror body Mr and the cube transformation map (S507).
  • the drawing unit 507 draws the virtual object Ob at an arbitrary relative position with respect to the mirror body Mr (S508), generates an image to be superimposed on the surface of the virtual object Ob (S509), and superimposes the generated image on the surface of the virtual object Ob (S510).
  • the operations of steps S508 to S510 are substantially similar to the operations of steps S206 to S208 in the first embodiment, so a detailed description thereof will be omitted here.
  • the information processing device 500 can reflect the environmental image reflected in the mirror body Mr onto the surface of the virtual object Ob.
  • Fig. 16 is a schematic diagram showing an overview of an information processing device 600 according to this embodiment.
  • the information processing device 600 can be applied to XR technology using an HMD.
  • a user Us can view a virtual object Ob superimposed on an image captured by a sensor unit 601 via a display unit 602 of the HMD.
  • an environmental image RI captured by an external sensor device 700 is superimposed on the surface of the virtual object Ob.
  • FIG. 17 is a block diagram showing the functional configuration of the information processing device 600 according to this embodiment.
  • the sensor device 700 includes a sensor unit 701, an encoding unit 702, and a communication unit 703.
  • the information processing device 600 includes a sensor unit 601, a tracking unit 603, a communication unit 608, a map storage unit 604, an asset storage unit 605, a decoding unit 609, a control unit 606, a drawing unit 607, and a display unit 602.
  • the sensor unit 701 includes an imaging device that captures an image of the surrounding environment including the user Us side.
  • the sensor unit 701 may include an imaging device equipped with a fisheye lens having a wide viewing angle, or may include an imaging device capable of capturing an image of the entire 360°.
  • the image captured by the sensor unit 701 is used as an environmental image to be mapped to each surface of the cube map.
  • the encoding unit 702 encodes the image captured by the sensor unit 701.
  • the encoding unit 702 may be, for example, a hardware encoder that encodes the captured image using a known codec.
  • the communication unit 703 transmits and receives data to and from the information processing device 600.
  • the communication unit 703 may transmit an image encoded by the encoding unit 702 to the information processing device 600 using wired communication or wireless communication.
  • the communication unit 608 transmits and receives data to and from the sensor device 700.
  • the communication unit 608 may receive the image encoded by the encoding unit 702 from the sensor device 700 using wired communication or wireless communication.
  • the decoding unit 609 decodes the image received from the sensor device 700.
  • the decoding unit 609 may decode the captured image using a known codec that corresponds to the encoding unit 702.
  • the sensor unit 601 includes an imaging device that captures the line of sight of the user Us.
  • the image captured by the sensor unit 601 is displayed on the display unit 602 as a video see-through image.
  • the image captured by the sensor unit 601 is also used by the tracking unit 603 to estimate the positional relationship between the sensor unit 601 and the sensor device 700.
  • the tracking unit 603 estimates the positional relationship between the sensor unit 601 and the sensor device 700 using an image captured by the sensor unit 601. As an example, if the sensor device 700 has markers, the tracking unit 603 may estimate the positional relationship between the sensor unit 501 and the sensor device 700 by tracking the markers whose respective positional relationships are known. As another example, the tracking unit 603 may estimate the positional relationship between the sensor unit 601 and the sensor device 700 by tracking the three-dimensional shape of the sensor device 700. Various methods such as feature detection, recognition by machine learning, or contour shape detection can be used to track the three-dimensional shape of the sensor device 700.
  • the map storage unit 604, asset storage unit 605, control unit 606, drawing unit 607, and display unit 602 are substantially similar to the map storage unit 204, asset storage unit 205, control unit 206, drawing unit 207, and display unit 202 described in the first embodiment, and therefore will not be described here.
  • the information processing device 600 can allow the user Us to visually recognize a virtual object Ob on whose surface an environmental image captured by an external sensor device 700 is superimposed.
  • Fig. 18 is a flow chart showing the flow of the operation of the information processing device 600 and the sensor device 700 according to this embodiment.
  • the sensor unit 701 of the sensor device 700 captures an image of the surrounding environment including the user Us side (S701).
  • the encoding unit 702 encodes the captured environmental image (S702).
  • the communication unit 703 transmits the encoded environmental image to the information processing device 600 (S703).
  • control unit 606 of the information processing device 600 reads a cube transformation map from the map storage unit 604 (S601).
  • the control unit 606 reads asset information and evaluation information of the virtual object Ob from the asset storage unit 605 (S602).
  • the sensor unit 601 captures an image in the line of sight of the user Us (S603).
  • the image capture direction of the sensor unit 601 is the line of sight of the user Us.
  • the tracking unit 603 estimates the positional relationship between the sensor unit 601 and the sensor device 700 based on the image captured by the sensor unit 601 (S604).
  • the tracking unit 603 may track the position and orientation of the sensor device 700 using a marker that the sensor device 700 has, or may track the position and orientation of the sensor device 700 using the three-dimensional shape of the sensor device 700.
  • the sensor unit 601 may return to step S603 and capture an image in the line of sight of the user Us again.
  • control unit 606 maps the environmental image received from the sensor device 700 onto the cube map by using the position and orientation of the sensor device 700 and the cube transformation map (S606).
  • the drawing unit 607 draws the virtual object Ob at an arbitrary relative position with respect to the sensor device 700 (S607), generates an image to be superimposed on the surface of the virtual object Ob (S608), and superimposes the generated image on the surface of the virtual object Ob (S609).
  • the operations of steps S607 to S609 are substantially similar to the operations of steps S206 to S208 in the first embodiment, so a detailed description thereof will be omitted here.
  • the information processing device 600 can reflect the environmental image captured by the sensor device 700 on the surface of the virtual object Ob.
  • Fig. 19 is a block diagram showing the functional configuration of an information processing device 600A and a sensor device 700A according to a first modified example of this embodiment.
  • the first modified example differs from the sensor device 700 and information processing device 600 shown in FIG. 17 in that the positional relationship between the sensor device 700A and the information processing device 600A is tracked by the sensor device 700A.
  • the sensor device 700A further includes a tracking unit 704.
  • the tracking unit 704 estimates the positional relationship between the sensor unit 701 and the information processing device 600A by using an image captured by the sensor unit 701. As an example, if the information processing device 600A has markers, the tracking unit 704 may estimate the positional relationship between the sensor unit 701 and the information processing device 600A by tracking the markers whose respective positional relationships are known. As another example, the tracking unit 704 may estimate the positional relationship between the sensor unit 701 and the information processing device 600A by tracking the three-dimensional shape of the information processing device 600A. Various methods such as feature detection, recognition by machine learning, or contour shape detection can be used to track the three-dimensional shape of the information processing device 600A.
  • the information processing device 600A can be made smaller and lighter because the functional configuration can be reduced.
  • FIG. 20 is a flow chart showing the flow of the operation of the information processing device 600A and the sensor device 700A according to the first modified example.
  • the sensor unit 701 of the sensor device 700A captures an image of the surrounding environment including the user Us side (S7101).
  • the tracking unit 704 estimates the positional relationship between the sensor unit 701 and the information processing device 600A based on the image captured by the sensor unit 701 (S7102).
  • the tracking unit 704 may track the position and orientation of the information processing device 600A using a marker possessed by the information processing device 600A, or may track the position and orientation of the information processing device 600A using the three-dimensional shape of the information processing device 600A.
  • the sensor unit 701 may return to step S7101 and capture an image of the surrounding environment including the user Us side again.
  • the encoding unit 702 encodes the captured environmental image (S7104).
  • the communication unit 703 transmits the environmental image and the positional relationship between the sensor device 700A and the information processing device 600A to the information processing device 600A (S7105).
  • control unit 606 of the information processing device 600A reads the cube transformation map from the map storage unit 604 (S6101). Next, the control unit 606 reads the asset information and evaluation information of the virtual object Ob from the asset storage unit 605 (S6102).
  • the communication unit 608 receives the environmental image and the positional relationship between the sensor device 700A and the information processing device 600A from the sensor device 700A (S6103). Furthermore, the control unit 606 maps the environmental image received from the sensor device 700A onto the cube map by using the positional relationship between the sensor device 700A and the information processing device 600A and the cube transformation map (S6104).
  • the drawing unit 607 draws the virtual object Ob at an arbitrary relative position to the sensor device 700A (S6105), generates an image to be superimposed on the surface of the virtual object Ob (S6106), and superimposes the generated image on the surface of the virtual object Ob (S6107).
  • the information processing device 600A can reflect the environmental image captured by the sensor device 700A on the surface of the virtual object Ob.
  • Fig. 21 is a block diagram showing the functional configuration of an information processing device 600B and a sensor device 700B according to the second modified example of this embodiment.
  • the second modified example differs from the sensor device 700 and information processing device 600 shown in FIG. 17 in that the information processing device 600B and the sensor device 700B track each other's positional relationship.
  • the sensor device 700B further includes a tracking unit 704.
  • the tracking unit 704 can estimate the positional relationship between the sensor unit 701 and the information processing device 600B using an image captured by the sensor unit 701.
  • the information processing device 600B includes a tracking unit 603.
  • the tracking unit 603 estimates the positional relationship between the sensor unit 601 and the sensor device 700B using an image captured by the sensor unit 601.
  • the information processing device 600B can refer to the positional relationship between the sensor unit 701 and the information processing device 600B estimated by the sensor device 700B.
  • the information processing device 600B can estimate the positional relationship between the information processing device 600B and the sensor device 700B by also referring to the tracking result of the information processing device 600B in the sensor device 700B. Therefore, the information processing device 600B can further prevent losing track of the positional relationship between the information processing device 600B and the sensor device 700B.
  • FIG. 22 is a flow chart showing the flow of the operation of the information processing device 600B and the sensor device 700B according to the second modified example.
  • the control unit 606 of the information processing device 600B reads a cube transformation map from the map storage unit 604 (S6201). Next, the control unit 606 reads asset information and evaluation information of the virtual object Ob from the asset storage unit 605 (S6202).
  • the communication unit 608 receives the environmental image and the positional relationship between the sensor device 700B and the information processing device 600B from the sensor device 700B (S6203).
  • the sensor unit 601 captures an image in the line of sight of the user Us (S6204).
  • the tracking unit 603 estimates the positional relationship between the sensor unit 601 and the sensor device 700B based on the image captured by the sensor unit 601 (S6205).
  • the tracking unit 603 may track the position and orientation of the sensor device 700B using a marker that the sensor device 700B has, or may track the position and orientation of the sensor device 700B using the three-dimensional shape of the sensor device 700B.
  • the information processing device 600B determines whether the positional relationship between the sensor device 700B and the information processing device 600B received from the sensor device 700B is valid (S6207).
  • the sensor unit 601 may return to step S6203 and capture an image in the line of sight of the user Us again.
  • the tracking unit 603 recognizes the positional relationship between the sensor device 700B and the information processing device 600B received from the sensor device 700B as positive.
  • the control unit 606 maps the environmental image received from the sensor device 700B onto the cube map by using the positional relationship between the sensor device 700B and the information processing device 600B that has been recognized as correct and the cube transformation map (S6208).
  • the positional relationship between the sensor device 700B and the information processing device 600B at this time may be the positional relationship estimated by the tracking unit 603 based on the image captured by the sensor unit 601, or may be the positional relationship received from the sensor device 700B.
  • the drawing unit 607 draws the virtual object Ob at an arbitrary relative position with respect to the sensor device 700B (S6209), generates an image to be superimposed on the surface of the virtual object Ob (S6210), and superimposes the generated image on the surface of the virtual object Ob (S6211).
  • the information processing device 600B can reflect the environmental image captured by the sensor device 700B on the surface of the virtual object Ob.
  • Fig. 23 is a block diagram showing the functional configuration of an information processing device 600C and a sensor device 700C according to the third modified example of this embodiment.
  • the sensor device 700C is further provided with a map storage unit 706 and a transmission image determination unit 705.
  • the sensor device 700C according to the third modified example differs from the sensor device 700 and the information processing device 600 shown in FIG. 17 in that the range of the image transmitted from the sensor device 700C to the information processing device 600C is controlled based on the acceleration applied to the sensor device 700C.
  • the sensor device 700C further includes a map storage unit 706 and a transmission image determination unit 705.
  • the map storage unit 706 stores a cube transformation map that uniquely determines the correspondence between coordinates in the hemispherical coordinate system of the environmental image and coordinates in the cube map coordinate system.
  • the cube transformation map is data that indicates the correspondence between the position of each pixel in the environmental image to be mapped and the position of each surface of the cube map.
  • the transmitted image determination unit 705 determines the range of the image to be transmitted to the information processing device 600C based on the acceleration applied to the sensor device 700C. Specifically, the transmitted image determination unit 705 first determines whether the acceleration applied to the sensor device 700C exceeds a threshold value. If the acceleration applied to the sensor device 700C exceeds the threshold value, the transmitted image determination unit 705 determines to transmit the entire image captured by the sensor unit 701 to the information processing device 600C as usual. On the other hand, if the acceleration applied to the sensor device 700C does not exceed the threshold value, the transmitted image determination unit 705 determines to transmit only a part of the image captured by the sensor unit 701 to the information processing device 600C.
  • the sensor device 700C can update the environmental image superimposed on the virtual object Ob by transmitting only a portion of the image centered on the sensor unit 601 of the information processing device 600C to the information processing device 600C.
  • the transmitted image determination unit 705 may extract an area of 180° up, down, left, and right centered on the direction in which the information processing device 600C is viewed from the sensor unit 701, and determine to transmit an image of the extracted area to the information processing device 600C.
  • the sensor device 700C can reduce the amount of data communicated between the sensor device 700C and the information processing device 600C.
  • Fig. 24 is a flow chart showing the flow of the operation of the sensor device 700C according to the third modified example.
  • Fig. 25 is a flow chart showing the flow of the operation of the information processing device 600C according to the third modified example.
  • the transmission image determination unit 705 of the sensor device 700C reads the cube transformation map from the map storage unit 706 (S7301).
  • the sensor unit 701 performs imaging (S7302).
  • the transmission image determination unit 705 determines whether the change in position and orientation of the sensor device 700C has exceeded a threshold value based on the measurement results of an internal sensor such as an IMU (not shown) (S7303).
  • the transmission image determination unit 705 extracts an image of an area within a predetermined range (e.g., 180° up, down, left, and right) centered on the sensor unit 601 of the information processing device 600C from the image captured by the sensor unit 701 (S7304).
  • a predetermined range e.g. 180° up, down, left, and right
  • the transmission image determination unit 705 maps the entire image captured by the sensor unit 701, or the image of the area extracted in step S7304, onto the cube map (S7305).
  • the encoding unit 702 encodes the mapped environmental image (S7306).
  • the communication unit 703 transmits the encoded environmental image to the information processing device 600C (S7307).
  • the control unit 606 of the information processing device 600C reads asset information and evaluation information of the virtual object Ob from the asset storage unit 605 (S6301).
  • the sensor unit 601 captures an image in the line of sight of the user Us (S6302).
  • the tracking unit 603 estimates the positional relationship between the sensor unit 601 and the sensor device 700C based on the image captured by the sensor unit 601 (S6303).
  • the tracking unit 603 may track the position and orientation of the sensor device 700C using a marker that the sensor device 700C has, or may track the position and orientation of the sensor device 700C using the three-dimensional shape of the sensor device 700C.
  • the sensor unit 601 may return to step S6302 and capture an image in the line of sight of the user Us again.
  • the communication unit 608 transmits the positional relationship between the sensor device 700C and the sensor unit 601 to the sensor device 700C (S6305).
  • the drawing unit 607 updates the texture of each surface of the cube map with the environmental image received from the sensor device 700C (S6306).
  • the drawing unit 607 draws the virtual object Ob at an arbitrary relative position with respect to the sensor device 700C (S6307), then generates an image to be superimposed on the surface of the virtual object Ob (S6308), and superimposes the generated image on the surface of the virtual object Ob (S6309).
  • the information processing device 600C can reflect the environmental image captured by the sensor device 700C on the surface of the virtual object Ob.
  • Fig. 26 is a block diagram showing the functional configuration of an information processing device 600D and a sensor device 700D according to the fourth modified example of this embodiment.
  • the time from when an environmental image captured by the sensor device 700D is transmitted to the information processing device 600D until it is superimposed on the surface of the virtual object Ob is shortened, and an image to be superimposed on the surface of the virtual object Ob can be generated using the latest environmental image immediately before it is displayed.
  • the information processing device 600D further includes an environmental image reflection unit 610.
  • the drawing unit 607 derives a reflection vector of the line of sight vector of the user Us reflected on the surface of the virtual object Ob based on the line of sight direction of the user Us and the normal vector of the surface of the virtual object Ob. Furthermore, the drawing unit 607 generates a reference map by storing in a buffer the intersection points between the derived reflection vector and each surface of the cube map. In other words, the reference map associates the surface of the virtual object Ob with points on each surface of the cube map onto which the environmental image to be superimposed on the surface of the virtual object Ob is mapped.
  • the environmental image reflection unit 610 first maps the environmental image captured by the sensor unit 701 of the sensor device 700D onto a cube map. As a result, the environmental image reflection unit 610 can determine an environmental image to be superimposed on the surface of the virtual object Ob from the environmental image mapped onto the cube map by referring to the correspondence of the reference map generated by the drawing unit 607. Furthermore, the environmental image reflection unit 610 can generate an image of the virtual object Ob to be displayed on the display unit 602 by superimposing the determined environmental image onto the surface of the virtual object Ob.
  • the surface of the virtual object Ob can be associated in advance with the pixel positions of the environmental image to be superimposed on the surface, so that the delay between capturing the environmental image with the sensor device 700D and superimposing the environmental image on the surface of the virtual object Ob can be further reduced.
  • FIG. 27 is a flow chart showing the flow of the operation of the information processing device 600D according to the fourth modified example.
  • the control unit 606 reads asset information and evaluation information of the virtual object Ob from the asset storage unit 605 (S6401).
  • the sensor unit 601 captures an image in the line of sight of the user Us (S6402).
  • the tracking unit 603 estimates the positional relationship between the sensor unit 601 and the sensor device 700D based on the image captured by the sensor unit 601 (S6403).
  • the tracking unit 603 may track the position and orientation of the sensor device 700D using a marker that the sensor device 700D has, or may track the position and orientation of the sensor device 700D using the three-dimensional shape of the sensor device 700D.
  • the sensor unit 601 may return to step S6402 and capture an image in the line of sight of the user Us again.
  • the drawing unit 607 then draws the virtual object Ob at an arbitrary relative position to the sensor device 700D (S6405).
  • the drawing unit 607 derives a reflection vector on the surface of the virtual object Ob based on the line of sight of the user Us and the normal vector of the surface of the virtual object Ob, and generates a reference map that stores the intersections of the derived reflection vector with each surface of the cube map (S6406).
  • the reference map is a map that indicates the area on the cube map to be referenced when generating an environmental image to be superimposed on the surface of the virtual object Ob.
  • the environmental image reflection unit 610 maps the environmental image captured in real time onto the cube map, and extracts from the cube map the environmental image to be superimposed on the surface of the virtual object Ob based on the reference map (S6407). This allows the environmental image reflection unit 610 to superimpose the extracted environmental image on the surface of the virtual object Ob (S6408).
  • the information processing device 600D can reflect the environmental image captured in real time by the sensor device 700C on the surface of the virtual object Ob.
  • Fig. 28 is a timing chart of the information processing device 600 and the sensor device 700 according to the fifth embodiment.
  • Fig. 29 is a timing chart of the information processing device 600D and the sensor device 700D according to the fourth modified example.
  • the sensor device 700 captures and encodes an environmental image, and then transmits the environmental image to the information processing device 600.
  • the information processing device 600 receives and decodes the transmitted environmental image, and then draws a virtual object in three-dimensional space based on the positional relationship with the sensor device 700, and superimposes the environmental image on the surface of the virtual object.
  • the information processing device 600 receives an environmental image captured by the sensor device 700 in advance, draws a virtual object in three-dimensional space based on the positional relationship with the sensor device 700, and generates an image to be superimposed on the surface of the virtual object from the environmental image.
  • the sensor device 700D captures and encodes an environmental image in parallel with the information processing device 600D drawing a virtual object in three-dimensional space.
  • the information processing device 600D then receives and decodes the transmitted environmental image, and superimposes the environmental image on the surface of the virtual object to which it has been previously associated.
  • the information processing device 600D is capable of capturing an environmental image and drawing a virtual object in parallel by previously associating the surface of the virtual object with the pixel positions of the environmental image to be superimposed on the surface.
  • the information processing device 600D according to the fourth modified example can significantly shorten the time t2 from capturing an environmental image to displaying a virtual object with the environmental image superimposed on its surface, compared to the time t1 of the information processing device 600 according to the fifth embodiment. Therefore, the information processing device 600D according to the fourth modified example can generate an image to be superimposed on the surface of the virtual object Ob using a more recent environmental image immediately before display.
  • FIG. 30 is a flowchart showing an example of an operation for controlling the resolution of the sensor unit 201 that captures an environmental image according to the distance between the user Us and the virtual object Ob.
  • the distance between the sensor unit and the user Us can be estimated by face detection or gaze detection.
  • the size of the face of the user Us or the distance between the eyes generally falls within a certain range. Therefore, the information processing device 200 can estimate the distance between the sensor unit and the user Us from the image captured by the sensor unit by investigating in advance the correspondence between the size of the face of the user Us or the distance between the eyes in the image captured by the sensor unit and the distance between the sensor unit and the user Us. In this way, since the positional relationship between the sensor unit and the virtual object Ob is known, the information processing device 200 can estimate the distance between the user Us and the virtual object Ob via the sensor unit.
  • the distance between the sensor unit and the user Us can be derived by self-position estimation such as SLAM, or by position estimation using a marker.
  • self-position estimation such as SLAM
  • position estimation using a marker it is possible to directly estimate the positional relationship between the marker and the sensor unit that tracks the marker, and therefore it is possible to estimate the distance between a virtual object Ob placed in the relative position of the marker and the user Us (strictly speaking, the sensor unit).
  • the positional relationship between the mobile terminal on which the sensor unit is provided and the virtual object Ob can be estimated, but the positional relationship between the mobile terminal and the user Us is not strictly known. However, since the positional relationship between the mobile terminal and the user Us is generally within the range of the length of the user Us's arm, it is possible to make a rough estimate. Furthermore, when the mobile terminal is capable of detecting the face or line of sight of the user Us, it is possible to estimate the distance between the mobile terminal and the user Us, similar to the embodiment in which a light field display or projection mapping is used as the display unit.
  • control unit 206 first reads the cube transformation map from the map storage unit 204 (S801). Next, the control unit 206 reads the asset information and evaluation information of the virtual object Ob from the asset storage unit 205 (S802).
  • the sensor unit 201 captures an image of the environment on the user Us side (S803).
  • the self-position estimation unit 203 estimates the gaze vector of the user Us based on the captured environmental image on the user Us side (S804).
  • the gaze vector of the user Us can be estimated using a known gaze detection method.
  • the self-position estimation unit 203 estimates the distance between the user Us and the sensor unit 201 based on the captured environmental image of the user Us, and estimates the distance between the user Us and the virtual object Ob based on the distance between the user Us and the sensor unit 201.
  • the determined resolution of the environmental image is output to the sensor unit 201 and used to control the resolution of the sensor unit 201.
  • the drawing unit 207 also maps the captured image of the environment on the user Us side onto a cube map (S806). After that, the drawing unit 207 draws a virtual object Ob at an arbitrary position in the world coordinates (S807), generates an image to be superimposed on the surface of the virtual object Ob (S808), and superimposes the generated image on the surface of the virtual object Ob (S809).
  • the information processing device 200 can reflect the environmental image captured in real time by the sensor unit 201 on the surface of the virtual object Ob.
  • the information processing device 200 can control the resolution of the environmental image captured by the sensor unit 201 based on the distance between the user Us and the virtual object Ob.
  • the information processing device 200 can control the resolution of the environmental image superimposed on the virtual object Ob so that the resolution becomes higher the closer the user Us is to the virtual object Ob. Therefore, the information processing device 200 can reduce the computational processing load without significantly affecting the appearance of the environmental image superimposed on the surface of the virtual object Ob.
  • (7.2. Second Variation) 31 is a flowchart showing an example of an operation for controlling the resolution of an environmental image based on the priority of an object included in an area of the environmental image captured by a sensor. For example, in the following operation example, the resolution of an area of the environmental image in which the face of the user Us is reflected is controlled to be higher than the resolution of an area in which the face of the user Us is not reflected.
  • a method for determining the area in the environmental image in which the user Us's face is reflected image recognition using machine learning or detection of the user's gaze can be used.
  • a method for determining the area in the environmental image in which the user Us's face is reflected a method can be used in which a rectangular area is fitted to the three-dimensional position and posture of the user Us with a center at a point corresponding to the position of the user Us's eyes, and the rectangular area is determined to be a face area.
  • control unit 206 first reads the cube transformation map from the map storage unit 204 (S901). Next, the control unit 206 reads the asset information and evaluation information of the virtual object Ob from the asset storage unit 205 (S902).
  • the sensor unit 201 then captures an image of the environment on the user Us side (S903).
  • the self-position estimation unit 203 estimates the face area of the user Us based on the captured image of the environment on the user Us side (S904).
  • the self-position estimation unit 203 estimates the gaze vector of the user Us based on the captured image of the environment on the user Us side (S905).
  • the gaze vector of the user Us can be estimated using a known gaze detection method.
  • the drawing unit 207 maps the captured environmental image of the user Us onto the cube map (S906). Specifically, the drawing unit 207 may map onto the cube map an environmental image in which the face area showing the face of the user Us is high resolution and the other areas are low resolution. High resolution in this case may represent a higher resolution than the resolution of the other areas, or may represent a higher resolution than the resolution at the time of capturing. Similarly, low resolution in this case may represent a lower resolution than the resolution of the other areas, or may represent a lower resolution than the resolution at the time of capturing.
  • the drawing unit 207 draws the virtual object Ob at an arbitrary position in the world coordinates (S907), generates an image to be superimposed on the surface of the virtual object Ob (S908), and superimposes the generated image on the surface of the virtual object Ob (S909).
  • the information processing device 200 can reflect the environmental image captured in real time by the sensor unit 201 on the surface of the virtual object Ob.
  • the information processing device 200 can control the resolution of the environmental image in the area that includes a major object such as the face of the user Us.
  • the information processing device 200 can maintain the resolution of the environmental image in the area that includes main objects such as the face of the user Us, while reducing the resolution of the environmental image in other areas and reflecting it on the surface of the virtual object Ob. Therefore, the information processing device 200 can reduce the computational processing load without significantly affecting the appearance of the environmental image superimposed on the surface of the virtual object Ob.
  • FIG. 32 is a block diagram showing an example of a hardware configuration of an information processing device according to each embodiment.
  • the functions of the information processing device according to each embodiment may be realized by cooperation between software and the hardware described below.
  • the control or calculation functions of the information processing device may be realized, for example, by the CPU 901.
  • the memory function of the information processing device may be realized, for example, by the storage device 908.
  • the information processing device 900 includes a CPU (Central Processing Unit) 901, a ROM (Read Only Memory) 902, and a RAM (Random Access Memory) 903.
  • a CPU Central Processing Unit
  • ROM Read Only Memory
  • RAM Random Access Memory
  • the information processing device 900 may further include a host bus 904a, a bridge 904, an external bus 904b, an interface 905, an input device 906, an output device 907, a storage device 908, a drive 909, a connection port 910, or a communication device 911. Furthermore, the information processing device 900 may include an imaging device or a sensor, as necessary. Instead of or together with the CPU 901, the information processing device 900 may have a processing circuit such as a GPU (Graphic Processing Unit), a DSP (Digital Signal Processor), or an ASIC (Application Specific Integrated Circuit).
  • a GPU Graphic Processing Unit
  • DSP Digital Signal Processor
  • ASIC Application Specific Integrated Circuit
  • the CPU 901 functions as an arithmetic processing device or control device, and controls operations within the information processing device 900 in accordance with various programs recorded in the ROM 902, the RAM 903, the storage device 908, or a removable recording medium attached to the drive 909.
  • the ROM 902 stores programs used by the CPU 901, arithmetic parameters, etc.
  • the RAM 903 temporarily stores programs used in the execution of the CPU 901, and parameters used during the execution of the programs.
  • the CPU 901, ROM 902, and RAM 903 are interconnected by a host bus 904a capable of high-speed data transmission.
  • the host bus 904a is connected to an external bus 904b, such as a PCI (Peripheral Component Interconnect/Interface) bus, via a bridge 904, and the external bus 904b is connected to various components via an interface 905.
  • PCI Peripheral Component Interconnect/Interface
  • the input device 906 is, for example, a device that accepts input from a user, such as a mouse, keyboard, touch panel, button, switch, or lever.
  • the input device 906 may also be a microphone that detects the user's voice.
  • the input device 906 may also be, for example, a remote control device that uses infrared rays or other radio waves, or may be an externally connected device that supports the operation of the information processing device 900.
  • the input device 906 further includes an input control circuit that outputs an input signal generated based on information input by the user to the CPU 901. By operating the input device 906, the user can input various data or instruct the information processing device 900 to perform processing operations.
  • the output device 907 is a device capable of visually or audibly presenting information acquired or generated by the information processing device 900 to the user.
  • the output device 907 may be, for example, a display device such as an LCD (Liquid Crystal Display), a PDP (Plasma Display Panel), an OLED (Organic Light Emitting Diode) display, a hologram, or a projector, an audio output device such as a speaker or headphones, or a printing device such as a printer.
  • the output device 907 can output information acquired by processing by the information processing device 900 as video such as text or an image, or sound such as voice or audio.
  • the storage device 908 is a data storage device configured as an example of a memory unit of the information processing device 900.
  • the storage device 908 may be configured, for example, with a magnetic memory device such as a hard disk drive (HDD), a semiconductor memory device, an optical memory device, or a magneto-optical memory device.
  • the storage device 908 can store programs executed by the CPU 901, various data, or various data acquired from the outside.
  • the drive 909 is a device for reading or writing removable recording media such as a magnetic disk, optical disk, magneto-optical disk, or semiconductor memory, and is built into the information processing device 900 or is externally attached.
  • the drive 909 can read information recorded on a removable recording medium that is attached and output the information to the RAM 903.
  • the drive 909 can also write information to a removable recording medium that is attached.
  • the connection port 910 is a port for directly connecting an external device to the information processing device 900.
  • the connection port 910 may be, for example, a Universal Serial Bus (USB) port, an IEEE 1394 port, or a Small Computer System Interface (SCSI) port.
  • the connection port 910 may also be an RS-232C port, an optical audio terminal, or an HDMI (registered trademark) (High-Definition Multimedia Interface) port.
  • the communication device 911 is, for example, a communication interface configured with a communication device for connecting to the communication network 920.
  • the communication device 911 may be, for example, a communication card for a wired or wireless LAN (Local Area Network), Wi-Fi (registered trademark), Bluetooth (registered trademark), or WUSB (Wireless USB).
  • the communication device 911 may also be a router for optical communications, a router for ADSL (Asymmetric Digital Subscriber Line), or a modem for various types of communications.
  • the communication device 911 can transmit and receive signals, for example, using a specific protocol such as TCP/IP between the Internet or other communication devices.
  • the communication network 920 connected to the communication device 911 is a wired or wireless network, and may be, for example, an Internet communication network, a home LAN, an infrared communication network, a radio wave communication network, or a satellite communication network.
  • a mapping unit that maps an environmental image captured in real time of the surrounding environment onto each surface of a predetermined solid body
  • a reflection rendering unit that derives a partial area of each face of a predetermined solid body that is referenced when the virtual object is rendered inside the predetermined solid body based on characteristics of a surface of the virtual object rendered superimposed on real space and a line of sight direction of a user viewing the virtual object, and generates a reflection image to be superimposed on the surface of the virtual object using the environmental image of the derived partial area
  • An information processing device comprising: (2) The information processing device described in (1), wherein the partial area is an area where a reflection vector derived based on a line-of-sight vector indicating the user's line-of-sight direction and a normal vector of the surface of the virtual object intersects with each face of the specified solid body.
  • the information processing device determines whether or not to generate the reflection image based on the evaluation information.
  • the information processing device determines whether or not to generate the reflection image based on the evaluation information.
  • the user's line of sight direction is determined from a captured image including the user.
  • the user's line of sight direction is an imaging direction of a video see-through image capturing the real space in which the virtual object is rendered.
  • the environmental image is an image captured of a space including the user on the opposite side of the real space in which the virtual object is rendered.
  • the information processing device according to any one of (1) to (9), wherein the environmental image is generated based on an image of a specular object that reflects the surrounding environment on its surface. (12) The information processing device according to (11), wherein the virtual object is placed at a relative position with the specular object as a reference. (13) The information processing device according to any one of (1) to (12), wherein a resolution of the environmental image is controlled based on a distance between the user and the virtual object. (14) The information processing device according to any one of (1) to (13), wherein the resolution of the environmental image is controlled in each area based on the priority of objects included in each area of the environmental image.
  • the information processing device according to any one of (1) to (14), wherein the virtual object is positioned at a relative position based on a sensor device that captures an image of the real space in which the virtual object is rendered and an environmental image of a space including the user on the opposite side of the real space.
  • the reflection rendering unit pre-derives each point on the face of the specified solid body corresponding to each of the surfaces of the virtual object, and generates the reflection image based on the environmental image mapped to each of the points.
  • the predetermined solid is a cube.

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Graphics (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Processing Or Creating Images (AREA)

Abstract

【課題】現実空間に重畳される三次元の仮想物の表面に対して、現実空間の光をリアルタイムで反映させる。 【解決手段】周囲の環境をリアルタイムに撮像した環境画像を所定立体の各面にマッピングするマッピング部と、現実空間に重畳して描画される仮想物の表面の特性と、前記仮想物を視認するユーザの視線方向とに基づいて前記所定立体の内部に前記仮想物を描画した際に参照される前記所定立体の各面の一部領域を導出し、導出された前記一部領域の前記環境画像を用いて、前記仮想物の前記表面に重畳される反射画像を生成する反射描画部と、を備える、情報処理装置。

Description

情報処理装置、情報処理方法、及びプログラム
 本開示は、情報処理装置、情報処理方法、及びプログラムに関する。
 近年、現実空間に三次元の仮想物を重畳することで、仮想物があたかも現実空間に存在しているように見せるXR(Extended Reality)技術が一般的になっている。
 一方で、現実空間では、ユーザは、物体の表面で反射した光を視認することで、物体表面の形状及び特性を理解する手がかりとすることができる。例えば、ユーザは、周囲の光が物体に届いた際に鏡のように反射したり、一部の光が鋭く又は鈍く反射したりすることを視認することで、物体表面の凹凸、質感、又は材質などを理解することができる。
 したがって、仮想物のテクスチャ、形状、又は位置関係を高精度でユーザに認識させるために、現実空間に重畳させる仮想物についても、同様に現実空間の光を仮想物の表面にリアルタイムに反映させることが検討されている。
 例えば、下記の特許文献1には、ユーザ及び周囲環境のリアルタイムリフレクションをグラフィカルユーザインタフェースに組み込む技術が開示されている。
特開2009-252240号公報
 しかし、上記の特許文献1に開示された技術は、二次元のディスプレイ上に表示された二次元のユーザインタフェースにリフレクション効果を付与する技術であるため、三次元の仮想物の表面に光の反射を付与することは困難である。
 そこで、本開示では、現実空間に重畳される三次元の仮想物の表面に対して、現実空間の光をリアルタイムで反映させることが可能な、新規かつ改良された情報処理装置、情報処理方法、及びプログラムを提案する。
 本開示によれば、周囲の環境をリアルタイムに撮像した環境画像を所定立体の各面にマッピングするマッピング部と、現実空間に重畳して描画される仮想物の表面の特性と、前記仮想物を視認するユーザの視線方向とに基づいて前記所定立体の内部に前記仮想物を描画した際に参照される前記所定立体の各面の一部領域を導出し、導出された前記一部領域の前記環境画像を用いて、前記仮想物の前記表面に重畳される反射画像を生成する反射描画部と、を備える、情報処理装置が提供される。
 また、本開示によれば、周囲の環境をリアルタイムに撮像した環境画像を所定立体の各面にマッピングすることと、現実空間に重畳して描画される仮想物の表面の特性と、前記仮想物を視認するユーザの視線方向とに基づいて前記所定立体の内部に前記仮想物を描画した際に参照される前記所定立体の各面の一部領域を導出し、導出された前記一部領域の前記環境画像を用いて、前記仮想物の前記表面に重畳される反射画像を生成することと、を含む、演算処理装置による情報処理方法が提供される。
 さらに、本開示によれば、コンピュータを、周囲の環境をリアルタイムに撮像した環境画像を所定立体の各面にマッピングするマッピング部と、現実空間に重畳して描画される仮想物の表面の特性と、前記仮想物を視認するユーザの視線方向とに基づいて前記所定立体の内部に前記仮想物を描画した際に参照される前記所定立体の各面の一部領域を導出し、導出された前記一部領域の前記環境画像を用いて、前記仮想物の前記表面に重畳される反射画像を生成する反射描画部と、として機能させる、プログラムが提供される。
所定立体に環境画像をマッピングすると共に、仮想物の表面特性を評価するための情報処理装置の機能構成を示すブロック図である。 所定立体への環境画像のマッピングを説明する説明図である。 仮想物の表面特性を評価する処理の流れを示すフローチャート図である。 仮想物の表面を評価する際の処理を説明するための説明図である。 本開示の第1の実施形態に係る情報処理装置の概要を示す模式図である。 第1の実施形態に係る情報処理装置の機能構成を示すブロック図である。 第1の実施形態に係る情報処理装置の動作の流れを示すフローチャート図である。 第1の実施形態に係る情報処理装置における処理の概要を示す模式図である。 本開示の第2の実施形態に係る情報処理装置の概要を示す模式図である。 本開示の第3の実施形態に係る情報処理装置の概要を示す模式図である。 第3の実施形態に係る情報処理装置の機能構成を示すブロック図である。 本開示の第4の実施形態に係る情報処理装置の概要を示す模式図である。 第4の実施形態に係る情報処理装置の機能構成を示すブロック図である。 鏡面体の構成を示す模式的な斜視図である。 第4の実施形態に係る情報処理装置の動作の流れを示すフローチャート図である。 本開示の第5の実施形態に係る情報処理装置の概要を示す模式図である。 第5の実施形態に係る情報処理装置の機能構成を示すブロック図である。 第5の実施形態に係る情報処理装置、及びセンサ装置の動作の流れを示すフローチャート図である。 第1の変形例に係る情報処理装置及びセンサ装置の機能構成を示すブロック図である。 第1の変形例に係る情報処理装置、及びセンサ装置の動作の流れを示すフローチャート図である。 第2の変形例に係る情報処理装置及びセンサ装置の機能構成を示すブロック図である。 第2の変形例に係る情報処理装置、及びセンサ装置の動作の流れを示すフローチャート図である。 第3の変形例に係る情報処理装置及びセンサ装置の機能構成を示すブロック図である。 第3の変形例に係るセンサ装置の動作の流れを示すフローチャート図である。 第3の変形例に係る情報処理装置の動作の流れを示すフローチャート図である。 第4の変形例に係る情報処理装置及びセンサ装置の機能構成を示すブロック図である。 第4の変形例に係る情報処理装置の動作の流れを示すフローチャート図である。 第5の実施形態に係る情報処理装置及びセンサ装置のタイミングチャートである。 第4の変形例に係る情報処理装置及びセンサ装置のタイミングチャートである。 ユーザと仮想物との距離に応じて環境画像を撮像するセンサ部の解像度を制御する動作例を示すフローチャート図である。 センサで撮像した環境画像の領域に含まれるオブジェクトの優先度に基づいて環境画像の解像度を制御する動作例を示すフローチャート図である。 各実施形態に係る情報処理装置のハードウェア構成例を示すブロック図である。
 以下に添付図面を参照しながら、本開示の好適な実施の形態について詳細に説明する。なお、本明細書及び図面において、実質的に同一の機能構成を有する構成要素については、同一の符号を付することにより重複説明を省略する。
 なお、説明は以下の順序で行うものとする。
 1.共通構成
 2.第1の実施形態
  2.1.構成
  2.2.動作
 3.第2の実施形態
 4.第3の実施形態
 5.第4の実施形態
  5.1.構成
  5.2.動作
 6.第5の実施形態
  6.1.構成
  6.2.動作
  6.3.変形例
 7.バリエーション
  7.1.第1のバリエーション
  7.2.第2のバリエーション
 8.ハードウェア構成
 <1.共通構成>
 まず、図1~図4を参照して、本開示の各実施形態で共通の構成について説明する。図1は、所定立体に環境画像をマッピングすると共に、仮想物の表面特性を評価するための情報処理装置10の機能構成を示すブロック図である。図2は、所定立体への環境画像のマッピングを説明する説明図である。図3は、仮想物の表面特性を評価する処理の流れを示すフローチャート図である。図4は、仮想物の表面を評価する際の処理を説明するための説明図である。
 図1に示すように、情報処理装置10は、描画部11と、アセット記憶部12と、評価部13とを備える。情報処理装置10は、仮想物を描画する前段階として、仮想物の表面に環境画像を映り込ませる際に用いられるキューブマップを生成する。さらに、情報処理装置10は、生成したキューブマップを用いて仮想物の表面の反射特性を評価する。
 描画部11は、環境画像を所定形状の立体の各面にマッピングする。環境画像は、例えば、仮想物が描画される現実空間をリアルタイムで撮像した画像であってもよく、後述する評価部13による仮想物の反射特性を評価するための評価用テクスチャであってもよい。
 所定形状の立体は、仮想物の表面に映り込む環境画像を導出する際に用いられる立方体形状のマップである。このようなマップは、キューブマップとも称される。描画部11は、各面に環境画像がマッピングされたキューブマップの内部に仮想物を描画することで、仮想物の表面に環境画像を反映させるための仮想的な空間を生成することができる。
 例えば、図3に示すように、描画部11は、まず、魚眼カメラなどのような広角カメラで現実空間を撮像した環境画像EIを立方体形状のキューブマップの各面に展開することで、マッピング画像CIを生成する。次に、描画部11は、マッピング画像CIの各画素の位置と、キューブマップの各面の位置とをマッピングによって対応させたキューブ変換マップEMを生成する。これによれば、描画部11は、環境画像EIの半球座標系上の座標(x,y)と、キューブマップ座標系上の座標(X,Y)との対応関係を一意に決定することができる。この対応関係は、静的であるため、現実空間を撮像する撮像装置の位置及び姿勢が変化した場合でも同様に使用することができる。
 アセット記憶部12は、現実空間に重畳される仮想物のアセット情報を記憶する。仮想物のアセット情報は、仮想物を描画するために必要な情報の集合体であり、例えば、仮想物の形状、テクスチャ、又はアニメーションなどを含む。仮想物のアセット情報は、Obj形式又はFBX形式などの公知のフォーマットで定義されてもよい。
 仮想物のアセット情報には、仮想物の表面の法線ベクトルに関する情報が含まれる。法線ベクトルは、仮想物の表面の頂点、画素、又は複数の頂点を含む面がどの方向を向いているのかを示す(すなわち、該面に垂直な方向を示す)ベクトルである。仮想物の表面の法線ベクトルは、仮想物の表面での光の反射ベクトルを導出するために参照される。
 評価部13は、仮想物の各表面での反射を評価した仮想物の評価情報を生成する。具体的には、評価部13は、仮想物の各表面での反射を評価するための描画を行うように描画部11に描画を指示すると共に、描画部11にて描画された仮想物の表面状態に基づいて仮想物の評価情報を生成する。仮想物には表面の反射率が低い部分が含まれる場合があり得る。そのため、評価部13は、仮想物の表面での反射を評価することで、仮想物の表面に現実空間での光を反映させるか否か、及び反映させる場合に現実空間での光をどの程度の解像度又は色数で反映させるのかを評価することができる。
 例えば、評価部13は、各面に評価用テクスチャがマッピングされたキューブマップの内部に仮想物を描画部11に描画させると共に、描画された仮想物の各表面と、評価用テクスチャとを比較する。これによれば、評価部13は、キューブマップにマッピングされた評価用テクスチャが仮想物の各表面にどの程度反映されたかを評価することで、仮想物の各表面の反射特性を評価することができる。
 情報処理装置10は、図3に示す動作の流れに従って、仮想物の各表面の反射特性を評価してもよい。
 図3に示すように、評価部13は、アセット記憶部12から評価対象となる仮想物のアセット情報を読み込む(S10)。次に、評価部13は、キューブマップの各面にマッピングされる評価用テクスチャを読み込む(S11)。
 その後、評価部13からの指示に基づいて、描画部11は、読み込んだアセット情報及び評価用テクスチャを用いて、評価用の視点で仮想物を描画する(S12)。
 このとき、描画部11は、仮想物の全方位の反射率及び反射色特性を評価部13に評価させるために、上下前後左右の6方向から仮想物を描画してもよい。例えば、図4に示すように、描画部11は、各面に評価用テクスチャがマッピングされたキューブマップCMの内部に配置された仮想物Obを上下前後左右(Top, Bottom, Front, Back, Left, Right)の6方向の視点から描画してもよい。
 その後、6方向の視点すべてで描画が完了したか否かが判断される(S13)。描画が完了していない場合(S13/No)、描画部11は、視点を変更して(S14)、再度、ステップS12の仮想物の描画を実行する。
 描画が完了した場合(S13/Yes)、さらに、描画部11は、2つ以上の評価用テクスチャをキューブマップにマッピングした上で、仮想物の描画を行ったか否かを判断する(S15)。描画が完了していない場合(S15/No)、描画部11は、評価用テクスチャを変更して(S16)、再度、ステップS12の仮想物の描画を実行する。これは、仮想物の表面の反射率及び反射色特性をより正確に評価するためには、絵柄又は色合いの異なる少なくとも2種以上の評価用テクスチャを用いて、仮想物の描画を行うことが重要となるためである。
 描画が完了した場合(S15/Yes)、評価部13は、評価用テクスチャごと及び視点ごとに評価用テクスチャと仮想物の表面の描画結果とを比較する(S17)。評価用テクスチャと描画結果との比較は、PSNR(Peak Signal to Noise Ratio)、又はSSIM(Structural SIMilarity)などのメトリックを用いて行われる。これらの指標は、数値が高いほど画像同士の類似性が高いことを示す指標である。これらの指標を用いることで、評価部13は、評価用テクスチャと、該評価用テクスチャが映り込んだ仮想物の表面の描画結果との間の類似度を評価することができる。
 続いて、評価部13は、評価用テクスチャと描画結果との間の類似度(PSNR又はSSIM)が閾値以上の視点が存在するか否かを判断する(S18)。なお、異なる評価用テクスチャにおける評価用テクスチャと描画結果との間の類似度は、同一視点同士を比較し、より高い類似度を採用するものとする。
 ステップS18における判断の閾値は、例えば、評価用テクスチャが仮想物の表面に映り込んでいるか否かを判断するための閾値である。評価用テクスチャと描画結果との間の類似度が高い場合、評価部13は、仮想物の表面の反射特性が高く、評価用テクスチャが反射によって仮想物の表面に映り込んでいると判断することができる。一方、評価用テクスチャと描画結果との間の類似度が低い場合、評価部13は、仮想物の表面の反射特性が低く、評価用テクスチャが映り込んでいないと判断することができる。
 類似度が閾値以上の視点が存在しない場合(S18/No)、評価部13は、仮想物の表面の反射特性が低いと判断し、後段の仮想物の描画の際に仮想物の表面に環境画像を重畳しないことを決定する(S19)。その後、評価部13は、上記決定を評価情報として生成し、仮想物のアセット情報に対応付けてアセット記憶部12に記憶させる。
 一方、類似度が閾値以上の視点が存在する場合(S18/Yes)、評価部13は、類似度が閾値以上の仮想物の表面の反射特性が高いと判断し、後段の仮想物の描画の際に仮想物の表面に環境画像を重畳することを決定する(S20)。その後、評価部13は、上記決定を評価情報として生成し、仮想物のアセット情報に対応付けてアセット記憶部12に記憶させる。
 さらに、評価部13は、類似度の高さに応じて、各視点にて仮想物の表面に重畳する環境画像をより高精細化することを指示する評価情報を生成してもよい。評価用テクスチャと仮想物の表面の描画結果との間の類似度が高いということは、仮想物の該表面では、評価用テクスチャがより鮮明に映り込んでいることを示す。そのため、評価部13は、類似度がより高いほど、仮想物の表面に重畳する環境画像の解像度をより高めると共に色数をより多くすることを指示する評価情報を生成してもよい。
 上記の仮想物の表面の反射特性を評価する処理によれば、情報処理装置10は、描画される仮想物の表面における反射特性を評価した評価情報を生成することで、反射率が低い部分に対する処理を軽減又は削減することができる。したがって、情報処理装置10は、仮想物の描画における処理負荷をより軽減することができる。
 なお、上記の仮想物の表面の反射特性を示す評価情報は、評価部13にて評価するのではなく、例えば、仮想物のアセット情報の作成者によってあらかじめ設定されてもよい。
 <2.第1の実施形態>
 (2.1.構成)
 次に、図5及び図6を参照して、本開示の第1の実施形態に係る情報処理装置の構成について説明する。図5は、本実施形態に係る情報処理装置200の概要を示す模式図である。
 図5に示すように、本実施形態に係る情報処理装置200は、いわゆる据え置き型XRディスプレイである。ユーザUsは、ライトフィールドディスプレイである表示部202によって表示部202の前面の現実空間に重畳された仮想物Obを視認することができる。このとき、仮想物Obの表面には、ユーザUsの前方に設置されたセンサ部201にて撮像された環境画像RIが重畳される。
 図5に示す仮想物Obは、図6に示す情報処理装置200にて描画される。図6は、本実施形態に係る情報処理装置200の機能構成を示すブロック図である。
 図6に示すように、情報処理装置200は、センサ部201と、自己位置推定部203と、マップ記憶部204と、アセット記憶部205と、制御部206と、描画部207と、表示部202とを備える。
 センサ部201は、ユーザUs側の環境を撮像する撮像装置を含む。例えば、センサ部201は、広視野角を有する魚眼レンズを備えた撮像装置を含んでもよい。センサ部201にて撮像された画像は、キューブマップの各面にマッピングされる環境画像として使用されると共に、自己位置推定部203にてユーザUsの頭の位置、及び視線の方向を推定するために使用される。
 自己位置推定部203は、センサ部201からの入力に基づいて、ユーザUsの位置を推定する。本実施形態では、センサ部201、及び仮想物Obの提示箇所が固定されているため、自己位置推定部203は、センサ部201にて撮像されたユーザUs側の画像に基づいて、ユーザUsの頭の位置、及び視線の方向を推定することができる。
 マップ記憶部204は、環境画像の半球座標系上の座標と、キューブマップ座標系上の座標との対応関係を一意に決定したキューブ変換マップを記憶する。キューブ変換マップは、マッピングされる環境画像の各画素の位置と、キューブマップの各面の位置との対応関係を示すデータである。
 アセット記憶部205は、上述したアセット記憶部12と同様に、現実空間に重畳される仮想物Obのアセット情報を記憶する。
 制御部206は、描画部207に仮想物Obの描画を指示する。例えば、制御部206は、OpenGL(登録商標)、Vulkan(登録商標)、又はDirectX(登録商標)などの描画ライブラリを用いて、描画部207に描画を指示してもよい。
 具体的には、制御部206は、まず、センサ部201にて撮像されたユーザUs側の画像をキューブマップにマッピングさせると共に、キューブマップの内部に仮想物Obを描画させるように描画部207に指示する。次に、制御部206は、推定されたユーザUsの視線方向と、仮想物Obの表面の法線ベクトルとに基づいて仮想物Obの表面での反射ベクトルを導出する。さらに、制御部206は、導出された反射ベクトルとキューブマップとの交点の環境画像を仮想物Obの表面に重畳させるように描画部207に指示する。なお、環境画像を仮想物Obの表面に重畳させる際には、制御部206は、アセット記憶部205に記憶された仮想物Obの評価情報を参照して描画を行うように描画部207に指示してもよい。
 反射ベクトルは、例えば、ユーザUsの視線方向を示す視線ベクトルを仮想物Obの表面で全反射させた際の反射を示すベクトルであってもよい。より具体的には、反射ベクトルは、ユーザUsの視線方向を示す視線ベクトルと、仮想物Obの表面の法線ベクトルとの交点から、視線ベクトルと法線ベクトルとが成す角度と同じ角度で視線ベクトルと反対側に出射するベクトルであってもよい。ユーザUsの視線方向が仮想物Obの表面で反射した先のキューブマップにマッピングされた環境画像が仮想物Obの表面に重畳されることで、ユーザUsは、より現実感を伴った仮想物Obを視認することができる。なお、反射ベクトルは、仮想物Obの表面の特性によっては、ユーザUsの視線方向を示す視線ベクトルを仮想物Obの表面で全反射とは異なる様態で反射させた際の反射を示すベクトルとなってもよい。
 描画部207は、制御部206の指示に従って仮想物Obの描画を行う。
 表示部202は、描画部207による描画結果を表示する。表示部202は、LCD(Liquid Crystal Display)装置、又は有機EL(Electro-Luminescence)装置で構成されたライトフィールドディスプレイであってもよい。
 以上の構成によれば、本実施形態に係る情報処理装置200は、リアルタイムで撮像された環境画像が表面に重畳された仮想物ObをユーザUsに視認させることができる。
 (2.2.動作)
 続いて、図7及び図8を参照して、本実施形態に係る情報処理装置200の動作例について説明する。図7は、本実施形態に係る情報処理装置200の動作の流れを示すフローチャート図である。図8は、本実施形態に係る情報処理装置200における処理の概要を示す模式図である。
 図7に示すように、まず、制御部206は、マップ記憶部204からキューブ変換マップを読み込む(S201)。次に、制御部206は、アセット記憶部205から仮想物Obのアセット情報及び評価情報を読み込む(S202)。
 続いて、センサ部201は、ユーザUs側の環境画像を撮像する(S203)。これにより、自己位置推定部203は、撮像されたユーザUs側の環境画像に基づいて、ユーザUsの視線ベクトルを推定する(S204)。ユーザUsの視線ベクトルは、公知の視線検出方法を用いて推定され得る。例えば、ユーザUsの視線ベクトルは、右目ベクトルの始点と左目ベクトルの始点とを結ぶ線分の中点を視点とする、両ベクトルの合成ベクトルとして推定されてもよい。
 また、描画部207は、撮像されたユーザUs側の環境画像をキューブマップにマッピングする(S205)。
 その後、描画部207は、世界座標の任意の位置に仮想物Obを描画した(S206)後、仮想物Obの表面に重畳する画像を生成し(S207)、生成した画像を仮想物Obの表面に重畳する(S208)。本実施形態に係る情報処理装置200は、いわゆる据え置き型XRディスプレイであるため、世界座標は、センサ部201の撮像装置の三次元位置を原点とするセンサ座標と同一と考えることができる。
 具体的には、図8に示すように、描画部207は、センサ部201で撮像された環境画像をマッピングしたキューブマップCMの中心をセンサ座標の原点に配置し、キューブマップCMの内部の任意の位置に仮想物Obを描画する(S206)。
 次に、描画部207は、仮想物Obの表面の法線ベクトルNVと、ユーザUsの視線ベクトルSVとに基づいて反射ベクトルRVを導出する。反射ベクトルRVは、ユーザUsの視線ベクトルSVと、仮想物Obの表面の法線ベクトルNVとの交点から、視線ベクトルSVと法線ベクトルNVとが成す角度と同じ角度で視線ベクトルSVと反対側に出射するベクトルとして導出されてもよい。
 ここで、導出した反射ベクトルRVと、キューブマップCMの各面との交点の画像が仮想物Obの表面に重畳される画像となる。そこで、描画部207は、キューブ変換マップEMを参照して、反射ベクトルRVとキューブマップCMの各面との交点に対応する画像を環境画像EPから抽出することで、仮想物Obの表面に重畳する画像を生成することができる(S207)。さらに、描画部207は、抽出した画像を仮想物Obの表面に重畳することで、表示部202に表示される画像DIを生成することができる(S208)。
 以上のステップS203~ステップS208の動作をフレームごとに繰り返すことで、情報処理装置200は、仮想物Obの表面にセンサ部201にてリアルタイムに撮像された環境画像を反映させることが可能である。
 <3.第2の実施形態>
 次に、図9を参照して、本開示の第2の実施形態に係る情報処理装置の構成について説明する。図9は、本実施形態に係る情報処理装置300の概要を示す模式図である。
 図9に示すように、本実施形態に係る情報処理装置300は、プロジェクションマッピング技術を用いた、いわゆる据え置き型XRディスプレイである。ユーザUsは、プロジェクタである表示部302によって現実物体の表面に重畳された仮想物Obを視認することができる。このとき、仮想物Obの表面には、ユーザUsの前方に設置されたセンサ部301にて撮像された環境画像RIが重畳される。
 本実施形態に係る情報処理装置300は、センサ部301、及び仮想物Obの提示箇所が固定されているため、第1の実施形態に係る情報処理装置200と同様の構成によって仮想物Obの表面に環境画像RIを重畳することが可能である。したがって、情報処理装置300の機能構成及び動作についての説明は省略する。
 <4.第3の実施形態>
 次に、図10及び図11を参照して、本開示の第3の実施形態に係る情報処理装置の構成について説明する。図10は、本実施形態に係る情報処理装置400の概要を示す模式図である。
 図10に示すように、本実施形態に係る情報処理装置400は、スマートフォンなどの携帯端末を使用したAR(Augmented Reality)技術に適用することができる。ユーザUsは、表示部402を介して、第1のセンサ部401aにて撮像された画像に重畳された仮想物Obを視認することができる。このとき、仮想物Obの表面には、ユーザUs側を撮像する第2のセンサ部401bにて撮像された環境画像RIが重畳される。
 図10に示す仮想物Obは、図11に示す情報処理装置400にて描画される。図11は、本実施形態に係る情報処理装置400の機能構成を示すブロック図である。
 図11に示すように、情報処理装置400は、第1のセンサ部401aと、第2のセンサ部401bと、内部センサ部408と、自己位置推定部403と、マップ記憶部404と、アセット記憶部405と、制御部406と、描画部407と、表示部402とを備える。
 第1のセンサ部401aは、表示部402をユーザUs側に向けた際にユーザUsの視線方向を撮像する撮像装置を含む。第1のセンサ部401aで撮像された画像は、ビデオシースルー画像として表示部402にて表示される。また、第1のセンサ部401aで撮像された画像は、自己位置推定部403にて情報処理装置400の自己位置を推定するためにも使用される。
 第2のセンサ部401bは、ユーザUs側の環境を撮像する撮像装置を含む。第2のセンサ部401bで撮像された画像は、キューブマップの各面にマッピングされる環境画像として使用される。
 内部センサ部408は、情報処理装置400に作用する加速度、及び回転角加速度などを測定するIMU(Inertial Measurement Unit)などの慣性センサを含む。内部センサ部408で測定された情報は、自己位置推定部403にて情報処理装置400の自己位置を推定するために使用される。内部センサ部408は、さらに、ToF(Time of Flight)センサなどの測距センサを含んでもよい。
 自己位置推定部403は、第1のセンサ部401a、及び内部センサ部408からの入力に基づいて、情報処理装置400の位置及び姿勢を推定する。具体的には、自己位置推定部403は、SLAM(Simultaneous Localization And Mapping)、VO(Visual Odometry)、又はVIO(Visual Inertial Odometry)などの技術を用いることで、世界座標における情報処理装置400の位置及び姿勢を推定することができる。本実施形態では、第1のセンサ部401aの撮像方向がユーザUsの視線方向となるため、自己位置推定部403は、情報処理装置400の位置及び姿勢を推定することで、ユーザUsの視線方向を推定することができる。
 マップ記憶部404、アセット記憶部405、制御部406、描画部407、及び表示部402については、第1の実施形態で説明したマップ記憶部204、アセット記憶部205、制御部206、描画部207、及び表示部202と実質的に同様であるためここでの説明は省略する。
 以上の構成によれば、本実施形態に係る情報処理装置400は、リアルタイムで撮像された環境画像が表面に重畳された仮想物ObをユーザUsに視認させることができる。
 <5.第4の実施形態>
 (5.1.構成)
 次に、図12~図14を参照して、本開示の第4の実施形態に係る情報処理装置の構成について説明する。図12は、本実施形態に係る情報処理装置500の概要を示す模式図である。
 図12に示すように、本実施形態に係る情報処理装置500は、HMD(Head Mounted Display)を使用したXR技術に適用することができる。ユーザUsは、HMDの表示部502を介して、センサ部501にて撮像された画像に重畳された仮想物Obを視認することができる。このとき、仮想物Obの表面には、鏡面体Mrに映り込んだ像をセンサ部501にて撮像した環境画像RIが重畳される。
 図12に示す仮想物Obは、図13に示す情報処理装置500にて描画される。図13は、本実施形態に係る情報処理装置500の機能構成を示すブロック図である。
 図13に示すように、情報処理装置500は、センサ部501と、追跡部503と、マップ記憶部504と、アセット記憶部505と、制御部506と、描画部507と、表示部502とを備える。
 鏡面体Mrは、鏡面状の表面を有し、ユーザUs側の環境を表面に映し込む治具である。例えば、鏡面体Mrは、図14に示す構成であってもよい。図14は、鏡面体Mrの構成を示す模式的な斜視図である。
 図14に示すように、鏡面体Mrは、鏡玉5100と、支柱5200と、台座5300と、持ち手5400とを備える。
 鏡玉5100は、表面が鏡面状に磨き上げられた球状体である。鏡玉5100は、表面にユーザUs側の環境の像を映り込ませることができる。支柱5200は、鏡玉5100と台座5300とを接続する部材である。台座5300は、支柱5200の下部に平板形状にて設けられる。持ち手5400は、ユーザUsが鏡面体Mrを保持する際に把持する部材であり、台座5300の下部に設けられる。
 また、台座5300は、鏡玉5100の位置及び姿勢を追跡するためのマーカ5501,5502,5503,5504,5511,5512,5513,5514(以下、単にマーカ5500とも称する)を有してもよい。マーカ5501,5502,5503,5504は、台座5300の上面の4隅にそれぞれ設けられてもよい。マーカ5511,5512,5513,5514は、台座5300の各側面に設けられてもよい。マーカ5501,5502,5503,5504,5511,5512,5513,5514は、それぞれ互いにユニークなマーカであるものとする。
 センサ部501は、ユーザUsの視線方向を撮像する撮像装置を含む。センサ部501で撮像された画像は、ビデオシースルー画像として表示部502にて表示される。また、センサ部501で撮像された画像は、追跡部503にてセンサ部501と鏡面体Mrとの位置関係を推定するためにも使用される。さらに、センサ部501で撮像された画像のうち鏡面体Mrの表面部分の画像は、キューブマップの各面にマッピングされる環境画像として使用される。
 追跡部503は、センサ部501にて撮像された画像を用いて、センサ部501と鏡面体Mrとの位置関係を推定する。一例として、鏡面体Mrがマーカ5500を有する場合、追跡部503は、各々の位置関係が既知のマーカ5500を追跡することで、センサ部501と鏡面体Mrとの位置関係を推定してもよい。他の例として、追跡部503は、鏡面体Mrの三次元形状を追跡することで、センサ部501と鏡面体Mrとの位置関係を推定してもよい。鏡面体Mrの三次元形状の追跡には、特徴量検出、機械学習による認識、又は輪郭形状の検出などの各種方法を用いることが可能である。
 マップ記憶部504、アセット記憶部505、制御部506、描画部507、及び表示部502については、第1の実施形態で説明したマップ記憶部204、アセット記憶部205、制御部206、描画部207、及び表示部202と実質的に同様であるためここでの説明は省略する。
 以上の構成によれば、本実施形態に係る情報処理装置500は、鏡面体Mrの表面に映り込んだ環境画像が表面に重畳された仮想物ObをユーザUsに視認させることができる。
 (5.2.動作)
 続いて、図15を参照して、本実施形態に係る情報処理装置500の動作例について説明する。図15は、本実施形態に係る情報処理装置500の動作の流れを示すフローチャート図である。
 図15に示すように、まず、制御部506は、マップ記憶部504からキューブ変換マップを読み込む(S501)。次に、制御部506は、アセット記憶部505から仮想物Obのアセット情報及び評価情報を読み込む(S502)。続いて、センサ部501は、ユーザUsの視線方向の画像を撮像する(S503)。本実施形態では、センサ部501による撮像方向がユーザUsの視線方向となる。
 次に、追跡部503は、センサ部501にて撮像された画像に基づいて、センサ部501と鏡面体Mrとの位置関係を推定する(S504)。追跡部503は、鏡面体Mrが有するマーカ5500を用いて鏡面体Mrの位置及び姿勢を追跡してもよく、鏡面体Mrの三次元形状を用いて鏡面体Mrの位置及び姿勢を追跡してもよい。
 ただし、センサ部501にて撮像された画像に鏡面体Mrが存在せず、センサ部501と鏡面体Mrとの位置関係が推定できない場合(S505/No)、センサ部501は、ステップS503に戻って、再度、ユーザUsの視線方向の撮像を行ってもよい。
 その後、制御部506は、センサ部501にて撮像された画像から鏡面体Mrの表面に対応する領域を抽出する(S506)。続いて、制御部506は、鏡面体Mrの位置及び姿勢と、キューブ変換マップとを用いることで、抽出した領域の画像をキューブマップにマッピングする(S507)。
 その後、描画部507は、鏡面体Mrとの任意の相対位置に仮想物Obを描画した(S508)後、仮想物Obの表面に重畳する画像を生成し(S509)、生成した画像を仮想物Obの表面に重畳する(S510)。ステップS508~S510の動作は、第1の実施形態におけるステップS206~S208の動作と実質的に同様であるため、ここでの詳細な説明は省略する。
 以上のステップS503~ステップS510の動作をフレームごとに繰り返すことで、情報処理装置500は、鏡面体Mrに映り込んだ環境画像を仮想物Obの表面に反映させることが可能である。
 <6.第5の実施形態>
 (6.1.構成)
 続いて、図16及び図17を参照して、本開示の第5の実施形態に係る情報処理装置の構成について説明する。図16は、本実施形態に係る情報処理装置600の概要を示す模式図である。
 図16に示すように、本実施形態に係る情報処理装置600は、HMDを使用したXR技術に適用することができる。ユーザUsは、HMDの表示部602を介して、センサ部601にて撮像された画像に重畳された仮想物Obを視認することができる。このとき、仮想物Obの表面には、外部のセンサ装置700にて撮像された環境画像RIが重畳される。
 図16に示す仮想物Obは、図17に示す情報処理装置600にて描画される。図17は、本実施形態に係る情報処理装置600の機能構成を示すブロック図である。
 図17に示すように、センサ装置700は、センサ部701と、エンコード部702と、通信部703とを備える。情報処理装置600は、センサ部601と、追跡部603と、通信部608と、マップ記憶部604と、アセット記憶部605と、デコード部609と、制御部606と、描画部607と、表示部602とを備える。
 (センサ装置700)
 センサ部701は、ユーザUs側を含む周囲の環境の画像を撮像する撮像装置を含む。例えば、センサ部701は、広視野角を有する魚眼レンズを備えた撮像装置を含んでもよく、360°全体を撮像可能な撮像装置を含んでもよい。センサ部701で撮像された画像は、キューブマップの各面にマッピングされる環境画像として使用される。
 エンコード部702は、センサ部701による撮像画像をエンコードする。エンコード部702は、例えば、公知のコーデックで撮像画像をエンコードするハードウェアエンコーダであってもよい。
 通信部703は、情報処理装置600との間でデータを送受信する。例えば、通信部703は、有線通信又は無線通信を用いて、エンコード部702にてエンコードされた画像を情報処理装置600に送信してもよい。
 (情報処理装置600)
 通信部608は、センサ装置700との間でデータを送受信する。例えば、通信部608は、有線通信又は無線通信を用いて、エンコード部702にてエンコードされた画像をセンサ装置700から受信してもよい。
 デコード部609は、センサ装置700から受信した画像をデコードする。デコード部609は、エンコード部702と対応する公知のコーデックで撮像画像をデコードしてもよい。
 センサ部601は、ユーザUsの視線方向を撮像する撮像装置を含む。センサ部601で撮像された画像は、ビデオシースルー画像として表示部602にて表示される。また、センサ部601で撮像された画像は、追跡部603にてセンサ部601とセンサ装置700との位置関係を推定するためにも使用される。
 追跡部603は、センサ部601にて撮像された画像を用いて、センサ部601とセンサ装置700との位置関係を推定する。一例として、センサ装置700がマーカを有する場合、追跡部603は、各々の位置関係が既知のマーカを追跡することで、センサ部501とセンサ装置700との位置関係を推定してもよい。他の例として、追跡部603は、センサ装置700の三次元形状を追跡することで、センサ部601とセンサ装置700との位置関係を推定してもよい。センサ装置700の三次元形状の追跡には、特徴量検出、機械学習による認識、又は輪郭形状の検出などの各種方法を用いることが可能である。
 マップ記憶部604、アセット記憶部605、制御部606、描画部607、及び表示部602については、第1の実施形態で説明したマップ記憶部204、アセット記憶部205、制御部206、描画部207、及び表示部202と実質的に同様であるためここでの説明は省略する。
 以上の構成によれば、本実施形態に係る情報処理装置600は、外部のセンサ装置700で撮像した環境画像が表面に重畳された仮想物ObをユーザUsに視認させることができる。
 (6.2.動作)
 続いて、図18を参照して、本実施形態に係る情報処理装置600、及びセンサ装置700の動作例について説明する。図18は、本実施形態に係る情報処理装置600、及びセンサ装置700の動作の流れを示すフローチャート図である。
 図18に示すように、まず、センサ装置700のセンサ部701は、ユーザUs側を含む周囲の環境を撮像する(S701)。次に、エンコード部702は、撮像した環境画像をエンコードする(S702)。その後、通信部703は、エンコードされた環境画像を情報処理装置600に送信する(S703)。
 一方、情報処理装置600の制御部606は、マップ記憶部604からキューブ変換マップを読み込む(S601)。次に、制御部606は、アセット記憶部605から仮想物Obのアセット情報及び評価情報を読み込む(S602)。続いて、センサ部601は、ユーザUsの視線方向の画像を撮像する(S603)。本実施形態では、センサ部601による撮像方向がユーザUsの視線方向となる。
 次に、追跡部603は、センサ部601にて撮像された画像に基づいて、センサ部601とセンサ装置700との位置関係を推定する(S604)。追跡部603は、センサ装置700が有するマーカを用いてセンサ装置700の位置及び姿勢を追跡してもよく、センサ装置700の三次元形状を用いてセンサ装置700の位置及び姿勢を追跡してもよい。
 ただし、センサ部601にて撮像された画像にセンサ装置700が存在せず、センサ部601とセンサ装置700との位置関係が推定できない場合(S605/No)、センサ部601は、ステップS603に戻って、再度、ユーザUsの視線方向の撮像を行ってもよい。
 その後、制御部606は、センサ装置700の位置及び姿勢と、キューブ変換マップとを用いることで、センサ装置700から受信した環境画像をキューブマップにマッピングする(S606)。
 その後、描画部607は、センサ装置700との任意の相対位置に仮想物Obを描画した(S607)後、仮想物Obの表面に重畳する画像を生成し(S608)、生成した画像を仮想物Obの表面に重畳する(S609)。ステップS607~S609の動作は、第1の実施形態におけるステップS206~S208の動作と実質的に同様であるため、ここでの詳細な説明は省略する。
 以上のステップS603~ステップS609の動作をフレームごとに繰り返すことで、情報処理装置600は、センサ装置700にて撮像された環境画像を仮想物Obの表面に反映させることが可能である。
 (6.3.変形例)
 (第1の変形例)
 さらに、図19及び図20を参照して、本実施形態の第1の変形例に係る情報処理装置について説明する。図19は、本実施形態の第1の変形例に係る情報処理装置600A及びセンサ装置700Aの機能構成を示すブロック図である。
 第1の変形例では、センサ装置700Aにてセンサ装置700Aと情報処理装置600Aとの位置関係が追跡される点が図17に示すセンサ装置700及び情報処理装置600と異なる。
 図19に示すように、センサ装置700Aは、追跡部704をさらに備える。追跡部704は、センサ部701にて撮像された画像を用いて、センサ部701と情報処理装置600Aとの位置関係を推定する。一例として、情報処理装置600Aがマーカを有する場合、追跡部704は、各々の位置関係が既知のマーカを追跡することで、センサ部701と情報処理装置600Aとの位置関係を推定してもよい。他の例として、追跡部704は、情報処理装置600Aの三次元形状を追跡することで、センサ部701と情報処理装置600Aとの位置関係を推定してもよい。情報処理装置600Aの三次元形状の追跡には、特徴量検出、機械学習による認識、又は輪郭形状の検出などの各種方法を用いることが可能である。
 第1の変形例によれば、情報処理装置600Aは、機能構成を削減することができるため、より小型化及び軽量化されることが可能である。
 続いて、図20を参照して、第1の変形例に係る情報処理装置600A、及びセンサ装置700Aの動作例について説明する。図20は、第1の変形例に係る情報処理装置600A、及びセンサ装置700Aの動作の流れを示すフローチャート図である。
 図20に示すように、まず、センサ装置700Aのセンサ部701は、ユーザUs側を含む周囲の環境を撮像する(S7101)。次に、追跡部704は、センサ部701にて撮像された画像に基づいて、センサ部701と情報処理装置600Aとの位置関係を推定する(S7102)。追跡部704は、情報処理装置600Aが有するマーカを用いて情報処理装置600Aの位置及び姿勢を追跡してもよく、情報処理装置600Aの三次元形状を用いて情報処理装置600Aの位置及び姿勢を追跡してもよい。
 ただし、センサ部701にて撮像された画像に情報処理装置600Aが存在せず、センサ部701と情報処理装置600Aとの位置関係が推定できない場合(S7103/No)、センサ部701は、ステップS7101に戻って、再度、ユーザUs側を含む周囲の環境を撮像してもよい。
 次に、エンコード部702は、撮像した環境画像をエンコードする(S7104)。その後、通信部703は、環境画像、及びセンサ装置700Aと情報処理装置600Aの位置関係を情報処理装置600Aに送信する(S7105)。
 一方、情報処理装置600Aの制御部606は、マップ記憶部604からキューブ変換マップを読み込む(S6101)。次に、制御部606は、アセット記憶部605から仮想物Obのアセット情報及び評価情報を読み込む(S6102)。
 続いて、通信部608は、環境画像、及びセンサ装置700Aと情報処理装置600Aの位置関係をセンサ装置700Aから受信する(S6103)。さらに、制御部606は、センサ装置700Aと情報処理装置600Aの位置関係と、キューブ変換マップとを用いることで、センサ装置700Aから受信した環境画像をキューブマップにマッピングする(S6104)。
 その後、描画部607は、センサ装置700Aとの任意の相対位置に仮想物Obを描画した(S6105)後、仮想物Obの表面に重畳する画像を生成し(S6106)、生成した画像を仮想物Obの表面に重畳する(S6107)。
 以上のステップS6103~ステップS6107の動作をフレームごとに繰り返すことで、情報処理装置600Aは、センサ装置700Aにて撮像された環境画像を仮想物Obの表面に反映させることが可能である。
 (第2の変形例)
 次に、図21及び図22を参照して、本実施形態の第2の変形例に係る情報処理装置について説明する。図21は、本実施形態の第2の変形例に係る情報処理装置600B及びセンサ装置700Bの機能構成を示すブロック図である。
 第2の変形例では、情報処理装置600Bとセンサ装置700Bとの間で互いに位置関係を追跡し合う点が図17に示すセンサ装置700及び情報処理装置600と異なる。
 図21に示すように、センサ装置700Bは、追跡部704をさらに備える。追跡部704は、センサ部701にて撮像された画像を用いて、センサ部701と情報処理装置600Bとの位置関係を推定することができる。
 また、情報処理装置600Bは、追跡部603を備える。追跡部603は、センサ部601にて撮像された画像を用いて、センサ部601とセンサ装置700Bとの位置関係を推定する。情報処理装置600Bは、センサ部601にて撮像された画像にてセンサ部601とセンサ装置700Bとの位置関係を推定することが困難な場合に、センサ装置700Bにて推定されたセンサ部701と情報処理装置600Bとの位置関係を参照することができる。
 第2の変形例によれば、情報処理装置600Bは、センサ装置700Bにおける情報処理装置600Bの追跡結果も参照して、情報処理装置600Bとセンサ装置700Bとの位置関係を推定することができる。したがって、情報処理装置600Bは、情報処理装置600Bとセンサ装置700Bとの位置関係を見失うことをさらに抑制することができる。
 続いて、図22を参照して、第2の変形例に係る情報処理装置600B、及びセンサ装置700Bの動作例について説明する。図22は、第2の変形例に係る情報処理装置600B、及びセンサ装置700Bの動作の流れを示すフローチャート図である。
 図22に示すように、情報処理装置600Bの制御部606は、マップ記憶部604からキューブ変換マップを読み込む(S6201)。次に、制御部606は、アセット記憶部605から仮想物Obのアセット情報及び評価情報を読み込む(S6202)。
 続いて、通信部608は、環境画像、及びセンサ装置700Bと情報処理装置600Bの位置関係をセンサ装置700Bから受信する(S6203)。
 次に、センサ部601は、ユーザUsの視線方向の画像を撮像する(S6204)。続いて、追跡部603は、センサ部601にて撮像された画像に基づいて、センサ部601とセンサ装置700Bとの位置関係を推定する(S6205)。追跡部603は、センサ装置700Bが有するマーカを用いてセンサ装置700Bの位置及び姿勢を追跡してもよく、センサ装置700Bの三次元形状を用いてセンサ装置700Bの位置及び姿勢を追跡してもよい。
 ただし、センサ部601にて撮像された画像にセンサ装置700Bが存在せず、センサ部601とセンサ装置700Bとの位置関係が推定できない場合(S6206/No)、情報処理装置600Bは、センサ装置700Bから受信したセンサ装置700Bと情報処理装置600Bの位置関係が有効か否かを判断する(S6207)。
 センサ装置700Bから受信したセンサ装置700Bと情報処理装置600Bの位置関係が有効ではない場合(S6207/No)、センサ部601は、ステップS6203に戻って、再度、ユーザUsの視線方向の撮像を行ってもよい。一方、センサ装置700Bから受信したセンサ装置700Bと情報処理装置600Bの位置関係が有効である場合(S6207/Yes)、追跡部603は、センサ装置700Bから受信したセンサ装置700Bと情報処理装置600Bの位置関係を正として認める。
 その後、制御部606は、正として認められたセンサ装置700Bと情報処理装置600Bの位置関係と、キューブ変換マップとを用いることで、センサ装置700Bから受信した環境画像をキューブマップにマッピングする(S6208)。このときのセンサ装置700Bと情報処理装置600Bの位置関係は、センサ部601にて撮像された画像に基づいて追跡部603が推定した位置関係であってもよく、センサ装置700Bから受信した位置関係であってもよい。
 その後、描画部607は、センサ装置700Bとの任意の相対位置に仮想物Obを描画した(S6209)後、仮想物Obの表面に重畳する画像を生成し(S6210)、生成した画像を仮想物Obの表面に重畳する(S6211)。
 以上のステップS6203~ステップS6211の動作をフレームごとに繰り返すことで、情報処理装置600Bは、センサ装置700Bにて撮像された環境画像を仮想物Obの表面に反映させることが可能である。
 (第3の変形例)
 続いて、図23~図25を参照して、本実施形態の第3の変形例に係る情報処理装置について説明する。図23は、本実施形態の第3の変形例に係る情報処理装置600C及びセンサ装置700Cの機能構成を示すブロック図である。
 第3の変形例では、センサ装置700Cにマップ記憶部706、及び送信画像決定部705がさらに設けられる。第3の変形例に係るセンサ装置700Cでは、センサ装置700Cに加えられる加速度に基づいて、センサ装置700Cから情報処理装置600Cに送信される画像の範囲が制御される点が図17に示すセンサ装置700及び情報処理装置600と異なる。
 図23に示すように、センサ装置700Cは、マップ記憶部706、及び送信画像決定部705をさらに備える。
 マップ記憶部706は、環境画像の半球座標系上の座標と、キューブマップ座標系上の座標との対応関係を一意に決定したキューブ変換マップを記憶する。キューブ変換マップは、マッピングされる環境画像の各画素の位置と、キューブマップの各面の位置との対応関係を示すデータである。
 送信画像決定部705は、センサ装置700Cに加えられた加速度に基づいて、情報処理装置600Cに送信する画像の範囲を決定する。具体的には、送信画像決定部705は、まず、センサ装置700Cに加えられた加速度が閾値を超えているか否かを判断する。センサ装置700Cに加えられた加速度が閾値を超えていれば、送信画像決定部705は、通常どおり、センサ部701にて撮像された画像全体を情報処理装置600Cに送信することを決定する。一方、センサ装置700Cに加えられた加速度が閾値を超えていなければ、送信画像決定部705は、センサ部701にて撮像された画像の一部を情報処理装置600Cに送信することを決定する。
 これは、センサ装置700Cの位置及び姿勢の変化が小さい場合、センサ装置700Cと情報処理装置600Cとの位置関係の変化が小さいと考えられるためである。そのため、センサ装置700Cは、情報処理装置600Cのセンサ部601を中心とする一部の画像のみを情報処理装置600Cに送信することで、仮想物Obに重畳される環境画像を更新することができる。例えば、送信画像決定部705は、センサ部701から情報処理装置600Cを見た方向を中心として上下左右に180°の領域を抽出し、抽出した領域の画像を情報処理装置600Cに送信することを決定してもよい。
 第3の変形例によれば、センサ装置700Cは、情報処理装置600Cとの間で通信するデータ量を削減することが可能である。
 さらに、図24及び図25を参照して、第3の変形例に係る情報処理装置600A、及びセンサ装置700Aの動作例について説明する。図24は、第3の変形例に係るセンサ装置700Cの動作の流れを示すフローチャート図である。図25は、第3の変形例に係る情報処理装置600Cの動作の流れを示すフローチャート図である。
 図24に示すように、まず、センサ装置700Cの送信画像決定部705は、マップ記憶部706からキューブ変換マップを読み込む(S7301)。次に、センサ部701は、撮像を実行する(S7302)。ここで、送信画像決定部705は、図示しないIMUなどの内部センサの測定結果に基づいて、センサ装置700Cの位置及び姿勢の変化が閾値を超えたか否かを判断する(S7303)。
 センサ装置700Cの位置及び姿勢の変化が閾値を超えていない場合(S7303/No)、送信画像決定部705は、センサ部701で撮像された画像から情報処理装置600Cのセンサ部601を中心とする所定範囲(例えば、上下左右に180°)の領域の画像を抽出する(S7304)。
 続いて、送信画像決定部705は、センサ部701で撮像された画像全体、又はステップS7304で抽出された領域の画像をキューブマップにマッピングする(S7305)。次に、エンコード部702は、マッピングされた環境画像をエンコードする(S7306)。その後、通信部703は、エンコードされた環境画像を情報処理装置600Cに送信する(S7307)。
 一方、図25に示すように、まず、情報処理装置600Cの制御部606は、アセット記憶部605から仮想物Obのアセット情報及び評価情報を読み込む(S6301)。続いて、センサ部601は、ユーザUsの視線方向の画像を撮像する(S6302)。次に、追跡部603は、センサ部601にて撮像された画像に基づいて、センサ部601とセンサ装置700Cとの位置関係を推定する(S6303)。追跡部603は、センサ装置700Cが有するマーカを用いてセンサ装置700Cの位置及び姿勢を追跡してもよく、センサ装置700Cの三次元形状を用いてセンサ装置700Cの位置及び姿勢を追跡してもよい。
 ただし、センサ部601にて撮像された画像にセンサ装置700Cが存在せず、センサ部601とセンサ装置700Cとの位置関係が推定できない場合(S6304/No)、センサ部601は、ステップS6302に戻って、再度、ユーザUsの視線方向の撮像を行ってもよい。
 その後、通信部608は、センサ装置700Cとセンサ部601との位置関係をセンサ装置700Cに送信する(S6305)。続いて、描画部607は、センサ装置700Cから受信した環境画像でキューブマップの各面のテクスチャを更新する(S6306)。
 次に、描画部607は、センサ装置700Cとの任意の相対位置に仮想物Obを描画した(S6307)後、仮想物Obの表面に重畳する画像を生成し(S6308)、生成した画像を仮想物Obの表面に重畳する(S6309)。
 以上のステップS6302~ステップS6309の動作をフレームごとに繰り返すことで、情報処理装置600Cは、センサ装置700Cにて撮像された環境画像を仮想物Obの表面に反映させることが可能である。
 (第4の変形例)
 次に、図26~図29を参照して、本実施形態の第4の変形例に係る情報処理装置について説明する。図26は、本実施形態の第4の変形例に係る情報処理装置600D及びセンサ装置700Dの機能構成を示すブロック図である。
 第4の変形例では、センサ装置700Dで撮像された環境画像が情報処理装置600Dに送信されてから仮想物Obの表面に重畳されるまでの時間を短縮し、表示直前の最新の環境画像を用いて仮想物Obの表面に重畳させる画像を生成することができる。
 具体的には、図26に示すように、情報処理装置600Dは、環境画像反映部610をさらに備える。
 まず、描画部607は、ユーザUsの視線方向と、仮想物Obの表面の法線ベクトルとに基づいて、ユーザUsの視線ベクトルが仮想物Obの表面で反射した反射ベクトルを導出する。さらに、描画部607は、導出した反射ベクトルとキューブマップの各面との交点をバッファに記憶させることで参照マップを生成する。すなわち、参照マップには、仮想物Obの表面と、仮想物Obの該表面に重畳される環境画像がマッピングされるキューブマップの各面上の点とが互いに対応付けられる。
 環境画像反映部610は、まず、センサ装置700Dのセンサ部701が撮像した環境画像をキューブマップにマッピングする。これにより、環境画像反映部610は、描画部607にて生成された参照マップの対応関係を参照することで、キューブマップにマッピングされた環境画像から仮想物Obの表面に重畳される環境画像を決定することができる。さらに、環境画像反映部610は、決定された環境画像を仮想物Obの表面に重畳することで、表示部602に表示される仮想物Obの画像を生成することができる。
 第4の変形例によれば、あらかじめ仮想物Obの表面と、該表面に重畳される環境画像の画素位置とを対応付けることができるため、センサ装置700Dでの環境画像の撮像から、仮想物Obの表面への環境画像の重畳までの遅延をより短縮することができる。
 次に、図27を参照して、第4の変形例に係る情報処理装置600Dの動作例について説明する。図27は、第4の変形例に係る情報処理装置600Dの動作の流れを示すフローチャート図である。
 図27に示すように、まず、制御部606は、アセット記憶部605から仮想物Obのアセット情報及び評価情報を読み込む(S6401)。次に、センサ部601は、ユーザUsの視線方向の画像を撮像する(S6402)。続いて、追跡部603は、センサ部601にて撮像された画像に基づいて、センサ部601とセンサ装置700Dとの位置関係を推定する(S6403)。追跡部603は、センサ装置700Dが有するマーカを用いてセンサ装置700Dの位置及び姿勢を追跡してもよく、センサ装置700Dの三次元形状を用いてセンサ装置700Dの位置及び姿勢を追跡してもよい。
 ただし、センサ部601にて撮像された画像にセンサ装置700Dが存在せず、センサ部601とセンサ装置700Dとの位置関係が推定できない場合(S6404/No)、センサ部601は、ステップS6402に戻って、再度、ユーザUsの視線方向の撮像を行ってもよい。
 次に、描画部607は、センサ装置700Dとの任意の相対位置に仮想物Obを描画する(S6405)。ここで、描画部607は、ユーザUsの視線方向と、仮想物Obの表面の法線ベクトルとに基づいて仮想物Obの表面での反射ベクトルを導出し、導出した反射ベクトルとキューブマップの各面との交点を記憶させた参照マップを生成する(S6406)。参照マップは、仮想物Obの表面に重畳する環境画像を生成する際に、キューブマップ上で参照する領域を示すマップである。
 その後、環境画像反映部610は、リアルタイムで撮像された環境画像をキューブマップ上にマッピングすることで、参照マップに基づいて仮想物Obの表面に重畳する環境画像をキューブマップ上から抽出する(S6407)。これにより、環境画像反映部610は、抽出した環境画像を仮想物Obの表面に重畳することができる(S6408)。
 以上のステップS6402~ステップS6408の動作をフレームごとに繰り返すことで、情報処理装置600Dは、センサ装置700Cにてリアルタイムに撮像された環境画像を仮想物Obの表面に反映させることが可能である。
 ここで、図28及び図29を参照して、第4の変形例に係る情報処理装置600D及びセンサ装置700Dのタイミングチャートについて説明する。図28は、第5の実施形態に係る情報処理装置600及びセンサ装置700のタイミングチャートである。図29は、第4の変形例に係る情報処理装置600D及びセンサ装置700Dのタイミングチャートである。
 図28に示すように、第5の実施形態に係る情報処理装置600及びセンサ装置700では、まず、センサ装置700にて環境画像の撮像及びエンコードが行われた後、情報処理装置600への環境画像の送信が行われる。続いて、情報処理装置600は、送信された環境画像を受信及びデコードした後、センサ装置700との位置関係に基づいて三次元空間に仮想物を描画し、仮想物の表面に環境画像を重畳している。
 すなわち、第5の実施形態に係る情報処理装置600は、センサ装置700にて撮像された環境画像をあらかじめ受信した上で、センサ装置700との位置関係に基づいて三次元空間に仮想物を描画し、仮想物の表面に重畳される画像を環境画像から生成している。
 一方、図29に示すように、第4の変形例に係る情報処理装置600D及びセンサ装置700Dでは、情報処理装置600Dでの三次元空間への仮想物の描画と並行して、センサ装置700Dでの環境画像の撮像及びエンコードが行われる。続いて、情報処理装置600Dは、送信された環境画像を受信及びデコードし、あらかじめ対応付けられた仮想物の表面に環境画像を重畳している。
 すなわち、第4の変形例に係る情報処理装置600Dは、仮想物の表面と、該表面に重畳される環境画像の画素位置とをあらかじめ対応付けておくことにより、環境画像の撮像と、仮想物の描画とを並行して行うことが可能である。
 これによれば、第4の変形例に係る情報処理装置600Dは、環境画像の撮像から該環境画像が表面に重畳された仮想物の表示までの時間tを第5の実施形態に係る情報処理装置600の同時間tと比較して、大幅に短縮することが可能である。したがって、第4の変形例に係る情報処理装置600Dは、表示直前のより最新の環境画像を用いて仮想物Obの表面に重畳させる画像を生成することが可能である。
 <7.バリエーション>
 本開示の各実施形態では、さらに、環境画像を撮像するセンサ部の解像度を変化させることも可能である。センサ部の解像度を変化させるバリエーションについて図30及び図31を参照して説明する。以下の説明では、各構成の符号は、第1の実施形態を参照するものとする。
 (7.1.第1のバリエーション)
 図30は、ユーザUsと仮想物Obとの距離に応じて環境画像を撮像するセンサ部201の解像度を制御する動作例を示すフローチャート図である。
 表示部としてライトフィールドディスプレイ又はプロジェクションマッピングを用いる実施形態では、センサ部及びユーザUs間の距離は、顔検出又は視線検出によって推定することができる。例えば、ユーザUsの顔の大きさ、又は眼間距離は、おおむね一定範囲内に収まる。そのため、情報処理装置200は、センサ部で撮像された画像におけるユーザUsの顔の大きさ、又は眼間距離と、センサ部及びユーザUs間の距離との対応関係をあらかじめ調べておくことで、センサ部で撮像された画像からセンサ部及びユーザUs間の距離を推定することができる。これによれば、情報処理装置200は、センサ部と仮想物Obとの位置関係が既知であるため、センサ部を介して、ユーザUsと仮想物Obと距離を推定することができる。
 表示部としてスマートフォンなどの携帯端末、又はHMDを用いる実施形態では、センサ部及びユーザUs間の距離は、SLAMなどの自己位置推定、又はマーカによる位置推定によって導出することができる。SLAMを用いる場合、世界座標系における仮想物と、ユーザUs(厳密にはセンサ部)との距離を直接推定することが可能である。マーカによる位置推定を用いる場合、マーカとマーカを追跡するセンサ部との位置関係を直接推定することができるため、マーカの相対位置に配置された仮想物ObとユーザUs(厳密にはセンサ部)との距離を推定することが可能である。
 なお、表示部としてスマートフォンなどの携帯端末を用いる場合、センサ部が設けられる携帯端末と仮想物Obとの位置関係は推定可能であるものの、携帯端末とユーザUsとの位置関係は厳密には不明である。しかしながら、携帯端末とユーザUsとの位置関係は、一般的にはユーザUsの腕の長さの範囲内に収まるため、おおよその推定を行うことは可能である。さらに、携帯端末でユーザUsの顔検出又は視線検出を行うことができる場合には、表示部としてライトフィールドディスプレイ又はプロジェクションマッピングを用いる実施形態と同様に、携帯端末とユーザUsとの距離を推定することが可能である。
 図30に示すように、制御部206は、まず、マップ記憶部204からキューブ変換マップが読み込む(S801)。次に、制御部206は、アセット記憶部205から仮想物Obのアセット情報及び評価情報を読み込む(S802)。
 続いて、センサ部201は、ユーザUs側の環境画像を撮像する(S803)。これにより、自己位置推定部203は、撮像されたユーザUs側の環境画像に基づいて、ユーザUsの視線ベクトルを推定する(S804)。ユーザUsの視線ベクトルは、公知の視線検出方法を用いて推定され得る。
 さらに、自己位置推定部203は、撮像されたユーザUs側の環境画像に基づいてユーザUsとセンサ部201との距離を推定し、ユーザUsとセンサ部201との距離に基づいてユーザUsと仮想物Obとの距離を推定する。これにより、制御部206は、ユーザUsと仮想物Obとの距離に基づいて、センサ部201にて撮像される環境画像の解像度を決定することができる(S805)。決定された環境画像の解像度は、センサ部201に出力されることで、センサ部201の解像度の制御に用いられる。
 また、描画部207は、撮像されたユーザUs側の環境画像をキューブマップにマッピングする(S806)。その後、描画部207は、世界座標の任意の位置に仮想物Obを描画した(S807)後、仮想物Obの表面に重畳する画像を生成し(S808)、生成した画像を仮想物Obの表面に重畳する(S809)。
 以上のステップS803~ステップS809の動作をフレームごとに繰り返すことで、情報処理装置200は、センサ部201にてリアルタイムに撮像された環境画像を仮想物Obの表面に反映させることが可能である。また、情報処理装置200は、ユーザUsと仮想物Obとの距離に基づいて、センサ部201にて撮像される環境画像の解像度を制御することが可能である。
 本バリエーションによれば、情報処理装置200は、ユーザUsが仮想物Obに近いほど解像度が高くなるように、仮想物Obに重畳される環境画像の解像度を制御することが可能である。したがって、情報処理装置200は、仮想物Obの表面に重畳される環境画像の見た目に大きな影響を与えることなく、演算の処理負荷を低減することが可能である。
 (7.2.第2のバリエーション)
 図31は、センサで撮像した環境画像の領域に含まれるオブジェクトの優先度に基づいて環境画像の解像度を制御する動作例を示すフローチャート図である。例えば、下記の動作例では、環境画像のうちユーザUsの顔が映った領域の解像度は、ユーザUsの顔が映っていない領域の解像度よりも高くなるように制御される。
 環境画像からユーザUsの顔が映った領域を判別する方法としては、機械学習を用いた画像認識、又はユーザの視線検出などを用いることができる。また、環境画像からユーザUsの顔が映った領域を判別する方法としては、ユーザUsの三次元的な位置及び姿勢に対して、ユーザUsの目の位置に対応する点を中心とする矩形領域を当てはめることで、該矩形領域を顔領域と判別する方法を用いることができる。
 図31に示すように、制御部206は、まず、マップ記憶部204からキューブ変換マップが読み込む(S901)。次に、制御部206は、アセット記憶部205から仮想物Obのアセット情報及び評価情報を読み込む(S902)。
 続いて、センサ部201は、ユーザUs側の環境画像を撮像する(S903)。次に、自己位置推定部203は、撮像されたユーザUs側の環境画像に基づいてユーザUsの顔領域を推定する(S904)。さらに、自己位置推定部203は、撮像されたユーザUs側の環境画像に基づいて、ユーザUsの視線ベクトルを推定する(S905)。ユーザUsの視線ベクトルは、公知の視線検出方法を用いて推定され得る。
 ここで、描画部207は、撮像されたユーザUs側の環境画像をキューブマップにマッピングする(S906)。具体的には、描画部207は、ユーザUsの顔が映った顔領域を高解像度とし、それ以外の領域を低解像度とした環境画像をキューブマップにマッピングしてもよい。このときの高解像度とは、他の領域の解像度よりも解像度が高いことを表してもよく、撮像された時点の解像度よりも解像度が高くなっていることを表してもよい。同様に、このときの低解像度とは、他の領域の解像度よりも解像度が低いことを表してもよく、撮像された時点の解像度よりも解像度が低くなっていることを表してもよい。
 その後、描画部207は、世界座標の任意の位置に仮想物Obを描画した(S907)後、仮想物Obの表面に重畳する画像を生成し(S908)、生成した画像を仮想物Obの表面に重畳する(S909)。
 以上のステップS903~ステップS909の動作をフレームごとに繰り返すことで、情報処理装置200は、センサ部201にてリアルタイムに撮像された環境画像を仮想物Obの表面に反映させることが可能である。また、情報処理装置200は、ユーザUsの顔などの主要なオブジェクトが含まれる領域の環境画像の解像度を制御することが可能である。
 本バリエーションによれば、情報処理装置200は、ユーザUsの顔などの主要なオブジェクトが含まれる領域の環境画像の解像度を維持しつつ、他の領域の環境画像の解像度を低下させて仮想物Obの表面に反映させることが可能である。したがって、情報処理装置200は、仮想物Obの表面に重畳される環境画像の見た目に大きな影響を与えることなく、演算の処理負荷を低減することが可能である。
 <8.ハードウェア構成>
 さらに、図32を参照して、本開示の各実施形態に係る情報処理装置のハードウェア構成について説明する。図32は、各実施形態に係る情報処理装置のハードウェア構成例を示すブロック図である。
 各実施形態に係る情報処理装置の機能は、ソフトウェアと、以下で説明するハードウェアとの協働によって実現され得る。情報処理装置の制御又は演算の機能は、例えば、CPU901により実現されてもよい。また、情報処理装置の記憶の機能は、例えば、ストレージ装置908により実現されてもよい。
 図32に示すように、情報処理装置900は、CPU(Central Processing Unit)901、ROM(Read Only Memory)902、及びRAM(Random Access Memory)903を含む。
 また、情報処理装置900は、ホストバス904a、ブリッジ904、外部バス904b、インタフェース905、入力装置906、出力装置907、ストレージ装置908、ドライブ909、接続ポート910、又は通信装置911をさらに含んでもよい。さらに、情報処理装置900は、必要に応じて、撮像装置、又はセンサを含んでもよい。情報処理装置900は、CPU901に替えて、又はCPU901と共に、GPU(Graphic Processing Unit)、DSP(Digital Signal Processor)、又はASIC(Application Specific Integrated Circuit)などの処理回路を有してもよい。
 CPU901は、演算処理装置、又は制御装置として機能し、ROM902、RAM903、ストレージ装置908、又はドライブ909に装着されたリムーバブル記録媒体に記録された各種プログラムに従って、情報処理装置900内の動作を制御する。ROM902は、CPU901が使用するプログラム、及び演算パラメータなどを記憶する。RAM903は、CPU901の実行において使用するプログラム、及びその実行の際に使用するパラメータなどを一時的に記憶する。
 CPU901、ROM902、及びRAM903は、高速なデータ伝送が可能なホストバス904aにより相互に接続される。ホストバス904aは、ブリッジ904を介して、PCI(Peripheral Component Interconnect/Interface)バスなどの外部バス904bに接続され、外部バス904bは、インタフェース905を介して種々の構成要素と接続される。
 入力装置906は、例えば、マウス、キーボード、タッチパネル、ボタン、スイッチ、又はレバーなどのユーザからの入力を受け付ける装置である。なお、入力装置906は、ユーザの音声を検出するマイクロフォンなどであってもよい。入力装置906は、例えば、赤外線、又はその他の電波を利用したリモートコントロール装置であってもよく、情報処理装置900の操作に対応した外部接続機器であってもよい。
 入力装置906は、ユーザが入力した情報に基づいて生成した入力信号をCPU901に出力する入力制御回路をさらに含む。ユーザは、入力装置906を操作することによって、情報処理装置900に対して各種データの入力、又は処理動作の指示を行うことができる。
 出力装置907は、情報処理装置900にて取得又は生成された情報をユーザに対して視覚的、又は聴覚的に提示することが可能な装置である。出力装置907は、例えば、LCD(Liquid Crystal Display)、PDP(Plasma Display Panel)、OLED(Organic Light Emitting Diode)ディスプレイ、ホログラム、若しくはプロジェクタなどの表示装置、スピーカ若しくはヘッドホンなどの音出力装置、又はプリンタ装置などの印刷装置であってもよい。出力装置907は、情報処理装置900の処理により得られた情報をテキスト若しくは画像などの映像、又は音声若しくは音響などの音として出力することができる。
 ストレージ装置908は、情報処理装置900の記憶部の一例として構成されたデータ格納装置である。ストレージ装置908は、例えば、HDD(Hard Disk Drive)などの磁気記憶デバイス、半導体記憶デバイス、光記憶デバイス、又は光磁気記憶デバイスなどにより構成されてもよい。ストレージ装置908は、CPU901が実行するプログラム、各種データ、又は外部から取得した各種データなどを格納することができる。
 ドライブ909は、磁気ディスク、光ディスク、光磁気ディスク、又は半導体メモリなどのリムーバブル記録媒体の読み取り又は書き込み装置であり、情報処理装置900に内蔵、又は外付けされる。例えば、ドライブ909は、装着されているリムーバブル記録媒体に記録されている情報を読み出してRAM903に出力することができる。また、ドライブ909は、装着されているリムーバブル記録媒体に記録を書き込むことができる。
 接続ポート910は、外部接続機器を情報処理装置900に直接接続するためのポートである。接続ポート910は、例えば、USB(Universal Serial Bus)ポート、IEEE1394ポート、又はSCSI(Small Computer System Interface)ポートなどであってもよい。また、接続ポート910は、RS-232Cポート、光オーディオ端子、又はHDMI(登録商標)(High-Definition Multimedia Interface)ポートなどであってもよい。接続ポート910は、外部接続機器と接続されることで、情報処理装置900と外部接続機器との間で各種データの送受信を行うことができる。
 通信装置911は、例えば、通信ネットワーク920に接続するための通信デバイスなどで構成された通信インタフェースである。通信装置911は、例えば、有線若しくは無線LAN(Local Area Network)、Wi-Fi(登録商標)、Bluetooth(登録商標)、又はWUSB(Wireless USB)用の通信カードなどであってもよい。また、通信装置911は、光通信用のルータ、ADSL(Asymmetric Digital Subscriber Line)用のルータ、又は各種通信用のモデムなどであってもよい。
 通信装置911は、例えば、インターネット、又は他の通信機器との間で、TCP/IPなどの所定のプロトコルを用いて信号などを送受信することができる。また、通信装置911に接続される通信ネットワーク920は、有線又は無線によって接続されたネットワークであり、例えば、インターネット通信網、家庭内LAN、赤外線通信網、ラジオ波通信網、又は衛星通信網などであってもよい。
 なお、コンピュータに内蔵されるCPU901、ROM902、及びRAM903などのハードウェアに上記の情報処理装置900と同等の機能を発揮させるためのプログラムも作成可能である。また、該プログラムを記録したコンピュータに読み取り可能な記録媒体も提供可能である。
 以上、添付図面を参照しながら本開示の好適な実施形態について詳細に説明したが、本開示の技術的範囲はかかる例に限定されない。本開示の技術分野における通常の知識を有する者であれば、請求の範囲に記載された技術的思想の範疇内において、各種の変更例または修正例に想到し得ることは明らかであり、これらについても、当然に本開示の技術的範囲に属するものと了解される。
 また、本明細書に記載された効果は、あくまで説明的または例示的なものであって限定的ではない。つまり、本開示に係る技術は、上記の効果とともに、または上記の効果に代えて、本明細書の記載から当業者には明らかな他の効果を奏しうる。
 なお、以下のような構成も本開示の技術的範囲に属する。
(1)
 周囲の環境をリアルタイムに撮像した環境画像を所定立体の各面にマッピングするマッピング部と、
 現実空間に重畳して描画される仮想物の表面の特性と、前記仮想物を視認するユーザの視線方向とに基づいて前記所定立体の内部に前記仮想物を描画した際に参照される前記所定立体の各面の一部領域を導出し、導出された前記一部領域の前記環境画像を用いて、前記仮想物の前記表面に重畳される反射画像を生成する反射描画部と、
を備える、情報処理装置。
(2)
 前記一部領域は、前記ユーザの視線方向を示す視線ベクトルと、前記仮想物の前記表面の法線ベクトルとに基づいて導出された反射ベクトルが前記所定立体の各面と交差する領域である、前記(1)に記載の情報処理装置。
(3)
 前記反射ベクトルは、前記仮想物の前記表面の特性にさらに基づいて導出される、前記(2)に記載の情報処理装置。
(4)
 前記反射描画部は、前記仮想物の前記表面の反射特性を示す評価情報にさらに基づいて、前記反射画像を生成する、前記(1)~(3)のいずれか一項に記載の情報処理装置。
(5)
 前記評価情報は、テクスチャが貼り付けられた前記所定立体の内部に前記仮想物を描画した際の前記仮想物の前記表面の画像と、前記テクスチャとの類似度に基づいて設定される、前記(4)に記載の情報処理装置。
(6)
 前記反射描画部は、前記評価情報に基づいて、前記仮想物の前記表面に重畳される前記反射画像の解像度若しくは色数の少なくともいずれか一方を制御する、前記(4)又は(5)に記載の情報処理装置。
(7)
 前記反射描画部は、前記評価情報に基づいて、前記反射画像を生成するか否かを判断する、前記(4)~(6)のいずれか一項に記載の情報処理装置。
(8)
 前記ユーザの視線方向は、前記ユーザを含む撮像画像から判断される、前記(1)~(7)のいずれか一項に記載の情報処理装置。
(9)
 前記ユーザの視線方向は、前記仮想物が描画される前記現実空間を撮像したビデオシースルー画像の撮像方向である、前記(1)~(7)のいずれか一項に記載の情報処理装置。
(10)
 前記環境画像は、前記仮想物が描画される前記現実空間と反対側の前記ユーザを含む空間を撮像した画像である、前記(1)~(9)のいずれか一項に記載の情報処理装置。
(11)
 前記環境画像は、前記周囲の環境を表面に映し込んだ鏡面物体の画像に基づいて生成される、前記(1)~(9)のいずれか一項に記載の情報処理装置。
(12)
 前記仮想物は、前記鏡面物体を基準とした相対位置に配置される、前記(11)に記載の情報処理装置。
(13)
 前記環境画像の解像度は、前記ユーザと前記仮想物との距離に基づいて制御される、前記(1)~(12)のいずれか一項に記載の情報処理装置。
(14)
 前記環境画像の解像度は、前記環境画像の各領域に含まれるオブジェクトの優先順位に基づいて前記各領域にて制御される、前記(1)~(13)のいずれか一項に記載の情報処理装置。
(15)
 前記仮想物は、前記仮想物が描画される前記現実空間の撮像画像と、前記現実空間と反対側の前記ユーザを含む空間の前記環境画像とを撮像するセンサ装置を基準とした相対位置に配置される、前記(1)~(14)のいずれか一項に記載の情報処理装置。
(16)
 前記反射描画部は、前記仮想物の前記表面の各々と対応する前記所定立体の面上の各点をあらかじめ導出し、前記各点にマッピングされた前記環境画像に基づいて前記反射画像を生成する、前記(1)~(15)のいずれか一項に記載の情報処理装置。
(17)
 前記所定立体は、立方体である、前記(1)~(16)のいずれか一項に記載の情報処理装置。
(18)
 周囲の環境をリアルタイムに撮像した環境画像を所定立体の各面にマッピングすることと、
 現実空間に重畳して描画される仮想物の表面の特性と、前記仮想物を視認するユーザの視線方向とに基づいて前記所定立体の内部に前記仮想物を描画した際に参照される前記所定立体の各面の一部領域を導出し、導出された前記一部領域の前記環境画像を用いて、前記仮想物の前記表面に重畳される反射画像を生成することと、
を含む、演算処理装置による情報処理方法。
(19)
 コンピュータを、
 周囲の環境をリアルタイムに撮像した環境画像を所定立体の各面にマッピングするマッピング部と、
 現実空間に重畳して描画される仮想物の表面の特性と、前記仮想物を視認するユーザの視線方向とに基づいて前記所定立体の内部に前記仮想物を描画した際に参照される前記所定立体の各面の一部領域を導出し、導出された前記一部領域の前記環境画像を用いて、前記仮想物の前記表面に重畳される反射画像を生成する反射描画部と、
として機能させる、プログラム。
 10,200,300,400,500,600  情報処理装置
 11,207,307,407,507,607  描画部
 12,205,305,405,505,605  アセット記憶部
 13   評価部
 201,301,501,601      センサ部
 202,302,402,502,602  表示部
 203,403  自己位置推定部
 204,304,404,504,604  マップ記憶部
 206,306,406,506,606  制御部
 401a 第1のセンサ部
 401b 第2のセンサ部
 408  内部センサ部
 503,603  追跡部
 608  通信部
 609  デコード部
 610  環境画像反映部
 700  センサ装置
 701  センサ部
 702  エンコード部
 703  通信部
 704  追跡部
 705  送信画像決定部
 706  マップ記憶部
 Us   ユーザ
 Ob   仮想物
 Mr   鏡面体
 

Claims (19)

  1.  周囲の環境をリアルタイムに撮像した環境画像を所定立体の各面にマッピングするマッピング部と、
     現実空間に重畳して描画される仮想物の表面の特性と、前記仮想物を視認するユーザの視線方向とに基づいて前記所定立体の内部に前記仮想物を描画した際に参照される前記所定立体の各面の一部領域を導出し、導出された前記一部領域の前記環境画像を用いて、前記仮想物の前記表面に重畳される反射画像を生成する反射描画部と、
    を備える、情報処理装置。
  2.  前記一部領域は、前記ユーザの視線方向を示す視線ベクトルと、前記仮想物の前記表面の法線ベクトルとに基づいて導出された反射ベクトルが前記所定立体の各面と交差する領域である、請求項1に記載の情報処理装置。
  3.  前記反射ベクトルは、前記仮想物の前記表面の特性にさらに基づいて導出される、請求項2に記載の情報処理装置。
  4.  前記反射描画部は、前記仮想物の前記表面の反射特性を示す評価情報にさらに基づいて、前記反射画像を生成する、請求項1に記載の情報処理装置。
  5.  前記評価情報は、テクスチャが貼り付けられた前記所定立体の内部に前記仮想物を描画した際の前記仮想物の前記表面の画像と、前記テクスチャとの類似度に基づいて設定される、請求項4に記載の情報処理装置。
  6.  前記反射描画部は、前記評価情報に基づいて、前記仮想物の前記表面に重畳される前記反射画像の解像度若しくは色数の少なくともいずれか一方を制御する、請求項4に記載の情報処理装置。
  7.  前記反射描画部は、前記評価情報に基づいて、前記反射画像を生成するか否かを判断する、請求項4に記載の情報処理装置。
  8.  前記ユーザの視線方向は、前記ユーザを含む撮像画像から判断される、請求項1に記載の情報処理装置。
  9.  前記ユーザの視線方向は、前記仮想物が描画される前記現実空間を撮像したビデオシースルー画像の撮像方向である、請求項1に記載の情報処理装置。
  10.  前記環境画像は、前記仮想物が描画される前記現実空間と反対側の前記ユーザを含む空間を撮像した画像である、請求項1に記載の情報処理装置。
  11.  前記環境画像は、前記周囲の環境を表面に映し込んだ鏡面物体の画像に基づいて生成される、請求項1に記載の情報処理装置。
  12.  前記仮想物は、前記鏡面物体を基準とした相対位置に配置される、請求項11に記載の情報処理装置。
  13.  前記環境画像の解像度は、前記ユーザと前記仮想物との距離に基づいて制御される、請求項1に記載の情報処理装置。
  14.  前記環境画像の解像度は、前記環境画像の各領域に含まれるオブジェクトの優先順位に基づいて前記各領域にて制御される、請求項1に記載の情報処理装置。
  15.  前記仮想物は、前記仮想物が描画される前記現実空間の撮像画像と、前記現実空間と反対側の前記ユーザを含む空間の前記環境画像とを撮像するセンサ装置を基準とした相対位置に配置される、請求項1に記載の情報処理装置。
  16.  前記反射描画部は、前記仮想物の前記表面の各々と対応する前記所定立体の面上の各点をあらかじめ導出し、前記各点にマッピングされた前記環境画像に基づいて前記反射画像を生成する、請求項1に記載の情報処理装置。
  17.  前記所定立体は、立方体である、請求項1に記載の情報処理装置。
  18.  周囲の環境をリアルタイムに撮像した環境画像を所定立体の各面にマッピングすることと、
     現実空間に重畳して描画される仮想物の表面の特性と、前記仮想物を視認するユーザの視線方向とに基づいて前記所定立体の内部に前記仮想物を描画した際に参照される前記所定立体の各面の一部領域を導出し、導出された前記一部領域の前記環境画像を用いて、前記仮想物の前記表面に重畳される反射画像を生成することと、
    を含む、演算処理装置による情報処理方法。
  19.  コンピュータを、
     周囲の環境をリアルタイムに撮像した環境画像を所定立体の各面にマッピングするマッピング部と、
     現実空間に重畳して描画される仮想物の表面の特性と、前記仮想物を視認するユーザの視線方向とに基づいて前記所定立体の内部に前記仮想物を描画した際に参照される前記所定立体の各面の一部領域を導出し、導出された前記一部領域の前記環境画像を用いて、前記仮想物の前記表面に重畳される反射画像を生成する反射描画部と、
    として機能させる、プログラム。
PCT/JP2023/031553 2022-10-24 2023-08-30 情報処理装置、情報処理方法、及びプログラム WO2024090022A1 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2022-169768 2022-10-24
JP2022169768 2022-10-24

Publications (1)

Publication Number Publication Date
WO2024090022A1 true WO2024090022A1 (ja) 2024-05-02

Family

ID=90830561

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2023/031553 WO2024090022A1 (ja) 2022-10-24 2023-08-30 情報処理装置、情報処理方法、及びプログラム

Country Status (1)

Country Link
WO (1) WO2024090022A1 (ja)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007018173A (ja) * 2005-07-06 2007-01-25 Canon Inc 画像処理方法、画像処理装置
JP2008077408A (ja) * 2006-09-21 2008-04-03 Namco Bandai Games Inc プログラム、情報記憶媒体及び画像生成システム
US10607567B1 (en) * 2018-03-16 2020-03-31 Amazon Technologies, Inc. Color variant environment mapping for augmented reality

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007018173A (ja) * 2005-07-06 2007-01-25 Canon Inc 画像処理方法、画像処理装置
JP2008077408A (ja) * 2006-09-21 2008-04-03 Namco Bandai Games Inc プログラム、情報記憶媒体及び画像生成システム
US10607567B1 (en) * 2018-03-16 2020-03-31 Amazon Technologies, Inc. Color variant environment mapping for augmented reality

Similar Documents

Publication Publication Date Title
US11533489B2 (en) Reprojecting holographic video to enhance streaming bandwidth/quality
US10546364B2 (en) Smoothly varying foveated rendering
US9411413B2 (en) Three dimensional user interface effects on a display
US10607403B2 (en) Shadows for inserted content
JP6558839B2 (ja) 媒介現実
US11178385B2 (en) Synthetic stereoscopic content capture
US20210368152A1 (en) Information processing apparatus, information processing method, and program
US10949956B2 (en) Enhanced specular reflections for inserted content
WO2019069536A1 (ja) 情報処理装置、情報処理方法、及び記録媒体
US20210377515A1 (en) Information processing device, information processing method, and program
US12039749B2 (en) Low power visual tracking systems
US20240248531A1 (en) Reducing startup time of augmented reality experience
US20220375110A1 (en) Augmented reality guided depth estimation
WO2024090022A1 (ja) 情報処理装置、情報処理方法、及びプログラム
JP4689344B2 (ja) 情報処理方法、情報処理装置
KR20240008370A (ko) 움직이는 객체들의 레이턴시를 최소화하기 위한 늦은 워핑
US20240212287A1 (en) Augmented reality ergonomics evaluation system
US20240354962A1 (en) Pose optimization for object tracking
US20230267691A1 (en) Scene change detection with novel view synthesis
JP2007267851A (ja) プログラム、情報記憶媒体及び画像生成システム
WO2024215392A1 (en) Pose optimization for object tracking

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 23882236

Country of ref document: EP

Kind code of ref document: A1