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

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

Info

Publication number
WO2022004483A1
WO2022004483A1 PCT/JP2021/023550 JP2021023550W WO2022004483A1 WO 2022004483 A1 WO2022004483 A1 WO 2022004483A1 JP 2021023550 W JP2021023550 W JP 2021023550W WO 2022004483 A1 WO2022004483 A1 WO 2022004483A1
Authority
WO
WIPO (PCT)
Prior art keywords
information processing
control unit
image
view
display angle
Prior art date
Application number
PCT/JP2021/023550
Other languages
English (en)
French (fr)
Inventor
巧 浜崎
Original Assignee
ソニーグループ株式会社
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by ソニーグループ株式会社 filed Critical ソニーグループ株式会社
Priority to CN202180034260.9A priority Critical patent/CN115552475A/zh
Priority to DE112021003448.0T priority patent/DE112021003448T5/de
Publication of WO2022004483A1 publication Critical patent/WO2022004483A1/ja

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/011Arrangements for interaction with the human body, e.g. for user immersion in virtual reality
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/011Arrangements for interaction with the human body, e.g. for user immersion in virtual reality
    • G06F3/012Head tracking input arrangements
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0481Interaction techniques based on graphical user interfaces [GUI] based on specific properties of the displayed interaction object or a metaphor-based environment, e.g. interaction with desktop elements like windows or icons, or assisted by a cursor's changing behaviour or appearance
    • G06F3/04815Interaction with a metaphor-based environment or interaction object displayed as three-dimensional, e.g. changing the user viewpoint with respect to the environment or object
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T19/00Manipulating 3D models or images for computer graphics
    • G06T19/006Mixed reality
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/20Analysis of motion
    • G06T7/246Analysis of motion using feature-based methods, e.g. the tracking of corners or segments
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/70Determining position or orientation of objects or cameras
    • G06T7/73Determining position or orientation of objects or cameras using feature-based methods

Definitions

  • This technology is related to the technology for displaying virtual objects in AR (Augmented Reality).
  • AR technology is installed in various terminals such as HMDs (Head Mounted Display) and smartphones.
  • the main method is a method of recognizing the position and orientation of an object from image information by an image pickup unit provided in a terminal.
  • an object of the present technology is to provide a technology for preventing a delay in AR display in a virtual object.
  • the information processing device includes a control unit.
  • the control unit describes the object outside the AR display angle of view based on the first image information from the first image pickup unit of the terminal capable of capturing an area outside the AR display angle of view of the display unit of the terminal.
  • the pre-recognition process for recognizing the position and orientation with respect to the terminal is executed in advance and the object enters the AR display angle of view, the pre-recognized position and orientation of the object is applied to the object.
  • the information processing method is outside the AR display angle of view based on the first image information from the first image pickup unit of the terminal capable of capturing an area outside the AR display angle of view of the display unit of the terminal.
  • the pre-recognition process of recognizing the position and orientation of the object with respect to the terminal in advance is executed.
  • the AR display of the virtual object on the object is included based on the position and orientation of the object recognized in advance.
  • the program according to the present technology is an object outside the AR display angle of view based on the first image information from the first image pickup unit of the terminal capable of capturing an area outside the AR display angle of view of the display unit of the terminal.
  • a pre-recognition process for recognizing the position and orientation of an object with respect to the terminal is executed in advance.
  • the computer is made to execute a process of displaying a virtual object on the object in AR based on the previously recognized position and orientation of the object.
  • FIG. 1 is a diagram showing an example of HMD 10 according to the first embodiment of the present technology.
  • FIG. 2 is a block diagram showing an internal configuration of the HMD 10 according to the present embodiment.
  • the HMD 10 (an example of a terminal) includes an HMD main body 11, a control unit 1, a storage unit 2, a display unit 3, an inertial sensor 4, an image pickup unit 5, and a communication unit. It has 8 and.
  • the HMD main body 11 is attached to the user's head and used.
  • the HMD main body 11 is attached to the front portion 12, the right temple portion 13 provided on the right side of the front portion 12, the left temple portion 14 provided on the left side of the front portion 12, and the lower side of the front portion 12. It has a glass portion 15.
  • the display unit 3 can display the virtual object 9 in AR within the AR display angle of view on the front side according to the control of the control unit 1.
  • the AR display means that the virtual object 9 is displayed so as to be perceived by the user as if it were a real object existing in the real space.
  • FIG. 3 is a diagram showing a state when the virtual object 9 is superimposed on the object and displayed in AR.
  • the state when the virtual object 9 of the character is AR-displayed at the position on the saddle of the rocking horse, which is the object, is shown.
  • a state when the virtual object 9 of the character is AR-displayed at a position on the face of a person (child) who is an object is shown.
  • the display unit 3 is a display having light transmission (optical see-through display), and includes, for example, an OLED (Organic Light Emitting Diode) as a light source and a light guide plate.
  • the display unit 3 may adopt various forms such as a configuration using a half mirror and a retinal operation display.
  • the light source of the display unit 3 may be provided on the front unit 12, the right temple unit 13, the left temple unit 14, or the like.
  • the display unit 3 may be a video see-through display. In this case, an image in which the virtual object 9 is superimposed on the image captured by the front camera 6 provided on the front side is displayed on the display unit 3.
  • the image pickup unit 5 includes a front camera 6 (second image pickup unit) and a side camera 7 (first image pickup unit).
  • the front camera 6 and the side camera 7 each include an image pickup element such as a CCD (Charge Coupled Device) sensor and a CMOS (Complemented Metal Oxide Semiconductor) sensor, and an optical system such as an image pickup lens.
  • an image pickup element such as a CCD (Charge Coupled Device) sensor and a CMOS (Complemented Metal Oxide Semiconductor) sensor
  • an optical system such as an image pickup lens.
  • the front camera 6 (second imaging unit) is provided outward on the outer surface of the front unit 12.
  • the front camera 6 acquires a front image (second image information) in front of the HMD 10 and outputs it to the control unit 1.
  • This front camera 6 is an example of a second image pickup unit.
  • the second image pickup unit is configured to be capable of imaging a region corresponding to the AR display angle of view of the display unit 3.
  • the second image pickup unit captures an object existing in the region corresponding to the AR display angle of view, and outputs the image information (second image information) obtained by the image pickup to the control unit 1.
  • the side camera 7 is provided outward on the outer surface of the right temple portion 13.
  • the side camera 7 acquires a side image (first image information) on the right side of the HMD 10 and outputs it to the control unit 1.
  • the side camera 7 is an example of the first image pickup unit.
  • the first imaging unit is configured to be capable of imaging a region outside the AR display angle of view of the display unit 3.
  • the first image pickup unit captures an object existing outside the AR display angle of view, and outputs the image information (first image information) obtained by the image pickup to the control unit 1.
  • the position where the first image pickup unit is provided includes, for example, the side surface, the middle of the side surface and the front surface, the back surface, the middle of the back surface and the side surface, and overhead.
  • the first image pickup unit may be arranged at a position where the second image pickup unit can take an image in a direction in which it is difficult to take an image in terms of angle of view.
  • the number of the first imaging units is one, but this number may be two or more. However, if the number of the first imaging units is too large, the power consumption of the HMD 10 becomes large, and the number of the first imaging units is set in consideration of this point.
  • the inertial sensor 4 includes an acceleration sensor that detects acceleration in the three-axis direction and an angular velocity sensor that detects the angular velocity around the three axes.
  • the inertial sensor 4 outputs the acceleration in the three-axis direction obtained by the detection and the angular velocity around the three axes as inertial information to the control unit 1.
  • the detection axes of the inertial sensor 4 are three axes, but the detection axes may be one axis or two axes. Further, in the present embodiment, two types of sensors are used as the inertial sensor 4, but one type or three or more types of sensors may be used as the inertial sensor 4.
  • the communication unit 8 is configured to be able to communicate with an external device (for example, a server device on a network) by wire or wirelessly.
  • an external device for example, a server device on a network
  • the control unit 1 executes various operations based on various programs stored in the storage unit 2 and comprehensively controls each unit of the HMD 10. The processing of the control unit 1 will be described in detail later in the column of operation explanation.
  • the control unit 1 is realized by hardware or a combination of hardware and software.
  • the hardware is configured as a part or all of the control unit 1, and the hardware includes a CPU (Central Processing Unit), a GPU (Graphics Processing Unit), a VPU (Vision Processing Unit), a DSP (Digital Signal Processor), and the like. Examples include FPGA (Field Programmable Gate Array), ASIC (Application Specific Integrated Circuit), or a combination of two or more of these.
  • the storage unit 2 includes various programs required for processing of the control unit 1, a non-volatile memory for storing various data, and a volatile memory used as a work area of the control unit 1.
  • the various programs may be read from a portable recording medium such as an optical disk or a semiconductor memory, or may be downloaded from a server device on a network.
  • FIG. 4 is a flowchart showing the self-position estimation process of the control unit 1.
  • the control unit 1 acquires a front image from the front camera 6 and acquires a side image from the side camera 7 (step 101).
  • control unit 1 estimates the self-positioning posture in the world coordinate system of the terminal based on the front image and the side image (step 102). Then, the control unit 1 stores the estimated self-position posture in the storage unit 2 in association with the time information (step 103), and then returns to step 101.
  • the feature point cloud extracted from the image information (front image and / or side image) is compared with the feature point cloud included in the map information, and the self-position estimation of the HMD 10 is executed. Will be done.
  • the map information used for self-position estimation includes a method created in advance and a method created at the same time as self-position estimation without creating it in advance, but either method may be used.
  • the method of creating map information at the same time as self-position estimation is generally called SLAM (Simultaneous Localization and Mapping).
  • Self-position estimation includes relocalization and motion tracking.
  • Relocalization is a technique for estimating the self-position in the world coordinate system based on the feature point cloud of image information and the feature point cloud of map information.
  • This relocalization is executed immediately after the power is turned on to the HMD10, or when self-position estimation based on motion tracking fails. In addition, even if the process of comparing the feature point cloud from the image information with the feature point cloud included in the map information is always executed and relocalization is executed when the matching of these feature point groups is successful. good.
  • Motion tracking calculates the amount of change (movement) of self-position and posture for each minute time based on image information (or inertia information), and by sequentially adding this amount of change, the current self in the world coordinate system. It is a technique for performing position estimation.
  • the image information is image-processed and the feature point group is extracted from the image information.
  • the change amount of the previous self-position and posture and the current self-position and posture is calculated by comparing the feature point group of the image information in the previous time with the feature point group of the image information in this time. By adding this amount of change to the previous self-position and attitude, the current self-position estimation is executed in the world coordinate system.
  • the inertia information from the inertial sensor 4 may be used instead of the image information.
  • both image information and inertial information may be used.
  • the self-position posture estimated based on the image information may be corrected based on the inertial information.
  • the terminal device 20 may execute the self-position estimation process by any method.
  • the loop of the self-position estimation process shown in FIG. 4 is a high-frequency loop (for example, 100 to 200 times / sec).
  • the control unit 1 estimates and recognizes the position and orientation of the object in the AR display angle of view with respect to the HMD 10 based on the front image (hereinafter, the position and orientation recognition of the object based on the front image). Process) is executed.
  • control unit 1 determines the position of the object outside the AR display angle of view with respect to the HMD 10 based on the side image in case the object existing outside the AR display angle of view enters the AR display angle of view.
  • the pre-recognition process (hereinafter referred to as the pre-position / orientation recognition process of the object based on the side image) for estimating and recognizing the posture in advance is executed.
  • the following four processes (1) to (4) are executed for the process of recognizing the relative position / posture of the object with respect to the HMD 10.
  • 1. Position / posture recognition processing of the object based on the front image (1) Detection processing of the object in the front image (second detection processing) (2) Tracking process of the object in the front image (second tracking process) 2.
  • the detection process is a technique for estimating and recognizing the position and orientation of an object with respect to the HMD 10 from a single image without prior information about the object.
  • it is determined whether or not the object is shown in the image (whether or not the object is detected), and if the object is shown in the image, the relative position of the object with respect to the HMD 10 is determined.
  • the posture is estimated.
  • the tracking process is a technique for estimating and recognizing the position and orientation of the object with respect to the HMD10 in a state where the previous position and orientation of the object with respect to the HMD10 is given in advance as prior information.
  • this tracking process after the object is detected by the detection process, the movement of the object is tracked based on the previous information, and the position and posture of the object with respect to the HMD 10 is estimated.
  • FIG. 5 is a flowchart showing an object detection process in the front image.
  • control unit 1 acquires a front image from the front camera 6 (step 201).
  • control unit 1 determines whether or not an object to be AR-displayed by the virtual object 9 is shown in the front image (whether or not the object is detected) (step 202).
  • the object may be, for example, an AR marker prepared in advance in the real world (marker type AR), or an object existing in the real world such as a wooden horse or a person as shown in FIG. (Markerless type AR).
  • marker type AR an AR marker prepared in advance in the real world
  • Markerless type AR an object existing in the real world such as a wooden horse or a person as shown in FIG.
  • the control unit 1 first extracts the feature point cloud from the front image. Next, the control unit 1 compares the feature point group extracted from the front image with the feature point group of the recognition model of the object (previously stored in the storage unit 2) in the front image. Determine if the object is in the picture.
  • control unit 1 When the object is not shown in the front image (when the object is not detected) (NO in step 202), the control unit 1 returns to step 201 and acquires the front image from the front camera 6 again. On the other hand, when the object is shown in the front image (YES in step 202), the control unit 1 determines the relative position and orientation of the object with respect to the HMD 10 based on the feature point cloud corresponding to the object in the front image. Is estimated and recognized (step 203).
  • control unit 1 stores the relative position / orientation of the object with respect to the HMD 10 in the storage unit 2 in association with the time information (step 204), and returns to step 201.
  • the detection process in the front image shown in FIG. 5 is typically executed repeatedly even after one object is detected. This is because there may be a plurality of objects in the front image.
  • the detection process shown in FIG. 5 is performed while the object can be tracked (see step 304 in FIG. 6). It is also possible to stop.
  • FIG. 6 is a flowchart showing a tracking process of an object in a front image.
  • control unit 1 determines whether or not the object is detected by the detection process of the object in the front image (step 301) (see step 202 in FIG. 5). If the object is not detected (NO in step 301), the control unit 1 returns to step 301.
  • the control unit 1 acquires a front image from the front camera 6 (step 302). Next, the control unit 1 uses the previous position / orientation (previous information) of the object with respect to the HMD10, and the relative position / orientation of the object with respect to the HMD 10 based on the feature point cloud corresponding to the object in the front image. Is estimated and recognized (step 303).
  • control unit 1 determines whether or not the position and orientation of the object can be recognized (whether or not the object can be tracked) (step 304). If the position / orientation of the object is unrecognizable (the object cannot be tracked) (NO in step 304), the control unit 1 returns to step 301.
  • Examples of cases in which the position and orientation of the object cannot be recognized include the following cases (1) and (2).
  • the object is out of the angle of view of the front camera 6, and the object cannot be seen in the front image.
  • the posture change speed of the HMD 10 is high because, for example, the user shakes his head, and the object in the front image is blurred, so that the position and orientation of the object Cannot be estimated and recognized.
  • step 304 the control unit 1 stores the relative position / orientation of the object with respect to the HMD 10 in the storage unit 2 in association with the time information. Then, the control unit 1 returns to step 302.
  • the tracking process of the object in the front image shown in FIG. 6 is executed for each object when the object is detected in the front image. For example, when two objects are shown in the front image and two objects are detected in the front image, the tracking process in the front image shown in FIG. 6 is executed in parallel. .. If only one virtual object 9 is displayed in AR, it is not necessary to execute the tracking process in parallel for each object.
  • FIG. 7 is a flowchart showing an object detection process in the side image.
  • control unit 1 acquires a side image from the side camera 7 (step 401). Next, the control unit 1 determines whether or not an object to be AR-displayed by the virtual object 9 is shown in the side image (whether or not the object is detected) (step 402).
  • the control unit 1 first extracts a feature point cloud from the side image. Next, the control unit 1 compares the feature point group extracted from the side image with the feature point group of the recognition model of the object (previously stored in the storage unit 2) in the side image. Determine if the object is in the picture.
  • control unit 1 When the object is not shown in the side image (when the object is not detected) (NO in step 402), the control unit 1 returns to step 401 and acquires the side image from the side camera 7 again. On the other hand, when the object is shown in the side image (YES in step 402), the control unit 1 determines the relative position and orientation of the object with respect to the HMD 10 based on the feature point cloud corresponding to the object in the side image. Is estimated in advance and recognized (step 403).
  • control unit 1 stores the relative position / orientation of the object with respect to the HMD 10 in the storage unit 2 in association with the time information (step 404), and returns to step 401.
  • the detection process in the side image shown in FIG. 7 is typically executed repeatedly even after one object is detected. This is because there may be a plurality of objects in the side image.
  • the detection process shown in FIG. 7 is performed while the object can be tracked (see step 504 in FIG. 8). It is also possible to stop.
  • FIG. 8 is a flowchart showing a tracking process of an object in a side image.
  • control unit 1 determines whether or not the object is detected by the detection process of the object in the side image (step 501) (see step 402 in FIG. 7). If the object is not detected (NO in step 501), the control unit 1 returns to step 501.
  • the control unit 1 acquires a side image from the side camera 7 (step 502).
  • the control unit 1 uses the previous position / orientation (previous information) of the object with respect to the HMD10, and the relative position / orientation of the object with respect to the HMD 10 based on the feature point cloud corresponding to the object in the side image. Is estimated in advance and recognized (step 503).
  • control unit 1 determines whether or not the position and orientation of the object can be recognized (whether or not the object can be tracked) (step 504). If the position / orientation of the object is unrecognizable (the object cannot be tracked) (NO in step 504), the control unit 1 returns to step 501.
  • Examples of cases in which the position and orientation of the object cannot be recognized include the following cases (1) and (2).
  • the object is out of the angle of view of the side camera 7, and the object does not appear in the side image.
  • the posture change speed of the HMD 10 is high because, for example, the user shakes his head, and the object in the side image is blurred, so that the position and orientation of the object Cannot be estimated and recognized.
  • step 504 If the position and orientation of the object can be estimated (YES in step 504) in step 504, the control unit 1 proceeds to the next step 504. In step 504, the control unit 1 stores the relative position / orientation of the object with respect to the HMD 10 in the storage unit 2 in association with the time information. Then, the control unit 1 returns to step 502.
  • the tracking process of the object in the side image shown in FIG. 8 is executed for each object when the object is detected in the side image. For example, when two objects are shown in the side image and two objects are detected in the side image, the tracking process in the side image shown in FIG. 8 is executed in parallel. .. If only one virtual object 9 is displayed in AR, it is not necessary to execute the tracking process in parallel for each object.
  • the detection process for estimating the position and orientation of an object without prior information requires more calculation than the tracking process for estimating the position and orientation of an object with the prior information given. Therefore, the frequency of processing loops in the detection process is lower than the frequency of processing loops in the tracking process.
  • the frequency of the loop of the object detection process in the front image is lower than (2) the frequency of the loop of the object tracking process in the front image, and (3) the detection of the object in the side image.
  • the frequency of the processing loop is lower than the frequency of (4) the tracking processing loop of the object in the side image.
  • the frequency of the loop of the object detection process in the front image and (3) the frequency of the loop of the object detection process in the side image It is supposed to be different from. Further, (2) the frequency of the loop of the tracking process of the object in the front image and (4) the frequency of the loop of the tracking process of the object in the side image are different.
  • the tracking process of the object in the front image is repeatedly executed at a high frequency (for example, 100 to 200 times / sec) (second frequency). Further, the frequency of capturing the front image is repeatedly executed at a high frequency (for example, 100 to 200 times / sec) according to the frequency of the loop of the tracking process.
  • the detection process is a process that requires a larger amount of calculation than the tracking process
  • (1) the detection process of the object in the front image has a medium frequency (for example, 30 to 60 times / sec) (fourth frequency). Is repeated in.
  • the result of the preliminary position / orientation estimation of the object based on the side image is not used for AR display at that time, and only when the user turns to the side-positioned object for the first time.
  • the information used. Therefore, (4) the tracking process of the object in the side image is repeatedly executed at a medium frequency (for example, 20 to 40 times / sec) (first frequency). Further, the frequency of capturing the side image is repeatedly executed at a medium frequency (for example, 20 to 40 times / sec) according to the frequency of the loop of the tracking process.
  • the detection process is a process that requires a larger amount of calculation than the tracking process
  • the detection process of the object in the side image has a low frequency (for example, 5 to 10 times / sec) (third frequency). Is repeated in. It should be noted that this frequency is set to such a frequency that the detection of the object on the side surface is not delayed.
  • the frequency of the loop of the tracking process of the object in the side image is set to be lower than the frequency of the loop of the tracking process of the object in the front image. Further, in the present embodiment, (3) the frequency of the loop of the object detection process in the side image is set lower than (1) the frequency of the loop of the object detection process in the front.
  • the frequency of the two loops in (3) the detection process of the object in the side image and (4) the tracking process of the object in the side image is lower as the position (angle) of the side camera with respect to the front becomes farther. It may be set to be.
  • FIG. 9 is a flowchart showing the AR display process of the virtual object 9.
  • the control unit 1 determines whether or not the position and orientation of the object with respect to the HMD 10 is recognized based on the front image (see FIGS. 5 and 6). When the position and orientation of the object with respect to the HMD 10 is recognized based on the front image (YES in step 601), the control unit 1 proceeds to the next step 602. On the other hand, when the position and orientation of the object with respect to the HMD 10 is not recognized based on the front image (NO in step 601), the control unit 1 skips steps 602 to 606 and proceeds to step 607.
  • step 602 the control unit 1 determines whether or not the prediction of the position and attitude of the object related to the prior recognition with respect to the HMD 10 is currently being executed. This prediction will be described in detail in step 610 described later.
  • step 602 When the prediction is being executed (YES in step 602), the control unit 1 ends the prediction of the position and attitude of the object related to the prior recognition with respect to the HMD 10 (step 603), and proceeds to the next step 604. On the other hand, when the prediction is not being executed (NO in step 603), the control unit 1 skips step 603 and proceeds to step 604.
  • step 604 the control unit 1 determines whether or not the AR display of the virtual object 9 based on the prediction result is being executed.
  • the AR display of the virtual object 9 based on the prediction result will be described in detail in step 612 described later.
  • step 604 When the AR display of the virtual object 9 based on the prediction result is being executed (YES in step 604), the control unit 1 ends the AR display of the virtual object 9 based on the prediction result (step 605), and the next step 606 is performed. Proceed to. On the other hand, when the AR display of the virtual object 9 based on the prediction result is not being executed (NO in step 604), the control unit 1 skips step 605 and proceeds to step 606.
  • step 606 the control unit 1 AR displays the virtual object 9 on the object based on the position and orientation of the object with respect to the HMD 10 recognized based on the front image.
  • control unit 1 determines whether or not the swing is started by the user wearing the HMD 10 (whether or not the swing speed exceeds the threshold value) (step 607).
  • control unit 1 typically determines whether the speed of the posture change of the HMD 10 exceeds a predetermined threshold value to determine the start of the swing by the user.
  • the speed of the attitude change by the HMD 10 may be determined based on the inertial information from the inertial sensor 4, or may be determined based on the value by the self-position estimation.
  • the control unit 1 determines the speed of the pre-recognized object with respect to the terminal (for example, around the vertical axis) based on the speed of the posture change of the HMD 10 and the position / posture of the pre-recognized object. May be predicted to determine if the predicted speed exceeds the threshold. This is because when the object is a person or the like, the object may move, and such processing can appropriately deal with the case where the object moves.
  • step 607 If the swing has not been started (NO in step 607), the control unit 1 returns to step 101.
  • the swing is started (YES in step 607), the imaging by the front camera 6 and the side camera 7 is stopped, the position / posture recognition process of the object based on the front image and the prior position of the object based on the side image.
  • the posture recognition process is stopped (step 608).
  • control unit 1 determines whether or not the object has been pre-recognized based on the side image at the start of the swing (or at a time slightly earlier than that) (step 609) (step 609). 7 and 8).
  • control unit 1 determines whether or not the swing is completed (step 615), and when the swing is completed, the front camera 6 and Imaging with the side camera 7 is started (step 614).
  • the control unit 1 starts predicting the position and attitude of the pre-recognized object with respect to the HMD 10 (step 610).
  • the control unit 1 determines the position of the current object relative to the current position and orientation of the HMD 10 based on the pre-recognized position and orientation of the object with respect to the HMD 10 and the current self-position and attitude of the HMD 10. Predict posture. It should be noted that this prediction also includes a prediction based on movement when a pre-recognized object is moving.
  • control unit 1 places the pre-recognized object in the AR display angle of view of the display unit 3 based on the prediction result (the position / orientation of the current object relative to the current position / orientation of the HMD 10). It is determined whether or not it has entered (step 611).
  • the control unit 1 When the pre-recognized object enters the AR display angle of view of the display unit 3 (YES in step 611), the control unit 1 generates (draws) an AR image of the virtual object 9 based on the prediction result. Then, the process of displaying the virtual object 9 in AR is started (step 612). Since the self-positioning posture of the HMD 10 may change slightly while the AR image is being generated, the AR display position of the virtual object 9 may be corrected based on the latest self-positioning posture in the HMD 10. ..
  • step 613 if the pre-recognized object is not within the AR display angle of view of the display unit 3 (NO in step 611), step 612 is skipped and the process proceeds to step 613.
  • step 613 the control unit 1 determines whether or not the swing is completed by the user wearing the HMD 10 (whether or not the swing speed is equal to or less than the threshold value). In this case, the control unit 1 typically determines whether or not the speed of the posture change of the HMD 10 is equal to or less than a predetermined threshold value to determine the end of the swing by the user.
  • the speed of the attitude change by the HMD 10 may be determined based on the inertial information from the inertial sensor 4, or may be determined based on the value by the self-position estimation.
  • the control unit 1 controls the speed of the pre-recognized object with respect to the terminal (for example, around the vertical axis) based on the speed of the posture change of the HMD 10 and the position / posture of the pre-recognized object. May be predicted and it may be determined whether or not the predicted speed is below the threshold value. This is because when the object is a person or the like, the object may move, and such processing can appropriately deal with the case where the object moves.
  • step 613 the process in step 615 are typically the same.
  • step 613 If the swing is not completed in step 613 (NO in step 613), the control unit 1 returns to step 611. On the other hand, when the swing is completed in step 613, the control unit 1 starts imaging with the front camera 6 and the side camera 7 (step 614). Then, the control unit 1 returns to step 601.
  • the prediction period is set in the recognition process of the object based on the front image after the swing of the HMD 10 is detected (after the speed of the posture change of the HMD 10 becomes equal to or higher than a predetermined threshold value). It is the period until the recognition of the pre-recognized object is completed.
  • the AR display period of the virtual object 9 based on the prediction is set in the position / orientation recognition process of the object based on the front image after the pre-recognized object enters the AR display angle of view. It is said to be the period until the recognition of is completed.
  • FIG. 10 is a diagram comparing the processing flow in the HMD 10 according to the present embodiment and the processing flow in the HMD 20 according to the comparative example.
  • FIG. 11 is a diagram showing at what timing the virtual object 9 is AR-displayed when the head is shaken by the user in the HMD 20 according to the comparative example.
  • FIG. 12 is a diagram showing at what timing the virtual object 9 is AR-displayed when the head is shaken by the user in the HMD 10 according to the present embodiment.
  • the side camera 7 is not provided, and therefore, the object cannot be recognized in advance before the swing.
  • the blur is placed on the front image due to the swing of the user, and the object is blurred. Therefore, when the object enters the AR display angle of view, the position and orientation of the object with respect to the HMD 10 cannot be recognized based on the front image, and the AR display based on this recognition cannot be performed.
  • the recognition of the object is started. Then, when the recognition of the position and orientation of the object with respect to the HMD 10 is completed, the AR image of the virtual object 9 is generated (drawn), and the virtual object 9 is AR-displayed.
  • the virtual object 9 that is not AR-displayed is suddenly AR-displayed for the object.
  • the user tends to feel a sense of discomfort or discomfort.
  • the side camera 7 is provided in the HMD 10 according to the present embodiment, it is possible to recognize the object in advance before swinging (see FIGS. 7 and 8).
  • the start of the user's swing is detected (FIG. 9: YES in step 607)
  • the prediction of the position and posture of the pre-recognized object with respect to the HMD 10 is started (see step 610).
  • the AR display of the virtual object 9 based on the prediction result is started (see step 612).
  • the recognition of the object based on the front image is started. Then, when the initial recognition of the position and orientation of the object with respect to the HMD 10 based on the front image (that is, the detection process of the object based on the front image) is completed (see YES in step 601), the object is not predicted but is based on the front image.
  • the virtual object 9 is AR-displayed based on the recognition of the position and orientation of (see step 606).
  • the position and orientation of the object outside the AR display angle of view with respect to the HMD 10 is determined in advance based on the side image from the side camera 7 capable of capturing an area outside the AR display angle of view.
  • the recognition pre-recognition process is executed and the object enters the AR display angle of view, the virtual object 9 is AR-displayed on the object based on the position and orientation of the pre-recognized object.
  • the virtual object 9 can be AR-displayed without delay when the object enters the AR display angle of view. Therefore, the virtual object 9 that is not AR-displayed is no longer suddenly AR-displayed on the object, and it is possible to prevent the user from feeling uncomfortable or uncomfortable. ..
  • the position / orientation of the object is predicted based on the pre-recognized position / orientation of the object and the estimated self-position / attitude of the HMD10, and the object enters the AR display angle of view.
  • the virtual object 9 is AR-displayed for the object based on the prediction result.
  • the virtual object 9 can be appropriately displayed in AR without delay when the object enters the AR display angle of view.
  • the frequency of the loop of the tracking process of the object in the side image is set to be lower than the frequency of the loop of the tracking process of the object in the front image. Further, in the present embodiment, (3) the frequency of the loop of the object detection process in the side image is set lower than (1) the frequency of the loop of the object detection process in the front.
  • the exposure start timing is a little earlier.
  • the latter half of the front image is a part where the object can be recognized, the blur gets on the first half of the front image, and the entire image cannot recognize the object. There is a possibility that it will end up.
  • the recognition may be completed with a delay of up to one frame. This causes a delay in the detection process of the object based on the relatively accurate front image.
  • the ideal start timing of exposure by the front camera 6 is immediately after the swing speed (the speed of the posture change of the HMD 10) becomes the speed at which the object can be detected based on the front image. This can be achieved by determining a threshold value from the exposure time and inertial information (or attitude change due to self-position estimation).
  • control unit 1 may determine (adjust) the start timing of the exposure based on the speed of the posture change of the HMD 10.
  • the object may move.
  • the control unit 1 predicts the speed of the object with respect to the terminal based on the speed of the posture change of the HMD 10 and the position and posture of the pre-recognized object, and based on the predicted speed, The timing of exposure of the front image may be determined (adjusted).
  • the control unit 1 starts imaging of the stopped front camera 6 when the swing speed slows down to some extent (see step 614).
  • the completion of the initial recognition of the position and orientation of the object with respect to the HMD 10 based on the front image may be accelerated (see step 601).
  • the exposure time is temporarily shortened so that the object detection process (that is, the first recognition) based on the front image can be performed. It may be faster.
  • the exposure time is shortened, the image may become dark and noise may be added to improve the sensitivity, which may reduce the recognition accuracy. Get it. Therefore, the exposure time may be returned to the normal exposure time when the swing speed is further reduced and it is sensed that the object can be recognized even with the normal exposure time.
  • control unit 1 may determine (adjust) the exposure time based on the speed of the attitude change of the HMD 10.
  • the object may move.
  • the control unit 1 predicts the speed of the object with respect to the terminal based on the speed of the posture change of the HMD 10 and the position and posture of the pre-recognized object, and based on the predicted speed, The exposure time of the front image may be determined (adjusted).
  • the recognition by the detection process is completed by the destination camera as in the case of the movement of the object between the front camera 6 and the side camera 7 described above.
  • the AR display based on the above prediction and the above prediction result may be executed. The wider the area where the angles of view of the front camera 6 overlap each other, the shorter the time required for prediction.
  • FIG. 13 is a diagram showing a state when a plurality of front cameras 6 are used.
  • Each of these front cameras 6 is configured to be capable of capturing an area corresponding to the AR display angle of view of the display unit 3, and is configured to be capable of capturing an area outside the AR display angle of view of the display unit 3.
  • the front camera 6 in the example here is both a second image pickup unit and a first image pickup unit.
  • the front camera 6 on the right side is referred to as a first front camera 6, and the front camera 6 on the left side is referred to as a second front camera 6.
  • the control unit 1 regardless of the position of the object (A) to (C). Executes the detection process at a medium frequency based on the images from the first front camera 6 and the second front camera 6, respectively.
  • control unit 1 performs high tracking processing based on the image from one front camera 6. It is enough to do it frequently.
  • control unit 1 performs tracking processing with high frequency based only on the image information from the first front camera 6.
  • control unit 1 recognizes the position and orientation of the object in advance in preparation for swinging. Therefore, the control unit 1 may perform tracking processing at a medium frequency.
  • the first front camera 6 has both a region (C) outside the AR display angle of view and regions (A) and (B) corresponding to the AR display angle of view. Can be imaged.
  • control unit 1 executes the prior position / orientation recognition process of the object with respect to the HMD 10 based on the image information of the region (C) outside the AR display angle of view in the image from the first front camera 6. do. Further, the control unit 1 performs position / orientation recognition processing of the object with respect to the HMD 10 based on the image information of the regions (A) and (B) corresponding to the AR display angle of view in the image from the first front camera 6. To execute.
  • control unit 1 performs a tracking process (third tracking process) for tracking the movement of the object based on the image information in the region outside the AR display angle of view (third tracking process). Repeatedly with the fifth frequency).
  • the control unit 1 performs a tracking process (fourth tracking process) for tracking the movement of the object based on the image information of the region corresponding to the AR display angle of view, which is higher than the medium frequency. Repeat with high frequency (sixth frequency).
  • a dedicated camera is mounted on the HMD 10 for this technology.
  • a camera already mounted on the existing HMD 10 may be used.
  • the HMD 10 generally has the camera on the sides as well as on the front for self-positioning orientation estimation (SLAM). Therefore, the camera used for estimating the self-position posture may be used in the present technology.
  • self-position estimation the mainstream type is to estimate the self-position by executing the processing of the captured image at a medium frequency and improve the rate of the self-position estimation itself by correcting this self-position based on the inertial information. Is. Therefore, it is compatible with this technology.
  • the front camera 6 it is assumed that the shooting frequency of the front camera used in the conventional self-position estimation will be increased (because of the medium frequency in SLAM and the high frequency in this technology).
  • Reprojection is an image transformation technique that transforms an image once rendered using the recognition result of a newer self-position estimation.
  • the AR display is not delayed even when the head is shaken by tracking the coordinates of the object using self-position estimation after recognizing the object other than the front with the side camera 7 in advance. It is a technology of object recognition.
  • reprojection After recognizing and rendering an object, reprojection can improve the frame rate while suppressing delay and reducing superposition deviation. However, since it is not possible to recognize and display AR for an object that has not been recognized yet, there will be a period during which AR cannot be displayed even if the object is in front of you. Therefore, this problem can be solved by using this technology and reprojection together.
  • HMD10 has been taken as an example of the terminal.
  • the terminal is not limited to the HMD 10.
  • the terminal may be, for example, a wearable device that can be worn on the user's body, or a mobile device that can be carried by the user.
  • Examples of the wearable device include a wristband type, a wristwatch type, a ring type, a pendant type, and other wearable devices in addition to the HMD10.
  • Examples of the mobile device include a mobile phone (including a smartphone), a tablet PC (Personal Computer), a portable game machine, a portable music player, and the like.
  • the terminal device 20 must satisfy the three conditions of being able to display AR, being able to estimate its own position and posture in real space, and being able to move with the movement of the user. Any device can be used as long as it can be used.
  • HMD10 has been taken as an example of the information processing apparatus. That is, the case where the information processing device is the terminal itself has been described. On the other hand, the information processing device does not have to be the terminal itself.
  • an apparatus including a control unit 1 that executes the above-mentioned various processes is regarded as an information processing apparatus. Therefore, the information processing device may be a server device or the like on the network.
  • the present technology can also have the following configurations.
  • (1) The terminal of an object outside the AR display angle of view based on the first image information from the first image pickup unit of the terminal capable of capturing an area outside the AR display angle of view of the display unit of the terminal.
  • the pre-recognition process for recognizing the position and orientation with respect to the object is executed in advance and the object enters the AR display angle of view, the virtual object is virtually recognized based on the pre-recognized position and orientation of the object.
  • An information processing device including a control unit that displays an object in AR.
  • the control unit predicts the position and orientation of the object based on the pre-recognized position and orientation of the object and the estimated self-position and orientation of the terminal, and the object is within the AR display angle.
  • An information processing device including an AR display of a virtual object on the object based on the result of the prediction when entering.
  • the information processing apparatus according to (2) The control unit determines the position and orientation of the object within the AR display angle of view based on the second image information from the second image pickup unit of the terminal capable of capturing the region corresponding to the AR display angle of view.
  • An information processing device that executes recognition processing and displays a virtual object on the object in AR based on the recognized position and orientation of the object.
  • the information processing apparatus according to (3).
  • the control unit displays the virtual object in AR based on the result of the prediction in the period from when the object enters the AR display angle of view until the recognition of the object is completed in the recognition process.
  • Information processing device that executes.
  • the control unit is an information processing device that executes the prediction in a period from when the speed of the posture change of the terminal becomes equal to or higher than a predetermined threshold value until the recognition of the object is completed in the recognition process.
  • the control unit is an information processing device that repeatedly executes a first detection process for detecting an object based on the first image information in the pre-recognition process at a first frequency. (7) The information processing apparatus according to (6).
  • the information processing unit repeatedly executes the second detection process of detecting the object based on the second image information in the recognition process at a second frequency different from the first frequency.
  • Device. (8) The information processing apparatus according to (7).
  • the first frequency is an information processing apparatus having a lower frequency than the second frequency.
  • the control unit is an information device that repeatedly executes a first tracking process for tracking the movement of an object based on the first image information in the pre-recognition process at a third frequency.
  • Information processing device is an information device that repeatedly executes a first tracking process for tracking the movement of an object based on the first image information in the pre-recognition process at a third frequency.
  • the information processing apparatus according to (10).
  • the third frequency is an information processing apparatus having a lower frequency than the fourth frequency.
  • the control unit is an information processing device that adjusts the exposure timing of the second image pickup unit based on the speed of the posture change of the terminal.
  • the control unit predicts the speed of the object with respect to the terminal based on the speed of the posture change of the terminal and the pre-recognized position / posture of the object, and based on the predicted speed, the first unit.
  • An information processing device that adjusts the exposure timing of the image pickup unit of 2.
  • the information processing apparatus according to any one of (3) to (13).
  • the control unit is an information processing device that adjusts the exposure time of the second image pickup unit based on the speed of the posture change of the terminal.
  • the information processing apparatus according to (14). The control unit predicts the speed of the object with respect to the terminal based on the speed of the posture change of the terminal and the pre-recognized position / posture of the object, and based on the predicted speed, the first unit.
  • the first image pickup unit can image both a region outside the AR display angle of view and a region corresponding to the AR display angle of view.
  • the control unit executes the pre-recognition process based on the image information of the region outside the AR display angle of view in the first image information, and the control unit performs the pre-recognition process in the first image information.
  • An information processing device that executes a recognition process for recognizing the position and orientation of an object within the AR display angle of view based on the image information of the area corresponding to the AR display angle of view.
  • the control unit In the pre-recognition process, the control unit repeatedly executes a third tracking process of tracking the movement of the object based on image information in a region outside the AR display angle of view at a fifth frequency.
  • Information processing device 18
  • the control unit performs a fourth tracking process of tracking the movement of the object based on the image information of the region corresponding to the AR display angle of view, which is different from the fifth frequency.
  • An information processing device that is repeatedly executed at the frequency of. (19) The terminal of an object outside the AR display angle of view based on the first image information from the first image pickup unit of the terminal capable of capturing an area outside the AR display angle of view of the display unit of the terminal. Executes the pre-recognition process to recognize the position and attitude with respect to in advance, An information processing method for displaying a virtual object in AR on the object based on the position and orientation of the object recognized in advance when the object enters the AR display angle of view.
  • Control unit 2 ... Storage unit 3 .
  • Display unit 4 ...
  • Inertia sensor 5 ...
  • Imaging unit 6 ...
  • Front camera 7 ...
  • Side camera 10 ... HMD

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Computer Graphics (AREA)
  • Computer Hardware Design (AREA)
  • Software Systems (AREA)
  • Multimedia (AREA)
  • User Interface Of Digital Computer (AREA)

Abstract

【課題】仮想オブジェクトにおけるAR表示の遅延を防止するための技術を提供すること。 【解決手段】本技術に係る情報処理装置は、制御部を具備する。制御部は、端末の表示部のAR表示画角よりも外側の領域を撮像可能な前記端末の第1の撮像部からの第1の画像情報に基づいてAR表示画角外の対象物の前記端末に対する位置姿勢を事前に認識する事前認識処理を実行し、前記対象物がAR表示画角内に入ったとき、事前認識された前記対象物の位置姿勢に基づいて、前記対象物に対して仮想オブジェクトをAR表示する。

Description

情報処理装置、情報処理方法及びプログラム
 本技術は、仮想オブジェクトをAR(Augmented Reality)表示するための技術に関する。
 近年においては、現実世界に存在する対象物に対して仮想オブジェクトを重畳して表示させることで、仮想オブジェクトがあたかも現実世界に存在する物体であるかのようにユーザに知覚させることが可能なAR技術が広く知られるようになってきている(例えば、下記特許文献1参照)。
 AR技術は、例えば、HMD(Head Mounted Display)やスマートフォン等の各種の端末に搭載されている。
 仮想オブジェクトを対象物に対してAR表示させるためには、端末に対する対象物の位置姿勢を認識する必要がある。この認識技術における研究開発は、現在に至るまで行われており、主な方法としては、端末に設けられた撮像部による画像情報から対象物の位置姿勢を認識する方法が挙げられる。
特開2017-120550号公報
 例えば、HMDを装着したユーザが首を振った場合等のように端末が姿勢変化したときにAR表示画角内に対象物が入る場合がある。このような場合、対象物の位置姿勢が認識されるまでは仮想オブジェクトはAR表示されず、AR表示の遅延が生じてしまう。
 以上のような事情に鑑み、本技術の目的は、仮想オブジェクトにおけるAR表示の遅延を防止するための技術を提供することにある。
 本技術に係る情報処理装置は、制御部を具備する。
 制御部は、端末の表示部のAR表示画角よりも外側の領域を撮像可能な前記端末の第1の撮像部からの第1の画像情報に基づいてAR表示画角外の対象物の前記端末に対する位置姿勢を事前に認識する事前認識処理を実行し、前記対象物がAR表示画角内に入ったとき、事前認識された前記対象物の位置姿勢に基づいて、前記対象物に対して仮想オブジェクトをAR表示する。
 これにより、仮想オブジェクトにおけるAR表示の遅延を防止することができる。
 本技術に係る情報処理方法は、端末の表示部のAR表示画角よりも外側の領域を撮像可能な前記端末の第1の撮像部からの第1の画像情報に基づいてAR表示画角外の対象物の前記端末に対する位置姿勢を事前に認識する事前認識処理を実行し、
 前記対象物がAR表示画角内に入ったとき、事前認識された前記対象物の位置姿勢に基づいて、前記対象物に対して仮想オブジェクトをAR表示することを含む。
 本技術に係るプログラムは、端末の表示部のAR表示画角よりも外側の領域を撮像可能な前記端末の第1の撮像部からの第1の画像情報に基づいてAR表示画角外の対象物の前記端末に対する位置姿勢を事前に認識する事前認識処理を実行し、
 前記対象物がAR表示画角内に入ったとき、事前認識された前記対象物の位置姿勢に基づいて、前記対象物に対して仮想オブジェクトをAR表示する
 処理をコンピュータに実行させる。
本技術の第1実施形態に係るHMDの一例を示す図である。 本実施形態に係るHMDの内部構成を示すブロック図である。 対象物に対して仮想オブジェクトが重畳してAR表示されたときの様子を示す図である。 制御部の自己位置推定処理を示すフローチャートである。 正面画像における対象物の検知処理を示すフローチャートである。 正面画像における対象物の追跡処理を示すフローチャートである。 側面画像における対象物の検知処理を示すフローチャートである。 側面画像における対象物の追跡処理を示すフローチャートである。 仮想オブジェクトのAR表示処理を示すフローチャートである。 本実施形態に係るHMDにおける処理の流れと、比較例に係るHMDにおける処理の流れとが比較された図である。 比較例に係るHMDにおいて、ユーザにより首が振られたときに仮想オブジェクトがどのタイミングでAR表示されるかを示す図である。 本実施形態に係るHMDにおいて、ユーザにより首が振られたときに仮想オブジェクトがどのタイミングでAR表示されるかを示す図である。 複数の正面カメラ6が用いられた場合の様子を示す図である。
 以下、本技術に係る実施形態を、図面を参照しながら説明する。
≪第1実施形態≫
<全体構成及び各部の構成>
 図1は、本技術の第1実施形態に係るHMD10の一例を示す図である。図2は、本実施形態に係るHMD10の内部構成を示すブロック図である。
 図1及び図2に示すように、HMD10(端末の一例)は、HMD本体11と、制御部1と、記憶部2と、表示部3と、慣性センサ4と、撮像部5と、通信部8とを備えている。
 HMD本体11は、ユーザの頭部に装着されて使用される。HMD本体11は、フロント部12と、フロント部12の右側に設けられた右テンプル部13と、フロント部12の左側に設けられた左テンプル部14と、フロント部12の下側に取り付けられたグラス部15とを有する。
 表示部3は、制御部1の制御に応じて、正面側におけるAR表示画角内において仮想オブジェクト9をAR表示することが可能とされている。AR表示とは、ユーザから見て、仮想オブジェクト9が、あたかも実空間に存在する現実物体であるかのように知覚させるように表示を行うことを意味する。
 図3は、対象物に対して仮想オブジェクト9が重畳してAR表示されたときの様子を示す図である。図3の左側には、対象物である木馬の鞍の上の位置にキャラクタの仮想オブジェクト9がAR表示されたときの様子が示されている。図3の右側には、対象物である人物(子供)の顔の上の位置にキャラクタの仮想オブジェクト9がAR表示されたときの様子が示されている。
 表示部3の少なくとも一部は、グラス部15に設けられている。表示部3は、光透過性を有するディスプレイ(光学シースルーディスプレイ)であり、例えば、光源としてのOLED(Organic Light Emitting Diode)及び導光板を含む。表示部3は、ハーフミラーを用いた構成、網膜操作ディスプレイ等、種々の形態を採用し得る。表示部3の光源は、フロント部12、右テンプル部13、あるいは、左テンプル部14等に設けられていてもよい。
 なお、表示部3は、ビデオシースルーディスプレイであってもよい。この場合、正面側に設けられた正面カメラ6により撮像された画像に仮想オブジェクト9が重畳された画像が表示部3上に表示される。
 撮像部5は、正面カメラ6(第2の撮像部)と、側面カメラ7(第1の撮像部)とを含む。正面カメラ6及び側面カメラ7は、それぞれ、CCD(Charge Coupled Device)センサ、CMOS(Complemented Metal Oxide Semiconductor)センサ等の撮像素子と、結像レンズ等の光学系とを含む。
 図1に示す例では、正面カメラ6(第2の撮像部)は、フロント部12の外面において外向きに設けられている。正面カメラ6は、HMD10の正面における正面画像(第2の画像情報)を取得して、制御部1へと出力する。
 この正面カメラ6は、第2の撮像部の一例である。第2の撮像部は、表示部3のAR表示画角に対応する領域を撮像可能に構成されている。第2の撮像部は、AR表示画角に対応する領域に存在する物体を撮像し、撮像により得られた画像情報(第2の画像情報)を制御部1へと出力する。
 図1に示す例では、側面カメラ7は、右テンプル部13の外面において外向きに設けられている。側面カメラ7は、HMD10の右側面における側面画像(第1の画像情報)を取得して、制御部1へと出力する。
 側面カメラ7は、第1の撮像部の一例である。この第1の撮像部は、表示部3のAR表示画角よりも外側の領域を撮像可能に構成されている。第1の撮像部は、AR表示画角よりも外側に存在する物体を撮像し、撮像により得られた画像情報(第1の画像情報)を制御部1へと出力する
 なお、第1の撮像部が設けられる位置としては、例えば、HMD10の側面、側面及び正面の中間、背面、背面及び側面の中間、頭上等が挙げられる。典型的には、第1の撮像部は、第2の撮像部が画角的に撮像しにくい方向を撮像可能な位置に配置されていればよい。
 また、図1に示す例では、第1の撮像部の数が1つである場合の一例が示されているが、この数は、2以上であってもよい。但し、第1の撮像部の数が多すぎるとHMD10の消費電力が大きくなってしまうので、第1の撮像部の数は、この点を考慮して設定される。
 慣性センサ4は、3軸方向の加速度を検出する加速度センサと、3軸回りの角速度を検出する角速度センサとを含む。慣性センサ4は、検出により得られた3軸方向の加速度、3軸回りの角速度を慣性情報として、制御部1に出力する。
 本実施形態では、慣性センサ4の検出軸が3軸とされているが、この検出軸は、1軸、あるいは、2軸であってもよい。また、本実施形態では、慣性センサ4として、2種類のセンサが用いられているが、慣性センサ4として1種類、あるいは、3種類以上のセンサが用いられてもよい。
 通信部8は、有線又は無線により、外部機器(例えば、ネットワーク上のサーバ装置等)との間で通信可能に構成されている。
 制御部1は、記憶部2に記憶された各種のプログラムに基づき種々の演算を実行し、HMD10の各部を統括的に制御する。なお、制御部1の処理については、動作説明の欄において後に詳述する。
 制御部1は、ハードウェア、又は、ハードウェア及びソフトウェアの組合せにより実現される。ハードウェアは、制御部1の一部又は全部として構成され、このハードウェアとしては、CPU(Central Processing Unit)、GPU(Graphics Processing Unit)、VPU(Vision Processing Unit)、DSP(Digital Signal Processor)、FPGA(Field Programmable Gate Array)、ASIC(Application Specific Integrated Circuit)、あるいは、これらのうち2以上の組合せなどが挙げられる。
 記憶部2は、制御部1の処理に必要な各種のプログラムや、各種のデータが記憶される不揮発性のメモリと、制御部1の作業領域として用いられる揮発性のメモリとを含む。なお、上記各種のプログラムは、光ディスク、半導体メモリなどの可搬性の記録媒体から読み取られてもよいし、ネットワーク上のサーバ装置からダウンロードされてもよい。
 <動作説明>
 次に、HMD10の制御部1の処理について説明する。
 [自己位置推定処理]
 まず、制御部1の自己位置推定処理について説明する。図4は、制御部1の自己位置推定処理を示すフローチャートである。まず、制御部1は、正面カメラ6から正面画像を取得し、側面カメラ7から側面画像を取得する(ステップ101)。
 次に、制御部1は、正面画像及び側面画像に基づいて、端末における世界座標系での自己位置姿勢を推定する(ステップ102)。そして、制御部1は、推定された自己位置姿勢を、時刻情報に関連付けて記憶部2に記憶させ(ステップ103)、その後、ステップ101へ戻る。
 ここでの説明では、自己位置推定において、正面画像及び側面画像の両方が用いられる場合について説明したが、これらのうちいずれか一方のみが自己位置推定に用いられてもよい。
 自己位置推定においては、例えば、画像情報(正面画像及び/又は側画画像)から抽出された特徴点群と、マップ情報に含まれる特徴点群とが比較されて、HMD10の自己位置推定が実行される。
 自己位置推定に用いられるマップ情報は、事前に作成される方法と、事前に作成せずに自己位置推定と同時に作成する方法とが存在するが、どちらの方法が用いられてもよい。なお、マップ情報を自己位置推定と同時に作成する方法は、一般的にSLAM(Simultaneous Localization and Mapping)と呼ばれる。
 自己位置推定は、リローカライゼイション及びモーショントラッキングを含む。リローカライゼイションは、画像情報の特徴点群及びマップ情報の特徴点群に基づいて、世界座標系において自己位置推定を行う技術である。
 このリローカライゼイションは、HMD10に電源が投入された直後や、モーショントラッキングに基づく自己位置推定が失敗したとき等に実行される。また、画像情報からの特徴点群と、マップ情報に含まれる特徴点群とを比較する処理が常時実行され、これらの特徴点群のマッチングが成功したときにリローカライゼイションが実行されてもよい。
 モーショントラッキングは、画像情報(又は慣性情報)に基づき、微小時間毎に、自己位置及び姿勢の変化量(動き)を算出し、この変化量を順次加算することで、世界座標系において現在の自己位置推定を実行する技術である。
 モーショントラッキングでは、まず、画像情報が画像処理されて画像情報から特徴点群が抽出される。そして、前回における画像情報の特徴点群と、今回における画像情報の特徴点群との比較により、前回の自己位置及び姿勢と今回の自己位置及び姿勢の変化量が算出される。この変化量が前回における自己位置及び姿勢に加算されることで、世界座標系において現在における自己位置推定が実行される。
 ここでの説明では、モーショントラッキングについて撮像部5からの画像情報が用いられる場合について説明したが、画像情報の代わりに、慣性センサ4からの慣性情報が用いられてもよい。あるいは、画像情報及び慣性情報の両方が用いられてもよい。
 また、自己位置推定において、画像情報に基づいて推定された自己位置姿勢が慣性情報に基づいて補正されてもよい。
 なお、現在において自己位置推定技術として各種の方法が提案されているが、典型的には、端末装置20は、どのような方法により自己位置推定処理を実行してもよい。
 ここで、図4に示す自己位置推定の処理のループは、高頻度のループ(例えば、100~200回/秒)とされている。
 [HMD10に対する対象物の位置姿勢の認識処理]
 次に、HMD10に対する対象物の相対的な位置姿勢の認識(推定)処理について説明する。本実施形態では、制御部1は、正面画像に基づいて、AR表示画角内の対象物のHMD10に対する位置姿勢を推定して認識する認識処理(以下、正面画像に基づく対象物の位置姿勢認識処理)を実行する。
 また、制御部1は、AR表示画角外に存在する対象物が、AR表示画角内に入ったときのために、側面画像に基づいて、AR表示画角外の対象物のHMD10に対する位置姿勢を事前に推定して認識する事前認識処理(以下、側面画像に基づく対象物の事前位置姿勢認識処理)を実行する。
 また、本実施形態では、正面画像に基づく対象物の位置姿勢認識処理、並びに、側面画像に基づく対象物の事前位置姿勢認識処理について、それぞれ、検知処理(Ditection)及び追跡処理(Tracking)が存在する。
 つまり、本実施形態では、HMD10に対する対象物の相対的な位置姿勢の認識処理について、以下の(1)~(4)の4つの処理が実行される。
 1.正面画像に基づく対象物の位置姿勢認識処理
 (1)正面画像における対象物の検知処理(第2の検知処理)
 (2)正面画像における対象物の追跡処理(第2の追跡処理)
 2.側面画像に基づく対象物の事前位置姿勢認識処理
 (3)側面画像における対象物の検知処理(第1の検知処理)
 (4)側面画像における対象物の追跡処理(第1の追跡処理)
 ここで、検知処理は、一枚の画像から、対象物に関する前情報なしで、HMD10に対する対象物の位置姿勢を推定して認識する技術である。この検知処理では、画像内に対象物が写っているかどうか(対象物が検知されたかどうか)が判断され、また、画像内に対象物が写っている場合には、HMD10に対する対象物の相対位置姿勢が推定される。
 一方、追跡処理は、HMD10に対する対象物の以前の位置姿勢が、前情報として予め与えられている状態で、HMD10に対する対象物の位置姿勢を推定して認識する技術である。この追跡処理では、検知処理により対象物が検知された後に、前情報を元に対象物の動きが追跡されて、HMD10に対する対象物の位置姿勢が推定される。
 「正面画像内検知処理」
 まず、正面画像における対象物の検知処理(第2の検知処理)について説明する。図5は、正面画像における対象物の検知処理を示すフローチャートである。
 まず、制御部1は、正面画像を正面カメラ6から取得する(ステップ201)。次に、制御部1は、正面画像内に、仮想オブジェクト9のAR表示の対象となる対象物が写っているかどうか(対象物が検知されたかどうか)を判定する(ステップ202)。
 対象物は、例えば、現実世界に予め用意されたARマーカなどであってもよいし(マーカ型AR)、図3に示すような木馬や人等の現実世界に存在する物体であってもよい(マーカレス型AR)。
 正面画像内に対象物が写っているかどうかの判定については、まず、制御部1は、正面画像から特徴点群を抽出する。次に、制御部1は、正面画像から抽出された特徴点群と、対象物の認識モデルの特徴点群(予め記憶部2に記憶されている)とを比較することで、正面画像内に対象物が写っているかどうかを判定する。
 正面画像内に対象物が写っていない場合(対象物が検知されなかった場合)(ステップ202のNO)、制御部1は、ステップ201へ戻り、再び正面カメラ6から正面画像を取得する。一方、正面画像内に対象物が写っている場合(ステップ202のYES)、制御部1は、正面画像における対象物に対応する特徴点群に基づいて、HMD10に対する対象物の相対的な位置姿勢を推定して認識する(ステップ203)。
 次に、制御部1は、HMD10に対する対象物の相対的な位置姿勢を、時刻情報に関連付けて記憶部2に記憶し(ステップ204)、ステップ201へ戻る。
 なお、図5に示す正面画像における検知処理は、典型的には、1つの対象物が検知された後も、繰り返して実行される。これは、正面画像内に対象物が複数存在する場合があるためである。一方、仮想オブジェクト9を1つしかAR表示しない場合、1つの対象物が検知されたとき、その対象物の追跡ができている間(図6のステップ304参照)は、図5に示す検知処理を停止することも可能である。
 「正面画像内追跡処理」
 次に、正面画像における対象物の追跡処理(第2の追跡処理)について説明する。図6は、正面画像における対象物の追跡処理を示すフローチャートである。
 まず、制御部1は、正面画像における対象物の検知処理により、対象物が検知されたかどうかを判定する(ステップ301)(図5のステップ202参照)。対象物が検知されなかった場合(ステップ301のNO)、制御部1は、ステップ301へ戻る。
 一方、対象物が検知された場合(ステップ301のYES)、制御部1は、正面カメラ6から正面画像を取得する(ステップ302)。次に、制御部1は、HMD10に対する対象物の前回の位置姿勢(前情報)を用いて、正面画像における対象物に対応する特徴点群に基づいて、HMD10に対する対象物の相対的な位置姿勢を推定して認識する(ステップ303)。
 次に、制御部1は、対象物の位置姿勢が認識可能であったかどうか(対象物が追跡可能であったかどうか)を判定する(ステップ304)。対象物の位置姿勢が認識不能(対象物が追跡不能)であった場合(ステップ304のNO)、制御部1は、ステップ301へ戻る。
 なお、対象物の位置姿勢が認識不能となるケースとしては、例えば、以下の(1)、(2)のケースが挙げられる。(1)正面カメラ6の画角から対象物が外れてしまい、正面画像に対象物が写らなくなった。(2)正面画像に対象物は写っているものの、例えば、ユーザが首を振った等が理由でHMD10の姿勢変化の速度が速く、正面画像内の対象物がぼやけてしまい対象物の位置姿勢を推定して認識することができない。
 ステップ304において、対象物の位置姿勢が認識可能(対象物が追跡可能)であった場合(ステップ304のYES)、制御部1は、次のステップ304へ進む。ステップ304では、制御部1は、HMD10に対する対象物の相対的な位置姿勢を、時刻情報に関連付けて記憶部2に記憶する。そして、制御部1は、ステップ302へ戻る。
 なお、図6に示す正面画像における対象物の追跡処理は、正面画像内で対象物が検知されると、対象物毎に実行される。例えば、2つの対象物が正面画像に写っており、正面画像内で2つの対象物が検知された場合、図6に示す正面画像における追跡処理が、2つ並列して実行されることになる。なお、仮想オブジェクト9を1つしかAR表示しない場合には、追跡処理を対象物毎に並列して実行する必要はない。
 「側面画像内検知処理」
 次に、側面画像における対象物の検知処理(第2の検知処理)について説明する。図7は、側面画像における対象物の検知処理を示すフローチャートである。
 まず、制御部1は、側面画像を側面カメラ7から取得する(ステップ401)。次に、制御部1は、側面画像内に、仮想オブジェクト9のAR表示の対象となる対象物が写っているかどうか(対象物が検知されたかどうか)を判定する(ステップ402)。
 側面画像内に対象物が写っているかどうかの判定については、まず、制御部1は、側面画像から特徴点群を抽出する。次に、制御部1は、側面画像から抽出された特徴点群と、対象物の認識モデルの特徴点群(予め記憶部2に記憶されている)とを比較することで、側面画像内に対象物が写っているかどうかを判定する。
 側面画像内に対象物が写っていない場合(対象物が検知されなかった場合)(ステップ402のNO)、制御部1は、ステップ401へ戻り、再び側面カメラ7から側面画像を取得する。一方、側面画像内に対象物が写っている場合(ステップ402のYES)、制御部1は、側面画像における対象物に対応する特徴点群に基づいて、HMD10に対する対象物の相対的な位置姿勢を事前に推定して認識する(ステップ403)。
 次に、制御部1は、HMD10に対する対象物の相対的な位置姿勢を、時刻情報に関連付けて記憶部2に記憶し(ステップ404)、ステップ401へ戻る。
 なお、図7に示す側面画像における検知処理は、典型的には、1つの対象物が検知された後も、繰り返して実行される。これは、側面画像内に対象物が複数存在する場合があるためである。なお、仮想オブジェクト9を1つしかAR表示しない場合、1つの対象物が検知されたとき、その対象物の追跡ができている間(図8のステップ504参照)は、図7に示す検知処理を停止することも可能である。
 「側面画像内追跡処理」
 次に、側面画像における対象物の追跡処理(第2の追跡処理)について説明する。図8は、側面画像における対象物の追跡処理を示すフローチャートである。
 まず、制御部1は、側面画像における対象物の検知処理により、対象物が検知されたかどうかを判定する(ステップ501)(図7のステップ402参照)。対象物が検知されなかった場合(ステップ501のNO)、制御部1は、ステップ501へ戻る。
 一方、対象物が検知された場合(ステップ501のYES)、制御部1は、側面カメラ7から側面画像を取得する(ステップ502)。次に、制御部1は、HMD10に対する対象物の前回の位置姿勢(前情報)を用いて、側面画像における対象物に対応する特徴点群に基づいて、HMD10に対する対象物の相対的な位置姿勢を事前に推定して認識する(ステップ503)。
 次に、制御部1は、対象物の位置姿勢が認識可能であったかどうか(対象物が追跡可能であったかどうか)を判定する(ステップ504)。対象物の位置姿勢が認識不能(対象物が追跡不能)であった場合(ステップ504のNO)、制御部1は、ステップ501へ戻る。
 なお、対象物の位置姿勢が認識不能となるケースとしては、例えば、以下の(1)、(2)のケースが挙げられる。(1)側面カメラ7の画角から対象物が外れてしまい、側面画像に対象物が写らなくなった。(2)側面画像に対象物は写っているものの、例えば、ユーザが首を振った等が理由でHMD10の姿勢変化の速度が速く、側面画像内の対象物がぼやけてしまい対象物の位置姿勢を推定して認識することができない。
 ステップ504において、対象物の位置姿勢が推定可能(対象物が追跡可能)であった場合(ステップ504のYES)、制御部1は、次のステップ504へ進む。ステップ504では、制御部1は、HMD10に対する対象物の相対的な位置姿勢を、時刻情報に関連付けて記憶部2に記憶する。そして、制御部1は、ステップ502へ戻る。
 なお、図8に示す側面画像における対象物の追跡処理は、側面画像内で対象物が検知されると、対象物毎に実行される。例えば、2つの対象物が側面画像に写っており、側面画像内で2つの対象物が検知された場合、図8に示す側面画像における追跡処理が、2つ並列して実行されることになる。なお、仮想オブジェクト9を1つしかAR表示しない場合には、追跡処理を対象物毎に並列して実行する必要はない。
 [処理のループの頻度]
 次に、(1)正面画像における対象物の検知処理、(2)正面画像における対象物の追跡処理、(3)側面画像における対象物の検知処理、(4)側面画像における対象物の追跡処理における4つの処理のループの頻度について説明する。
 一般的に、前情報なしに対象物の位置姿勢を推定する検知処理は、前情報が与えられた状態で対象物の位置姿勢を推定する追跡処理よりも計算量が多い。従って、検知処理における処理のループの頻度は、追跡処理における処理のループの頻度よりも低い。
 従って、(1)正面画像における対象物の検知処理のループの頻度は、(2)正面画像における対象物の追跡処理のループの頻度よりも低く、また、(3)側面画像における対象物の検知処理のループの頻度は、(4)側面画像における対象物の追跡処理のループの頻度よりも低い。
 また、本実施形態では、省電力化及び計算量削減のために、(1)正面画像における対象物の検知処理のループの頻度と、(3)側面画像における対象物の検知処理のループの頻度と異ならせることとしている。また、(2)正面画像における対象物の追跡処理のループの頻度と、(4)側面画像における対象物の追跡処理のループの頻度とを異ならせることとしている。
 正面画像に対象物が写るっている場合には仮想オブジェクト9をAR表示する必要があるので、正面画像に基づく対象物の位置姿勢推定処理は、重要度が高い。従って、(2)正面画像における対象物の追跡処理は、高頻度(例えば、100~200回/秒)(第2の頻度)で繰り返し実行される。また、正面画像の撮像の頻度は、追跡処理のループの頻度に合わせて、高頻度(例えば、100~200回/秒)で繰り返し実行される。
 また、検知処理は、追跡処理よりも計算量が多い処理であるので、(1)正面画像における対象物の検知処理は、中頻度(例えば、30~60回/秒)(第4の頻度)で繰り返し実行される。
 一方、側面画像に基づく対象物の事前位置姿勢推定の結果は、その時点ではAR表示に用いられることはなく、その後に、ユーザが側方に位置する対象物の方向を向いたとき等に初めて用いられる情報である。従って、(4)側面画像における対象物の追跡処理は、中頻度(例えば、20~40回/秒)(第1の頻度)で繰り返し実行される。また、側面画像の撮像の頻度は、追跡処理のループの頻度に合わせて、中頻度(例えば、20~40回/秒)で繰り返し実行される。
 また、検知処理は、追跡処理よりも計算量が多い処理であるので、(3)側面画像における対象物の検知処理は、低頻度(例えば、5~10回/秒)(第3の頻度)で繰り返し実行される。なお、この頻度は、側面での対象物の検知が遅延しない程度の頻度とされる。
 つまり、本実施形態では、(4)側面画像における対象物の追跡処理のループの頻度は、(2)正面画像における対象物の追跡処理のループの頻度よりも低く設定される。また、本実施形態では、(3)側面画像における対象物の検知処理のループの頻度は、(1)正面における対象物の検知処理のループの頻度よりも低く設定される。
 これにより、側面画像に基づく対象物の事前位置姿勢推定処理の処理負荷が低減され、省電力化が実現される。特に、HMD10をスタンドアローンで動作させる場合、このように省電力化を図ることが有効である。
 ここで、(3)側面画像における対象物の検知処理、(4)側面画像における対象物の追跡処理における2つのループの頻度は、正面に対する側面カメラの位置(角度)が遠くなるほどその頻度が低くなるように設定されていてもよい。
 [仮想オブジェクト9のAR表示処理]
 つぎに、仮想オブジェクト9のAR表示処理について説明する。図9は、仮想オブジェクト9のAR表示処理を示すフローチャートである。
 まず、制御部1は、正面画像に基づいて、HMD10に対する対象物の位置姿勢が認識されたかどうかを判定する(図5及び図6参照)。正面画像に基づいて、HMD10に対する対象物の位置姿勢が認識された場合(ステップ601のYES)、制御部1は、次のステップ602に進む。一方、正面画像に基づいて、HMD10に対する対象物の位置姿勢が認識されなかった場合(ステップ601のNO)、制御部1は、ステップ602~606をとばして、ステップ607に進む。
 ステップ602では、制御部1は、現在において、事前認識に係る対象物のHMD10に対する位置姿勢の予測を実行中であるかどうかを判定する。なお、この予測については、後述のステップ610において詳述する。
 予測を実行中である場合(ステップ602のYES)、制御部1は、事前認識に係る対象物のHMD10に対する位置姿勢の予測を終了し(ステップ603)、次のステップ604へ進む。一方、予測を実行中ではない場合(ステップ603のNO)、制御部1は、ステップ603をとばしてステップ604へ進む。
 ステップ604では、制御部1は、予測結果に基づく仮想オブジェクト9のAR表示を実行中であるかどうかを判定する。なお、予測結果に基づく仮想オブジェクト9のAR表示については、後述のステップ612において詳述する。
 予測結果に基づく仮想オブジェクト9のAR表示を実行中である場合(ステップ604のYES)、制御部1は、予測結果に基づく仮想オブジェクト9のAR表示を終了し(ステップ605)、次のステップ606へ進む。一方、予測結果に基づく仮想オブジェクト9のAR表示を実行中ではない場合(ステップ604のNO)、制御部1は、ステップ605をとばしてステップ606へ進む。
 ステップ606では、制御部1は、正面画像に基づいて認識された、HMD10に対する対象物の位置姿勢に基づいて、対象物に対して仮想オブジェクト9をAR表示する。
 次に、制御部1は、HMD10を装着したユーザにより首振りが開始されたかどうか(首振りの速度が閾値以上となったかどうか)を判定する(ステップ607)。この場合、制御部1は、典型的には、HMD10の姿勢変化の速度が所定の閾値を超えたかどうかを判断することでユーザによる首振りの開始を判定する。
 HMD10による姿勢変化の速度は、慣性センサ4からの慣性情報に基づいて判定されてもよいし、自己位置推定による値に基づいて判定されてもよい。
 なお、ステップ607において、制御部1は、HMD10の姿勢変化の速度と、事前認識された対象物の位置姿勢とに基づいて、端末に対する事前認識された対象物の速度(例えば、垂直軸回り)を予測し、予測された速度が閾値を超えたかどうかを判定してもよい。これは、対象物が人等である場合には、対象物が動く場合があるためであり、このような処理により、対象物が動く場合に適切に対応することができる。
 首振りが開始されていない場合(ステップ607のNO)、制御部1は、ステップ101へ戻る。一方、首振りが開始された場合(ステップ607のYES)、正面カメラ6及び側面カメラ7による撮像を停止させ、正面画像に基づく対象物の位置姿勢認識処理及び側面画像に基づく対象物の事前位置姿勢認識処理を停止させる(ステップ608)。
 これは、首振りが開始されると、画像にブラーが乗って被写体がぼやけてしまい、正面画像に基づく対象物の位置姿勢認識処理及び側面画像に基づく対象物の事前位置姿勢認識処理が適切に行えなくなってしまうためである。従って、これらの処理の意味がなくなってしまうので、本実施形態では、省電力化のために撮像やこれらの処理を停止させることとしている。なお、撮像やこれらの処理を継続することも可能である。
 撮像を停止させた後、制御部1は、首振り開始時(あるいはそれよりも多少前の時点)において、側面画像に基づいて対象物が事前認識されていたかどうかを判定する(ステップ609)(図7及び図8参照)。
 対象物が事前認識されていなかった場合(ステップ609のNO)、制御部1は、首振りが終了したかどうかを判定し(ステップ615)、首振りが終了した場合には、正面カメラ6及び側面カメラ7での撮像を開始する(ステップ614)。
 一方、対象物が事前認識されていた場合(ステップ609のYES)、制御部1は、事前認識された対象物のHMD10に対する位置姿勢の予測を開始する(ステップ610)。この予測では、制御部1は、事前認識された対象物のHMD10に対する位置姿勢と、HMD10の現在の自己位置姿勢とに基づいて、現在のHMD10の位置姿勢に対する現在の対象物の相対的な位置姿勢を予測する。なお、この予測は、事前認識された対象物が動いていた場合には、動きによる予測も含む。
 次に、制御部1は、予測結果(現在のHMD10の位置姿勢に対する現在の対象物の相対的な位置姿勢)に基づいて、事前認識された対象物が表示部3のAR表示画角内に入ったどうかを判定する(ステップ611)。
 事前認識された対象物が表示部3のAR表示画角内に入った場合(ステップ611のYES)、制御部1は、予測の結果に基づいて、仮想オブジェクト9のAR画像を生成(描画)して仮想オブジェクト9をAR表示する処理を開始する(ステップ612)。なお、AR画像が生成されている間に、HMD10の自己位置姿勢は多少変化することがあるので、仮想オブジェクト9のAR表示位置は、HMD10における最新の自己位置姿勢に基づいて補正されてもよい。
 予測の結果に基づく、仮想オブジェクト9のAR表示を開始すると、次に、制御部1は、ステップ613へ進む。また、ステップ611において、事前認識された対象物が表示部3のAR表示画角内に入っていない場合(ステップ611のNO)、ステップ612をとばして、ステップ613へ進む。
 ステップ613では、制御部1は、HMD10を装着したユーザにより首振りが終了されたかどうか(首振りの速度が閾値以下となったかどうか)を判定する。この場合、制御部1は、典型的には、HMD10の姿勢変化の速度が所定の閾値以下となったかどうかを判断することでユーザによる首振りの終了を判定する。
 HMD10による姿勢変化の速度は、慣性センサ4からの慣性情報に基づいて判定されてもよいし、自己位置推定による値に基づいて判定されてもよい。
 なお、ステップ613において、制御部1は、HMD10の姿勢変化の速度と、事前認識された対象物の位置姿勢とに基づいて、端末に対する事前認識された対象物の速度(例えば、垂直軸回り)を予測し、予測された速度が閾値以下となったかどうかを判定してもよい。これは、対象物が人等ある場合には、対象物が動く場合があるためであり、このような処理により、対象物が動く場合に適切に対応することができる。
 なお、ステップ613における処理と、ステップ615における処理とは典型的には同じである。
 ステップ613において、首振りが終了していない場合(ステップ613のNO)、制御部1は、ステップ611へ戻る。一方、ステップ613において、首振りが終了した場合、制御部1は、正面カメラ6及び側面カメラ7における撮像を開始する(ステップ614)。そして、制御部1は、ステップ601へ戻る。
 なお、本実施形態では、予測の期間は、HMD10の首振りが検知されてから(HMD10の姿勢変化の速度が所定の閾値以上となってから)、正面画像に基づく対象物の認識処理において、事前認識された対象物の認識が完了するまでの間の期間とされている。また、本実施形態では、予測に基づく仮想オブジェクト9のAR表示期間は、事前認識された対象物がAR表示画角内に入ってから、正面画像に基づく対象物の位置姿勢認識処理において対象物の認識が完了するまでの間の期間とされている。
 <作用等>
 次に、本実施形態に係るHMD10における処理の流れと、比較例に係るHMD20における処理の流れとを比較しつつ、本実施形態における作用等について説明する。図10は、本実施形態に係るHMD10における処理の流れと、比較例に係るHMD20における処理の流れとが比較された図である。
 図11は、比較例に係るHMD20において、ユーザにより首が振られたときに仮想オブジェクト9がどのタイミングでAR表示されるかを示す図である。図12は、本実施形態に係るHMD10において、ユーザにより首が振られたときに仮想オブジェクト9がどのタイミングでAR表示されるかを示す図である。
 まず、図10における上側の図と、図11を参照して、比較例に係るHMD20の処理の流れについて説明する。
 比較例に係るHMD20においては、側面カメラ7が設けられておらず、従って、首振り前において、対象物を事前認識することができない。ユーザの首振りによりAR表示画角内に対象物が入ったとき、首振りによって、正面画像にブラーが乗ってしまい対象物がぼやけてしまう。このため、対象物がAR表示画角に入った時点では、正面画像に基づいて、HMD10に対する対象物の位置姿勢を認識することができず、この認識に基づくAR表示も行うことができない。
 首振りの速度が遅くなり、正面画像に基づいて、HMD10に対する対象物の位置姿勢の認識が可能となると、対象物の認識が開始される。そして、HMD10に対する対象物の位置姿勢の認識が完了すると、仮想オブジェクト9のAR画像が生成(描画)されて、仮想オブジェクト9がAR表示される。
 つまり、ユーザからすると、AR表示されていない仮想オブジェクト9が対象物に対して突然AR表示されることになる。このような場合、ユーザは、違和感や、不快感等を覚えやすい。
 次に、図10の下側及び図12を参照して、本実施形態に係るHMD10における処理の流れについて説明する。
 本実施形態に係るHMD10においては、側面カメラ7が設けられているため、首振り前において、対象物を事前認識することが可能である(図7及び図8参照)。ユーザの首振りの開始が検知されると(図9:ステップ607のYES参照)、事前認識された対象物のHMD10に対する位置姿勢の予測が開始される(ステップ610参照)。
 AR表示画角内に対象物が入ったとき(ステップ611参照)、予測の結果に基づく、仮想オブジェクト9のAR表示が開始される(ステップ612参照)。
 首振りの速度が遅くなり(ステップ613のYES参照)、正面画像に基づいて、HMD10に対する対象物の位置姿勢の認識が可能となると、正面画像に基づく対象物の認識が開始される。そして、正面画像に基づくHMD10に対する対象物の位置姿勢の初回の認識(つまり、正面画像に基づく対象物の検知処理)が完了すると(ステップ601のYES参照)、予測ではなく、正面画像による対象物の位置姿勢の認識に基づいて、仮想オブジェクト9がAR表示される(ステップ606参照)。
 以上説明したように、本実施形態では、AR表示画角よりも外側の領域を撮像可能な側面カメラ7からの側面画像に基づいてAR表示画角外の対象物のHMD10に対する位置姿勢を事前に認識する事前認識処理が実行され、対象物がAR表示画角内に入ったとき、事前認識された対象物の位置姿勢に基づいて、対象物に対して仮想オブジェクト9がAR表示される。
 これにより、対象物がAR表示画角に入ったときに遅延なく仮想オブジェクト9をAR表示することができる。従って、AR表示されていない仮想オブジェクト9が対象物に対して突然AR表示されるようなことがなくなり、ユーザに対して、違和感や、不快感等を覚えさせてしまうことを防止することができる。
 また、本実施形態では、事前認識された対象物の位置姿勢と、推定されたHMD10の自己位置姿勢とに基づいて対象物の位置姿勢が予測され、対象物がAR表示画角内に入ったとき、予測の結果に基づいて、対象物に対して仮想オブジェクト9がAR表示される。
 このような予測に基づいて、対象物がAR表示されることで、対象物がAR表示画角に入ったときに、適切に遅延なく仮想オブジェクト9をAR表示することができる。
 また、本実施形態では、(4)側面画像における対象物の追跡処理のループの頻度は、(2)正面画像における対象物の追跡処理のループの頻度よりも低く設定される。また、本実施形態では、(3)側面画像における対象物の検知処理のループの頻度は、(1)正面における対象物の検知処理のループの頻度よりも低く設定される。
 これにより、側面画像に基づく対象物の事前位置姿勢推定処理の処理負荷が低減され、省電力化が実現される。特に、HMD10をスタンドアローンで動作させる場合、このように省電力化を図ることが有効である。
 ≪各種変形例≫
 <正面カメラ6における露光タイミング>
 次に、正面カメラ6による露光タイミングについて説明する。図9を参照して、制御部1は、首振りの速度がある程度遅くなると、停止されていた正面カメラ6の撮像を開始する(ステップ614参照)。このときの正面カメラ6の露光タイミングを調整することで、正面画像に基づくHMD10に対する対象物の位置姿勢の初回の認識の完了(ステップ601参照)を早めてもよい。
 ここで、首振りの速度が遅くなって、正面カメラ6の露光が開始されるとき、露光の開始タイミングが少し早いと仮定する。この場合、正面画像の後半部分は、対象物を認識可能な部分であるのにも関わらず、正面画像の前半部分にブラーが乗ってしまい、その画像全体としては、対象物を認識できなくなってしまう可能性がある。この場合、正面画像の露光が始まるタイミングによっては、最大1フレーム分遅れて認識が完了してしまう可能性がある。これは、比較的に正確である正面画像に基づく対象物の検知処理が遅れてしまう原因になる。
 正面カメラ6による理想的な露光の開始タイミングは、首振りの速度(HMD10の姿勢変化の速度)が、正面画像に基づく対象物の検知処理が可能な速度となった直後である。これについては、露光時間と、慣性情報(または、自己位置推定による姿勢変化)とから閾値が決められることで実現可能である。
 つまり、制御部1は、HMD10の姿勢変化の速度に基づいて、露光の開始タイミングを決定(調整)してもよい。
 なお、対象物が人等である場合には、対象物が動く場合がある。この場合、首振りの速度(HMD10の姿勢変化の速度)だけでなく、対象物の動きも考慮して、HMD10に対する対象物の相対的な速度の予測が必要である。従って、この場合、制御部1は、HMD10の姿勢変化の速度と、事前認識された対象物の位置姿勢とに基づいて、端末に対する対象物の速度を予測し、予測された速度に基づいて、正面画像の露光のタイミングを決定(調整)してもよい。
 <正面カメラ6における露光時間>
 次に、正面カメラ6による露光時間について説明する。図9を参照して、制御部1は、首振りの速度がある程度遅くなると、停止されていた正面カメラ6の撮像を開始する(ステップ614参照)。このときの正面カメラ6の露光時間を調整することで、正面画像に基づくHMD10に対する対象物の位置姿勢の初回の認識の完了(ステップ601参照)を早めてもよい。
 ここで、首振りの速度が遅くなって、正面カメラ6による撮像が行われるとき、露光時間を一時的に短くすることで、正面画像に基づく対象物の検知処理(つまり、初回の認識)が早くなる可能性がある。一方、露光時間を短くすると、画像が暗くなってしまったり、また、感度向上のためにノイズが乗ってしまったりしてしまう可能性があり、これにより認識の精度が低下してしまうことが考えらえる。従って、首振りの速度がさらに遅くなって、通常の露光時間でも対象物を認識できることが感知されたときに、露光時間が通常の露光時間に戻されてもよい。
 つまり、制御部1は、HMD10の姿勢変化の速度に基づいて、露光時間を決定(調整)してもよい。
 なお、対象物が人等である場合には、対象物が動く場合がある。この場合、首振りの速度(HMD10の姿勢変化の速度)だけでなく、対象物の動きも考慮して、HMD10に対する対象物の相対的な速度の予測が必要である。従って、この場合、制御部1は、HMD10の姿勢変化の速度と、事前認識された対象物の位置姿勢とに基づいて、端末に対する対象物の速度を予測し、予測された速度に基づいて、正面画像の露光時間を決定(調整)してもよい。
 <表示部3のAR表示画角と、カメラ画角の関係>
 ここで、表示部3のAR表示画角を1つのカメラの撮像画角で覆えている場合、そのカメラが正面カメラ6とされればよい。一方で、AR表示画角を1つのカメラの撮像画角で覆えていない場合、複数のカメラが正面カメラ6とされる。この場合、複数の正面カメラ6は、互いに撮像画角が部分的に重なるようにして配置される。
 この場合、複数の正面カメラ6の画像のうち、対象物が写っていない画像については、追跡処理を行う必要はなく、検知処理だけ行われればよい。この場合、複数の正面カメラ6間での対象物の移動につては、上述の正面カメラ6及び側面カメラ7間での対象物の移動のように、移動先のカメラで検知処理による認識が完了するまでは、上記予測や上記予測結果に基づくAR表示が実行されればよい。なお、正面カメラ6の画角同士が重なっている領域が広いほど予測に頼る時間が短くなる。
 図13は、複数の正面カメラ6が用いられた場合の様子を示す図である。
 これらの正面カメラ6は、それぞれ、表示部3のAR表示画角に対応する領域を撮像可能に構成されており、かつ、表示部3のAR表示画角よりも外側の領域を撮像可能に構成されている。つまり、ここでの例での正面カメラ6は、第2の撮像部でもあり、第1の撮像部でもある。なお、図13の説明では、右側の正面カメラ6を第1の正面カメラ6と呼び、左側の正面カメラ6を第2の正面カメラ6と呼ぶ。
 図13の例では、正面カメラ6がAR表示画角内及びAR表示画角外の両方を撮像可能である場合に、省電力化のために、対象物がAR表示画角内に存在するか、AR表示画角外に存在するかに応じて、追跡処理の頻度を異ならせている。
 以下、対象物が(A)~(C)に存在するとして、場合分けして説明する。なお、検知処理については、新たな対象物がAR表示画角内に新たに現れることを考慮して、対象物が(A)~(C)のどの位置に存在していても、制御部1は、第1の正面カメラ6及び第2の正面カメラ6からの画像に基づいて、それぞれ、中頻度で検知処理を実行する。
 (A)の場合、つまり、第1の正面カメラ6及び第2の正面カメラ6の両方の撮影画角内に対象物が入っているときを考える。この場合、第1の正面カメラ6及び第2の正面カメラ6の両方の撮影画角内に入っているため、制御部1は、一方の正面カメラ6からの画像に基づいて、追跡処理を高頻度で行えば十分である。
 (B)の場合、つまり対象物が第1の正面カメラ6の撮影画角内、かつ、第2の正面カメラ6の撮影画角外、かつ、AR表示画角内に存在しているときを考える。この場合は、制御部1は、第1の正面カメラ6からの画像情報のみに基づいて、高頻度で追跡処理を行う。
 (C)の場合、つまり、対象物が、第1の正面カメラ6の撮影画角内、かつ、第2の正面カメラ6の撮影画角外、かつ、AR表示画角外に存在しているときを考える。この場合はAR表示画角内に対象物がないので、制御部1は、首振りに備えてあらかじめ対象物の位置姿勢を認識する。そのため、制御部1は、中頻度で追跡処理を行えばよい。
 つまり、ここでの例では、第1の正面カメラ6は、AR表示画角よりも外側の領域(C)と、AR表示画角に対応する領域(A)及び(B)との両方の領域を撮像可能である。
 そして、制御部1は、第1の正面カメラ6からの画像のうち、AR表示画角よりも外側の領域(C)の画像情報に基づいて、HMD10に対する対象物の事前位置姿勢認識処理を実行する。また、制御部1は、第1の正面カメラ6からの画像のうち、AR表示画角に対応する領域(A)及び(B)の画像情報に基づいて、HMD10に対する対象物の位置姿勢認識処理を実行する。
 また、制御部1は、事前位置姿勢認識処理において、AR表示画角よりも外側の領域の画像情報に基づいて前記対象物の動きを追跡する追跡処理(第3の追跡処理)を中頻度(第5の頻度)で繰り返し実行する。
 また、制御部1は、位置姿勢認識処理において、AR表示画角に対応する領域の画像情報に基づいて対象物の動きを追跡する追跡処理(第4の追跡処理)を、中頻度よりも高い高頻度(第6の頻度)で繰り返し実行する。
 このような処理により適切に省電力化を図ることができる。
 <専用カメラ>
 本技術のために、専用のカメラがHMD10に搭載されるかどうかについて説明する。本技術のために、専用のカメラを搭載することも可能であるが、既存のHMD10に既に搭載されているカメラが用いられてもよい。HMD10は、一般的に自己位置姿勢の推定(SLAM)のためにカメラを前方だけでなく側面にも有している場合が多い。そのため自己位置姿勢の推定に用いられているカメラが本技術において用いられてもよい。自己位置推定では撮像した画像の処理を中頻度で実行することで自己位置を推定し、この自己位置を慣性情報に基づいて補正することで自己位置推定自体のレートを向上させているタイプが主流である。従って、本技術とも相性が良い。正面カメラ6に関しては従来の自己位置推定で使用されている正面のカメラの撮影頻度を上げることが想定される(SLAMでは、中頻度、本技術では高頻度のため)。
 <リプロジェクション>
 本技術とリプロジェクション技術の関連について説明する。どちらも慣性情報を用いた自己位置推定を利用する点に類似はあるが、本技術とリプロジェクションは次の点で異なっている。リプロジェクションは一度レンダリングした画像をより新しい自己位置推定の認識結果を用いて変形させる画像変形の技術である。
 一方、本技術は、正面以外にある対象物を側面カメラ7であらかじめ認識したうえで、自己位置推定を用いて対象物の座標を追跡処理することで首を振ったときでもAR表示が遅れないようにする物体認識の技術である。
 それらの技術は独立なため本技術はリプロジェクションと併用してもよい。リプロジェクションは物体を認識してレンダリングした後に遅延を抑えて重畳ずれを軽減しつつフレームレートを向上できる。しかしまだ認識してない物体に関しては認識及びAR表示ができないので、対象物が目の前にあってもAR表示できない期間が発生する。そこで本技術とリプロジェクションを併用するとこの問題を解決できる。
 <その他>
 以上の説明では、端末の一例としてHMD10を例に挙げて説明した。一方、端末は、HMD10に限られない。端末は、例えば、ユーザの身体に装着可能なウェアラブルデバイスであってもよいし、ユーザが携帯可能なモバイルデバイスであってもよい。
 ウェアラブルデバイスとしては、例えば、HMD10の他には、リストバンド型、腕時計型、指輪型、ペンダント型等のウェアラブルデバイスが挙げられる。モバイルデバイスとしては、例えば、携帯電話機(スマートフォンを含む)、タブレットPC(Personal Computer)、携帯ゲーム機、携帯音楽プレイヤー等が挙げられる。
 典型的には、端末装置20は、AR表示可能であること、実空間における自己位置及び姿勢を推定可能であること、ユーザの移動に伴って移動可能であることの3つの条件を満たすことができる装置であればどのような装置であっても構わない。
 また、以上の説明では、情報処理装置の一例として、HMD10を例に挙げて説明した。つまり、情報処理装置が端末自体である場合について説明した。一方、情報処理装置は、端末自体でなくともよい。典型的には、上記した各種の処理を実行する制御部1を含む装置が情報処理装置と見做される。従って、情報処理装置は、ネットワーク上のサーバ装置などであってもよい。
 本技術は以下の構成をとることもできる。
(1) 端末の表示部のAR表示画角よりも外側の領域を撮像可能な前記端末の第1の撮像部からの第1の画像情報に基づいてAR表示画角外の対象物の前記端末に対する位置姿勢を事前に認識する事前認識処理を実行し、前記対象物がAR表示画角内に入ったとき、事前認識された前記対象物の位置姿勢に基づいて、前記対象物に対して仮想オブジェクトをAR表示する制御部
 を具備する情報処理装置。
(2) (1)に記載の情報処理装置であって、
 前記制御部は、事前認識された前記対象物の位置姿勢と、推定された前記端末の自己位置姿勢とに基づいて前記対象物の位置姿勢を予測し、前記対象物がAR表示画角内に入ったとき、前記予測の結果に基づいて、前記対象物に対して仮想オブジェクトをAR表示する
 を具備する情報処理装置。
(3) (2)に記載の情報処理装置であって、
 前記制御部は、前記AR表示画角に対応する領域を撮像可能な前記端末の第2の撮像部からの第2の画像情報に基づいて、前記AR表示画角内の対象物の位置姿勢を認識する認識処理を実行し、認識された前記対象物の位置姿勢に基づいて、前記対象物に対して仮想オブジェクトをAR表示する
 情報処理装置。
(4) (3)に記載の情報処理装置であって、
 前記制御部は、前記対象物がAR表示画角内に入ってから、前記認識処理において前記対象物の認識が完了するまでの間の期間において、前記予測の結果に基づく前記仮想オブジェクトのAR表示を実行する
 情報処理装置。
(5) (3)又は(4)に記載の情報処理装置であって、
 前記制御部は、前記端末の姿勢変化の速度が所定の閾値以上となってから、前記認識処理において対象物の認識が完了するまでの間の期間において、前記予測を実行する
 情報処理装置。
(6) (3)~(5)のうちいずれか1つに記載の情報処理装置であって、
 前記制御部は、前記事前認識処理において、前記第1の画像情報に基づいて前記対象物を検知する第1の検知処理を第1の頻度で繰り返し実行する
 情報処理装置。
(7) (6)に記載の情報処理装置であって、
 前記制御部は、前記認識処理において、前記第2の画像情報に基づいて前記対象物を検知する第2の検知処理を、前記第1の頻度とは異なる第2の頻度で繰り返し実行する
 情報処理装置。
(8) (7)に記載の情報処理装置であって、
 前記第1の頻度は、前記第2の頻度よりも低い
 情報処理装置。
(9) (3)~(8)のうちいずれか1つに記載の情報処理装置であって、
 前記制御部は、前記事前認識処理において、前記第1の画像情報に基づいて前記対象物の動きを追跡する第1の追跡処理を第3の頻度で繰り返し実行する
 情報装置。
(10) (9)に記載の情報処理装置であって、
 前記制御部は、前記認識処理において、前記第2の画像情報に基づいて前記対象物の動きを追跡する第2の追跡処理を、前記第の3頻度とは異なる第4の頻度で繰り返し実行する
 情報処理装置。
(11) (10)に記載の情報処理装置であって、
 前記第3の頻度は、前記第4の頻度よりも低い
 情報処理装置。
(12) (3)~(11)のうちいずれか1つに記載の情報処理装置であって、
 前記制御部は、前記端末の姿勢変化の速度に基づいて、前記第2の撮像部の露光のタイミングを調整する
 情報処理装置。
(13) (12)に記載の情報処理装置であって、
 前記制御部は、前記端末の姿勢変化の速度と、事前認識された前記対象物の位置姿勢とに基づいて、前記端末に対する対象物の速度を予測し、予測された速度に基づいて、前記第2の撮像部の露光のタイミングを調整する
 情報処理装置。
(14) (3)~(13)のうちいずれか1つに記載の情報処理装置であって、
 前記制御部は、前記端末の姿勢変化の速度に基づいて、前記第2の撮像部の露光時間を調整する
 情報処理装置。
(15) (14)に記載の情報処理装置であって、
 前記制御部は、前記端末の姿勢変化の速度と、事前認識された前記対象物の位置姿勢とに基づいて、前記端末に対する対象物の速度を予測し、予測された速度に基づいて、前記第2の撮像部の露光のタイミングを調整する
 情報処理装置。
(16) (2)に記載の情報処理装置であって、
 前記第1の撮像部は、AR表示画角よりも外側の領域と、AR表示画角に対応する領域との両方の領域を撮像可能であり、
 前記制御部は、前記第1の画像情報のうち、前記AR表示画角よりも外側の領域の画像情報に基づいて、前記事前認識処理を実行し、前記第1の画像情報のうち、前記AR表示画角に対応する領域の画像情報に基づいて、前記AR表示画角内の対象物の位置姿勢を認識する認識処理を実行する
 情報処理装置。
(17) (16)に記載の情報処理装置であって、
 前記制御部は、前記事前認識処理において、前記AR表示画角よりも外側の領域の画像情報に基づいて前記対象物の動きを追跡する第3の追跡処理を第5の頻度で繰り返し実行する
 情報処理装置。
18) (17)に記載の情報処理装置であって、
 前記制御部は、前記認識処理において、前記AR表示画角に対応する領域の画像情報に基づいて前記対象物の動きを追跡する第4の追跡処理を、前記第5の頻度とは異なる第6の頻度で繰り返し実行する
 情報処理装置。
(19) 端末の表示部のAR表示画角よりも外側の領域を撮像可能な前記端末の第1の撮像部からの第1の画像情報に基づいてAR表示画角外の対象物の前記端末に対する位置姿勢を事前に認識する事前認識処理を実行し、
 前記対象物がAR表示画角内に入ったとき、事前認識された前記対象物の位置姿勢に基づいて、前記対象物に対して仮想オブジェクトをAR表示する
 情報処理方法。
(20) 端末の表示部のAR表示画角よりも外側の領域を撮像可能な前記端末の第1の撮像部からの第1の画像情報に基づいてAR表示画角外の対象物の前記端末に対する位置姿勢を事前に認識する事前認識処理を実行し、
 前記対象物がAR表示画角内に入ったとき、事前認識された前記対象物の位置姿勢に基づいて、前記対象物に対して仮想オブジェクトをAR表示する
 処理をコンピュータに実行させるプログラム。
 1…制御部
 2…記憶部
 3…表示部
 4…慣性センサ
 5…撮像部
 6…正面カメラ
 7…側面カメラ
 10…HMD

Claims (20)

  1.  端末の表示部のAR表示画角よりも外側の領域を撮像可能な前記端末の第1の撮像部からの第1の画像情報に基づいてAR表示画角外の対象物の前記端末に対する位置姿勢を事前に認識する事前認識処理を実行し、前記対象物がAR表示画角内に入ったとき、事前認識された前記対象物の位置姿勢に基づいて、前記対象物に対して仮想オブジェクトをAR表示する制御部
     を具備する情報処理装置。
  2.  請求項1に記載の情報処理装置であって、
     前記制御部は、事前認識された前記対象物の位置姿勢と、推定された前記端末の自己位置姿勢とに基づいて前記対象物の位置姿勢を予測し、前記対象物がAR表示画角内に入ったとき、前記予測の結果に基づいて、前記対象物に対して仮想オブジェクトをAR表示する
     を具備する情報処理装置。
  3.  請求項2に記載の情報処理装置であって、
     前記制御部は、前記AR表示画角に対応する領域を撮像可能な前記端末の第2の撮像部からの第2の画像情報に基づいて、前記AR表示画角内の対象物の位置姿勢を認識する認識処理を実行し、認識された前記対象物の位置姿勢に基づいて、前記対象物に対して仮想オブジェクトをAR表示する
     情報処理装置。
  4.  請求項3に記載の情報処理装置であって、
     前記制御部は、前記対象物がAR表示画角内に入ってから、前記認識処理において前記対象物の認識が完了するまでの間の期間において、前記予測の結果に基づく前記仮想オブジェクトのAR表示を実行する
     情報処理装置。
  5.  請求項3に記載の情報処理装置であって、
     前記制御部は、前記端末の姿勢変化の速度が所定の閾値以上となってから、前記認識処理において対象物の認識が完了するまでの間の期間において、前記予測を実行する
     情報処理装置。
  6.  請求項3に記載の情報処理装置であって、
     前記制御部は、前記事前認識処理において、前記第1の画像情報に基づいて前記対象物を検知する第1の検知処理を第1の頻度で繰り返し実行する
     情報処理装置。
  7.  請求項6に記載の情報処理装置であって、
     前記制御部は、前記認識処理において、前記第2の画像情報に基づいて前記対象物を検知する第2の検知処理を、前記第1の頻度とは異なる第2の頻度で繰り返し実行する
     情報処理装置。
  8.  請求項7に記載の情報処理装置であって、
     前記第1の頻度は、前記第2の頻度よりも低い
     情報処理装置。
  9.  請求項3に記載の情報処理装置であって、
     前記制御部は、前記事前認識処理において、前記第1の画像情報に基づいて前記対象物の動きを追跡する第1の追跡処理を第3の頻度で繰り返し実行する
     情報装置。
  10.  請求項9に記載の情報処理装置であって、
     前記制御部は、前記認識処理において、前記第2の画像情報に基づいて前記対象物の動きを追跡する第2の追跡処理を、前記第の3頻度とは異なる第4の頻度で繰り返し実行する
     情報処理装置。
  11.  請求項10に記載の情報処理装置であって、
     前記第3の頻度は、前記第4の頻度よりも低い
     情報処理装置。
  12.  請求項3に記載の情報処理装置であって、
     前記制御部は、前記端末の姿勢変化の速度に基づいて、前記第2の撮像部の露光のタイミングを調整する
     情報処理装置。
  13.  請求項12に記載の情報処理装置であって、
     前記制御部は、前記端末の姿勢変化の速度と、事前認識された前記対象物の位置姿勢とに基づいて、前記端末に対する対象物の速度を予測し、予測された速度に基づいて、前記第2の撮像部の露光のタイミングを調整する
     情報処理装置。
  14.  請求項3に記載の情報処理装置であって、
     前記制御部は、前記端末の姿勢変化の速度に基づいて、前記第2の撮像部の露光時間を調整する
     情報処理装置。
  15.  請求項14に記載の情報処理装置であって、
     前記制御部は、前記端末の姿勢変化の速度と、事前認識された前記対象物の位置姿勢とに基づいて、前記端末に対する対象物の速度を予測し、予測された速度に基づいて、前記第2の撮像部の露光のタイミングを調整する
     情報処理装置。
  16.  請求項2に記載の情報処理装置であって、
     前記第1の撮像部は、AR表示画角よりも外側の領域と、AR表示画角に対応する領域との両方の領域を撮像可能であり、
     前記制御部は、前記第1の画像情報のうち、前記AR表示画角よりも外側の領域の画像情報に基づいて、前記事前認識処理を実行し、前記第1の画像情報のうち、前記AR表示画角に対応する領域の画像情報に基づいて、前記AR表示画角内の対象物の位置姿勢を認識する認識処理を実行する
     情報処理装置。
  17.  請求項16に記載の情報処理装置であって、
     前記制御部は、前記事前認識処理において、前記AR表示画角よりも外側の領域の画像情報に基づいて前記対象物の動きを追跡する第3の追跡処理を第5の頻度で繰り返し実行する
     情報処理装置。
  18.  請求項17に記載の情報処理装置であって、
     前記制御部は、前記認識処理において、前記AR表示画角に対応する領域の画像情報に基づいて前記対象物の動きを追跡する第4の追跡処理を、前記第5の頻度とは異なる第6の頻度で繰り返し実行する
     情報処理装置。
  19.  端末の表示部のAR表示画角よりも外側の領域を撮像可能な前記端末の第1の撮像部からの第1の画像情報に基づいてAR表示画角外の対象物の前記端末に対する位置姿勢を事前に認識する事前認識処理を実行し、
     前記対象物がAR表示画角内に入ったとき、事前認識された前記対象物の位置姿勢に基づいて、前記対象物に対して仮想オブジェクトをAR表示する
     情報処理方法。
  20.  端末の表示部のAR表示画角よりも外側の領域を撮像可能な前記端末の第1の撮像部からの第1の画像情報に基づいてAR表示画角外の対象物の前記端末に対する位置姿勢を事前に認識する事前認識処理を実行し、
     前記対象物がAR表示画角内に入ったとき、事前認識された前記対象物の位置姿勢に基づいて、前記対象物に対して仮想オブジェクトをAR表示する
     処理をコンピュータに実行させるプログラム。
PCT/JP2021/023550 2020-06-29 2021-06-22 情報処理装置、情報処理方法及びプログラム WO2022004483A1 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN202180034260.9A CN115552475A (zh) 2020-06-29 2021-06-22 信息处理装置、信息处理方法和程序
DE112021003448.0T DE112021003448T5 (de) 2020-06-29 2021-06-22 Informationsverarbeitungseinrichtung, informationsverarbeitungsverfahren und programm

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2020111294 2020-06-29
JP2020-111294 2020-06-29

Publications (1)

Publication Number Publication Date
WO2022004483A1 true WO2022004483A1 (ja) 2022-01-06

Family

ID=79316171

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2021/023550 WO2022004483A1 (ja) 2020-06-29 2021-06-22 情報処理装置、情報処理方法及びプログラム

Country Status (3)

Country Link
CN (1) CN115552475A (ja)
DE (1) DE112021003448T5 (ja)
WO (1) WO2022004483A1 (ja)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20170289444A1 (en) * 2016-04-01 2017-10-05 Samsung Electronics Co., Ltd. Electronic device and operating method thereof
US20180288423A1 (en) * 2017-04-01 2018-10-04 Intel Corporation Predictive viewport renderer and foveated color compressor

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6798106B2 (ja) 2015-12-28 2020-12-09 ソニー株式会社 情報処理装置、情報処理方法、およびプログラム

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20170289444A1 (en) * 2016-04-01 2017-10-05 Samsung Electronics Co., Ltd. Electronic device and operating method thereof
US20180288423A1 (en) * 2017-04-01 2018-10-04 Intel Corporation Predictive viewport renderer and foveated color compressor

Also Published As

Publication number Publication date
CN115552475A (zh) 2022-12-30
DE112021003448T5 (de) 2023-07-06

Similar Documents

Publication Publication Date Title
US11796309B2 (en) Information processing apparatus, information processing method, and recording medium
JP6632443B2 (ja) 情報処理装置、情報処理システム、および情報処理方法
US9873048B2 (en) Method and system for adjusting a field of view region in a virtual space
US20200160591A1 (en) Prediction and throttling adjustments based on application rendering performance
US20170345220A1 (en) Time-warping adjustment based on depth information in a virtual/augmented reality system
JP2018511098A (ja) 複合現実システム
JP2017503418A (ja) 仮想現実システムの較正
KR20180027361A (ko) 증강 현실 장면을 재생할 때 자동 줌을 위한 방법들, 디바이스들, 및 시스템들
WO2016027627A1 (ja) 角膜反射位置推定システム、角膜反射位置推定方法、角膜反射位置推定プログラム、瞳孔検出システム、瞳孔検出方法、瞳孔検出プログラム、視線検出システム、視線検出方法、視線検出プログラム、顔姿勢検出システム、顔姿勢検出方法、および顔姿勢検出プログラム
WO2020003860A1 (ja) 情報処理装置、情報処理方法、及びプログラム
US10771707B2 (en) Information processing device and information processing method
WO2020110659A1 (ja) 情報処理装置、情報処理方法、およびプログラム
US20210377515A1 (en) Information processing device, information processing method, and program
KR20210044506A (ko) 증강 현실 객체를 표시하는 장치 및 그 동작 방법
US11477433B2 (en) Information processor, information processing method, and program
JP7226332B2 (ja) 情報処理装置、情報処理方法及びプログラム
CN110895433A (zh) 用于增强现实中用户交互的方法和装置
WO2022004483A1 (ja) 情報処理装置、情報処理方法及びプログラム
JP7367689B2 (ja) 情報処理装置、情報処理方法、及び記録媒体
US20220084244A1 (en) Information processing apparatus, information processing method, and program
JPWO2020044916A1 (ja) 情報処理装置、情報処理方法及びプログラム
JP6641525B2 (ja) 光学機器制御装置、光学機器制御方法、及び光学機器制御プログラム
JP2017126009A (ja) 表示制御装置、表示制御方法、およびプログラム
JP2020526096A (ja) 最適状況判断撮像方法およびこのような方法を遂行する装置
JP2015061200A (ja) 画像表示装置、画像表示方法、および画像表示プログラム

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: 21831903

Country of ref document: EP

Kind code of ref document: A1

122 Ep: pct application non-entry in european phase

Ref document number: 21831903

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: JP