WO2022004130A1 - 情報処理装置、情報処理方法、および記憶媒体 - Google Patents
情報処理装置、情報処理方法、および記憶媒体 Download PDFInfo
- Publication number
- WO2022004130A1 WO2022004130A1 PCT/JP2021/017712 JP2021017712W WO2022004130A1 WO 2022004130 A1 WO2022004130 A1 WO 2022004130A1 JP 2021017712 W JP2021017712 W JP 2021017712W WO 2022004130 A1 WO2022004130 A1 WO 2022004130A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- captured image
- display
- load
- information processing
- image
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Ceased
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T19/00—Manipulating 3D models or images for computer graphics
- G06T19/006—Mixed reality
-
- G—PHYSICS
- G09—EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
- G09G—ARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
- G09G5/00—Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators
- G09G5/02—Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators characterised by the way in which colour is displayed
- G09G5/026—Control of mixing and/or overlay of colours in general
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T5/00—Image enhancement or restoration
- G06T5/50—Image enhancement or restoration using two or more images, e.g. averaging or subtraction
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/70—Arrangements for image or video recognition or understanding using pattern recognition or machine learning
- G06V10/74—Image or video pattern matching; Proximity measures in feature spaces
- G06V10/761—Proximity, similarity or dissimilarity measures
-
- G—PHYSICS
- G09—EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
- G09G—ARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
- G09G5/00—Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators
- G09G5/36—Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators characterised by the display of a graphic pattern, e.g. using an all-points-addressable [APA] memory
- G09G5/37—Details of the operation on graphic patterns
- G09G5/377—Details of the operation on graphic patterns for mixing or overlaying two or more graphic patterns
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/14—Digital output to display device ; Cooperation and interconnection of the display device with other functional units
- G06F3/147—Digital output to display device ; Cooperation and interconnection of the display device with other functional units using display panels
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/20—Special algorithmic details
- G06T2207/20212—Image combination
- G06T2207/20221—Image fusion; Image merging
-
- G—PHYSICS
- G09—EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
- G09G—ARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
- G09G2310/00—Command of the display device
- G09G2310/08—Details of timing specific for flat panels, other than clock recovery
-
- G—PHYSICS
- G09—EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
- G09G—ARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
- G09G5/00—Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators
- G09G5/36—Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators characterised by the display of a graphic pattern, e.g. using an all-points-addressable [APA] memory
- G09G5/363—Graphics controllers
Definitions
- This disclosure relates to an information processing device, an information processing method, and a storage medium.
- augmented reality AR
- HMD Head Mounted Display
- Patent Document 1 below describes that a virtual object is associated with an object in real space and displayed in AR technology. Specifically, the position or posture of the object in the real space is recognized, and the virtual object is displayed based on the recognition result. Further, in Patent Document 1 below, a virtual object is displayed while predicting a change in the position or posture of the object in the real space. Further, in Patent Document 1 below, the display disorder such that the display position or posture of the virtual object deviates from the position or posture that should be originally displayed due to the time lag from the time when the information for prediction is acquired to the time when the virtual object is displayed is disturbed. When it occurs, the display position is obscured by motion blur processing or the like to make the display deviation inconspicuous.
- Patent Document 2 in AR technology, when a user wearing an HMD or an object in real space moves, the position and posture of the virtual object are made to follow the movement, and the discomfort due to display delay is reduced. Is described. Specifically, in Patent Document 2 below, the position and orientation of the HMD are predicted, and the virtual object is deformed based on the prediction to reduce the shift of the superimposed position and the display delay felt by the user. In Patent Document 2 below, a display to which the raster scan method is applied is used, and the display is divided into a plurality of slices (display areas) in a direction perpendicular to the scanning direction of the raster scan. Each slice is sequentially displayed according to the scan.
- the HMD of Patent Document 2 below has a display having a plurality of adjacent display areas having different display timings.
- the HMD of Patent Document 2 below predicts the position and orientation of the own device at the time of displaying each slice at the time immediately before the time when the display is performed on each slice, and based on the prediction result, for each slice. By transforming the image, the shift of the superimposed position and the display delay felt by the user are reduced.
- the present disclosure proposes an information processing device, an information processing method, and a storage medium capable of appropriately reducing the display delay when superimposing a virtual object on the field of view on a video see-through display.
- the video see-through display that displays the captured image acquired by the image pickup unit is controlled and the load of the real space recognition process based on the predetermined captured image is the first load
- the real space When a virtual object drawn based on the recognition process is superimposed on the first captured image and the load of the recognition process is a second load higher than the first load, the past than the first captured image.
- a display control unit that superimposes the virtual object on the second captured image of the above.
- the processor controls the display of the video see-through display that displays the captured image acquired by the image pickup unit, and the load of the real space recognition process based on the predetermined captured image is the first load.
- display control is performed by superimposing a virtual object drawn based on the recognition process in the real space on the first captured image, and a second load in which the load of the recognition process is higher than that of the first load. If this is the case, we propose an information processing method including performing display control in which the virtual object is superimposed on a second captured image that is earlier than the first captured image.
- the computer controls the video see-through display that displays the captured image acquired by the imaging unit and the load of the real space recognition process based on the predetermined captured image is the first load, the above-mentioned.
- a virtual object drawn based on the real space recognition process is superimposed on the first captured image and the load of the recognition process is a second load higher than the first load, the first captured image is described.
- a storage medium in which a program for superimposing the virtual object on a second captured image in the past and functioning as a display control unit is stored.
- FIG. 1 is a block diagram showing an example of a basic configuration of an information processing apparatus 10 according to an embodiment of the present disclosure.
- the information processing apparatus 10 includes a control unit 100, a communication unit 110, a camera 120, an operation input unit 130, a sensor unit 140, a display unit 150, a speaker 160, and a storage unit 170.
- the information processing apparatus 10 mainly displays a captured image in real space on the display unit 150, and further associates it with the position of an object in real space (hereinafter referred to as a real object) reflected in the captured image. Controls the superimposition and display of virtual objects.
- a real object an object in real space
- the communication unit 110 communicates with an external device by wire or wirelessly to transmit / receive data.
- the communication unit 110 connects to the network and transmits / receives data to / from a server on the network.
- the communication unit 110 may receive, for example, data of a virtual object to be superimposed and displayed on a captured image in real space, and various data related to superimposition from the server.
- the communication unit 110 is, for example, a wired / wireless LAN (Local Area Network), Wi-Fi (registered trademark), Bluetooth (registered trademark), a mobile communication network (LTE (Long Term Evolution)), or 3G (third generation mobile). Communication connection with an external device or network by means of 4G (4th generation mobile communication method), 5G (5th generation mobile communication method), etc.
- the camera 120 is an example of an imaging unit having a function of imaging a real space.
- the captured image in the real space captured by the camera 120 is displayed on the display unit 150.
- the captured image displayed on the display unit 150 is displayed as a so-called through image corresponding to the field of view of the user who uses the information processing apparatus 10.
- the through image may be regarded as a captured image displayed in real time.
- the through image may be regarded as the latest captured image among the captured images acquired by the camera 120.
- the captured image in the real space captured by the camera 120 may be used for the recognition process in the real space.
- such a display image corresponding to the user's field of view is also referred to as a field of view image.
- the camera 120 whose purpose is to acquire a visual field image is provided so as to face the line-of-sight direction of the user who uses the information processing apparatus 10.
- the information processing apparatus 10 it is assumed that the user is looking at the display unit 150. Therefore, for example, when the information processing device 10 is mounted on the user's head and is realized by an HMD having a configuration in which the display unit 150 is located in front of the user's eyes when the information processing device 10 is mounted, the camera 120 faces the user's head. It is provided so that it faces the direction in which it is located.
- the camera 120 may be singular or plural. Further, the camera 120 may be configured as a so-called stereo camera.
- Operation input unit 130 has a function of attaching an operation from the user.
- the operation input unit 130 outputs the received operation information to the control unit 100.
- the operation input unit 130 may be realized by an input device such as a touch panel or a button.
- the sensor unit 140 has a function of sensing the real space such as the position (user position), movement, and surrounding conditions of the information processing device 10.
- the sensor unit 140 includes, for example, a positioning unit, an acceleration sensor, an angular velocity sensor, a geomagnetic sensor, and the like.
- the sensor unit 140 may include a camera (camera for recognition processing) for acquiring an captured image used for recognition processing in real space, which is different from the camera 120 for acquiring a field view image.
- the angle of view of the camera for recognition processing may include at least the angle of view of the camera 120 for acquiring the field of view image.
- the sensor unit 140 may include a sensor for measuring the distance to an object existing in the real space.
- the sensor for measuring the distance may be one that measures based on a stereo image acquired by a stereo camera, or may be an infrared sensor.
- the positioning unit has a function of calculating the absolute or relative position of the information processing device 10.
- the positioning unit may detect the current position based on the acquired signal from the outside.
- a GNSS Global Navigation Satellite System
- a method of detecting a position by transmission / reception with Wi-Fi (registered trademark), Bluetooth (registered trademark), a mobile phone / PHS / smartphone, or short-range communication may be used.
- the positioning unit may estimate information indicating a relative change based on the detection result of the acceleration sensor, the angular velocity sensor, or the like.
- the display unit 150 is realized by a so-called video see-through display.
- the video see-through display provides the user with a real-space image by displaying a real-space moving image, that is, a through image, acquired by an image pickup device that is relatively fixed to the display in real time on the display.
- a real-space moving image that is, a through image
- an image pickup device that is relatively fixed to the display in real time on the display.
- the light in the real space is blocked by the housing of the video see-through display and does not reach the user's eyes directly.
- the display unit 150 may be switchable between the video see-through display and the optical see-through display.
- An optical see-through display is a display that can deliver real-space light directly to the user's eyes.
- the optical see-through display may adopt known forms including a half mirror method, a light guide plate method, a direct drawing method of the retina, and the like.
- the optical see-through display and the video see-through display can be switched by providing a configuration that dynamically shields the light in the real space such as a dimming element on the outer surface of the optical see-through display.
- the video see-through display that realizes the display unit 150 may be a mobile terminal such as a handheld display such as a smartphone or a wearable display.
- the mobile terminal may be connected to a computer separate from the mobile terminal by a cable or wirelessly.
- the video see-through display that realizes the display unit 150 can be provided on various mobile objects including automobiles.
- the function of controlling the display of the video see-through display may be performed by a stand-alone terminal, or may be performed by a plurality of information processing devices via a wireless network or a wired connection.
- the speaker 160 has a function of outputting sound.
- the speaker 160 may be configured as a headphone, earphone, or bone conduction speaker.
- Storage unit 170 The storage unit 170 is realized by a ROM (Read Only Memory) that stores programs and arithmetic parameters used for processing of the control unit 100, and a RAM (Random Access Memory) that temporarily stores parameters and the like that change as appropriate.
- ROM Read Only Memory
- RAM Random Access Memory
- Control unit 100 functions as an arithmetic processing unit and a control device, and controls the overall operation in the information processing device 10 according to various programs.
- the control unit 100 is realized by an electronic circuit such as a CPU (Central Processing Unit) or a microprocessor. Further, the control unit 100 may include a ROM (Read Only Memory) for storing programs to be used, calculation parameters, and the like, and a RAM (Random Access Memory) for temporarily storing parameters and the like that change as appropriate.
- ROM Read Only Memory
- RAM Random Access Memory
- the control unit 100 also functions as a recognition processing unit 101, a virtual object drawing processing unit 102, a field of view drawing processing unit 103, and a display processing unit 104.
- the recognition processing unit 101 performs recognition processing of various data input to the control unit 100. Specifically, the recognition processing unit 101 performs a process of recognizing the real space based on the captured image obtained by capturing the real space. Further, the recognition processing unit 101 may recognize its own position or posture based on the sensing data or the like input from the sensor unit 140.
- the control unit 100 superimposes the virtual object on the captured image in the real space so as to correspond to the real object, the position and posture of the real object and the camera 120 (in other words, the camera 120) are provided.
- the position and posture of the information processing apparatus 10 or the user who wears the information processing apparatus 10) are used.
- the recognition processing unit 101 performs processing for recognizing the real space based on the captured image obtained by capturing the real space.
- an object real object
- the algorithm for object recognition is not particularly limited, but for example, a three-dimensional object recognition or a bone estimation algorithm may be used.
- recognition processing by a plurality of recognition algorithms may be performed in parallel, such as an algorithm for recognizing a human and an algorithm for recognizing a non-human object.
- Object recognition includes at least the position or orientation of the object.
- the captured image used for the recognition process may be an captured image acquired by a camera that acquires an captured image (through image) to be displayed on the display unit 150, or is provided for a recognition process different from the camera. It may be a captured image acquired by a camera. Further, the recognition processing unit 101 may acquire depth data from the camera 120 or the sensor unit 140 and use it for real-space recognition processing. The recognition processing unit 101 can acquire the distance to the object in the real space.
- the recognition processing unit 101 recognizes at least one of the positions and postures of the information processing device 10 (more specifically, the camera 120) based on the detection result detected by the sensor unit 140. I do.
- the recognition process by the recognition process unit 101 may include the process by the position positioning unit described above, or may be a process of acquiring information indicating the self-position from the position positioning unit. Further, for example, the recognition processing unit 101 recognizes the self-position and the posture as information indicating a relative change based on the detection result of the acceleration sensor, the angular velocity sensor, or the like.
- the information indicating the change in self-position may also include the moving speed.
- the recognition processing unit 101 may recognize the self-position of the information processing apparatus 10 (in other words, the user) by comparing with a spatial map generated in advance by SLAM (Simultaneous Localization and Mapping) technology, and may be used as an image. You may recognize the positional relationship in the real space with the reflected real object.
- the recognition processing unit 101 recognizes the position, orientation, tilt, movement speed, etc. of the user's head as self-position recognition processing. obtain.
- the recognition processing unit 101 detects components in the yaw direction, the pitch direction, and the roll direction as the movement of the user's head, thereby detecting the user's head movement. Changes in at least one of the position and posture of the head can be recognized.
- the virtual object drawing processing unit 102 performs a process of drawing a virtual object superimposed on a captured image (view image) in real space in a corresponding buffer.
- the buffer is a storage area of at least a part of a storage unit for temporarily or permanently holding various data, such as a flash memory or RAM.
- the buffer is a so-called frame buffer that stores the display contents of one screen.
- the visual field drawing processing unit 103 performs a process of drawing a captured image (visual field image) in the real space captured by the camera 120 in the corresponding buffer.
- the buffer for drawing a visual image and the buffer for drawing a virtual object are different storage areas.
- the other storage area may be one in which different storage areas are allocated in one storage unit, or may be one in which the same storage area is logically divided. Further, separate storage units may be assigned.
- the buffer in which the captured image (visual image) in the real space is drawn is also referred to as a visual information buffer.
- the display processing unit 104 controls (display control) to read the information drawn in the buffer and output it to the display unit 150. Specifically, for example, the display processing unit 104 controls to superimpose the virtual object read from the virtual information buffer on the visual image read from the visual information buffer and display it on the display unit 150.
- the configuration of the information processing apparatus 10 has been specifically described above, the configuration of the information processing apparatus 10 according to the present disclosure is not limited to the example shown in FIG.
- the information processing apparatus 10 does not have to have all the configurations shown in FIG.
- a head-mounted display device (HMD) can be mentioned.
- the information processing apparatus 10 is realized by, for example, a video see-through type HMD.
- the video see-through type HMD is configured to cover the user's eyes when worn on the user's head or face, and a display unit such as a display (display unit 150 in the present embodiment) is placed in front of the user's eyes. Be retained.
- the video see-through type HMD has an imaging unit (camera 120 in this embodiment) for capturing an image of the surrounding landscape, and displays an image of the landscape in front of the user captured by the imaging unit on the display unit. Let me.
- the display unit 150 includes left and right screens fixed at positions corresponding to the left and right eyes of the user, respectively, and has an image for the left eye and an image for the right eye. Is displayed. Further, the display unit provided in the video see-through type HMD that realizes the information processing apparatus 10 according to the present embodiment may be capable of switching to an optical see-through display.
- the information processing device 10 may be a terminal such as a smartphone, a mobile phone terminal, or a tablet terminal that the user holds and uses, or a wearable device that the user can wear.
- the information processing device 10 may be realized by a plurality of devices.
- the system may include a display device having at least a camera 120, a sensor unit 140, and a display unit 150 shown in FIG. 1, and a control device having at least a control unit 100.
- the display device and the control device may be connected by communication by wire or wirelessly to transmit and receive data. Communication between the display device and the control device may be performed by, for example, Wi-Fi (registered trademark), LAN (Local Area Network), Bluetooth (registered trademark), or the like.
- each function of the control unit 100 of the information processing apparatus 10 may be realized by a server provided on the network, or a dedicated terminal, a smartphone, or a tablet arranged in the same space as the user. It may be realized by a terminal, a PC, or the like.
- the virtual object In order to make it look as if the virtual object actually exists in the real space, it is desirable to display the virtual object according to the position of the real object. Even when a video see-through type display is used, the recognition process of the real object is performed based on the captured image in the real space, and when the recognition process is completed, the position or posture of the real object is corresponded to based on the recognition process result. A virtual object with the appropriate position or orientation is drawn.
- FIG. 2 is a diagram illustrating a sense of incongruity caused by a display delay of a virtual object.
- the display image shown in FIG. 2 is an example of an image displayed on the display unit 150.
- the display image includes a captured image (view image) in real space and a virtual object 30.
- the user turns to the right (when the camera 120 turns to the right), as shown in the display image 201 from the display image 200 of FIG.
- the captured image captured by the camera 120 is displayed on the display unit 150. Since it is displayed in real time (for example, from imaging to display in about 15 milliseconds), the field of view changes. When the field of view is covered by the display unit 150 and the landscape in the real space is not directly in the field of view, it is difficult for the user to notice even if there is a discrepancy (display delay) between the actual field of view and the field of view image displayed on the camera 120, which makes the user feel uncomfortable. Does not occur. On the other hand, the display delay of the virtual object 30 with respect to the visual perception image is easily noticeable even if the deviation amount is relatively small, and a sense of discomfort occurs. Specifically, as shown in the display image 201 of FIG.
- the latest (current) image is displayed as the field of view image, but at this point, the recognition process of the latest (current) field of view image is still finished.
- the display position of the virtual object 30 is displaced from the desk (real object), which causes a sense of discomfort. After that, when the recognition process and the drawing process based on the recognition process are completed, the display position of the virtual object 30 is updated to an appropriate position according to the position of the desk, as shown in the display image 202.
- FIG. 3 is a timing chart showing a flow of a series of processes for explaining the display delay of the virtual object 30.
- both the captured image used as the field view image and the captured image used for the recognition process are shown so as to be obtained from one "imaging” (imaging unit), but “imaging” (imaging). There may be multiple parts). That is, there may be an “imaging” (imaging unit) for acquiring an captured image used as a field image and an “imaging” (imaging unit) for acquiring an captured image used for recognition processing. Further, the display process may be generally updated at 90 Hz. The time required for the recognition process depends on the hardware performance, the type of the recognition algorithm, the recognition target, and the like, but may be assumed to be, for example, about 12 ms to 13 ms.
- the recognition process unit 101 analyzes the captured image (1) acquired by the image pickup process I1 and performs the recognition process R1 to recognize the real object. ..
- the virtual object drawing processing unit 102 performs the drawing processing W v1 of the virtual object based on the recognition result of the recognition processing R1.
- the imaging process is performed camera 120 in continuation to the virtual at the time when the object rendering processing unit 102 has finished drawing process W v 1
- the drawing process W f 1 of the captured image (3) is performed by the view drawing processing unit 103.
- the display processing unit 104 includes a virtual object drawn by the drawing process W v1 performed based on the recognition processing result of the captured image (1) and the latest captured image drawn by the drawing process W f 1 ( 3) Performs display processing O1 for displaying and on the display unit 150. That is, when displaying the latest captured image (3) drawn by the drawing process W f 1, the recognition process R2 of the latest captured image (3) has not been completed yet, and the read buffer is recognized. Since the virtual object drawn by the drawing process W v1 performed based on the process R1 is stored, the virtual object drawn by the drawing process W v 1 is read out and displayed in an superimposed manner.
- the display delay of the field of view and the display delay of the virtual object may occur.
- the visual field display delay is the deviation between the actual external landscape and the displayed visual field image. Specifically, it is, for example, the time between performing the image pickup process I3 and displaying (outputting) the captured image (3) acquired by the image pickup process I3.
- the display delay of the virtual object is the deviation between the field of view image and the virtual object.
- the captured image (1) is acquired based on the time when the imaging process I3 for acquiring the view image (captured image (3)) is performed and the authentication result (recognition process R1) referred to in the drawing of the virtual object. It is a time between the time when the imaging process I1 is performed.
- the display position or orientation of the virtual object output in the display process O1 is based on the image captured by the image pickup process I1 (1), and the field view image is the image captured by the image pickup process 3 (3). If there is a change in the field of view before the drawn virtual object is displayed, the relative positional relationship between the position of the real object in the field of view image and the position on which the drawn virtual object is superimposed. Misalignment can occur.
- the display delay of the field of view is the difference between the actual field of view (external landscape) and the field of view image displayed on the camera 120 when the field of view is covered by the display unit 150 and the landscape in the real space is not directly in the field of view. It is difficult to notice the deviation, and there is no sense of discomfort.
- the display delay of the virtual object is conspicuous even if it is slight, and a sense of incongruity occurs.
- the display delay of the virtual object superimposed on the visual perception image occurs for two frames (two imaging processes).
- the deviation of the relative positional relationship between the real object and the virtual object that is, the display delay when superimposing the virtual object on the field of view
- the display is more preferable.
- FIG. 4 is a timing chart showing a flow of a series of processes for explaining the display control according to the present embodiment.
- the field image displayed (output) in the display process O11 is not the latest (current) captured image (the captured image acquired by the imaging process I3) but the past captured image. (For example, the captured image acquired by the imaging process I2) is used.
- the display processing unit 104 a virtual object rendered by the rendering process W v 1 based on the recognition processing result of recognizing the recognition processing R1 analyzes the acquired captured image (1) by imaging processing I1, imaging Based on the captured image (2) acquired by the process I2, the control is performed so that the image is superimposed and displayed on the view image drawn by the drawing process W f1.
- the display delay of the virtual object with respect to the view image is one frame, which is shorter than the example shown in FIG.
- the display delay time of the field of view is longer than that of the example shown in FIG.
- the image pickup process is continuously performed after the image pickup process I3, but the illustration is omitted.
- the captured image acquired from the image pickup process performed immediately before the image pickup process I1 is used as the field of view image, but the illustration is also omitted. ..
- the illustration of the past display processing is also omitted.
- the imaging speed of the field of view and the update frequency of the display can be maintained.
- the display processing unit 104 reduces the display delay of the virtual object superimposed on the visual field image by using the captured image of the past from the current (latest) captured image for the visual field image to be displayed while the display update frequency is continuously maintained. Make it possible.
- the captured image one frame before is selected as the view image to be displayed, but this is an example, and the captured image two frames before may be selected, or how many frames before. It is not particularly limited whether to select the captured image.
- FIG. 5 is a flowchart showing an example of the flow of display control performed by the information processing apparatus according to the present embodiment.
- the camera 120 of the information processing apparatus 10 performs an imaging process for imaging the real space (step S103). If a camera for recognition processing is provided separately, the camera for recognition processing also performs imaging processing for imaging the real space in parallel.
- the recognition processing unit 101 of the information processing apparatus 10 analyzes the captured image captured in the real space and performs the recognition processing of the real object (step S106).
- the recognition process is performed based on the latest captured image based on the time point at which the recognition process is started.
- the control unit 100 measures the time required for the recognition process (step S109).
- the "time" required for the recognition process is the time from the start to the end of the recognition process of the captured image in the real space by the virtual object drawing processing unit 102.
- the time required for the recognition process may vary depending on the characteristics of the recognition algorithm used for analyzing the captured image and the number of recognition algorithms used.
- the time required for the recognition process differs depending on what is recognized and how much.
- the recognition algorithm is an algorithm having a high processing load such as three-dimensional object recognition or bone estimation, it takes more time than two-dimensional object recognition or the like.
- a plurality of recognition algorithms may be used, such as a combination of algorithms for recognizing changes (differences) from past captured images. Further, a plurality of recognition algorithms having different recognition targets may be used. When a plurality of recognition algorithms are used, the time required for the recognition process is measured as the time until the recognition process by all of them is completed.
- the control unit 100 determines whether or not the recognition processing time is longer than the visual field drawing processing time (step S112).
- the field of view drawing processing time is the time from when the virtual object drawing processing unit 102 starts drawing the field of view image in the buffer to when it ends.
- the recognition process can be processed in parallel with the field of view drawing process.
- the control unit 100 may determine whether or not the time at which the recognition processing time ends is later than the visual field drawing processing time.
- An example of the first load of the present disclosure is a case where the recognition processing time is the same as or shorter than the field of view drawing processing time.
- an example of a second load higher than the first load of the present disclosure is a case where the recognition processing time is longer than the field of view drawing processing time. That is, the first load corresponds to the time required for the recognition process to be equal to or less than the time required to draw the acquired captured image.
- the second load corresponds to the case where the time required for the recognition process is longer than the time required to draw the acquired captured image.
- the field of view drawing processing unit 103 sets the target of the field of view drawing processing.
- the imaging time is changed to an older captured image (step S115). That is, the field of view drawing processing unit 103 selects the past captured image as the target of the field of view drawing, not the current (latest) captured image (that is, the through image).
- the selection of the past captured image is not particularly limited, but for example, the captured image acquired at the same timing as the acquisition timing of the captured image used in the recognition process for drawing the virtual object, or more. It may be a new captured image.
- the shooting time of the past captured image is within an allowable range from the current time.
- the difference between the actual external landscape and the field of view image may be set for "a degree that does not cause a sense of discomfort to the user", or may be changed fluidly according to the situation.
- the situation is the magnitude of the user's movement or changes in the surroundings.
- the current (latest) captured image is displayed in real time as much as possible, but in the present embodiment, the field of view display is intentionally delayed so that the virtual object and the field of view image can be displayed. The deviation of the display is suppressed.
- the first process of drawing the current (latest) captured image (through image) as a field of view image is a process in which the delay of the field of view display is small, and is referred to as "low delay process”.
- the second process of drawing a past captured image as a field of view image and intentionally delaying the field of view display is a process in which the delay of the field of view display is larger than that of the “low delay process”. In, it is called "high delay processing".
- time time required for recognition processing
- the load of recognition processing may be based on the type of recognition algorithm and the frame rate.
- control unit 100 performs a drawing process of the visual field image in the visual field information buffer by the visual field drawing processing unit 103 and a drawing process of the virtual object in the virtual information buffer by the virtual object drawing processing unit 102 (step S118). These drawing processes can be performed in parallel.
- the visual field drawing processing unit 103 is the target of the visual field drawing processing. Do not change. That is, the field of view drawing processing unit 103 draws the image captured with the newest imaging time (that is, the through image) in the field of view information buffer as usual.
- control unit 100 performs a process of reading the information drawn in each buffer by the display processing unit 104 and displaying it on the display unit 150 (step S121). Specifically, the display processing unit 104 controls to superimpose and display the virtual object on the field of view image.
- steps S103 to S121 is repeated until the display control of the display unit 150 is completed (step S124).
- the order of processing according to the present disclosure is not limited to the flow shown in FIG.
- the imaging process shown in step S103 and the recognition process shown in step S106 may be performed in parallel.
- the recognition processing unit 101 acquires the latest captured image as the next recognition processing target and starts the recognition processing.
- the information processing apparatus 10 displays the past captured image in the field of view to the low delay process (first process) for displaying the current (latest) captured image (through image) as the field of view image as appropriate depending on the situation. It is possible to deal with safety by switching from the high delay process (second process) displayed as an image.
- the information processing apparatus 10 controls to switch from high delay processing to low delay processing with an emphasis on safety when the user using the information processing apparatus 10 is moving at a speed equal to or higher than a predetermined speed.
- switching switching from the state in which the past captured image was displayed to the state in which the current captured image is displayed
- a predetermined number of frames are applied according to the speed, and the modified view image is used (). It is possible to realize switching with reduced discomfort and unnaturalness by taking measures such as step by step to bring the current / past captured images closer to each other. Details will be described later.
- the recognition processing may be shortened as much as possible by changing the type of the recognition algorithm to be used or increasing the frame rate. This reduces the display delay of the virtual object during low delay processing. Details will be described later.
- the information processing apparatus 10 may control to switch from high delay processing to low delay processing when there is a moving object near the user. Further, the information processing apparatus 10 may stop the superimposed display of the virtual object when the user may collide with the real object (the display of the field of view image is performed by low delay processing).
- the speed of the user is the speed of the user who wears or holds the information processing device 10 on the head or the like, and can be said to be the speed of the information processing device 10 (at least the camera 120).
- the threshold value for stopping the superimposition of the virtual object is also set.
- the threshold value for stopping the superimposition of virtual objects is set, for example, by the distance. Such a threshold value is also referred to as a superposition stop line.
- FIG. 6 is a diagram illustrating a superposition stop line according to the present embodiment and a determination reference element for switching control.
- the information processing apparatus 10 acquires the self-position P, the self-velocity s, and the distance d between the moving object q and the self-position P based on the sensing by the sensor unit 140 and the recognition by the recognition processing unit 101.
- the moving object q is an object that exists in the real space and is assumed to be an object whose position is changing (moving). For example, humans, bicycles, automobiles, self-propelled robots, drones, etc. are assumed.
- the information processing apparatus 10 sets a superimposition stop line (distance D) for stopping the superimposition display of virtual objects, for example, according to its own speed s.
- the display position of the virtual object obj may include depth information.
- the information processing apparatus 10 performs non-display control when the display position of the virtual object obj is closer to the superimposition stop line (self-position P side), and performs display control when it is far from the superimposition stop line. Therefore, in the example shown in FIG. 6, the virtual object V-obj1 located farther from the superposition stop line is displayed, and the virtual object V-obj2 located closer to the superposition stop line is hidden.
- the information processing apparatus 10 appropriately controls switching between high delay processing and low delay processing according to its own speed s and the distance d from the moving object q.
- each threshold value defined with respect to the self-velocity s used in FIGS. 7 and 8 is as shown in Table 1 below.
- each threshold value defined with respect to the distance d between the self-position P and the moving object q used in FIGS. 7 and 8 is as shown in Table 2 below.
- “close” means that the distance to the self-position P is short
- “far” means that the distance to the self-position P is long.
- each threshold value (distance D from the self-position P) defined for the superposition stop line used in FIGS. 7 and 8 is as shown in Table 3 below.
- “close” means that the distance to the self-position P is short
- “far” means that the distance to the self-position P is long.
- the distance value has a relationship of d3 ⁇ D4.
- FIG. 7 is a flowchart showing an example of the flow of switching process during low delay according to the present embodiment.
- the term "low delay” means that the field of view display is controlled with a small delay. That is, the current (latest) captured image is drawn as a visual field image, and control is performed so that the image is displayed on the display unit 150.
- FIG. 7 describes the switching process to the high delay in this case.
- step S203 when the own speed s is larger (faster) than s6 (step S203 / Yes), the control unit 100 sets the superposition stop line to D6 (step S206).
- control unit 100 sets the superposition stop line to D5 (step S212).
- control unit 100 sets the superposition stop line to D4 (step S218).
- the display processing unit 104 performs processing that does not superimpose and display virtual objects located on the front side (user side) of the superimposition stop line set as described above. Subsequently, a process of switching from a low delay to a high delay according to its own speed s and the distance to the moving object q will be described.
- control unit 100 switches to high delay processing (high delay setting) according to each condition.
- the control unit 100 sets the field of view drawing to a high delay (step S227). That is, the control unit 100 is set to a mode in which the delay control of the visual field display according to the present embodiment in which the past visual field image is drawn in the buffer is performed.
- the conditions shown here are as follows. ⁇ Condition 1 Self speed s ⁇ s2 (However, when the moving object q does not exist on the user side of the overlapping stop line)
- control unit 100 determines whether or not its own speed s is larger than s1 (whether or not it is fast) (step). S230).
- control unit 100 determines whether or not the distance d with the moving object q is larger than d3 (whether or not it is far) (whether or not it is far). Step S233).
- step S257 the control unit 100 sets the field of view drawing to a high delay (step S227).
- the conditions shown here are as follows. ⁇ Condition 2 s1 ⁇ self-velocity s ⁇ s2 and distance d> d3
- step S230 when it is determined in step S230 that its own speed s is smaller (slower) than s1 (step S230 / No), the control unit 100 further determines whether or not the distance d from the moving object q is larger than d1. (Whether it is far or not) is determined (step S236).
- step S236 / Yes when the distance d from the moving object q is larger (far) than d1 (step S236 / Yes), the control unit 100 sets the field of view drawing to a high delay (step S227).
- the conditions shown here are as follows. ⁇ Condition 3 Own speed s ⁇ s1 and distance d> d1
- steps S203 to S236 is repeated until the low delay process is completed (step S239).
- step S221 / Yes, step S233 / No, step S236 / No the control unit 100 does not switch to the high delay and maintains the low delay setting.
- FIG. 8 is a flowchart showing an example of the flow of switching process during high delay according to the present embodiment.
- “During high delay” means that control is performed in which the delay in the field of view display is large. That is, the control is performed so that the past captured image is drawn as a field of view image and displayed on the display unit 150.
- FIG. 8 describes the switching process to the low delay in this case.
- step S303 / Yes when the own speed s is larger (faster) than s6 (step S303 / Yes), the control unit 100 sets the superposition stop line to D6 (step S306).
- control unit 100 sets the superposition stop line to D5 (step S312).
- control unit 100 sets the superposition stop line to D4 (step S318).
- the display processing unit 104 performs processing that does not superimpose and display virtual objects located on the front side (user side) of the superimposition stop line set as described above.
- step S315 when the self-velocity s is larger (fast) than s6 (step S303 / Yes), larger than s5 (faster) (step S309 / Yes), and larger than s4 (faster) (step S315 / Yes).
- the control unit 100 switches to low delay processing (low delay setting) (step S321).
- step S324 / Yes even when the own speed s is larger (faster) than s3 (step S324 / Yes, the control unit 100 switches to low delay processing (low delay setting) (step S321). That is, the conditions shown here are as follows. ⁇ Condition 1 Self speed s> s3
- the high delay processing is switched to the low delay processing as a measure for safety.
- step S324 / No when the own speed s is smaller (slower) than s3 (step S324 / No), the control unit 100 switches to low delay processing (low delay setting) according to each condition.
- control unit 100 determines whether or not the moving object q exists on the user side from the superposition stop line (step S327).
- step S327 / Yes When the moving object q exists on the user side from the superposition stop line (step S327 / Yes) and the distance d to the moving object q is smaller (closer) to d1 (step S330 / Yes), the control unit 100 performs low delay processing. Switching to (low delay setting) is performed (step S321).
- the conditions shown here are as follows. ⁇ Condition 2 Own speed s ⁇ s3 and distance d ⁇ d1
- the high delay processing is switched to the low delay processing as a measure for safety.
- step S330 when the distance d is larger (far) than d1 (step S330 / No), the control unit 100 determines whether or not its own speed s is larger than s1 (whether or not it is fast) (step S330 / No). Step S333).
- step S333 when the self-velocity s is larger (faster) than s1 (step S333 / Yes), and the distance d to the moving object q is smaller (closer) than d2 (step S336 / Yes), the control unit 100 is low. Switching to the delay processing (low delay setting) is performed (step S321).
- the conditions shown here are as follows. ⁇ Condition 3 s1 ⁇ self-velocity s ⁇ s3 and distance d ⁇ d2
- the high delay processing is switched to the low delay processing as a measure for safety.
- steps S303 to S336 is repeated until the high delay process is completed (step S339).
- step S327 / No, step S333 / No, step S336 / No If the above conditions are not met (step S327 / No, step S333 / No, step S336 / No), the control unit 100 does not switch to the low delay and maintains the high delay setting.
- step S221 of FIG. 7 and step S324 of FIG. 8 the field of view drawing processing unit 103 switches to low delay at its own speed s> s3 during high delay processing (that is, s3 is switched to high delay).
- s3 is switched to high delay.
- s2 is a high delay start threshold
- the control unit 100 When switching between low-delay processing and high-delay processing, the control unit 100 applies a predetermined number of frames and uses a modified visual image (performs a process of gradually approaching the current / past captured image) and the like.
- a modified visual image performs a process of gradually approaching the current / past captured image
- the process of approaching the current / past captured image can be realized, for example, by gradually deforming the image based on the latest self-position when drawing the captured image (view image).
- Which switching method to use can be selected, for example, according to its own speed s.
- the visual field drawing processing unit 103 determines the captured image based on the self-position of the information processing apparatus 10 at a predetermined time later than the imaging time of the captured image to be drawn. By transforming the image, it becomes possible to gradually approach the current / past captured image.
- the image deformation here may be, for example, one that can be performed by utilizing the margin portion of the field image included in the captured image captured by the camera 120. That is, it is premised that the captured image captured by the camera 120 is acquired at an angle of view larger than that of the field of view image.
- the visual field drawing processing unit 103 draws the captured image after moving the range of the visual field image normally located at the center in a predetermined direction according to the change (movement) of the self-position from the time of imaging. Achieve image transformation.
- FIG. 9 is a timing chart illustrating a case where a predetermined number of frames are applied to switch a field image when switching from a high delay to a low delay according to the present embodiment.
- a case of switching to the low delay processing when the own speed s exceeds s3 during the high delay processing will be described.
- the field of view drawing processing unit 103 draws, for example, a captured image one frame past.
- the field-of-view drawing processing unit 103 deforms the image based on the self-position P from the field-of-view drawing process W f3 started after the self-speed s exceeds s3. And then draw the captured image.
- the image is deformed in the field of view drawing processes W f 3, W f 4, and W f 5 (that is, over 3 frames).
- the number of frames is not particularly limited.
- the field of view drawing processing unit 103 deforms and draws the captured image acquired by the imaging process I2 based on the self-position P1 at the time point t1 in the field of view drawing processing W f3. Then, view rendering processor 103, in view rendering process W f 4, based on the self position P2 at time t2, to draw by modifying the captured image acquired by the imaging processing I3. Subsequently, view rendering processor 103, in view rendering process W f 5, based on the self position P3 at time t3, to draw by modifying the captured image acquired by the imaging processing I3. Then, the field of view drawing processing unit 103 draws the captured image acquired by the imaging process I6 in the field of view drawing process W f6 (low delay process).
- the captured image delayed by 1 frame was drawn before switching (during high delay processing)
- the captured image deformed at the self-position P1 at the time point t1 delayed by 3/4 frame was used, and then 2/4 frame.
- the time point t2 is delayed, and then the time point t3 is delayed by 1/4 frame.
- the time interval from t1 to t3 is an example and does not necessarily have to be uniform.
- FIG. 10 is a timing chart illustrating a case where a predetermined number of frames are applied to switch a field image when switching from a low delay to a high delay according to the present embodiment.
- a case of switching to the high delay processing when the own speed s is lower than s2 during the low delay processing will be described.
- the field of view drawing processing unit 103 draws the current (latest) captured image (the captured image acquired by the imaging process I1).
- the visual field drawing processing unit 103 deforms the image based on the self-position P from the visual field drawing processing W f2 started after the self-speed s is lower than s2. And then draw the captured image.
- the image is deformed in the field of view drawing processes W f 2, W f 3, and W f 4 (that is, over 3 frames).
- the number of frames is not particularly limited.
- the field of view drawing processing unit 103 deforms and draws the captured image acquired by the imaging process I2 based on the self-position P1 at the time point t1 in the field of view drawing processing W f2.
- the field of view drawing processing unit 103 deforms and draws the captured image acquired by the imaging process I3 based on the self-position P2 at the time point t2 in the field of view drawing processing W f3.
- view rendering processor 103 in view rendering process W f 4, based on the self position P3 at time t3, to draw by modifying the captured image acquired by the imaging processing I4.
- the view rendering processor 103 in view rendering process W f 5, the captured image acquired by the imaging processing I4 (without modification) to draw (high delay processing).
- the captured image deformed at the self-position P1 at the time point t1 delayed by 1/4 frame was used first, and then delayed by 2/4 frame.
- the time point t2 is followed by the time point t3 which is delayed by 3/4 frame.
- the time interval from t1 to t3 is an example and does not necessarily have to be uniform.
- FIG. 11 is a timing chart illustrating a case where the view image is immediately switched when switching from the high delay to the low delay according to the present embodiment.
- the speed s exceeds s4 during the high delay processing and the speed is immediately switched to the low delay processing will be described.
- the field of view drawing processing unit 103 draws a captured image one frame past.
- the field-of-view drawing processing unit 103 receives the current (latest) captured image (latest) in the field-of-view drawing process W f3 started after the self-speed s exceeds s4.
- the captured image acquired by the imaging process I3) is drawn. In this way, by switching from the field of view drawing process immediately after the self-speed s exceeds s4 to the current captured image, it is possible to realize immediate switching in consideration of safety.
- FIG. 12 is a timing chart illustrating a case where the view image is immediately switched at the time of switching from low / high delay to high delay according to the present embodiment.
- FIG. 12 a case where the speed s of the self speed falls below s1 during the low delay processing is immediately switched to the high delay processing will be described.
- the field of view drawing processing unit 103 draws the current (latest) captured image (the captured image acquired by the imaging process I1).
- the field-of-view drawing processing unit 103 receives an image (captured) one frame past in the field-of-view drawing process W f2 started after the self-speed s is lower than s1.
- the captured image acquired by the process I1) is drawn. In this way, by switching from the field-of-view drawing process immediately after the self-speed s falls below s1 to the past captured image, it is possible to realize immediate switching in response to safety.
- 3D object recognition and bone estimation algorithms can recognize positions and orientations, but the processing time is relatively long.
- 2D object recognition often has a shorter processing time than 3D object recognition, but 3D object recognition and bone estimation algorithms are used as real-space recognition processing for appropriately superimposing virtual objects. Often not enough when compared.
- control unit 100 shortens the time required for the recognition processing by changing the algorithm used for the recognition processing, and the display delay of the virtual object (the display of the real object and the display). It is also possible to make the deviation) as small as possible.
- FIGS. 13 and 14 show an example of the update frequency in the recognition process when different types of recognition algorithms are used.
- FIG. 13 is a timing chart showing an example of the update frequency of the recognition process when the three-dimensional object recognition algorithm is used.
- FIG. 14 is a timing chart showing an example of the update frequency of the recognition process when the two-dimensional object recognition algorithm is used. Comparing FIGS. 13 and 14, the recognition process (position and orientation recognition) when using the 3D object recognition algorithm takes longer than the recognition process (position recognition) when using the 2D object recognition algorithm. Therefore, the update frequency is low. Therefore, the recognition processing unit 101 can shorten the recognition processing by changing from the three-dimensional recognition algorithm to the two-dimensional recognition algorithm when the view drawing is switched to the low delay processing.
- the three-dimensional recognition process and the two-dimensional recognition using the feature point tracking process in combination may be performed in parallel.
- the result of the three-dimensional recognition process when the result of the three-dimensional recognition process is obtained, the result of the three-dimensional recognition process is output. While the result of the three-dimensional recognition process cannot be obtained, the result of the two-dimensional recognition combined with the feature point tracking process is output. That is, by using the result of the feature point tracking process in the two-dimensional recognition process, it is possible to approximate the result of the two-dimensional recognition process to the result of the three-dimensional recognition process. As a result, it is possible to perform recognition processing with higher accuracy as compared with only the two-dimensional recognition processing in a state where the update frequency is high.
- FIG. 16 shows a case where the virtual object is displayed based only on the two-dimensional recognition process.
- the virtual object 32 is superimposed and displayed on the real object 40.
- the position and posture of the real object 42 change as shown in the display image 211, but in the case of only the two-dimensional recognition process, only the position of the superimposed virtual object 34 is correctly updated.
- the posture becomes unnatural.
- the lower part of FIG. 16 shows a case where a virtual object is displayed based on a two-dimensional recognition process combined with a feature point tracking process.
- the virtual object 32 is superimposed and displayed on the real object 40.
- the position and posture of the real object 42 change as shown in the display image 216.
- the view drawing processing unit 103 displays a virtual object 36 with reduced posture unnaturalness by estimating a change in posture and drawing a virtual object by two-dimensional recognition processing combined with feature point tracking processing. Is possible.
- the field of view drawing processing unit 103 may perform only two-dimensional recognition in combination with feature point tracking processing.
- FIG. 17 is a diagram illustrating a situation in which the sense of sight and the sense of touch are inconsistent.
- FIG. 17 shows a display image 218 (view image).
- the virtual object is not shown in FIG. 17, it is premised that the delay processing (high delay processing) of the field of view display according to the present embodiment is applied. Therefore, the display image 218 displayed on the display unit 150 is delayed with respect to the actual landscape in the real space. Therefore, when the user tries to hand the book 46 held in the hand 45 to the opponent's hand 47, the book 46 has not yet touched the opponent's hand 47 in the display image 218, but the book 46 is in the actual real space. It may touch the opponent's hand 51. At this time, the user feels resistance or vibration to the book 46, and the visual sense and the tactile sense do not match.
- FIG. 18 is a diagram illustrating an example of coping with tactile mismatch according to the present embodiment.
- the control unit 100 visually assists the contact with the other party's hand 47 by displaying the frame image 37 (virtual object) surrounding the book 46 in the display image 220 (view image). do.
- the frame image 37 is displayed in a size that can be seen in contact with the opponent's hand 47.
- the user sees the frame image 37 of the book 46 that he / she actually grips in contact with the other hand 47, so that the incompatibility with the tactile sensation is reduced.
- the size of the frame image 37 varies according to the position of the opponent's hand 47.
- the control unit 100 grasps that at least a part of the user's body comes into contact with an object in the real space from the recognition of the captured image in the real space, and visually assists the contact with the object in the field of view image. Control to superimpose on.
- the shape of the virtual object that visually assists the contact is not limited to the example shown in FIG.
- the control unit 100 can control superimposing a virtual object that visually assists the auditory sense on the visual field image as an example of coping with the auditory mismatch. For example, by displaying a virtual object that visually assists the contact as described above, it is possible to assist the contact sound at the same time.
- the control unit 100 can further reduce the display delay for each virtual object by using a recognition algorithm that differs depending on the recognition target (at least the recognition processing time differs).
- a recognition algorithm that differs depending on the recognition target (at least the recognition processing time differs).
- FIG. 19 is a diagram showing a display example of a plurality of virtual objects according to the present embodiment.
- the virtual object 38A and the virtual object 38B are displayed as an example in the display image 240 (view image).
- the virtual object 38A is, for example, an image that informs the name of the person 48, the department to which the person belongs, and the like, and is displayed around the person 48.
- the virtual object 38B is, for example, an image superimposed on the body of the person 48 and displayed.
- the virtual object 38B may be, for example, an image of virtual clothes, decorations, or the like.
- the virtual object 38B is displayed superimposed on the body of the person 48, it is desirable that the display delay of the virtual object 38B with respect to the real object (person 48) is as small as possible compared to the virtual object 38A. .. That is, the virtual object 38A does not feel uncomfortable even if the display delay is slightly large.
- FIG. 20 is a timing chart showing a flow of a series of processes for explaining display control using a plurality of recognition algorithms performed by the information processing apparatus according to the present embodiment.
- the recognition processing unit 101 performs the recognition process 1 and the recognition process 2 on the captured image acquired by the image pickup process I.
- the recognition process 1 and the recognition process 2 are recognition algorithms having different recognition process times.
- the virtual object drawing processing unit 102 acquires the result of the recognition process R1-2 by the recognition process 1 and the result of the recognition process R2-1 by the recognition process 2.
- the result of the recognition process R1-2 recognizes the captured image acquired by the image pickup process I3, and the result of the recognition process R2-1 is the captured image acquired by the image pickup process I1 in the past from the image pickup process I3. I recognized it. That is, since the captured image based on the recognition process R2-1 is a captured image at a time earlier than the captured image based on the recognition process R1-2, the view image of the virtual object drawn based on the result of the recognition process R2-1.
- the display delay for (for example, the view image is the captured image acquired by the imaging process I3) is larger than the display delay of the virtual object drawn based on the result of the recognition process R1-2.
- the virtual object drawing processing unit 102 draws the virtual object 38B whose display delay is desired to be small based on the result of the recognition process R1-2, and even if the display delay is larger than that of the virtual object 38B, the virtual object 38A does not feel uncomfortable. Is drawn based on the result of the recognition process R2-1. This makes it possible to appropriately reduce the display delay for each virtual object.
- the recognition process 2 may use a recognition algorithm that recognizes only the real object involved in drawing the virtual object that uses the result of the recognition process.
- the present technology can also have the following configurations.
- (1) Controls the video see-through display that displays the captured image acquired by the image pickup unit, When the load of the real space recognition process based on the predetermined captured image is the first load, the virtual object drawn based on the real space recognition process is superimposed on the first captured image. When the load of the recognition process is a second load higher than the first load, the virtual object is superimposed on the second captured image past the first captured image.
- (2) The information processing apparatus according to (1), wherein the first load and the second load are related to the time required for the recognition process, respectively.
- the first load corresponds to the time required for the recognition process to be equal to or less than the time required to draw the acquired image
- the second load corresponds to the time required for the recognition process to be the acquired image pickup.
- the information processing apparatus according to (2) above which corresponds to a case where the time for drawing an image is longer.
- the second captured image is the acquired captured image, and is a captured image that is a predetermined number of frames before the first captured image.
- the information processing apparatus according to (8) above, wherein the predetermined conditions relate to the moving speed of the information processing apparatus provided with the imaging unit and the video see-through display.
- the predetermined condition is described in the above (8) or (9) regarding the distance between the information processing apparatus provided with the image pickup unit and the video see-through display and a moving object existing in the real space.
- Information processing device (11)
- the display control unit displays the second captured image on the video see-through display and displays the virtual image on the video see-through display to the first process of displaying the first captured image on the video see-through display and superimposing the virtual object.
- the information processing apparatus according to any one of (1) to (10) above, which controls switching from the second process of superimposing objects.
- the switching control a process of stepwise transforming the captured image displayed on the video see-through display from the second captured image to the first captured image based on the latest self-position of the information processing apparatus is performed.
- the information processing apparatus according to (11) above.
- the processor Controlling the display of the video see-through display that displays the captured image acquired by the image pickup unit, and When the load of the real space recognition process based on the predetermined captured image is the first load, the display control for superimposing the virtual object drawn based on the real space recognition process on the first captured image is performed. , When the load of the recognition process is a second load higher than the first load, the display control for superimposing the virtual object on the second captured image past the first captured image is performed.
- Information processing methods including.
- Information processing device 100 Control unit 101 Recognition processing unit 102 Virtual object drawing processing unit 103 Field of view drawing processing unit 104 Display processing unit 110 Communication unit 120 Camera 130 Operation input unit 140 Sensor unit 150 Display unit 160 Speaker 170 Storage unit
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Software Systems (AREA)
- Databases & Information Systems (AREA)
- Computer Graphics (AREA)
- Health & Medical Sciences (AREA)
- Artificial Intelligence (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Evolutionary Computation (AREA)
- General Health & Medical Sciences (AREA)
- Medical Informatics (AREA)
- Multimedia (AREA)
- Processing Or Creating Images (AREA)
- User Interface Of Digital Computer (AREA)
Abstract
【課題】ビデオシースルーディスプレイで仮想オブジェクトを視野に重畳する際の表示遅延を適切に低減することが可能な情報処理装置、情報処理方法、および記憶媒体を提供する。 【解決手段】撮像部により取得された撮像画像を表示するビデオシースルーディスプレイを制御し、所定の撮像画像に基づく実空間の認識処理の負荷が第1の負荷である場合、前記実空間の認識処理に基づき描画された仮想オブジェクトを第1の撮像画像に重畳し、前記認識処理の負荷が前記第1の負荷よりも高い第2の負荷である場合、前記第1の撮像画像よりも過去の第2の撮像画像に前記仮想オブジェクトを重畳する、表示制御部を備える、情報処理装置。
Description
本開示は、情報処理装置、情報処理方法、および記憶媒体に関する。
近年、実空間と仮想空間とを融合して視聴する技術が様々開発されている。例えば、実空間が直接見える状態で実空間に仮想空間の画像(仮想オブジェクトと称する)を重畳的に表示する技術として、拡張現実(AR:Augmented Reality)技術が開発されている。拡張現実を実現する装置としては、光学透過型のヘッドマウントディスプレイ(HMD:Head Mounted Display。以降「HMD」と呼称する)が挙げられる。
例えば下記特許文献1では、AR技術において、仮想オブジェクトを実空間の物体に紐付けて表示することが記載されている。具体的には、実空間の物体の位置又は姿勢を認識し、認識結果に基づいて仮想オブジェクトの表示を行っている。また、下記特許文献1では、実空間の物体の位置又は姿勢の変化を予測しながら仮想オブジェクトを表示している。さらに、下記特許文献1では、予測のための情報を取得した時刻から仮想オブジェクトを表示する時刻までのタイムラグにより仮想オブジェクトの表示位置又は姿勢が本来表示すべき位置又は姿勢からずれるといった表示の乱れが生じる場合、モーションブラー処理等により表示位置を曖昧にすることで表示のずれを目立たないようにしている。
また、下記特許文献2では、AR技術において、HMDを装着したユーザや実空間の物体が動いた場合に、その動きに仮想オブジェクトの位置や姿勢を追随させ、表示の遅延による違和感を軽減することが記載されている。具体的には、下記特許文献2では、HMDの位置姿勢を予測し、予測に基づいて仮想オブジェクトを画像変形することで、ユーザが感じる重畳位置のずれや表示遅延を軽減させている。なお、下記特許文献2では、ラスタスキャン方式が適用されたディスプレイが用いられ、ディスプレイが、ラスタスキャンの走査方向に対して垂直な方向に複数のスライス(表示領域)に分割されている。各スライスは、走査に従って順次表示処理が行われる。すなわち、下記特許文献2のHMDは、表示タイミングが異なる隣接した複数の表示領域を有するディスプレイを有する。下記特許文献2のHMDは、各スライスへの表示が行われる時点から可能な限り直前の時点において、各スライスの表示時点の自装置の位置姿勢を予測し、その予測結果に基づいてスライス毎に画像変形を行うことで、ユーザが感じる重畳位置のずれや表示遅延を軽減させている。
上記先行技術では、ビデオシースルーディスプレイに仮想オブジェクトを重畳する場合における、ユーザ視野の表示遅延に関する課題について考慮されていない。
そこで、本開示では、ビデオシースルーディスプレイで仮想オブジェクトを視野に重畳する際の表示遅延を適切に低減することが可能な情報処理装置、情報処理方法、および記憶媒体を提案する。
本開示によれば、撮像部により取得された撮像画像を表示するビデオシースルーディスプレイを制御し、所定の撮像画像に基づく実空間の認識処理の負荷が第1の負荷である場合、前記実空間の認識処理に基づき描画された仮想オブジェクトを第1の撮像画像に重畳し、前記認識処理の負荷が前記第1の負荷よりも高い第2の負荷である場合、前記第1の撮像画像よりも過去の第2の撮像画像に前記仮想オブジェクトを重畳する、表示制御部を備える、情報処理装置を提案する。
本開示によれば、プロセッサが、撮像部により取得された撮像画像を表示するビデオシースルーディスプレイの表示制御を行うことと、所定の撮像画像に基づく実空間の認識処理の負荷が第1の負荷である場合、前記実空間の認識処理に基づき描画された仮想オブジェクトを第1の撮像画像に重畳する表示制御を行うことと、前記認識処理の負荷が前記第1の負荷よりも高い第2の負荷である場合、前記第1の撮像画像よりも過去の第2の撮像画像に前記仮想オブジェクトを重畳する表示制御を行うことと、を含む、情報処理方法を提案する。
本開示によれば、コンピュータを、撮像部により取得された撮像画像を表示するビデオシースルーディスプレイを制御し、所定の撮像画像に基づく実空間の認識処理の負荷が第1の負荷である場合、前記実空間の認識処理に基づき描画された仮想オブジェクトを第1の撮像画像に重畳し、前記認識処理の負荷が前記第1の負荷よりも高い第2の負荷である場合、前記第1の撮像画像よりも過去の第2の撮像画像に前記仮想オブジェクトを重畳する、表示制御部として機能させるためのプログラムが記憶された、記憶媒体を提案する。
以下に添付図面を参照しながら、本開示の好適な実施の形態について詳細に説明する。なお、本明細書及び図面において、実質的に同一の機能構成を有する構成要素については、同一の符号を付することにより重複説明を省略する。
また、説明は以下の順序で行うものとする。
1.構成例
1-1.情報処理装置の構成例
1-2.課題の整理
2.技術的特徴
2-1.仮想オブジェクトの表示遅延時間の抑制
2-2.動作処理
2-3.安全性への対処
2-4.触覚不一致への対処
3.まとめ
1.構成例
1-1.情報処理装置の構成例
1-2.課題の整理
2.技術的特徴
2-1.仮想オブジェクトの表示遅延時間の抑制
2-2.動作処理
2-3.安全性への対処
2-4.触覚不一致への対処
3.まとめ
<<1.構成例>>
<1-1.情報処理装置の構成例>
まず、本開示の一実施形態による情報処理装置10の基本的な構成について説明する。図1は、本開示の一実施形態による情報処理装置10の基本的な構成の一例を示すブロック図である。図1に示すように、情報処理装置10は、制御部100、通信部110、カメラ120、操作入力部130、センサ部140、表示部150、スピーカ160、および記憶部170を有する。
<1-1.情報処理装置の構成例>
まず、本開示の一実施形態による情報処理装置10の基本的な構成について説明する。図1は、本開示の一実施形態による情報処理装置10の基本的な構成の一例を示すブロック図である。図1に示すように、情報処理装置10は、制御部100、通信部110、カメラ120、操作入力部130、センサ部140、表示部150、スピーカ160、および記憶部170を有する。
本実施形態による情報処理装置10は、主に、実空間の撮像画像を表示部150に表示し、さらに、撮像画像に映る実空間の物体(以下、実オブジェクトと称呼する)の位置に対応付けて仮想オブジェクトを重畳表示する制御を行う。以下、情報処理装置10の各構成について説明する。
(1)通信部110
通信部110は、有線または無線により外部装置と通信接続し、データの送受信を行う。例えば、通信部110は、ネットワークと接続して、ネットワーク上のサーバとデータの送受信を行う。通信部110は、例えば、実空間の撮像画像に重畳表示する仮想オブジェクトのデータや、重畳を行うことに関する各種データをサーバから受信してもよい。通信部110は、例えば、有線/無線LAN(Local Area Network)、またはWi-Fi(登録商標)、Bluetooth(登録商標)、携帯通信網(LTE(Long Term Evolution)、3G(第3世代の移動体通信方式)、4G(第4世代の移動体通信方式)、5G(第5世代の移動体通信方式))等により外部装置やネットワークと通信接続する。
通信部110は、有線または無線により外部装置と通信接続し、データの送受信を行う。例えば、通信部110は、ネットワークと接続して、ネットワーク上のサーバとデータの送受信を行う。通信部110は、例えば、実空間の撮像画像に重畳表示する仮想オブジェクトのデータや、重畳を行うことに関する各種データをサーバから受信してもよい。通信部110は、例えば、有線/無線LAN(Local Area Network)、またはWi-Fi(登録商標)、Bluetooth(登録商標)、携帯通信網(LTE(Long Term Evolution)、3G(第3世代の移動体通信方式)、4G(第4世代の移動体通信方式)、5G(第5世代の移動体通信方式))等により外部装置やネットワークと通信接続する。
(2)カメラ120
カメラ120は、実空間を撮像する機能を有する撮像部の一例である。カメラ120により撮像される実空間の撮像画像は、表示部150に表示される。表示部150に表示される撮像画像は、情報処理装置10を利用するユーザの視界に相当する所謂スルー画像として表示されるものである。スルー画像は、リアルタイムで表示される撮像画像として見做されても良い。あるいは、スルー画像は、カメラ120が取得した撮像画像のうち最新の撮像画像として見做されても良い。また、カメラ120により撮像された実空間の撮像画像は、実空間の認識処理に用いられてもよい。
カメラ120は、実空間を撮像する機能を有する撮像部の一例である。カメラ120により撮像される実空間の撮像画像は、表示部150に表示される。表示部150に表示される撮像画像は、情報処理装置10を利用するユーザの視界に相当する所謂スルー画像として表示されるものである。スルー画像は、リアルタイムで表示される撮像画像として見做されても良い。あるいは、スルー画像は、カメラ120が取得した撮像画像のうち最新の撮像画像として見做されても良い。また、カメラ120により撮像された実空間の撮像画像は、実空間の認識処理に用いられてもよい。
なお、本明細書では、このようなユーザの視界に相当する表示画像を、視界画像とも称呼する。視界画像を取得することが目的とされるカメラ120は、情報処理装置10を使用するユーザの視線方向を向くよう設けられることが望ましい。情報処理装置10の使用時は、ユーザが表示部150を見ている状態が想定される。したがって、例えば情報処理装置10が、ユーザの頭部に装着され、装着時にユーザの眼前に表示部150が位置する構成のHMDにより実現されている場合、カメラ120は、ユーザの頭部が向いている方向を向くよう設けられる。
カメラ120は、単数であってもよいし、複数であってもよい。また、カメラ120は、所謂ステレオカメラとして構成されてもよい。
(3)操作入力部130
操作入力部130は、ユーザからの操作を付け付ける機能を有する。操作入力部130は、受け付けた操作の情報を、制御部100に出力する。操作入力部130は、例えばタッチパネルやボタン等の入力デバイスにより実現されていてもよい。
操作入力部130は、ユーザからの操作を付け付ける機能を有する。操作入力部130は、受け付けた操作の情報を、制御部100に出力する。操作入力部130は、例えばタッチパネルやボタン等の入力デバイスにより実現されていてもよい。
(4)センサ部140
センサ部140は、情報処理装置10の位置(ユーザ位置)や動き、周辺の状況など、実空間をセンシングする機能を有する。センサ部140は、例えば、位置測位部、加速度センサ、角速度センサ、および地磁気センサ等を含む。また、センサ部140は、視界画像を取得する上記カメラ120とは異なる、実空間の認識処理に用いられる撮像画像を取得するためのカメラ(認識処理用のカメラ)を含んでいてもよい。この場合、認識処理用のカメラの画角は、視界画像を取得するカメラ120の画角を少なくとも含むようにしてもよい。また、センサ部140は、実空間に存在する物体との距離を測定するセンサを含んでいてもよい。距離を測定するセンサは、ステレオカメラにより取得されたステレオ映像に基づいて測定するものであってもよいし、赤外線センサであってもよい。
センサ部140は、情報処理装置10の位置(ユーザ位置)や動き、周辺の状況など、実空間をセンシングする機能を有する。センサ部140は、例えば、位置測位部、加速度センサ、角速度センサ、および地磁気センサ等を含む。また、センサ部140は、視界画像を取得する上記カメラ120とは異なる、実空間の認識処理に用いられる撮像画像を取得するためのカメラ(認識処理用のカメラ)を含んでいてもよい。この場合、認識処理用のカメラの画角は、視界画像を取得するカメラ120の画角を少なくとも含むようにしてもよい。また、センサ部140は、実空間に存在する物体との距離を測定するセンサを含んでいてもよい。距離を測定するセンサは、ステレオカメラにより取得されたステレオ映像に基づいて測定するものであってもよいし、赤外線センサであってもよい。
位置測位部は、情報処理装置10の絶対的または相対的な位置を算出する機能を有する。例えば、位置測位部は、外部からの取得信号に基づいて現在位置を検知してもよい。具体的には、例えば人工衛星からの電波を受信して、情報処理装置10が存在している現在位置を検知するGNSS(Global Navigation Satellite System)が用いられてもよい。また、GNSSの他、Wi-Fi(登録商標)、Bluetooth(登録商標)、携帯電話・PHS・スマートフォン等との送受信、または近距離通信等により位置を検知する方法が用いられてもよい。また、位置測位部は、加速度センサや角速度センサ等の検出結果に基づいて相対的な変化を示す情報を推定してもよい。
(5)表示部150
表示部150は、いわゆるビデオシースルーディスプレイにより実現される。ビデオシースルーディスプレイは、ディスプレイに対して相対的に固定された撮像装置により取得された実空間の動画像、すなわちスルー画像をディスプレイにリアルタイムで映すことにより、ユーザに実空間の像を提供する。一般的なビデオシースルーディスプレイにおいては、実空間の光はビデオシースルーディスプレイの筐体によって遮られ、直接ユーザの眼には届かない。
表示部150は、いわゆるビデオシースルーディスプレイにより実現される。ビデオシースルーディスプレイは、ディスプレイに対して相対的に固定された撮像装置により取得された実空間の動画像、すなわちスルー画像をディスプレイにリアルタイムで映すことにより、ユーザに実空間の像を提供する。一般的なビデオシースルーディスプレイにおいては、実空間の光はビデオシースルーディスプレイの筐体によって遮られ、直接ユーザの眼には届かない。
また、表示部150は、ビデオシースルーディスプレイと光学シースルーディスプレイとの間で切替可能であってもよい。光学シースルーディスプレイは、実空間の光を直接ユーザの眼に届けることが可能なディスプレイである。光学シースルーディスプレイは、ハーフミラー方式、導光板方式、網膜直描方式等を含む既知の形態を採用し得る。光学シースルーディスプレイの外側面に調光素子等の実空間の光の遮蔽を動的に行う構成を設けることで、光学シースルーディスプレイとビデオシースルーディスプレイを切替ることができる。
また、表示部150を実現するビデオシースルーディスプレイは、スマートフォン等のハンドヘルドディスプレイやウェアラブルディスプレイ等のモバイル端末であってよい。モバイル端末は、モバイル端末とは別体のコンピュータにケーブルで、あるいはワイヤレスで接続されていてもよい。表示部150を実現するビデオシースルーディスプレイは、自動車を含む種々の移動体に設けられうる。ビデオシースルーディスプレイの表示を制御する機能は、スタンドアローンの端末により実行されてもよく、あるいは無線ネットワークや有線接続を介して複数の情報処理装置により実行されてもよい。
(6)スピーカ160
スピーカ160は、音声を出力する機能を有する。例えばスピーカ160は、ヘッドフォン、イヤフォン、若しくは骨伝導スピーカとして構成されてもよい。
スピーカ160は、音声を出力する機能を有する。例えばスピーカ160は、ヘッドフォン、イヤフォン、若しくは骨伝導スピーカとして構成されてもよい。
(7)記憶部170
記憶部170は、制御部100の処理に用いられるプログラムや演算パラメータ等を記憶するROM(Read Only Memory)、および適宜変化するパラメータ等を一時記憶するRAM(Random Access Memory)により実現される。
記憶部170は、制御部100の処理に用いられるプログラムや演算パラメータ等を記憶するROM(Read Only Memory)、および適宜変化するパラメータ等を一時記憶するRAM(Random Access Memory)により実現される。
(8)制御部100
制御部100は、演算処理装置および制御装置として機能し、各種プログラムに従って情報処理装置10内の動作全般を制御する。制御部100は、例えばCPU(Central Processing Unit)、マイクロプロセッサ等の電子回路によって実現される。また、制御部100は、使用するプログラムや演算パラメータ等を記憶するROM(Read Only Memory)、及び適宜変化するパラメータ等を一時記憶するRAM(Random Access Memory)を含んでいてもよい。
制御部100は、演算処理装置および制御装置として機能し、各種プログラムに従って情報処理装置10内の動作全般を制御する。制御部100は、例えばCPU(Central Processing Unit)、マイクロプロセッサ等の電子回路によって実現される。また、制御部100は、使用するプログラムや演算パラメータ等を記憶するROM(Read Only Memory)、及び適宜変化するパラメータ等を一時記憶するRAM(Random Access Memory)を含んでいてもよい。
また、本実施形態による制御部100は、認識処理部101、仮想オブジェクト描画処理部102、視界描画処理部103、および表示処理部104としても機能する。
(認識処理部101)
認識処理部101は、制御部100に入力された各種データの認識処理を行う。具体的には、認識処理部101は、実空間を撮像した撮像画像に基づいて、実空間を認識する処理を行う。また、認識処理部101は、センサ部140から入力されるセンシングデータ等に基づいて、自己位置又は姿勢の認識を行ってもよい。制御部100が、実空間の撮像画像に対して、実オブジェクトに対応するよう仮想オブジェクトを重畳させる際には、実オブジェクトの位置及び姿勢や、カメラ120(換言すると、カメラ120が設けられている情報処理装置10、または、かかる情報処理装置10を装着するユーザ)の位置及び姿勢が用いられる。
認識処理部101は、制御部100に入力された各種データの認識処理を行う。具体的には、認識処理部101は、実空間を撮像した撮像画像に基づいて、実空間を認識する処理を行う。また、認識処理部101は、センサ部140から入力されるセンシングデータ等に基づいて、自己位置又は姿勢の認識を行ってもよい。制御部100が、実空間の撮像画像に対して、実オブジェクトに対応するよう仮想オブジェクトを重畳させる際には、実オブジェクトの位置及び姿勢や、カメラ120(換言すると、カメラ120が設けられている情報処理装置10、または、かかる情報処理装置10を装着するユーザ)の位置及び姿勢が用いられる。
-実空間の認識処理
認識処理部101は、実空間を撮像した撮像画像に基づいて、実空間を認識する処理を行う。実空間の認識処理では、一例として、実空間の撮像画像に映る物体(実オブジェクト)の認識を行う。物体認識のアルゴリズムは特に限定しないが、例えば、3次元物体認識や、ボーン推定アルゴリズムを用いてもよい。また、人間を認識するアルゴリズムと、人間以外の物体を認識するアルゴリズムといったように、複数の認識アルゴリズムによる認識処理を並行して行ってもよい。物体の認識には、物体の位置又は姿勢が少なくとも含まれる。認識処理に用いる撮像画像は、表示部150に表示する撮像画像(スルー画像)を取得するカメラにより取得された撮像画像であってもよいし、当該カメラとは異なる、認識処理用に設けられたカメラにより取得された撮像画像であってもよい。また、認識処理部101は、カメラ120またはセンサ部140からデプスデータを取得し、実空間の認識処理に用いてもよい。認識処理部101は、実空間の物体との距離を取得し得る。
認識処理部101は、実空間を撮像した撮像画像に基づいて、実空間を認識する処理を行う。実空間の認識処理では、一例として、実空間の撮像画像に映る物体(実オブジェクト)の認識を行う。物体認識のアルゴリズムは特に限定しないが、例えば、3次元物体認識や、ボーン推定アルゴリズムを用いてもよい。また、人間を認識するアルゴリズムと、人間以外の物体を認識するアルゴリズムといったように、複数の認識アルゴリズムによる認識処理を並行して行ってもよい。物体の認識には、物体の位置又は姿勢が少なくとも含まれる。認識処理に用いる撮像画像は、表示部150に表示する撮像画像(スルー画像)を取得するカメラにより取得された撮像画像であってもよいし、当該カメラとは異なる、認識処理用に設けられたカメラにより取得された撮像画像であってもよい。また、認識処理部101は、カメラ120またはセンサ部140からデプスデータを取得し、実空間の認識処理に用いてもよい。認識処理部101は、実空間の物体との距離を取得し得る。
-自己位置の認識処理
認識処理部101は、センサ部140により検出された検出結果に基づいて、情報処理装置10(より具体的にはカメラ120)の位置又は姿勢の少なくともいずれかを認識する処理を行う。認識処理部101による認識処理は、上述した位置測位部による処理を含んでもよいし、位置測位部から自己位置を示す情報を取得する処理であってもよい。また、例えば認識処理部101は、加速度センサや角速度センサ等の検出結果に基づいて相対的な変化を示す情報として自己位置や姿勢を認識する。自己位置の変化を示す情報には、移動速度も含まれ得る。
認識処理部101は、センサ部140により検出された検出結果に基づいて、情報処理装置10(より具体的にはカメラ120)の位置又は姿勢の少なくともいずれかを認識する処理を行う。認識処理部101による認識処理は、上述した位置測位部による処理を含んでもよいし、位置測位部から自己位置を示す情報を取得する処理であってもよい。また、例えば認識処理部101は、加速度センサや角速度センサ等の検出結果に基づいて相対的な変化を示す情報として自己位置や姿勢を認識する。自己位置の変化を示す情報には、移動速度も含まれ得る。
また、認識処理部101は、予めSLAM(Simultaneous Localization and Mapping)技術により生成した空間マップと比較して情報処理装置10(換言すると、ユーザ)の自己位置を認識してもよいし、撮像画像に映る実オブジェクトとの実空間上における位置関係を認識してもよい。また、情報処理装置10がユーザの頭部に装着されるHMDである場合、認識処理部101は、自己位置の認識処理として、ユーザの頭部の位置、向き、傾き、移動速度等を認識し得る。具体的な一例として、認識処理部101は、ユーザの頭部の動きとして、ヨー(yaw)方向、ピッチ(pitch)方向、及びロール(roll)方向それぞれの成分を検出することで、当該ユーザの頭部の位置及び姿勢のうち少なくともいずれかの変化を認識し得る。
(仮想オブジェクト描画処理部102)
仮想オブジェクト描画処理部102は、実空間の撮像画像(視界画像)に重畳する仮想オブジェクトを、対応するバッファに描画する処理を行う。バッファは、例えば、フラッシュメモリやRAM等のような、各種データを一時的または恒久的に保持するための記憶部の少なくとも一部の記憶領域である。また、バッファは、一画面の表示内容を記憶する所謂フレームバッファである。仮想オブジェクト描画処理部102は、認識処理部101による実空間の撮像画像に基づく認識処理が完了すると、認識処理の結果(実オブジェクト位置又は姿勢)に基づいて、実オブジェクトの位置又は姿勢に対して適切な位置又は姿勢となるよう仮想オブジェクトを描画する。なお、以下では視界画像に重畳される仮想オブジェクトが描画されたバッファを仮想情報バッファとも称呼する。
仮想オブジェクト描画処理部102は、実空間の撮像画像(視界画像)に重畳する仮想オブジェクトを、対応するバッファに描画する処理を行う。バッファは、例えば、フラッシュメモリやRAM等のような、各種データを一時的または恒久的に保持するための記憶部の少なくとも一部の記憶領域である。また、バッファは、一画面の表示内容を記憶する所謂フレームバッファである。仮想オブジェクト描画処理部102は、認識処理部101による実空間の撮像画像に基づく認識処理が完了すると、認識処理の結果(実オブジェクト位置又は姿勢)に基づいて、実オブジェクトの位置又は姿勢に対して適切な位置又は姿勢となるよう仮想オブジェクトを描画する。なお、以下では視界画像に重畳される仮想オブジェクトが描画されたバッファを仮想情報バッファとも称呼する。
(視界描画処理部103)
視界描画処理部103は、カメラ120に撮像された実空間の撮像画像(視界画像)を、対応するバッファに描画する処理を行う。一例として、視界画像を描画するバッファと、仮想オブジェクトを描画するバッファは別の記憶領域とする。なお、別の記憶領域とは、1つの記憶部において異なる記憶領域を割り当てるものであってもよいし、同じ記憶領域を論理的に分けたものであってもよい。また、別々の記憶部を割り当ててもよい。なお、以下では実空間の撮像画像(視界画像)が描画されたバッファを視界情報バッファとも称呼する。
視界描画処理部103は、カメラ120に撮像された実空間の撮像画像(視界画像)を、対応するバッファに描画する処理を行う。一例として、視界画像を描画するバッファと、仮想オブジェクトを描画するバッファは別の記憶領域とする。なお、別の記憶領域とは、1つの記憶部において異なる記憶領域を割り当てるものであってもよいし、同じ記憶領域を論理的に分けたものであってもよい。また、別々の記憶部を割り当ててもよい。なお、以下では実空間の撮像画像(視界画像)が描画されたバッファを視界情報バッファとも称呼する。
(表示処理部104)
表示処理部104は、バッファに描画された情報を読み出して表示部150に出力する制御(表示制御)を行う。具体的には、例えば表示処理部104は、視界情報バッファから読み出した視界画像に、仮想情報バッファから読み出した仮想オブジェクトを重畳して表示部150に表示するよう制御する。
表示処理部104は、バッファに描画された情報を読み出して表示部150に出力する制御(表示制御)を行う。具体的には、例えば表示処理部104は、視界情報バッファから読み出した視界画像に、仮想情報バッファから読み出した仮想オブジェクトを重畳して表示部150に表示するよう制御する。
以上、情報処理装置10の構成について具体的に説明したが、本開示による情報処理装置10の構成は図1に示す例に限定されない。例えば、情報処理装置10は、図1に示す構成を全て有していなくともよい。
また、情報処理装置10を実現するデバイスとしては、頭部装着型の表示装置(HMD)が挙げられる。本実施形態による情報処理装置10は、例えば、ビデオシースルー型のHMDにより実現される。ビデオシースルー型HMDは、ユーザの頭部または顔部に装着された場合に、ユーザの眼を覆うように構成され、ユーザの眼前にディスプレイ等の表示部(本実施形態では、表示部150)が保持される。また、ビデオシースルー型HMDは、周囲の風景を撮像するための撮像部(本実施形態では、カメラ120)を有し、当該撮像部により撮像されたユーザの前方の風景の画像を表示部に表示させる。このような構成により、ビデオシースルー型HMDを装着したユーザは、外部の風景を直接視野に入れることは困難ではあるが、表示部に表示された画像により、外部の風景を確認することが可能となる。情報処理装置10がビデオシースルー型のHMDにより実現される場合、表示部150は、ユーザの左右の眼に対応する位置にそれぞれ固定された左右の画面を備え、左眼用画像および右眼用画像を表示する。また、本実施形態による情報処理装置10を実現するビデオシースルー型のHMDに設けられる表示部は、光学シースルーディスプレイに切り替わることが可能なものであってもよい。
また、情報処理装置10は、スマートフォン、携帯電話端末、タブレット端末等のユーザが手に持って利用する端末や、ユーザの身に着けるウェアラブルデバイス等であってもよい。
また、情報処理装置10は、複数の装置により実現されてもよい。例えば、図1に示すカメラ120、センサ部140、および表示部150を少なくとも有する表示装置と、制御部100を少なくとも有する制御装置と、から構成されるシステムであってもよい。表示装置と制御装置は、有線又は無線により通信接続され、データの送受信を行い得る。表示装置と制御装置の通信は、例えば、Wi-Fi(登録商標)、LAN(Local Area Network)、Bluetooth(登録商標)等により行われてもよい。
また、情報処理装置10の制御部100が有する各機能の少なくとも一部を、ネットワーク上に設けられたサーバで実現してもよいし、ユーザと同一空間に配置された専用端末や、スマートフォン、タブレット端末、またはPC等により実現してもよい。
<1-2.課題の整理>
続いて、上述したビデオシースルー型のディスプレイを用いて、実空間の撮像画像をリアルタイムに表示し、併せて仮想オブジェクトを重畳する際の課題について説明する。
続いて、上述したビデオシースルー型のディスプレイを用いて、実空間の撮像画像をリアルタイムに表示し、併せて仮想オブジェクトを重畳する際の課題について説明する。
現実空間に仮想オブジェクトが実際に存在しているかのように見せるためには、仮想オブジェクトを実オブジェクトの位置に合わせて表示することが望ましい。ビデオシースルー型のディスプレイを用いた場合にも、実空間の撮像画像に基づいて実オブジェクトの認識処理を行い、認識処理が完了すると、認識処理結果に基づいて、実オブジェクトの位置又は姿勢に対応する適切な位置又は姿勢の仮想オブジェクトが描画される。
ここで、仮想オブジェクトの描画には、前段階として実空間の認識処理が必要となるため、実空間の撮像画像の描画より遅くなる場合がある。例えばユーザが動いて視界が変化した場合に、仮想オブジェクトを描画する処理が、実空間の撮像画像を描画する処理に追いつかないといったことが生じる。図2は、仮想オブジェクトの表示遅延により生じる違和感について説明する図である。図2に示す表示画像は、表示部150に表示される画像の一例である。表示画像は、実空間の撮像画像(視界画像)と、仮想オブジェクト30とを含む。ここで、例えばユーザが右を向いた場合(カメラ120が右に向いた場合)、図2の表示画像200から表示画像201に示すように、カメラ120により撮像された撮像画像が表示部150にリアルタイムで(例えば撮像から表示まで15ミリ秒ほどで)表示されるため、視界が変化する。視界が表示部150で覆われ、実空間の風景が直接視野に入らない場合、実際の視界とカメラ120に表示される視界画像とにずれ(表示遅延)が生じてもユーザは気付き難く、違和感は生じない。一方、視界画像に対する仮想オブジェクト30の表示遅延は、ずれ量が相対的に小さくても目立ち易く、違和感が生じる。具体的には、図2の表示画像201に示すように、視界画像は最新の(現在の)画像が表示されるが、この時点では最新の(現在の)視界画像の認識処理がまだ終わっておらず、仮想オブジェクト30の表示位置が、机(実オブジェクト)からずれた状態となり、違和感が生じる。その後、認識処理および認識処理に基づく描画処理が完了すると、表示画像202に示すように、仮想オブジェクト30の表示位置が机の位置に応じた適切な位置に更新される。
このような仮想オブジェクト30の表示遅延が生じる原理について、図3を参照して具体的に説明する。図3は、仮想オブジェクト30の表示遅延について説明するための一連の処理の流れを示すタイミングチャートである。
図3に示すように、実オブジェクトに仮想オブジェクト重畳して表示するための一連には、実空間の「撮像」、撮像画像の解析による実オブジェクトの「認識」、重畳する仮想オブジェクトの「描画(仮想オブジェクト描画)」、撮像画像の「描画(視界描画)」、および、描画した仮想オブジェクトと撮像画像の「表示(出力)」といった一連の処理が行われる。撮像画像の描画は、撮像画像が取得されると行われる。一方、仮想オブジェクトの描画は、撮像画像の認識処理が完了してから行われる。認識処理では、3次元物体認識など、処理時間(認識処理の負荷の一例)を要する処理が行われ得る。視界描画処理と、認識処理及び仮想オブジェクト描画処理は並行して行われるが、仮想オブジェクトの描画が終了する時間は、撮像画像が終了する時間より遅くなる。
なお、図3に示す例では、視界画像として用いる撮像画像と、認識処理に用いる撮像画像はいずれも一の「撮像」(撮像部)から得られるよう図示しているが、「撮像」(撮像部)が複数あってもよい。すなわち、視界画像として用いる撮像画像を取得する「撮像」(撮像部)と、認識処理に用いる撮像画像を取得する「撮像」(撮像部)があってもよい。また、表示処理は一般的に90Hzで更新されるものとしてもよい。認識処理にかかる時間は、ハードウェア性能や、認識アルゴリズムの種類、認識対象等によるが、例えば12ms~13ms程度と想定してもよい。
図3に示すように、カメラ120により撮像処理I1が行われると、認識処理部101は、撮像処理I1により取得された撮像画像(1)を解析して実オブジェクトの認識する認識処理R1を行う。次いで、仮想オブジェクト描画処理部102は、認識処理R1の認識結果に基づいて、仮想オブジェクトの描画処理Wv1を行う。一方、カメラ120では継続して撮像処理が行われているため、仮想オブジェクト描画処理部102が描画処理Wv1を終えた時点では、撮像処理I3により取得された撮像画像(3)が最新の視界画像となり、視界描画処理部103により当該撮像画像(3)の描画処理Wf1が行われる。そして、表示処理部104は、撮像画像(1)の認識処理結果に基づいて行われた描画処理Wv1で描画された仮想オブジェクトと、描画処理Wf1で描画された最新の撮像画像(3)とを表示部150に表示する表示処理O1を行う。すなわち、描画処理Wf1で描画された最新の撮像画像(3)を表示する際、当該最新の撮像画像(3)の認識処理R2はまだ終わっておらず、読み出し用のバッファには、認識処理R1に基づいて行われた描画処理Wv1により描画された仮想オブジェクトが記憶されているため、描画処理Wv1により描画された仮想オブジェクトが読み出されて重畳表示される。
表示処理O1において、図3に示すように、視界の表示遅延と、仮想オブジェクトの表示遅延が生じ得る。視界の表示遅延とは、実際の外部風景と表示される視界画像とのずれである。具体的には、例えば撮像処理I3を行ってから、当該撮像処理I3により取得された撮像画像(3)が表示(出力)されるまでの間の時間である。また、仮想オブジェクトの表示遅延とは、視界画像と仮想オブジェクトとのずれである。具体的には、視界画像(撮像画像(3))を取得した撮像処理I3が行われた時点と、仮想オブジェクトの描画で参照した認証結果(認識処理R1)が基づく撮像画像(1)を取得した撮像処理I1が行われた時点との間の時間である。すなわち、表示処理O1において出力される仮想オブジェクトの表示位置又は姿勢は、撮像処理I1による撮像画像(1)に基づくものであり、視界画像は、撮像処理3による撮像画像(3)となる。描画された仮想オブジェクトが表示されるまでの間に、視界に変化が生じると、視界画像の実オブジェクトの位置と、描画された仮想オブジェクトが重畳される位置との間の相対的な位置関係にずれが生じ得る。
視界の表示遅延は、上述したように、視界が表示部150で覆われ、実空間の風景が直接視野に入らない場合、実際の視界(外部風景)とカメラ120に表示される視界画像とのずれには気付き難く、違和感は生じない。一方で、仮想オブジェクトの表示遅延は、図2を参照して説明したように、僅かであっても目立ち易く、違和感が生じる。図3に示す例では、視界画像に重畳する仮想オブジェクトの表示遅延が2フレーム分(2つの撮像処理分)生じている。
そこで、本開示によれば、ビデオシースルーディスプレイにおいて、実オブジェクトと仮想オブジェクトとの相対的な位置関係のずれ(すなわち、仮想物体を視野に重畳する際の表示遅延)を低減させ、より好適な表示制御を行うことを可能とする情報処理装置10を提案する。
<<2.技術的特徴>>
以下に、本実施形態に係る情報処理装置10の技術的特徴について説明する。
以下に、本実施形態に係る情報処理装置10の技術的特徴について説明する。
<2-1.仮想オブジェクトの表示遅延時間の抑制>
図4は、本実施形態による表示制御について説明するための一連の処理の流れを示すタイミングチャートである。本実施形態では、図4に示すように、表示処理O11において表示(出力)する視界画像を、最新(現在)の撮像画像(撮像処理I3により取得される撮像画像)ではなく、過去の撮像画像(例えば撮像処理I2により取得される撮像画像)を用いる。すなわち、表示処理部104は、撮像処理I1により取得された撮像画像(1)を解析して認識する認識処理R1の認識処理結果に基づいて描画処理Wv1により描画された仮想オブジェクトを、撮像処理I2により取得された撮像画像(2)に基づいて描画処理Wf1により描画された視界画像に重畳して表示する制御を行う。この場合、視界画像に対する仮想オブジェクトの表示遅延は1フレーム分となり、図3に示す例に比べて短くなる。一方で、視界の表示遅延の時間は、図3に示す例に比べて長くなる。しかしながら、「視界の表示遅延」はユーザが気付き難いため、たとえ「視界の表示遅延」が長くなったとしても、「視界画像に重畳する仮想オブジェクトの表示遅延」をより短くすることを優先することで、違和感を低減し、より好適な表示制御を行うことを可能とする。また、画像変形や予測を伴わないため、仮想オブジェクトの重畳時における位置及び姿勢の不自然さが低減される。
図4は、本実施形態による表示制御について説明するための一連の処理の流れを示すタイミングチャートである。本実施形態では、図4に示すように、表示処理O11において表示(出力)する視界画像を、最新(現在)の撮像画像(撮像処理I3により取得される撮像画像)ではなく、過去の撮像画像(例えば撮像処理I2により取得される撮像画像)を用いる。すなわち、表示処理部104は、撮像処理I1により取得された撮像画像(1)を解析して認識する認識処理R1の認識処理結果に基づいて描画処理Wv1により描画された仮想オブジェクトを、撮像処理I2により取得された撮像画像(2)に基づいて描画処理Wf1により描画された視界画像に重畳して表示する制御を行う。この場合、視界画像に対する仮想オブジェクトの表示遅延は1フレーム分となり、図3に示す例に比べて短くなる。一方で、視界の表示遅延の時間は、図3に示す例に比べて長くなる。しかしながら、「視界の表示遅延」はユーザが気付き難いため、たとえ「視界の表示遅延」が長くなったとしても、「視界画像に重畳する仮想オブジェクトの表示遅延」をより短くすることを優先することで、違和感を低減し、より好適な表示制御を行うことを可能とする。また、画像変形や予測を伴わないため、仮想オブジェクトの重畳時における位置及び姿勢の不自然さが低減される。
なお、図4に示す例では、撮像処理I3以降も継続に撮像処理が行われるが、図示を省略している。また、表示処理O11の1つ前に行われる表示処理では、撮像処理I1の1つ前に行われる撮像処理より取得された撮像画像が視界画像に用いられるが、これも図示を省略している。また、さらに過去の表示処理の図示についても省略している。本実施形態では、視界の撮像速度や表示の更新頻度は維持され得る。表示処理部104は、表示の更新頻度は継続したまま、表示する視界画像を現在(最新)の撮像画像より過去の撮像画像を用いることで、視界画像に重畳する仮想オブジェクトの表示遅延を低減することを可能とする。図4に示す例では、表示する視界画像として1フレーム前の撮像画像を選択しているが、これは一例であって、2フレーム前の撮像画像を選択してもよいし、何フレーム前の撮像画像を選択するかは特に限定しない。
<2-2.動作処理>
図5は、本実施形態による情報処理装置で行われる表示制御の流れの一例を示すフローチャートである。図5に示すように、まず、情報処理装置10のカメラ120は、実空間を撮像する撮像処理を行う(ステップS103)。認識処理用のカメラが別に設けられている場合、認識処理用のカメラも並列して実空間を撮像する撮像処理を行う。
図5は、本実施形態による情報処理装置で行われる表示制御の流れの一例を示すフローチャートである。図5に示すように、まず、情報処理装置10のカメラ120は、実空間を撮像する撮像処理を行う(ステップS103)。認識処理用のカメラが別に設けられている場合、認識処理用のカメラも並列して実空間を撮像する撮像処理を行う。
次に、情報処理装置10の認識処理部101は、実空間を撮像した撮像画像を解析し、実オブジェクトの認識処理を行う(ステップS106)。認識処理は、当該認識処理を開始する時点を基準として最も新しい撮像画像に基づいて行われる。
次いで、制御部100は、認識処理に掛かった時間を計測する(ステップS109)。本実施形態では、認識処理の負荷の一例として、認識処理に要する「時間」に関することが挙げられる。認識処理に要する時間とは、仮想オブジェクト描画処理部102が、実空間の撮像画像の認識処理を開始してから終了するまでの時間である。認識処理に要する時間は、撮像画像の解析に用いられる認識アルゴリズムの特性や、用いる認識アルゴリズムの数によって異なり得る。また、何をどの程度認識するかによっても、認識処理に要する時間は異なる。また、例えば認識アルゴリズムが3次元物体認識やボーン推定など、処理負荷の高いアルゴリズムの場合、2次元物体認識等に比べて時間がかかる。また、過去の撮像画像からの変化(差分)を認識するアルゴリズムの併用など、複数の認識アルゴリズムが用いられてもよい。また、認識対象が異なる複数の認識アルゴリズムが用いられてもよい。複数の認識アルゴリズムが用いられる場合、認識処理に掛かった時間としては、これら全てによる認識処理が終了するまでの時間が計測される。
次に、制御部100は、認識処理時間が、視界描画処理時間より長いか否かを判断する(ステップS112)。視界描画処理時間とは、仮想オブジェクト描画処理部102が視界画像をバッファに描画し始めてから終えるまでの時間である。認識処理は、視界描画処理と並列に処理され得る。制御部100は、認識処理時間が終わる時間が、視界描画処理時間より遅かったか否かを判断してもよい。なお、本開示の第1の負荷の一例は、認識処理時間が視界描画処理時間と同じ又は短い場合である。また、本開示の第1の負荷より高い第2の負荷の一例は、認識処理時間が視界描画処理時間より長い場合である。すなわち、第1の負荷は、認識処理に要する時間が、取得された撮像画像を描画する時間以下に対応する。また、第2の負荷は、認識処理に要する時間が、取得された撮像画像を描画する時間より長い場合に対応する。
次いで、認識処理時間が視界描画処理時間より長い場合(すなわち認識処理の時間が第2の負荷に対応する場合)(ステップS112/Yes)、視界描画処理部103は、視界描画処理の対象を、撮像時間が古い撮像画像に変更する(ステップS115)。つまり、視界描画処理部103は、視界描画の対象として、現在(最新)の撮像画像(すなわちスルー画像)ではなく、過去の撮像画像を選択する。どの程度過去の撮像画像を選択するかは特に限定しないが、例えば、仮想オブジェクトの描画のための認識処理で利用された撮像画像の取得タイミングと同じタイミングで取得された撮像画像か、それよりも新しい撮像画像であってもよい。さらに、過去の撮像画像の撮影時刻が現在時刻から許容できる範囲内であるものとしてもよい。許容できる範囲内とは、実際の外部風景と視界画像との差分(視界の表示遅延)がユーザに違和感を生じさせない程度が望ましい。「ユーザに違和感を生じさせない程度」は、所定値(視界の表示遅延の上限値)が定められていてもよいし、状況に応じて流動的に変化させてもよい。状況とは、ユーザの動きの大きさや周辺の変化などである。視界の表示遅延を長くした分、仮想オブジェクトの表示遅延を短くして違和感を低減することができるが、安全性の面も考慮し、実際の外部風景とユーザが見ている視界画像の違いが大きくなり過ぎないことが望ましい。
このように、通常のビデオシースルー型のディスプレイでは、現在(最新)の撮像画像を出来るだけリアルタイムで表示するが、本実施形態では、あえて視界表示を遅延させることで、仮想オブジェクトと視界画像との表示のずれを抑制している。本明細書において、現在(最新)の撮像画像(スルー画像)を視界画像として描画する第1の処理は、視界表示の遅延が小さい処理であり、「低遅延処理」と称呼する。また、本実施形態による、過去の撮像画像を視界画像として描画して敢えて視界表示を遅延させる第2の処理は、「低遅延処理」より視界表示の遅延が大きい処理であって、本明細書において、「高遅延処理」と称呼する。
なお、本実施形態では認識処理の負荷の一例として時間(認識処理にかかる時間)を挙げているが、本開示はこれに限定されない。例えば、認識処理の負荷は、認識アルゴリズムの種類やフレームレートに基づくものであてもよい。
続いて、制御部100は、視界描画処理部103による視界画像の視界情報バッファへの描画処理、および仮想オブジェクト描画処理部102による仮想オブジェクトの仮想情報バッファへの描画処理を行う(ステップS118)。これらの描画処理は、並列して行われ得る。
なお、認識処理時間が視界描画処理時間と同じか短い場合(すなわち認識処理の時間が第1の負荷に対応する場合)(ステップS112/No)、視界描画処理部103は、視界描画処理の対象を変更しない。つまり、視界描画処理部103は、通常通り、撮像時間が最も新しい撮像画像(すなわちスルー画像)を視界情報バッファに描画する。
そして、制御部100は、表示処理部104により、各バッファに描画された情報を読み出して表示部150に表示する処理を行う(ステップS121)。具体的には、表示処理部104は、仮想オブジェクトを視界画像に重畳して表示する制御を行う。
表示部150の表示制御が終了するまで、上記ステップS103~S121に示す処理が繰り返される(ステップS124)。
以上、本実施形態による表示制御の流れについて具体的に説明したが、本開示による処理の順序は、図5に示すフローに限定されない。例えば、ステップS103に示す撮像処理と、ステップS106に示す認識処理は、並列して行われてもよい。また、認識処理部101は、認識処理が完了すると、次の認識処理対象として最新の撮像画像を取得し、認識処理を開始する。
<2-3.安全性への対処>
本実施形態による情報処理装置10は、状況に応じて適宜、現在(最新)の撮像画像(スルー画像)を視界画像として表示する低遅延処理(第1の処理)へ、過去の撮像画像を視界画像として表示する高遅延処理(第2の処理)から切り替えることで、安全性に対処することが可能である。
本実施形態による情報処理装置10は、状況に応じて適宜、現在(最新)の撮像画像(スルー画像)を視界画像として表示する低遅延処理(第1の処理)へ、過去の撮像画像を視界画像として表示する高遅延処理(第2の処理)から切り替えることで、安全性に対処することが可能である。
例えば情報処理装置10は、情報処理装置10を利用するユーザが規定の速度以上で移動中の場合、安全性を重視して高遅延処理から低遅延処理に切り替える制御を行う。切り替え(過去の撮像画像を表示していた状態から現在の撮像画像を表示する状態への切り替え)の際は、速度に応じて所定数のフレームをかけて、変形を加えた視界画像を用いる(段階的に現在/過去の撮像画像に近付ける処理を行う)等の工夫を行うことで、違和感や不自然さを低減した切り替えを実現し得る。詳細については後述する。
また、情報処理装置10は、低遅延処理に切り替えた際、利用する認識アルゴリズムの種類を変更したり、フレームレートを高くしたりすることで、認識処理を出来るだけ短くするようにしてもよい。これにより、低遅延処理時における仮想オブジェクトの表示遅延を低減する。詳細については後述する。
また、情報処理装置10は、ユーザの近くに移動体がある場合は、高遅延処理から低遅延処理に切り替える制御を行うようにしてもよい。また、情報処理装置10は、ユーザが実オブジェクトに衝突する可能性がある場合は、仮想オブジェクトの重畳表示を停止するようにしてもよい(視界画像の表示は低遅延処理で行われる)。
このような各安全性への対処について、以下、詳細に説明する。
(1)高遅延処理と低遅延処理の切り替え制御
まず、ユーザの速度に応じた高遅延処理と低遅延処理の切り替え制御について説明する。ユーザの速度とは、情報処理装置10を頭部等に装着または把持しているユーザの速度であり、情報処理装置10(少なくともカメラ120)の速度とも言える。また、ここでは、高遅延処理と低遅延処理の切り替え制御に併せて、仮想オブジェクトの重畳を停止する閾値の設定も行う。仮想オブジェクトの重畳を停止する閾値とは、例えば距離により設定される。かかる閾値を、重畳停止ラインとも称呼する。
まず、ユーザの速度に応じた高遅延処理と低遅延処理の切り替え制御について説明する。ユーザの速度とは、情報処理装置10を頭部等に装着または把持しているユーザの速度であり、情報処理装置10(少なくともカメラ120)の速度とも言える。また、ここでは、高遅延処理と低遅延処理の切り替え制御に併せて、仮想オブジェクトの重畳を停止する閾値の設定も行う。仮想オブジェクトの重畳を停止する閾値とは、例えば距離により設定される。かかる閾値を、重畳停止ラインとも称呼する。
図6は、本実施形態による重畳停止ラインと、切り替え制御の判断基準要素について説明する図である。情報処理装置10は、図6に示すように、自己位置Pと、自己の速度sと、移動物体qとの距離dを、センサ部140によるセンシングや認識処理部101による認識に基づいて取得する。移動物体qとは、実空間に存在する物体であって、位置が変化している(移動している)物体を想定する。例えば、人間や、自転車、自動車、自走ロボット、ドローン等が想定される。
情報処理装置10は、例えば自己の速度sに応じて、仮想オブジェクトの重畳表示を停止する重畳停止ライン(距離D)を設定する。仮想オブジェクトobjの表示位置には、深度情報が含まれ得る。情報処理装置10は、仮想オブジェクトobjの表示位置が重畳停止ラインより近い(自己位置P側)の場合は非表示制御を行い、重畳停止ラインより遠い場合は表示制御を行う。従って、図6に示す例では、重畳停止ラインより遠くに位置する仮想オブジェクトV-obj1は表示され、重畳停止ラインより近くに位置する仮想オブジェクトV-obj2は非表示となる。
また、情報処理装置10は、自己の速度sや、さらに移動物体qとの距離dに応じて、適宜、高遅延処理と低遅延処理の切り替え制御を行う。
以下、図7及び図8を用いて、低遅延中/高遅延中における切り替え処理の流れの一例について説明する。ここで、図7及び図8で用いる自己の速度sに関して規定される各閾値は、下記表1の通りである。
また、図7及び図8で用いる自己位置Pと移動物体qとの距離dに関して規定される各閾値は、下記表2の通りである。下記表2において、「近い」とは自己位置Pとの距離が短いことを示し、「遠い」とは自己位置Pとの距離が長いことを示す。
また、図7及び図8で用いる重畳停止ラインに関して規定される各閾値(自己位置Pからの距離D)は、下記表3の通りである。下記表3において、「近い」とは自己位置Pとの距離が短いことを示し、「遠い」とは自己位置Pとの距離が長いことを示す。なお、距離値としては、d3<D4の関係となる。
-低遅延中における高遅延への切り替え処理
図7は、本実施形態による低遅延中における切り替え処理の流れの一例を示すフローチャートである。低遅延中とは、視界表示の遅延が小さい制御を行っている場合である。すなわち、現在(最新)の撮像画像が視界画像として描画され、表示部150に表示される制御が行われている。図7では、この場合における高遅延への切り替え処理について説明する。
図7は、本実施形態による低遅延中における切り替え処理の流れの一例を示すフローチャートである。低遅延中とは、視界表示の遅延が小さい制御を行っている場合である。すなわち、現在(最新)の撮像画像が視界画像として描画され、表示部150に表示される制御が行われている。図7では、この場合における高遅延への切り替え処理について説明する。
図7に示すように、まず、自己の速度sが、s6より大きい(速い)場合(ステップS203/Yes)、制御部100は、重畳停止ラインをD6に設定する(ステップS206)。
次に、自己の速度sが、s5より大きい(速い)場合(ステップS209/Yes)、制御部100は、重畳停止ラインをD5に設定する(ステップS212)。
次いで、自己の速度sが、s4より大きい(速い)場合(ステップS215/Yes)、制御部100は、重畳停止ラインをD4に設定する(ステップS218)。
表示処理部104は、以上のように設定した重畳停止ラインより手前側(ユーザ側)に位置する仮想オブジェクトは重畳表示しない処理を行う。続いて、自己の速度sや移動物体qとの距離に応じて、低遅延から高遅延への切り替えを行う処理について述べる。
自己の速度sが、s2より小さい(遅い)場合(ステップS221/No)、制御部100は、各条件に応じて高遅延処理への切り替え(高遅延設定)を行う。
具体的には、重畳停止ラインよりユーザ側に移動物体qが存在しない場合(ステップS224/No)、制御部100は、視界描画を高遅延に設定する(ステップS227)。すなわち、制御部100は、過去の視界画像をバッファに描画する本実施形態による視界表示の遅延制御を行うモードに設定する。なお、ここで示される条件は下記の通りである。
・条件1
自己の速度s<s2
(ただし移動物体qが重複停止ラインよりユーザ側に存在しない場合)
・条件1
自己の速度s<s2
(ただし移動物体qが重複停止ラインよりユーザ側に存在しない場合)
一方、重畳停止ラインよりユーザ側に移動物体qが存在する場合(ステップS224/Yes)、制御部100は、自己の速度sがs1より大きいか否か(速いか否か)を判断する(ステップS230)。
自己の速度sがs1より大きい(速い)場合(ステップS230/Yes)、制御部100は、さらに、移動物体qとの距離dがd3より大きいか否か(遠いか否か)を判断する(ステップS233)。
そして、移動物体qとの距離dがd3より大きい(遠い)場合(ステップS233/Yes)、制御部100は、視界描画を高遅延に設定する(ステップS227)。ここで示される条件は下記の通りである。
・条件2
s1<自己の速度s<s2、かつ、距離d>d3
・条件2
s1<自己の速度s<s2、かつ、距離d>d3
一方、上記ステップS230で、自己の速度sがs1より小さい(遅い)と判断された場合(ステップS230/No)、制御部100は、さらに、移動物体qとの距離dがd1より大きいか否か(遠いか否か)を判断する(ステップS236)。
そして、移動物体qとの距離dがd1より大きい(遠い)場合(ステップS236/Yes)、制御部100は、視界描画を高遅延に設定する(ステップS227)。ここで示される条件は下記の通りである。
・条件3
自己の速度s<s1、かつ、距離d>d1
・条件3
自己の速度s<s1、かつ、距離d>d1
上記ステップS203~S236に示す処理は、低遅延処理が終了するまで繰り返される(ステップS239)。
以上、高遅延に切り替える場合について説明した。なお、上記条件に当てはまらない場合は(ステップS221/Yes、ステップS233/No、ステップS236/No)、制御部100は、高遅延への切り替えは行わず、低遅延設定を維持する。
-高遅延中における引遅延への切り替え処理
図8は、本実施形態による高遅延中における切り替え処理の流れの一例を示すフローチャートである。高遅延中とは、視界表示の遅延が大きい制御を行っている場合である。すなわち、過去の撮像画像が視界画像として描画され、表示部150に表示される制御が行われている。図8では、この場合における低遅延への切り替え処理について説明する。
図8は、本実施形態による高遅延中における切り替え処理の流れの一例を示すフローチャートである。高遅延中とは、視界表示の遅延が大きい制御を行っている場合である。すなわち、過去の撮像画像が視界画像として描画され、表示部150に表示される制御が行われている。図8では、この場合における低遅延への切り替え処理について説明する。
図8に示すように、まず、自己の速度sが、s6より大きい(速い)場合(ステップS303/Yes)、制御部100は、重畳停止ラインをD6に設定する(ステップS306)。
次に、自己の速度sが、s5より大きい(速い)場合(ステップS309/Yes)、制御部100は、重畳停止ラインをD5に設定する(ステップS312)。
また、自己の速度sが、s4より大きい(速い)場合(ステップS315/Yes)、制御部100は、重畳停止ラインをD4に設定する(ステップS318)。
表示処理部104は、以上のように設定した重畳停止ラインより手前側(ユーザ側)に位置する仮想オブジェクトは重畳表示しない処理を行う。
そして、自己の速度sがs6より大きい(速い)場合(ステップS303/Yes)、s5より大きい(速い)場合(ステップS309/Yes)、およびs4より大きい(速い)場合(ステップS315/Yes)のいずれの場合においても、制御部100は、低遅延処理への切り替え(低遅延設定)を行う(ステップS321)。また、自己の速度sがs3より大きい(速い)場合も(ステップS324/Yes)、制御部100は、低遅延処理への切り替え(低遅延設定)を行う(ステップS321)。つまり、ここで示される条件は下記の通りである。
・条件1
自己の速度s>s3
・条件1
自己の速度s>s3
このように、ユーザの速度が閾値を超える速さである場合、安全性への対処として、高遅延処理を低遅延処理へ切り替える。
一方、自己の速度sが、s3より小さい(遅い)場合(ステップS324/No)、制御部100は、各条件に応じて低遅延処理への切り替え(低遅延設定)を行う。
具体的には、制御部100は、重畳停止ラインよりユーザ側に移動物体qが存在するか否かを判断する(ステップS327)。
重畳停止ラインよりユーザ側に移動物体qが存在し(ステップS327/Yes)、移動物体qとの距離dがd1より小さい(近い)場合(ステップS330/Yes)、制御部100は、低遅延処理への切り替え(低遅延設定)を行う(ステップS321)。ここで示される条件は下記の通りである。
・条件2
自己の速度s<s3、かつ、距離d<d1
・条件2
自己の速度s<s3、かつ、距離d<d1
このように、ユーザの速度が閾値を超える速さではないが、移動物体がユーザに極近い場所にある場合、安全性への対処として、高遅延処理を低遅延処理へ切り替える。
一方、上記ステップS330で、距離dがd1より大きい(遠い)場合(ステップS330/No)、制御部100は、自己の速度sがs1より大きいか否か(速いか否か)を判断する(ステップS333)。
次いで、自己の速度sがs1より大きい(速い)場合(ステップS333/Yes)、移動物体qとの距離dがd2より小さければ(近ければ)(ステップS336/Yes)、制御部100は、低遅延処理への切り替え(低遅延設定)を行う(ステップS321)。ここで示される条件は下記の通りである。
・条件3
s1<自己の速度s<s3、かつ、距離d<d2
・条件3
s1<自己の速度s<s3、かつ、距離d<d2
このように、ユーザの速度が閾値を超える速さではないが、移動物体がユーザに近い場所にある場合、安全性への対処として、高遅延処理を低遅延処理へ切り替える。
上記ステップS303~S336に示す処理は、高遅延処理が終了するまで繰り返される(ステップS339)。
以上、低遅延に切り替える場合について説明した。なお、上記条件に当てはまらない場合は(ステップS327/No、ステップS333/No、ステップS336/No)、制御部100は、低遅延への切り替えは行わず、高遅延設定を維持する。
また、図7のステップS221、図8のステップS324に示すように、視界描画処理部103は、高遅延処理中においては自己の速度s>s3で低遅延に切り替え(すなわち、s3を高遅延の停止閾値とし)、低遅延処理中においては自己の速度s<s2で高遅延に切り替える(すなわち、s2を高遅延の開始閾値とする)ことで、高遅延の開始/停止が短時間に繰り返されることを抑制することが可能となる。
(2)切り替え時の工夫
続いて、低遅延処理と高遅延処理との切り替え時における、違和感や不自然さを低減する工夫について説明する。
続いて、低遅延処理と高遅延処理との切り替え時における、違和感や不自然さを低減する工夫について説明する。
制御部100は、低遅延処理と高遅延処理との切り替え時に、所定数のフレームをかけて、変形を加えた視界画像を用いる(段階的に現在/過去の撮像画像に近付ける処理を行う)等の工夫を行うことで、違和感や不自然さを低減した切り替えを実現し得る。現在/過去の撮像画像に近付ける処理は、例えば、撮像画像(視界画像)を描画する際、最新の自己位置に基づいて段階的に画像変形することで実現し得る。一方、安全性を考慮して即座に(段階的に現在/過去の撮像画像に近付ける処理は行わずに)切り替えることも可能である。
いずれの切り替え方法を用いるかは、例えば自己の速度sに応じて選択され得る。
-段階的に現在/過去の撮像画像に近付けて切り替える場合について
視界描画処理部103は、描画する撮像画像の撮像時間より遅い所定の時点での情報処理装置10の自己位置に基づいて当該撮像画像を画像変形することで、段階的に現在/過去の撮像画像に近付けることが可能となる。ここでの画像変形とは、例えばカメラ120により撮像される撮像画像に含まれる視界画像のマージン分を利用して行われ得るものであってもよい。すなわち、カメラ120により撮像される撮像画像は、視界画像よりも大きい画角で取得されることを前提とする。視界描画処理部103は、撮像画像のうち、通常は中心に位置する視界画像の範囲を、撮像時点からの自己位置の変化(移動)に応じて所定方向に移動させた上で描画することで画像変形を実現する。
視界描画処理部103は、描画する撮像画像の撮像時間より遅い所定の時点での情報処理装置10の自己位置に基づいて当該撮像画像を画像変形することで、段階的に現在/過去の撮像画像に近付けることが可能となる。ここでの画像変形とは、例えばカメラ120により撮像される撮像画像に含まれる視界画像のマージン分を利用して行われ得るものであってもよい。すなわち、カメラ120により撮像される撮像画像は、視界画像よりも大きい画角で取得されることを前提とする。視界描画処理部103は、撮像画像のうち、通常は中心に位置する視界画像の範囲を、撮像時点からの自己位置の変化(移動)に応じて所定方向に移動させた上で描画することで画像変形を実現する。
図9は、本実施形態による高遅延から低遅延への切り替え時に所定数のフレームをかけて視界画像を切り替える場合について説明するタイミングチャートである。図9に示す例では、高遅延処理中において自己の速度sがs3を超えた際に、低遅延処理に切り替える場合について説明する。
図9に示すように、高遅延処理中における視界描画処理Wf1、Wf2では、視界描画処理部103は、例えば1フレーム過去の撮像画像を描画する。ここで、自己の速度sがs3を超えた場合、視界描画処理部103は、自己の速度sがs3を超えた後に開始される視界描画処理Wf3から、自己位置Pに基づいて画像変形を行った上で撮像画像を描画する。図9に示す例では、視界描画処理Wf3、Wf4、Wf5において(すなわち3フレームかけて)、画像変形を行う。何フレームかけるかは特に限定しない。
より具体的には、例えば視界描画処理部103は、視界描画処理Wf3においては、時点t1における自己位置P1に基づいて、撮像処理I2により取得された撮像画像を変形して描画する。次いで、視界描画処理部103は、視界描画処理Wf4においては、時点t2における自己位置P2に基づいて、撮像処理I3により取得された撮像画像を変形して描画する。続いて、視界描画処理部103は、視界描画処理Wf5においては、時点t3における自己位置P3に基づいて、撮像処理I3により取得された撮像画像を変形して描画する。そして、視界描画処理部103は、視界描画処理Wf6においては、撮像処理I6により取得された撮像画像を描画する(低遅延処理)。
すなわち、切り替え前(高遅延処理中)は1フレーム遅れた撮像画像を描画していたため、まずは3/4フレーム遅れた時点t1における自己位置P1で変形させた撮像画像を用い、次いで2/4フレーム遅れた時点t2、続いて1/4フレーム遅れた時点t3、としている。このように、徐々に遅れの幅を小さくすることで、低遅延への切り替わり時の違和感や不自然さを低減することが可能となる。なお、t1~t3の時間間隔は一例であって、必ずしも均等でなくともよい。
図10は、本実施形態による低遅延から高遅延への切り替え時に所定数のフレームをかけて視界画像を切り替える場合について説明するタイミングチャートである。図10に示す例では、低遅延処理中において自己の速度sがs2を下回る際に、高遅延処理に切り替える場合について説明する。
図10に示すように、低遅延処理中における視界描画処理Wf1では、視界描画処理部103は、現在(最新)の撮像画像(撮像処理I1により取得された撮像画像)を描画する。ここで、自己の速度sがs2を下回った場合、視界描画処理部103は、自己の速度sがs2を下回った後に開始される視界描画処理Wf2から、自己位置Pに基づいて画像変形を行った上で撮像画像を描画する。図10に示す例では、視界描画処理Wf2、Wf3、Wf4において(すなわち3フレームかけて)、画像変形を行う。何フレームかけるかは特に限定しない。
より具体的には、例えば視界描画処理部103は、視界描画処理Wf2においては、時点t1における自己位置P1に基づいて、撮像処理I2により取得された撮像画像を変形して描画する。次いで、視界描画処理部103は、視界描画処理Wf3においては、時点t2における自己位置P2に基づいて、撮像処理I3により取得された撮像画像を変形して描画する。続いて、視界描画処理部103は、視界描画処理Wf4においては、時点t3における自己位置P3に基づいて、撮像処理I4により取得された撮像画像を変形して描画する。そして、視界描画処理部103は、視界描画処理Wf5においては、撮像処理I4により取得された撮像画像を(変形せずに)描画する(高遅延処理)。
すなわち、切り替え前(低延処理中)は最新の撮像画像を描画していたため、まずは1/4フレーム遅れた時点t1における自己位置P1で変形させた撮像画像を用い、次いで2/4フレーム遅れた時点t2、続いて3/4フレーム遅れた時点t3、としている。このように、徐々に遅れの幅を大きくすることで、高遅延への切り替わり時の違和感や不自然さを低減することが可能となる。なお、t1~t3の時間間隔は一例であって、必ずしも均等でなくともよい。
-即座に切り替える場合について
続いて、安全性を考慮して即座に(段階的に現在/過去の撮像画像に近付ける処理は行わずに)切り替える場合について説明する。
続いて、安全性を考慮して即座に(段階的に現在/過去の撮像画像に近付ける処理は行わずに)切り替える場合について説明する。
図11は、本実施形態による高遅延から低遅延への切り替え時に視界画像を即座に切り替える場合について説明するタイミングチャートである。図11に示す例では、高遅延処理中において自己の速度sがs4を超える際に、即座に低遅延処理に切り替える場合について説明する。
図11に示すように、高遅延処理中における視界描画処理Wf1、Wf2では、視界描画処理部103は、1フレーム過去の撮像画像を描画する。ここで、自己の速度sがs4を超えた場合、視界描画処理部103は、自己の速度sがs4を超えた後に開始される視界描画処理Wf3において、現在(最新)の撮像画像(撮像処理I3により取得された撮像画像)を描画する。このように、自己の速度sがs4を超えた後すぐの視界描画処理から現在の撮像画像に切り替えることで、安全性に対処した即座の切り替えを実現し得る。
図12は、本実施形態による低高遅延から高遅延への切り替え時に視界画像を即座に切り替える場合について説明するタイミングチャートである。図12に示す例では、低遅延処理中において自己の速度sがs1を下回る際に、即座に高遅延処理に切り替える場合について説明する。
図12に示すように、低遅延処理中における視界描画処理Wf1では、視界描画処理部103は、現在(最新)の撮像画像(撮像処理I1により取得された撮像画像)を描画する。ここで、自己の速度sがs1を下回った場合、視界描画処理部103は、自己の速度sがs1を下回った後に開始される視界描画処理Wf2において、1フレーム過去の撮像画像(撮像処理I1により取得された撮像画像)を描画する。このように、自己の速度sがs1を下回った後すぐの視界描画処理から過去の撮像画像に切り替えることで、安全性に対処した即座の切り替えを実現し得る。
(3)低遅延処理時における認識アルゴリズムの変更
認識処理で用いられる認識アルゴリズムの種類は様々挙げられる。例えば、3次元物体認識や、ボーン推定アルゴリズムは、位置及び姿勢を認識することができるが、処理時間が比較的長い。また、2次元物体認識は、3次元物体認識に比べて処理時間は短いことが多いが、仮想オブジェクトを適切に重畳するための実空間の認識処理としては、3次元物体認識やボーン推定アルゴリズムと比べると十分ではないことが多い。また、物体認識ではなく、特徴点が前のフレームからどの方向にどのように変化したかを追跡するアルゴリズムもあり、2次元物体認識や3次元物体認識等と併用して用いられることも考え得る。
認識処理で用いられる認識アルゴリズムの種類は様々挙げられる。例えば、3次元物体認識や、ボーン推定アルゴリズムは、位置及び姿勢を認識することができるが、処理時間が比較的長い。また、2次元物体認識は、3次元物体認識に比べて処理時間は短いことが多いが、仮想オブジェクトを適切に重畳するための実空間の認識処理としては、3次元物体認識やボーン推定アルゴリズムと比べると十分ではないことが多い。また、物体認識ではなく、特徴点が前のフレームからどの方向にどのように変化したかを追跡するアルゴリズムもあり、2次元物体認識や3次元物体認識等と併用して用いられることも考え得る。
ここで、視界描画を低遅延処理に切り替えた際、制御部100は、認識処理に用いるアルゴリズムを変更することで、認識処理にかかる時間を短くし、仮想オブジェクトの表示遅延(実オブジェクトの表示とのずれ)を出来るだけ小さくすることも可能である。
種類の異なる認識アルゴリズムを用いた場合の認識処理における更新頻度の一例を、図13及び図14に示す。図13は、3次元物体認識アルゴリズムを用いた際の認識処理の更新頻度の一例を示すタイミングチャートである。また、図14は、2次元物体認識アルゴリズムを用いた際の認識処理の更新頻度の一例を示すタイミングチャートである。図13及び図14を比較すると、3次元物体認識アルゴリズムを用いた際の認識処理(位置及び姿勢の認識)は、2次元物体認識アルゴリズムを用いた際の認識処理(位置の認識)よりも時間がかかるため、更新頻度の更新頻度が低い。従って、認識処理部101は、視界描画を低遅延処理に切り替えた際、3次元認識アルゴリズムから2次元認識アルゴリズムに変更することで、認識処理を短くすることが可能である。
また、図15に示すように、3次元認識処理と、特徴点の追跡処理を併用した2次元認識とを並列して行うようにしてもよい。2次元認識処理では、3次元認識処理の結果が得られる場合は、3次元認識処理の結果を出力する。3次元認識処理の結果が得られない間は、特徴点の追跡処理を併用した2次元認識の結果を出力する。すなわち、2次元認識処理において、特徴点の追跡処理の結果を用いることで、2次元認識処理の結果を、3次元の認識処理結果に近似させることが可能となる。これにより、更新頻度が高い状態で、2次元認識処理のみと比較して精度の高い認識処理を行い得る。
ここで、特徴点の追跡処理を併用した2次元認識処理に基づく仮想オブジェクトの表示について図16を参照して説明する。図16の上段は、2次元認識処理のみに基づいて仮想オブジェクトが表示された場合である。表示画像210には、実オブジェクト40に仮想オブジェクト32が重畳表示されている。ここで、ユーザが移動中の場合、表示画像211に示すように実オブジェクト42の位置と姿勢に変化が生じるが、2次元認識処理のみの場合は重畳される仮想オブジェクト34の位置だけは正しく更新されるが姿勢が不自然となる。
一方、図16の下段は、特徴点の追跡処理を併用した2次元認識処理に基づいて仮想オブジェクトが表示された場合である。表示画像215には、実オブジェクト40に仮想オブジェクト32が重畳表示されている。ここで、ユーザが移動中の場合、表示画像216に示すように実オブジェクト42の位置と姿勢が変化する。視界描画処理部103は、特徴点の追跡処理を併用した2次元認識処理により姿勢の変化を推定して仮想オブジェクトを描画することで、姿勢の不自然さを低減した仮想オブジェクト36を表示させることが可能となる。
なお、視界描画処理部103は、特徴点の追跡処理を併用した2次元認識のみを行うようにしてもよい。
<2-4.触覚不一致への対処>
続いて、視界表示の遅延処理(高遅延処理)による生じ得る触覚不一致への本実施形態による対処について説明する。
続いて、視界表示の遅延処理(高遅延処理)による生じ得る触覚不一致への本実施形態による対処について説明する。
本実施形態による視界表示の遅延処理(高遅延処理)を行って仮想オブジェクトの表示遅延を低減させている場合、表示部150に表示されている視界画像が実際の実空間の風景に対して遅延するため、例えば視界画像内では何にも触れていないが実際は実空間の物体に触れているといった、視覚と触覚が不一致となる状況が生じ得る。図17は、視覚と触覚が不一致となる状況について説明する図である。図17には表示画像218(視界画像)が示されている。ここでは一例として、ユーザが実際に手に持っている本等を相手に手渡す状況を想定する。
図17には仮想オブジェクトを図示していないが、本実施形態による視界表示の遅延処理(高遅延処理)が適用されている状態を前提とする。したがって、表示部150に表示されている表示画像218は、実際の実空間の風景に対して遅延している。このため、ユーザが手45に持った本46を相手の手47に手渡そうとする際、表示画像218ではまだ本46が相手の手47に触れていないが、実際の実空間では本46が相手の手51に触れる場合がある。このとき、ユーザは本46に対して抵抗や振動などを感じ、視覚と触覚が不一致となる。
そこで、本実施形態では、このような触覚不一致の対処の一例として、触覚不一致を解消するために視覚を補助する仮想オブジェクトを表示する制御を行う。図18は、本実施形態による触覚不一致の対処の一例について説明する図である。制御部100は、図18に示すように、表示画像220(視界画像)において、本46を囲む枠画像37(仮想オブジェクト)を表示することで、相手の手47との接触を視覚的に補助する。枠画像37は、相手の手47に接触して見える大きさで表示される。これによりユーザは、自身が実際に把持している本46の枠画像37が、相手の手47に接触して見えるため、触覚との不一体が低減される。なお、枠画像37の大きさは、相手の手47の位置に応じて可変する。制御部100は、ユーザの身体の少なくとも一部が実空間の物体に接触することを実空間の撮像画像の認識等から把握し、当該物体との接触を視覚的に補助する仮想オブジェクトを視界画像に重畳するよう制御する。なお、接触を視覚的に補助する仮想オブジェクトの形状は図18に示す例に限定されない。
なお、聴覚に関しても同様に視覚との不一致が生じ得る。この場合も、制御部100は、聴覚不一致の対処の一例として、聴覚を視覚的に補助する仮想オブジェクトを視界画像に重畳する制御を行い得る。例えば上記のように接触を視覚的に補助する仮想オブジェクトの表示を行うことで同時に接触音の補助を行うことが可能となる。
<2-5.仮想オブジェクト別の表示遅延の低減>
本実施形態による制御部100は、さらに、認識対象によって異なる(少なくとも認識処理時間が異なる)認識アルゴリズムを用いて、仮想オブジェクト別に表示遅延をさらに低減させることも可能である。以下、図19及び図20を参照して説明する。
本実施形態による制御部100は、さらに、認識対象によって異なる(少なくとも認識処理時間が異なる)認識アルゴリズムを用いて、仮想オブジェクト別に表示遅延をさらに低減させることも可能である。以下、図19及び図20を参照して説明する。
図19は、本実施形態による複数の仮想オブジェクトの表示例について示す図である。図19に示すように、表示画像240(視界画像)には、一例として、仮想オブジェクト38Aと、仮想オブジェクト38Bとが表示されている。仮想オブジェクト38Aは、例えば人物48の氏名や所属部署などを情報する画像であって、人物48の周辺に表示される。また、仮想オブジェクト38Bは、例えば人物48の身体に重畳して表示される画像である。仮想オブジェクト38Bは、例えば仮想の洋服や装飾品等の画像であってもよい。
ここで、仮想オブジェクト38Bは人物48の身体に重畳して表示されるものであるため、仮想オブジェクト38Aに比べると、仮想オブジェクト38Bの実オブジェクト(人物48)に対する表示遅延は出来るだけ少ないことが望ましい。すなわち、仮想オブジェクト38Aの方は、表示遅延が多少大きくても違和感は少ない。
そこで、本実施形態では、仮想オブジェクト38Bを重畳表示するための認識処理に用いる認識アルゴリズムを、処理時間がより短いものを用いることで、仮想オブジェクト38Bの実オブジェクトに対する表示遅延を低減させることを可能とする。以下、図20を参照して具体的に説明する。
図20は、本実施形態による情報処理装置で行われる複数の認識アルゴリズムを用いた表示制御について説明するための一連の処理の流れを示すタイミングチャートである。認識処理部101は、図20に示すように、撮像処理Iにより取得された撮像画像に対して、認識処理1と認識処理2を行う。
例えば、認識処理1と認識処理2は、認識処理時間が異なる認識アルゴリズムである。次いで、仮想オブジェクト描画処理部102は、仮想オブジェクトの描画を行う際、認識処理1による認識処理R1-2の結果と、認識処理2による認識処理R2-1の結果と、を取得する。認識処理R1-2の結果は、撮像処理I3で取得された撮像画像を認識したものであり、認識処理R2-1の結果は、撮像処理I3より過去の撮像処理I1で取得された撮像画像を認識したものである。すなわち、認識処理R2-1が基づく撮像画像は、認識処理R1-2が基づく撮像画像より過去の時点の撮像画像であるため、認識処理R2-1の結果に基づいて描画した仮想オブジェクトの視界画像(例えば視界画像は撮像処理I3で取得された撮像画像)に対する表示遅延は、認識処理R1-2の結果に基づいて描画した仮想オブジェクトの表示遅延より大きくなる。
したがって、仮想オブジェクト描画処理部102は、表示遅延を小さくしたい仮想オブジェクト38Bについては、認識処理R1-2の結果に基づいて描画し、表示遅延が仮想オブジェクト38Bより大きくても違和感の少ない仮想オブジェクト38Aについては、認識処理R2-1の結果に基づいて描画する。これにより、仮想オブジェクト別に適切に表示遅延を低減させることが可能となる。なお、認識処理2は、当該認識処理の結果を用いる仮想オブジェクトの描画時に関わる実オブジェクトのみを認識する認識アルゴリズムを用いるようにしてもよい。
<<3.まとめ>>
上述したように、本開示の実施形態では、状況に応じて仮想オブジェクトの表示遅延を適切に低減することが可能となる。
上述したように、本開示の実施形態では、状況に応じて仮想オブジェクトの表示遅延を適切に低減することが可能となる。
以上、添付図面を参照しながら本開示の好適な実施形態について詳細に説明したが、本技術はかかる例に限定されない。本開示の技術分野における通常の知識を有する者であれば、特許請求の範囲に記載された技術的思想の範疇内において、各種の変更例または修正例に想到し得ることは明らかであり、これらについても、当然に本開示の技術的範囲に属するものと了解される。
例えば、上述した情報処理装置10に内蔵されるCPU、ROM、およびRAM等のハードウェアに、情報処理装置10の機能を発揮させるためのコンピュータプログラムも作成可能である。また、当該コンピュータプログラムを記憶させたコンピュータ読み取り可能な記憶媒体も提供される。
また、本明細書に記載された効果は、あくまで説明的または例示的なものであって限定的ではない。つまり、本開示に係る技術は、上記の効果とともに、または上記の効果に代えて、本明細書の記載から当業者には明らかな他の効果を奏しうる。
なお、本技術は以下のような構成も取ることができる。
(1)
撮像部により取得された撮像画像を表示するビデオシースルーディスプレイを制御し、
所定の撮像画像に基づく実空間の認識処理の負荷が第1の負荷である場合、前記実空間の認識処理に基づき描画された仮想オブジェクトを第1の撮像画像に重畳し、
前記認識処理の負荷が前記第1の負荷よりも高い第2の負荷である場合、前記第1の撮像画像よりも過去の第2の撮像画像に前記仮想オブジェクトを重畳する、
表示制御部を備える、情報処理装置。
(2)
前記第1の負荷および前記第2の負荷は、それぞれ前記認識処理に要する時間に関する、前記(1)に記載の情報処理装置。
(3)
前記第1の負荷は、前記認識処理に要する時間が、前記取得された撮像画像を描画する時間以下に対応し、前記第2の負荷は、前記認識処理に要する時間が、前記取得された撮像画像を描画する時間より長い場合に対応する、前記(2)に記載の情報処理装置。
(4)
前記第1の撮像画像は、前記撮像部により取得されリアルタイムで前記ビデオシースルーディスプレイに表示されるスルー画像である、前記(1)~(3)のいずれか1項に記載の情報処理装置。
(5)
前記第2の撮像画像は、前記取得された撮像画像であって、さらに前記第1の撮像画像より所定フレーム数前の撮像画像である、前記(4)に記載の情報処理装置。
(6)
前記認識処理では、当該認識処理を開始する時点を基準として最も新しい撮像画像に基づいて前記実空間の認識処理が行われる、前記(1)~(5)のいずれか1項に記載の情報処理装置。
(7)
前記ビデオシースルーディスプレイに表示される撮像画像と、前記認識処理が行われる前記所定の撮像画像は、撮像時刻が異なる別の撮像画像である、前記(1)~(6)のいずれか1項に記載の情報処理装置。
(8)
前記表示制御部は、前記認識処理の負荷が前記第1の負荷よりも高い第2の負荷であっても、所定の条件を満たす場合は、前記第1の撮像画像に前記仮想オブジェクトを重畳する、前記(1)~(7)のいずれか1項に記載の情報処理装置。
(9)
前記所定の条件は、前記撮像部および前記ビデオシースルーディスプレイが設けられた前記情報処理装置の移動速度に関する、前記(8)に記載の情報処理装置。
(10)
前記所定の条件は、前記撮像部および前記ビデオシースルーディスプレイが設けられた前記情報処理装置と、前記実空間に存在する移動物体との間の距離に関する、前記(8)又は(9)に記載の情報処理装置。
(11)
前記表示制御部は、前記ビデオシースルーディスプレイに前記第1の撮像画像を表示して前記仮想オブジェクトを重畳する第1の処理へ、前記ビデオシースルーディスプレイに前記第2の撮像画像を表示して前記仮想オブジェクトを重畳する第2の処理から切り替える切替制御を行う、前記(1)~(10)のいずれか1項に記載の情報処理装置。
(12)
前記切替制御では、前記ビデオシースルーディスプレイに表示する撮像画像を、前記情報処理装置の最新の自己位置に基づいて、前記第2の撮像画像から第1の撮像画像に段階的に変形する処理を行う、前記(11)に記載の情報処理装置。
(13)
プロセッサが、
撮像部により取得された撮像画像を表示するビデオシースルーディスプレイの表示制御を行うことと、
所定の撮像画像に基づく実空間の認識処理の負荷が第1の負荷である場合、前記実空間の認識処理に基づき描画された仮想オブジェクトを第1の撮像画像に重畳する表示制御を行うことと、
前記認識処理の負荷が前記第1の負荷よりも高い第2の負荷である場合、前記第1の撮像画像よりも過去の第2の撮像画像に前記仮想オブジェクトを重畳する表示制御を行うことと、
を含む、情報処理方法。
(14)
コンピュータを、
撮像部により取得された撮像画像を表示するビデオシースルーディスプレイを制御し、
所定の撮像画像に基づく実空間の認識処理の負荷が第1の負荷である場合、前記実空間の認識処理に基づき描画された仮想オブジェクトを第1の撮像画像に重畳し、
前記認識処理の負荷が前記第1の負荷よりも高い第2の負荷である場合、前記第1の撮像画像よりも過去の第2の撮像画像に前記仮想オブジェクトを重畳する、
表示制御部として機能させるためのプログラムが記憶された、記憶媒体。
(1)
撮像部により取得された撮像画像を表示するビデオシースルーディスプレイを制御し、
所定の撮像画像に基づく実空間の認識処理の負荷が第1の負荷である場合、前記実空間の認識処理に基づき描画された仮想オブジェクトを第1の撮像画像に重畳し、
前記認識処理の負荷が前記第1の負荷よりも高い第2の負荷である場合、前記第1の撮像画像よりも過去の第2の撮像画像に前記仮想オブジェクトを重畳する、
表示制御部を備える、情報処理装置。
(2)
前記第1の負荷および前記第2の負荷は、それぞれ前記認識処理に要する時間に関する、前記(1)に記載の情報処理装置。
(3)
前記第1の負荷は、前記認識処理に要する時間が、前記取得された撮像画像を描画する時間以下に対応し、前記第2の負荷は、前記認識処理に要する時間が、前記取得された撮像画像を描画する時間より長い場合に対応する、前記(2)に記載の情報処理装置。
(4)
前記第1の撮像画像は、前記撮像部により取得されリアルタイムで前記ビデオシースルーディスプレイに表示されるスルー画像である、前記(1)~(3)のいずれか1項に記載の情報処理装置。
(5)
前記第2の撮像画像は、前記取得された撮像画像であって、さらに前記第1の撮像画像より所定フレーム数前の撮像画像である、前記(4)に記載の情報処理装置。
(6)
前記認識処理では、当該認識処理を開始する時点を基準として最も新しい撮像画像に基づいて前記実空間の認識処理が行われる、前記(1)~(5)のいずれか1項に記載の情報処理装置。
(7)
前記ビデオシースルーディスプレイに表示される撮像画像と、前記認識処理が行われる前記所定の撮像画像は、撮像時刻が異なる別の撮像画像である、前記(1)~(6)のいずれか1項に記載の情報処理装置。
(8)
前記表示制御部は、前記認識処理の負荷が前記第1の負荷よりも高い第2の負荷であっても、所定の条件を満たす場合は、前記第1の撮像画像に前記仮想オブジェクトを重畳する、前記(1)~(7)のいずれか1項に記載の情報処理装置。
(9)
前記所定の条件は、前記撮像部および前記ビデオシースルーディスプレイが設けられた前記情報処理装置の移動速度に関する、前記(8)に記載の情報処理装置。
(10)
前記所定の条件は、前記撮像部および前記ビデオシースルーディスプレイが設けられた前記情報処理装置と、前記実空間に存在する移動物体との間の距離に関する、前記(8)又は(9)に記載の情報処理装置。
(11)
前記表示制御部は、前記ビデオシースルーディスプレイに前記第1の撮像画像を表示して前記仮想オブジェクトを重畳する第1の処理へ、前記ビデオシースルーディスプレイに前記第2の撮像画像を表示して前記仮想オブジェクトを重畳する第2の処理から切り替える切替制御を行う、前記(1)~(10)のいずれか1項に記載の情報処理装置。
(12)
前記切替制御では、前記ビデオシースルーディスプレイに表示する撮像画像を、前記情報処理装置の最新の自己位置に基づいて、前記第2の撮像画像から第1の撮像画像に段階的に変形する処理を行う、前記(11)に記載の情報処理装置。
(13)
プロセッサが、
撮像部により取得された撮像画像を表示するビデオシースルーディスプレイの表示制御を行うことと、
所定の撮像画像に基づく実空間の認識処理の負荷が第1の負荷である場合、前記実空間の認識処理に基づき描画された仮想オブジェクトを第1の撮像画像に重畳する表示制御を行うことと、
前記認識処理の負荷が前記第1の負荷よりも高い第2の負荷である場合、前記第1の撮像画像よりも過去の第2の撮像画像に前記仮想オブジェクトを重畳する表示制御を行うことと、
を含む、情報処理方法。
(14)
コンピュータを、
撮像部により取得された撮像画像を表示するビデオシースルーディスプレイを制御し、
所定の撮像画像に基づく実空間の認識処理の負荷が第1の負荷である場合、前記実空間の認識処理に基づき描画された仮想オブジェクトを第1の撮像画像に重畳し、
前記認識処理の負荷が前記第1の負荷よりも高い第2の負荷である場合、前記第1の撮像画像よりも過去の第2の撮像画像に前記仮想オブジェクトを重畳する、
表示制御部として機能させるためのプログラムが記憶された、記憶媒体。
10 情報処理装置
100 制御部
101 認識処理部
102 仮想オブジェクト描画処理部
103 視界描画処理部
104 表示処理部
110 通信部
120 カメラ
130 操作入力部
140 センサ部
150 表示部
160 スピーカ
170 記憶部
100 制御部
101 認識処理部
102 仮想オブジェクト描画処理部
103 視界描画処理部
104 表示処理部
110 通信部
120 カメラ
130 操作入力部
140 センサ部
150 表示部
160 スピーカ
170 記憶部
Claims (14)
- 撮像部により取得された撮像画像を表示するビデオシースルーディスプレイを制御し、
所定の撮像画像に基づく実空間の認識処理の負荷が第1の負荷である場合、前記実空間の認識処理に基づき描画された仮想オブジェクトを第1の撮像画像に重畳し、
前記認識処理の負荷が前記第1の負荷よりも高い第2の負荷である場合、前記第1の撮像画像よりも過去の第2の撮像画像に前記仮想オブジェクトを重畳する、
表示制御部を備える、情報処理装置。 - 前記第1の負荷および前記第2の負荷は、それぞれ前記認識処理に要する時間に関する、請求項1に記載の情報処理装置。
- 前記第1の負荷は、前記認識処理に要する時間が、前記取得された撮像画像を描画する時間以下に対応し、
前記第2の負荷は、前記認識処理に要する時間が、前記取得された撮像画像を描画する時間より長い場合に対応する、請求項2に記載の情報処理装置。 - 前記第1の撮像画像は、前記撮像部により取得されリアルタイムで前記ビデオシースルーディスプレイに表示されるスルー画像である、請求項1に記載の情報処理装置。
- 前記第2の撮像画像は、前記取得された撮像画像であって、さらに前記第1の撮像画像より所定フレーム数前の撮像画像である、請求項4に記載の情報処理装置。
- 前記認識処理では、当該認識処理を開始する時点を基準として最も新しい撮像画像に基づいて前記実空間の認識処理が行われる、請求項1に記載の情報処理装置。
- 前記ビデオシースルーディスプレイに表示される撮像画像と、前記認識処理が行われる前記所定の撮像画像は、撮像時刻が異なる別の撮像画像である、請求項1に記載の情報処理装置。
- 前記表示制御部は、前記認識処理の負荷が前記第1の負荷よりも高い第2の負荷であっても、所定の条件を満たす場合は、前記第1の撮像画像に前記仮想オブジェクトを重畳する、請求項1に記載の情報処理装置。
- 前記所定の条件は、前記撮像部および前記ビデオシースルーディスプレイが設けられた前記情報処理装置の移動速度に関する、請求項8に記載の情報処理装置。
- 前記所定の条件は、前記撮像部および前記ビデオシースルーディスプレイが設けられた前記情報処理装置と、前記実空間に存在する移動物体との間の距離に関する、請求項8に記載の情報処理装置。
- 前記表示制御部は、前記ビデオシースルーディスプレイに前記第1の撮像画像を表示して前記仮想オブジェクトを重畳する第1の処理へ、前記ビデオシースルーディスプレイに前記第2の撮像画像を表示して前記仮想オブジェクトを重畳する第2の処理から切り替える切替制御を行う、請求項1に記載の情報処理装置。
- 前記切替制御では、前記ビデオシースルーディスプレイに表示する撮像画像を、前記情報処理装置の最新の自己位置に基づいて、前記第2の撮像画像から第1の撮像画像に段階的に変形する処理を行う、請求項11に記載の情報処理装置。
- プロセッサが、
撮像部により取得された撮像画像を表示するビデオシースルーディスプレイの表示制御を行うことと、
所定の撮像画像に基づく実空間の認識処理の負荷が第1の負荷である場合、前記実空間の認識処理に基づき描画された仮想オブジェクトを第1の撮像画像に重畳する表示制御を行うことと、
前記認識処理の負荷が前記第1の負荷よりも高い第2の負荷である場合、前記第1の撮像画像よりも過去の第2の撮像画像に前記仮想オブジェクトを重畳する表示制御を行うことと、
を含む、情報処理方法。 - コンピュータを、
撮像部により取得された撮像画像を表示するビデオシースルーディスプレイを制御し、
所定の撮像画像に基づく実空間の認識処理の負荷が第1の負荷である場合、前記実空間の認識処理に基づき描画された仮想オブジェクトを第1の撮像画像に重畳し、
前記認識処理の負荷が前記第1の負荷よりも高い第2の負荷である場合、前記第1の撮像画像よりも過去の第2の撮像画像に前記仮想オブジェクトを重畳する、
表示制御部として機能させるためのプログラムが記憶された、記憶媒体。
Priority Applications (3)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| US18/002,654 US20230260220A1 (en) | 2020-06-30 | 2021-05-10 | Information processor, information processing method, and storage medium |
| CN202180045233.1A CN115917609A (zh) | 2020-06-30 | 2021-05-10 | 信息处理装置、信息处理方法和存储介质 |
| DE112021003465.0T DE112021003465T5 (de) | 2020-06-30 | 2021-05-10 | Informationsprozessor, informationsverarbeitungsverfahren und speichermedium |
Applications Claiming Priority (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2020113039 | 2020-06-30 | ||
| JP2020-113039 | 2020-06-30 |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| WO2022004130A1 true WO2022004130A1 (ja) | 2022-01-06 |
Family
ID=79315183
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| PCT/JP2021/017712 Ceased WO2022004130A1 (ja) | 2020-06-30 | 2021-05-10 | 情報処理装置、情報処理方法、および記憶媒体 |
Country Status (4)
| Country | Link |
|---|---|
| US (1) | US20230260220A1 (ja) |
| CN (1) | CN115917609A (ja) |
| DE (1) | DE112021003465T5 (ja) |
| WO (1) | WO2022004130A1 (ja) |
Cited By (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| WO2023242917A1 (ja) * | 2022-06-13 | 2023-12-21 | 三菱電機株式会社 | スマートグラスシステム、スマートグラス連携方法、サーバー装置およびサーバープログラム |
| WO2025004609A1 (ja) * | 2023-06-28 | 2025-01-02 | 株式会社デンソー | 処理システム、処理方法、処理プログラム |
| WO2025182630A1 (ja) * | 2024-02-27 | 2025-09-04 | ヌヴォトンテクノロジージャパン株式会社 | 画像処理装置、画像処理システムおよび画像処理方法 |
Citations (5)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2008299669A (ja) * | 2007-05-31 | 2008-12-11 | Canon Inc | 頭部装着型表示装置、及びその制御方法 |
| JP2009048237A (ja) * | 2007-08-13 | 2009-03-05 | Canon Inc | 画像処理装置、画像処理方法 |
| JP2018087849A (ja) * | 2016-11-28 | 2018-06-07 | キヤノン株式会社 | 画像処理装置、画像処理方法およびプログラム |
| JP2019184830A (ja) * | 2018-04-10 | 2019-10-24 | キヤノン株式会社 | 画像表示装置、画像表示方法 |
| JP2020042592A (ja) * | 2018-09-11 | 2020-03-19 | ソニー株式会社 | 情報処理装置、描画制御方法及びそのプログラムを記録した記録媒体 |
Family Cites Families (5)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP4971483B2 (ja) * | 2010-05-14 | 2012-07-11 | 任天堂株式会社 | 画像表示プログラム、画像表示装置、画像表示システム、および画像表示方法 |
| JP6641763B2 (ja) * | 2015-08-03 | 2020-02-05 | セイコーエプソン株式会社 | 表示システム |
| WO2017047178A1 (ja) | 2015-09-16 | 2017-03-23 | ソニー株式会社 | 情報処理装置、情報処理方法及びプログラム |
| JP2021105749A (ja) | 2018-03-20 | 2021-07-26 | ソニーグループ株式会社 | 情報処理装置、情報処理方法およびプログラム |
| US10593049B2 (en) * | 2018-05-30 | 2020-03-17 | Chiral Software, Inc. | System and method for real-time detection of objects in motion |
-
2021
- 2021-05-10 WO PCT/JP2021/017712 patent/WO2022004130A1/ja not_active Ceased
- 2021-05-10 CN CN202180045233.1A patent/CN115917609A/zh not_active Withdrawn
- 2021-05-10 DE DE112021003465.0T patent/DE112021003465T5/de active Pending
- 2021-05-10 US US18/002,654 patent/US20230260220A1/en not_active Abandoned
Patent Citations (5)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2008299669A (ja) * | 2007-05-31 | 2008-12-11 | Canon Inc | 頭部装着型表示装置、及びその制御方法 |
| JP2009048237A (ja) * | 2007-08-13 | 2009-03-05 | Canon Inc | 画像処理装置、画像処理方法 |
| JP2018087849A (ja) * | 2016-11-28 | 2018-06-07 | キヤノン株式会社 | 画像処理装置、画像処理方法およびプログラム |
| JP2019184830A (ja) * | 2018-04-10 | 2019-10-24 | キヤノン株式会社 | 画像表示装置、画像表示方法 |
| JP2020042592A (ja) * | 2018-09-11 | 2020-03-19 | ソニー株式会社 | 情報処理装置、描画制御方法及びそのプログラムを記録した記録媒体 |
Cited By (5)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| WO2023242917A1 (ja) * | 2022-06-13 | 2023-12-21 | 三菱電機株式会社 | スマートグラスシステム、スマートグラス連携方法、サーバー装置およびサーバープログラム |
| JPWO2023242917A1 (ja) * | 2022-06-13 | 2023-12-21 | ||
| JP7515769B2 (ja) | 2022-06-13 | 2024-07-12 | 三菱電機株式会社 | スマートグラスシステム、スマートグラス連携方法、サーバー装置およびサーバープログラム |
| WO2025004609A1 (ja) * | 2023-06-28 | 2025-01-02 | 株式会社デンソー | 処理システム、処理方法、処理プログラム |
| WO2025182630A1 (ja) * | 2024-02-27 | 2025-09-04 | ヌヴォトンテクノロジージャパン株式会社 | 画像処理装置、画像処理システムおよび画像処理方法 |
Also Published As
| Publication number | Publication date |
|---|---|
| CN115917609A (zh) | 2023-04-04 |
| DE112021003465T5 (de) | 2023-05-17 |
| US20230260220A1 (en) | 2023-08-17 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| EP3379525B1 (en) | Image processing device and image generation method | |
| CN110998666B (zh) | 信息处理装置、信息处理方法以及程序 | |
| US11487354B2 (en) | Information processing apparatus, information processing method, and program | |
| EP3369091B1 (en) | Systems and methods for eye vergence control | |
| JP6909286B2 (ja) | 画像生成装置、画像表示システム、および画像生成方法 | |
| WO2016157677A1 (ja) | 情報処理装置、情報処理方法及びプログラム | |
| US10277814B2 (en) | Display control method and system for executing the display control method | |
| US10969861B2 (en) | Image processing device, image processing method, and image system | |
| WO2018211673A1 (ja) | 画像生成装置、画像表示システム、および画像生成方法 | |
| WO2022004130A1 (ja) | 情報処理装置、情報処理方法、および記憶媒体 | |
| US12309344B2 (en) | Electronic device that displays virtual objects at different apparent depths | |
| CN111902859B (zh) | 信息处理装置、信息处理方法和程序 | |
| GB2548151A (en) | Head-mountable display | |
| US11314327B2 (en) | Head mounted display and control method thereof | |
| US20240036327A1 (en) | Head-mounted display and image displaying method | |
| US11726320B2 (en) | Information processing apparatus, information processing method, and program | |
| US11908090B2 (en) | Information processing device, information processing method, and program | |
| JP2020071394A (ja) | 情報処理装置、情報処理方法及びプログラム | |
| US10659755B2 (en) | Information processing device, information processing method, and program | |
| US12445590B2 (en) | Head-mounted display and image displaying method | |
| WO2024071208A1 (ja) | 表示装置、表示方法及びプログラム | |
| WO2024101002A1 (ja) | 情報処理装置、プログラム、および情報処理方法 | |
| CN119893066A (zh) | 一种基于虚拟现实的防炫目宽动态技术应用方法 | |
| CN117170602A (zh) | 显示虚拟对象的电子设备 |
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: 21832376 Country of ref document: EP Kind code of ref document: A1 |
|
| 122 | Ep: pct application non-entry in european phase |
Ref document number: 21832376 Country of ref document: EP Kind code of ref document: A1 |
|
| NENP | Non-entry into the national phase |
Ref country code: JP |