WO2017086263A1 - 情報処理装置および画像生成方法 - Google Patents

情報処理装置および画像生成方法 Download PDF

Info

Publication number
WO2017086263A1
WO2017086263A1 PCT/JP2016/083657 JP2016083657W WO2017086263A1 WO 2017086263 A1 WO2017086263 A1 WO 2017086263A1 JP 2016083657 W JP2016083657 W JP 2016083657W WO 2017086263 A1 WO2017086263 A1 WO 2017086263A1
Authority
WO
WIPO (PCT)
Prior art keywords
display
image
posture
unit
pixel
Prior art date
Application number
PCT/JP2016/083657
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 EP16866265.8A priority Critical patent/EP3379525B1/en
Priority to US15/770,419 priority patent/US10629107B2/en
Priority to CN201680066189.1A priority patent/CN108292489B/zh
Publication of WO2017086263A1 publication Critical patent/WO2017086263A1/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/14Digital output to display device ; Cooperation and interconnection of the display device with other functional units
    • G06F3/147Digital output to display device ; Cooperation and interconnection of the display device with other functional units using display panels
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G3/00Control arrangements or circuits, of interest only in connection with visual indicators other than cathode-ray tubes
    • G09G3/007Use of pixel shift techniques, e.g. by mechanical shift of the physical pixels or by optical shift of the perceived pixels
    • GPHYSICS
    • G02OPTICS
    • G02BOPTICAL ELEMENTS, SYSTEMS OR APPARATUS
    • G02B27/00Optical systems or apparatus not provided for by any of the groups G02B1/00 - G02B26/00, G02B30/00
    • G02B27/01Head-up displays
    • G02B27/017Head mounted
    • GPHYSICS
    • G02OPTICS
    • G02BOPTICAL ELEMENTS, SYSTEMS OR APPARATUS
    • G02B27/00Optical systems or apparatus not provided for by any of the groups G02B1/00 - G02B26/00, G02B30/00
    • G02B27/02Viewing or reading apparatus
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T19/00Manipulating 3D models or images for computer graphics
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G3/00Control arrangements or circuits, of interest only in connection with visual indicators other than cathode-ray tubes
    • G09G3/001Control arrangements or circuits, of interest only in connection with visual indicators other than cathode-ray tubes using specific devices not provided for in groups G09G3/02 - G09G3/36, e.g. using an intermediate record carrier such as a film slide; Projection systems; Display of non-alphanumerical information, solely or in combination with alphanumerical information, e.g. digital display on projected diapositive as background
    • G09G3/002Control arrangements or circuits, of interest only in connection with visual indicators other than cathode-ray tubes using specific devices not provided for in groups G09G3/02 - G09G3/36, e.g. using an intermediate record carrier such as a film slide; Projection systems; Display of non-alphanumerical information, solely or in combination with alphanumerical information, e.g. digital display on projected diapositive as background to project the image of a two-dimensional display, such as an array of light emitting or modulating elements or a CRT
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G3/00Control arrangements or circuits, of interest only in connection with visual indicators other than cathode-ray tubes
    • G09G3/20Control arrangements or circuits, of interest only in connection with visual indicators other than cathode-ray tubes for presentation of an assembly of a number of characters, e.g. a page, by composing the assembly by combination of individual elements arranged in a matrix no fixed position being assigned to or needed to be assigned to the individual characters or partial characters
    • G09G3/34Control arrangements or circuits, of interest only in connection with visual indicators other than cathode-ray tubes for presentation of an assembly of a number of characters, e.g. a page, by composing the assembly by combination of individual elements arranged in a matrix no fixed position being assigned to or needed to be assigned to the individual characters or partial characters by control of light from an independent source
    • G09G3/3406Control of illumination source
    • G09G3/342Control of illumination source using several illumination sources separately controlled corresponding to different display panel areas, e.g. along one dimension such as lines
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G5/00Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G5/00Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators
    • G09G5/02Control 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/026Control of mixing and/or overlay of colours in general
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G5/00Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators
    • G09G5/36Control 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/38Control 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 with means for controlling the display position
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N5/00Details of television systems
    • H04N5/64Constructional details of receivers, e.g. cabinets or dust covers
    • GPHYSICS
    • G02OPTICS
    • G02BOPTICAL ELEMENTS, SYSTEMS OR APPARATUS
    • G02B27/00Optical systems or apparatus not provided for by any of the groups G02B1/00 - G02B26/00, G02B30/00
    • G02B27/01Head-up displays
    • G02B27/0101Head-up displays characterised by optical features
    • G02B2027/014Head-up displays characterised by optical features comprising information/image processing systems
    • GPHYSICS
    • G02OPTICS
    • G02BOPTICAL ELEMENTS, SYSTEMS OR APPARATUS
    • G02B27/00Optical systems or apparatus not provided for by any of the groups G02B1/00 - G02B26/00, G02B30/00
    • G02B27/01Head-up displays
    • G02B27/0179Display position adjusting means not related to the information to be displayed
    • G02B2027/0187Display position adjusting means not related to the information to be displayed slaved to motion of at least a part of the body of the user, e.g. head, eye
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G2320/00Control of display operating conditions
    • G09G2320/10Special adaptations of display systems for operation with variable images
    • G09G2320/103Detection of image changes, e.g. determination of an index representative of the image change
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G2320/00Control of display operating conditions
    • G09G2320/10Special adaptations of display systems for operation with variable images
    • G09G2320/106Determination of movement vectors or equivalent parameters within the image
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G2340/00Aspects of display data processing
    • G09G2340/04Changes in size, position or resolution of an image
    • G09G2340/0407Resolution change, inclusive of the use of different resolutions for different screen areas
    • G09G2340/0435Change or adaptation of the frame rate of the video stream
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G2340/00Aspects of display data processing
    • G09G2340/14Solving problems related to the presentation of information to be displayed
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G2340/00Aspects of display data processing
    • G09G2340/16Determination of a pixel data signal depending on the signal applied in the previous frame

Definitions

  • the present invention relates to a technique for generating an image to be displayed on a head mounted display.
  • a head mounted display (hereinafter also referred to as “HMD”) is mounted on the user's head to provide the user with a virtual reality (VR) world.
  • VR virtual reality
  • a conventional stationary display such as a television
  • the user's field of view is widened outside the screen, and the user may not be able to concentrate on the screen or may not be immersed in the game.
  • the HMD when the HMD is attached, the user only sees the video displayed on the HMD, so that the sense of immersion in the video world is increased, and the entertainment characteristics of the game are further enhanced.
  • the HMD is provided with a head tracking function and the display screen is updated in conjunction with the posture of the user's head, the feeling of immersion in the video world is further improved.
  • omnidirectional cameras omnidirectional cameras
  • development of an unmanned flying object that can be remotely controlled is also underway, and by mounting multiple cameras on such a flying object, panoramic photographs can be taken from the air in all directions.
  • the omnidirectional panoramic image thus captured is displayed on the HMD, and the display screen is updated in conjunction with the posture of the user's head by the head tracking function, so that the user can feel as if he / she is in a real place. Expected to be given.
  • a certain amount of time is required from detection of the attitude of the HMD to display of an image corresponding to the attitude. Therefore, a certain amount of deviation occurs between the attitude of the HMD that is the basis of the displayed image and the attitude of the HMD at the timing when the image is displayed. Due to this shift, the image displayed on the HMD may give the user a feeling of strangeness.
  • the attitude of the HMD is newly detected, and conversion such as affine transformation is performed on the first image based on the newly detected attitude. It is conceivable to generate the added second image and display the second image. In this way, the uncomfortable feeling given to the user by the image displayed on the HMD is reduced.
  • the HMD may be configured not to display all the pixels of the display target image at the same time but to display pixels in a certain area in the image first and display pixels in another area later.
  • the pixels of the display target image may be sequentially displayed from the upper scanning line to the lower scanning line.
  • the attitude of the HMD changes from when the display of pixels in the image is started to when it is completed, and the image displayed on the HMD may give the user a sense of discomfort.
  • the present invention has been made in view of such problems, and an object thereof is to provide a technique for realizing display control suitable for HMD.
  • an information processing apparatus includes a detection unit that detects a posture of a head mounted display attached to a user's head, and a detection result of the detection unit at a first time point.
  • a reference image generation unit that generates a reference image including information to be presented to the user according to the identified first posture of the head mounted display, and a detection result of the detection unit at a second time point after the first time point
  • a display image generating unit that generates a display image to be displayed on the head mounted display from the reference image according to the difference between the second attitude and the first attitude of the head mounted display specified by the above.
  • the display image generation unit displays the position of the specific pixel in the display image and the setting source of the pixel value of the specific pixel as the display timing of the specific pixel of the display image is later in the display of the display image by the display unit of the head mounted display.
  • the amount of change from the corresponding pixel position in the reference image is increased.
  • Another aspect of the present invention is an image generation method. This method should be presented to the user in accordance with the step of detecting the posture of the head mounted display mounted on the user's head and the first posture of the head mounted display specified by the detection result at the first time point. Generating a reference image including information, and from the reference image according to a difference between the second posture and the first posture of the head mounted display specified by the detection result at the second time point after the first time point.
  • the step of generating a display image to be displayed on the head-mounted display, and the step of generating the display image in the display of the display image by the display unit of the head-mounted display is the display timing of a specific pixel of the display image.
  • the reference image from which the position of the specific pixel in the display image and the pixel value of the specific pixel are set later Increasing the amount of change in the position of the definitive corresponding pixel.
  • a technique for realizing display control suitable for HMD can be provided.
  • FIG. 1 shows a configuration example of an information processing system 1 in the embodiment.
  • the information processing system 1 includes an information processing device 10, a head mounted display device (HMD) 100 that a user wears on the head, an input device 6 that the user operates with fingers, and an imaging device that photographs the user wearing the HMD 100. 7 and an output device 4 for displaying an image.
  • HMD head mounted display device
  • the information processing apparatus 10 includes a processing device 12 and an output control device 14.
  • the processing device 12 is a terminal device that receives operation information of the input device 6 operated by the user and executes various applications such as a game.
  • the processing device 12 and the input device 6 may be connected by a cable or may be connected by a known wireless communication technique.
  • the output control device 14 is a processing unit that outputs image data to the HMD 100.
  • the output control device 14 and the HMD 100 may be connected by a cable or may be connected by a known wireless communication technique.
  • the imaging device 7 photographs the user wearing the HMD 100 and provides it to the processing device 12.
  • the imaging device 7 may be a stereo camera.
  • the HMD 100 is equipped with a marker (tracking LED) for realizing tracking of the user's head, and the processing device 12 detects the movement of the HMD 100 based on the position of the photographed marker.
  • the HMD 100 is also equipped with a posture sensor (acceleration sensor, gyro sensor), and the processing device 12 acquires sensor information detected by the posture sensor from the HMD 100, so that it can be used with high accuracy together with the use of the captured image of the marker. Realize the tracking process.
  • the output device 4 since the user views the image displayed on the HMD 100, the output device 4 is not always necessary, but the output control device 14 or the processing device 12 displays the same image as the image displayed on the HMD 100 as the output device. 4 may be output. As a result, another user can view the image that the user is viewing on the HMD 100 on the output device 4. As will be described later, since an image to be displayed on the HMD 100 is subjected to distortion correction of the optical lens, it is necessary to output an image without distortion correction from the output device 4.
  • the processing device 12, the output device 4, the input device 6, and the imaging device 7 may construct a conventional game system.
  • the processing device 12 may be a game device that executes an application such as a game
  • the input device 6 may be a device that supplies user operation information to the processing device 12 such as a game controller, a keyboard, a mouse, and a joystick.
  • An information processing system 1 that executes a virtual reality (VR) application is configured by adding the output control device 14 and the HMD 100 to the components of the game system.
  • VR virtual reality
  • the function by the output control device 14 may be incorporated into the processing device 12 as a part of the VR application function. That is, the information processing apparatus 10 may be configured by one processing apparatus 12 or may be configured by the processing apparatus 12 and the output control apparatus 14.
  • functions of the processing device 12 and the output control device 14 necessary for realizing the VR application will be collectively described as functions of the information processing device 10.
  • the information processing apparatus 10 generates image data to be displayed on the HMD 100.
  • the information processing apparatus 10 prepares 360-degree panoramic images taken in all directions from the omnidirectional camera, and is generated based on the line-of-sight direction determined from the posture of the HMD 100 mounted on the user's head.
  • the image is displayed on the HMD 100.
  • the display content may be either a still image or a moving image. Further, the image is not limited to an actually captured image, and may be drawn in real time by a game application.
  • the HMD 100 is a display device that displays an image through an optical lens on a display panel positioned in front of the user when the user puts on the head.
  • the HMD 100 independently displays a left-eye image on the left half of the display panel and a right-eye image on the right half. These images form a parallax image viewed from the left and right viewpoints, and are displayed in left and right regions obtained by dividing the display panel into two parts, so that the images can be stereoscopically viewed.
  • the information processing apparatus 10 supplies image data in which optical distortion caused by the lens is corrected in advance to the HMD 100.
  • the optical distortion correction process may be performed by either the processing apparatus 12 or the output control apparatus 14.
  • FIG. 2 is an explanatory diagram of rendering processing in the information processing apparatus 10.
  • a virtual environment in which a visible image is changed is realized by the user being positioned at the center of the sphere and changing the direction of the line of sight.
  • the content image which is an image material, is pasted on the inner peripheral surface of a virtual sphere centered on the center point 9 where the user is located.
  • the content image is a 360-degree panoramic image taken in all directions, taken by an omnidirectional camera, and pasted on the inner peripheral surface of the virtual sphere so that the top of the content image matches the top of the virtual sphere. It is done.
  • the user's real world top and bottom and the video world top and bottom provided to the HMD 100 are aligned, thereby realizing a VR application that reproduces the real video world.
  • the information processing apparatus 10 detects the rotation angle and inclination of the user's head (actually the HMD 100) by performing the user's head tracking process.
  • the rotation angle of the HMD 100 is a rotation angle with respect to the reference direction of the horizontal plane, and the reference direction may be set as a direction facing when the power of the HMD 100 is turned on, for example.
  • the inclination of the HMD 100 is an inclination angle with respect to the horizontal plane.
  • a known technique may be used as the head tracking process, and the information processing apparatus 10 can detect the rotation angle and inclination of the HMD 100 only from the sensor information detected by the attitude sensor of the HMD 100, and further, the HMD 100 captured by the imaging apparatus 7 can be detected. By analyzing the image of the marker (tracking LED), the rotation angle and inclination of the HMD 100 can be detected with high accuracy.
  • the information processing apparatus 10 determines the attitude of the virtual camera 8 in the virtual sphere according to the detected rotation angle and inclination of the HMD 100.
  • the virtual camera 8 is arranged so as to photograph the inner peripheral surface of the virtual sphere from the center point 9 of the virtual sphere, and the information processing device 10 detects the detected rotation angle and inclination and the light of the virtual camera 8 in the virtual sphere. Match the rotation angle and inclination of the shaft.
  • the information processing apparatus 10 acquires the captured image 5 of the virtual camera 8, that is, performs rendering processing, performs optical distortion correction for the optical lens, and supplies image data to the HMD 100.
  • one virtual camera 8 is shown in FIG. 2, actually, two virtual cameras 8 for the left eye and the right eye are arranged to generate respective image data.
  • FIG. 3 shows an example of the external shape of the HMD 100.
  • the HMD 100 includes an output mechanism unit 102 and a mounting mechanism unit 104.
  • the wearing mechanism unit 104 includes a wearing band 106 that goes around the head when the user wears and fixes the HMD 100 to the head.
  • the wearing band 106 is made of a material or a structure whose length can be adjusted according to the user's head circumference.
  • the output mechanism unit 102 includes a housing 108 shaped to cover the left and right eyes when the user wears the HMD 100, and includes a display panel in a position facing the eyes when worn.
  • the display panel is a display unit that presents a VR image to the user's field of view.
  • the display panel may be a known display device, and may be realized by, for example, a liquid crystal panel or an organic EL panel.
  • the housing 108 is further provided with a pair of left and right optical lenses that are positioned between the display panel and the user's eyes when the HMD 100 is mounted, and enlarge the viewing angle of the user.
  • the HMD 100 may further include a speaker or an earphone at a position corresponding to the user's ear when worn.
  • the tracking LED constitutes the light emitting marker 110, but it may be any other type of marker as long as it is captured by the imaging device 7 and can be analyzed by the information processing device 10. Good.
  • the number and arrangement of the light emitting markers 110 are not particularly limited, but the number and arrangement need to be such that the posture (rotation angle and inclination) of the HMD 100 can be detected by photographing and image analysis. Then, they are provided at the four corners of the front surface of the housing 108. Further, the light emitting marker 110 may be provided on the side or the rear of the wearing band 106 so that the user can take an image when the user turns his back to the imaging device 7.
  • the HMD 100 may be connected to the information processing apparatus 10 with a cable or may be connected by a known wireless communication technology.
  • the HMD 100 transmits sensor information detected by the attitude sensor to the information processing apparatus 10, receives image data generated by the information processing apparatus 10, and displays the image data on the display panel.
  • the HMD 100 shown in FIG. 3 is an immersive (non-transmissive) display device that completely covers both eyes, but may be a transmissive display device.
  • the shape may be a hat shape as shown in the figure, but may also be a glasses shape.
  • FIG. 4 shows functional blocks of the HMD 100.
  • the control unit 120 is a main processor that processes and outputs various data such as image data, audio data, sensor information, and commands.
  • the storage unit 122 temporarily stores data, commands, and the like that are processed by the control unit 120.
  • the attitude sensor 124 detects attitude information such as the rotation angle and inclination of the HMD 100.
  • the posture sensor 124 includes at least a triaxial acceleration sensor and a triaxial gyro sensor.
  • the microphone 126 converts the user's voice into an electrical signal.
  • the light emitting markers 110 are LEDs, and a plurality of the light emitting markers 110 are attached to the mounting band 106 and the housing 108 of the HMD 100.
  • the communication control unit 128 transmits data input from the control unit 120 to the external information processing apparatus 10 by wired or wireless communication via a network adapter or an antenna. In addition, the communication control unit 128 receives data from the information processing apparatus 10 through wired or wireless communication via a network adapter or an antenna, and outputs the data to the control unit 120.
  • control unit 120 When the control unit 120 receives image data or audio data from the information processing apparatus 10, the control unit 120 supplies the image data and audio data to the display panel 130 for display, and supplies them to the audio output unit 132 for audio output. Further, the control unit 120 causes the communication control unit 128 to transmit the sensor information from the attitude sensor 124 and the audio data from the microphone 126 to the information processing apparatus 10.
  • FIG. 5 shows functional blocks of the information processing apparatus 10.
  • the information processing apparatus 10 includes a sensor information acquisition unit 20, a captured image acquisition unit 22, an instruction acquisition unit 24, and an environment information acquisition unit 322 as an input interface with the outside.
  • the sensor information acquisition unit 20 acquires sensor information from the attitude sensor 124 of the HMD 100 at a predetermined cycle.
  • the captured image acquisition unit 22 acquires a captured image obtained by capturing the HMD 100 from the imaging device 7 at a predetermined cycle. For example, the imaging device 7 captures images every (1/120) seconds, and the captured image acquisition unit 22 acquires captured images every (1/120) seconds.
  • the instruction acquisition unit 24 acquires an instruction input by the user from the input device 6.
  • the information processing apparatus 10 further includes a motion detection unit 30, a gaze direction determination unit 32, an image generation unit 34, and an image provision unit 36.
  • the motion detection unit 30 detects the posture of the HMD 100 attached to the user's head.
  • the line-of-sight direction determination unit 32 determines the line-of-sight direction according to the posture of the HMD 100 detected by the motion detection unit 30.
  • the image generation unit 34 generates an image according to the detected attitude of the HMD 100, and specifically generates an image based on the line-of-sight direction determined by the line-of-sight direction determination unit 32.
  • the image providing unit 36 provides the generated image to the HMD 100.
  • each element described as a functional block for performing various processes can be configured by a circuit block, a memory, and other LSIs in terms of hardware, and loaded in the memory in terms of software. Realized by programs. Therefore, it is understood by those skilled in the art that these functional blocks can be realized in various forms by hardware only, software only, or a combination thereof, and is not limited to any one.
  • the image storage unit 40 stores 360-degree panoramic image data captured in advance.
  • the image storage unit 40 may store a plurality of content images, and the content image may be a still image or a moving image.
  • the image storage unit 40 of the embodiment stores panoramic image data in all directions, and the information processing apparatus 10 provides a panoramic image in all directions to the user wearing the HMD 100. Therefore, when the user turns his / her neck left or right (the user may rotate counterclockwise or clockwise), the panoramic image in the left or right direction can be obtained by rotating the horizontal line of sight to the left or right. It is displayed on the display panel 130 of the HMD 100, and the panoramic image in the upward or downward direction is displayed on the display panel 130 of the HMD 100 by tilting the neck up or down and tilting the line of sight in the vertical direction. Become.
  • the environment information storage unit 320 stores information related to the image display environment in the HMD 100 (hereinafter also referred to as “display environment information”).
  • the display environment information includes the screen resolution of the display panel 130 of the HMD 100 and the refresh rate (in other words, the vertical scanning frequency).
  • the screen resolution is information including the number of vertical and horizontal pixels of the display panel 130, that is, information that can specify the number of scanning lines of the display panel 130.
  • the display environment information may be fixedly determined in the VR application executed by the information processing apparatus 10, but is automatically acquired from the HMD 100 in the embodiment.
  • the environment information acquisition unit 322 acquires the display environment information of the HMD 100 from the HMD 100.
  • the environment information acquisition unit 322 requests the HMD 100 to provide display environment information when the VR application is activated in the information processing apparatus 10, automatically acquires the display environment information from the HMD 100, and stores the display environment information in the environment information storage unit 320.
  • the correspondence relationship between the type of the HMD 100 or the display panel 130 and the display environment information is held in advance, the type of the HMD 100 or the display panel 130 is automatically detected, and the display environment information corresponding to the type is stored in the environment information.
  • the environment information acquisition unit 322 may provide a screen for allowing the user to input the display environment information of the HMD 100.
  • the environment information acquisition unit 322 acquires the display environment information input by the user via the input device 6 and acquires the environment information storage unit. You may store in 320.
  • FIG. 6 is a diagram for explaining panoramic image data stored in the image storage unit 40.
  • FIG. 6 shows a part of panoramic image data in all directions, and omits a part of an image facing downward from a horizontal plane and a part of an image in the left-right direction.
  • the display panel 130 of the HMD 100 displays an image obtained by rendering the panoramic image pasted on the inner peripheral surface of the virtual sphere, and the user moves the rotation angle and inclination of the HMD 100 to change the line-of-sight direction. By changing, the displayed panoramic image is moved according to the line-of-sight direction.
  • the communication control unit 128 transmits the sensor information acquired by the attitude sensor 124 to the information processing apparatus 10 at a predetermined cycle. Further, the imaging device 7 captures the HMD 100 at a predetermined cycle and transmits the captured image to the information processing device 10.
  • the sensor information acquisition unit 20 acquires sensor information of the posture sensor 124 and supplies the sensor information to the motion detection unit 30.
  • the captured image acquisition unit 22 acquires a captured image and supplies it to the motion detection unit 30.
  • the motion detection unit 30 detects the posture of the HMD 100 to perform head tracking processing for detecting the posture of the head of the user wearing the HMD 100. This head tracking process is performed in order to link the visual field displayed on the display panel 130 of the HMD 100 to the posture of the user's head.
  • the rotation angle of the HMD 100 with respect to the horizontal reference direction and the tilt angle with respect to the horizontal plane are detected.
  • the horizontal reference direction may be set, for example, as a direction facing when the power of the HMD 100 is turned on.
  • This head tracking process uses a known method, and the motion detection unit 30 may detect the rotation angle with respect to the horizontal reference direction of the HMD 100 and the tilt angle with respect to the horizontal plane from only the sensor information of the attitude sensor 124. It is preferable to further improve the detection accuracy by further using the imaging result of the light emitting marker 110.
  • the motion detection unit 30 detects the rotation angle and the tilt angle at a predetermined cycle. For example, if the image supplied to the HMD 100 is 120 fps, it is preferable that the detection process of the motion detection unit 30 is also executed at a period of (1/120) seconds.
  • the line-of-sight direction determination unit 32 determines the line-of-sight direction according to the posture of the HMD 100 detected by the motion detection unit 30.
  • This line-of-sight direction is the direction of the user's line of sight, and consequently the line-of-sight direction (optical axis direction) of the virtual camera 8 arranged at the center point 9 of the virtual sphere (see FIG. 2).
  • the line-of-sight direction determination unit 32 may determine the rotation angle and the tilt angle detected by the motion detection unit 30 as they are as the line-of-sight direction (optical axis direction) of the virtual camera 8 or perform some correction processing.
  • the line-of-sight direction of the virtual camera 8 may be determined.
  • the motion detection unit 30 when noise is added to the sensor information and stable sensor information is not provided to the motion detection unit 30, the motion detection unit 30 performs a motion that vibrates even though the user's head is not moving. There is a possibility of detection. In such a case, the line-of-sight direction determination unit 32 may determine the line-of-sight direction by performing smooth correction on the motion detected by the motion detection unit 30.
  • the human field of view is asymmetrical in the vertical direction, with the lower side of the line of sight slightly wider than the upper side. Therefore, the line-of-sight direction determination unit 32 may determine the line-of-sight direction of the virtual camera 8 by slightly tilting the tilt angle detected by the motion detection unit 30 downward.
  • the image generation unit 34 generates an image according to the attitude of the HMD 100 detected by the motion detection unit 30, and specifically generates an image based on the visual line direction of the virtual camera 8 determined by the visual line direction determination unit 32.
  • the image generation unit 34 defines a left-eye field of view and a right-eye field of view specified by the line-of-sight direction, and generates and generates left-eye and right-eye images, respectively.
  • the image generation unit 34 generates a panoramic image in which distortion caused by image light from the display panel passing through the optical lens is corrected.
  • the HMD 100 of the embodiment provides a user with a field of view of about 100 degrees in the horizontal direction and about 100 degrees in the vertical direction.
  • the captured image 5 in the virtual sphere is captured at an angle of view of about 100 degrees in the horizontal direction and about 100 degrees in the vertical direction, and displayed on the display panel 130 of the HMD 100.
  • the optical lens and the display panel 130 are tilted by 5 degrees with respect to the frontal direction of the eye, and the upper 45 A vertical visual field of 55 degrees on the lower side may be realized by the arrangement of the optical lens and the display panel 130.
  • FIG. 7 shows a display image 200 a generated by the image generation unit 34.
  • the display image is expressed as an image cut out from the panoramic image in order to facilitate understanding of the positional relationship of the display image in the entire panoramic image.
  • the image generation unit 34 generates an image based on the line-of-sight direction 202a determined by the line-of-sight direction determination unit 32. In practice, the image generation unit 34 renders and generates a display image for the left eye and a display image for the right eye, and these display images are different images including parallax. Is not specifically described.
  • the image providing unit 36 provides the display image 200 a generated by the image generating unit 34 to the HMD 100. In the HMD 100, the control unit 120 displays the display image 200a on the display panel 130, so that the user can see the display image 200a displayed on the display panel 130.
  • FIG. 8 shows a display image 200b generated by the image generation unit 34.
  • the line-of-sight direction determination unit 32 determines the line-of-sight direction according to the attitude of the HMD 100, and the image generation unit 34 generates an image based on the determined line-of-sight direction.
  • the user turns his / her neck counterclockwise in the horizontal direction and the line of sight continuously changes from the line-of-sight direction 202a to the line-of-sight direction 202b.
  • the user rotates his / her head about 60 degrees counterclockwise, and this rotation operation causes the image generation unit 34 to display an image that continuously moves the panoramic image in the counterclockwise direction from the display image 200a (1/120) seconds. It generates with the period of.
  • the image providing unit 36 provides the generated image to the HMD 100 at a period of (1/120) seconds.
  • FIG. 9 shows a display image 200 c generated by the image generation unit 34.
  • the line-of-sight direction determination unit 32 determines the line-of-sight direction according to the attitude of the HMD 100, and the image generation unit 34 generates an image based on the determined line-of-sight direction.
  • the image generation unit 34 generates an image based on the determined line-of-sight direction.
  • a state in which the user tilts his / her neck upward from the state in which the display image 200a is displayed on the display panel 130 and the line of sight continuously changes from the line-of-sight direction 202a to the line-of-sight direction 202c is shown.
  • the image generation unit 34 displays an image that continuously moves the panoramic image in the upward direction from the display image 200a at a cycle of (1/120) seconds. Generate.
  • the image providing unit 36 provides the generated image to the HMD 100 at a period of (1/120) seconds.
  • the user changes the line-of-sight direction by moving his / her head, and the information processing apparatus 10 provides the HMD 100 with a panoramic image in the desired direction for display on the display panel 130.
  • Changing the line-of-sight direction by moving the head is the same as in the real world, and matches the user's sense.
  • the HMD 100 can further enhance the immersion in the panoramic image.
  • FIG. 10 schematically shows the flow of image generation and display in a normal HMD system.
  • T1, T2, and T3 in the figure indicates the vertical synchronization (VSYNC) timing of the display panel 130 of the HMD 100.
  • VSYNC vertical synchronization
  • the first frame is generated based on the attitude of the HMD detected at timing T1.
  • the second frame is generated based on the attitude of the HMD detected at the timing T2.
  • the user perceives the first frame at timing T3.
  • the latency from when the posture of the HMD is detected until the user visually recognizes an image based on the posture becomes relatively long (T1 to T3).
  • T1 to T3 the latency from when the posture of the HMD is detected until the user visually recognizes an image based on the posture becomes relatively long (T1 to T3).
  • an image that does not match the current attitude of the HMD is displayed, and the user may feel uncomfortable with the displayed image.
  • FIG. 11 schematically shows the flow of image generation and display including reprojection.
  • a reprojection period 300 is provided between timing T1 'and timing T2
  • a reprojection period 302 is provided between timing T2' and timing T3.
  • the image generation unit 34 performs a reprojection process on the first frame based on the attitude of the HMD detected at the timing T1 '.
  • affine transformation or the like is performed on the first frame.
  • a predetermined conversion process is executed.
  • a display frame having a mode corresponding to the posture T1 ' is generated.
  • the reprojection is a conversion process for a rendered image, and does not execute a new rendering process. Therefore, the reprojection period is relatively short.
  • the display frame after the reprojection processing for the first frame is output, and the user perceives the display frame at timing T3.
  • the reprojection can reduce the latency from when the posture of the HMD is detected until the user visually recognizes an image based on the posture (T1 'to T3).
  • an image that matches the current posture of the HMD can be displayed, and the user's discomfort with respect to the display image can be reduced.
  • FIG. 12 shows an example of images before and after reprojection.
  • FIG. 12A shows an example of a reference image 304 to be reprojected.
  • the reference image 304 is an image rendered based on the posture of the HMD (user's line-of-sight direction) specified at the first time point, and is an original image before conversion by reprojection.
  • the first time point corresponds to T1 in FIG. 11, and the reference image 304 corresponds to the first frame in FIG.
  • FIG. 12B shows an example of a display image 306 generated by reprojection.
  • the display image 306 is an image after reprojection based on the attitude of the HMD specified at the second time point after the first time point.
  • the second time point corresponds to T1 'in FIG. 11, and the display image 306 corresponds to a display frame based on the first frame in FIG.
  • a corresponding pixel of the reference image 304 (hereinafter also referred to as “corresponding pixel”) is identified.
  • the pixel value of each corresponding pixel is set as the pixel value of each pixel of the display image 306.
  • the corresponding pixel of the reference image 304 with respect to the specific pixel of the display image 306 can be said to be a pixel that provides the pixel value for the specific pixel.
  • the user swings his / her neck to the lower right between the first time point and the second time point, in other words, the line-of-sight direction of the HMD has moved to the lower right. It is necessary to shift 304 images in the upper left direction.
  • the image generation unit 34 identifies the corresponding pixel 312 located at the lower right of the same-position pixel 310 having the same position (for example, coordinates) on the image as the pixel corresponding to the specific pixel 308 of the display image 306.
  • the image generation unit 34 sets the pixel value of the corresponding pixel 312 as the pixel value of the specific pixel 308.
  • the color information of the corresponding pixel 312 is set in the color information of the specific pixel 308.
  • the display panel 130 of the HMD 100 sequentially displays each pixel of the display image 306 from the scanning line at one end to the scanning line at the other end.
  • the display is sequentially performed in units of scanning lines from the highest scanning line to the lowest scanning line.
  • the time difference from the output on the highest scanning line to the output on the lowest scanning line is 8.3 ms (milliseconds) when the frame rate is 120 FPS, and 11.1 ms when the frame rate is 90 FPS. Therefore, the attitude of the HMD can change between the start and the end of the display of one display image 306.
  • FIG. 13 schematically shows a simple reprojection.
  • 13A shows an example of the reference image 304
  • FIG. 13B shows an example of the display image 306, and the grids in both figures show pixels.
  • the display image 306 in FIG. 13B is generated by a reprojection process in which the reference image 304 in FIG. 13A is shifted to the right by two pixels.
  • the pixels located in the lower line in the display image 306 become relatively higher lines. Since it is output to the scanning line below the pixel located, the display on the display panel 130 is delayed. In other words, the display timing of the pixels located in the lower line in the display image 306 is delayed. Therefore, the pixel located in the lower line in the display image 306 has a larger deviation from the current posture of the HMD, in other words, the amount of movement becomes insufficient. As a result, the lower side of the display image 306 may appear bent to the user so as to be pulled by the movement in the line of sight.
  • FIG. 14 schematically shows the reprojection of the example.
  • 14A shows an example of the reference image 304
  • FIG. 14B shows an example of the display image 306, and the grids in both figures show pixels.
  • the amount of change from the reference image 304 is increased as the pixel is located in the lower line in the display image 306.
  • the corresponding pixel for the specific pixel of the display image 306 the lower the position of the specific pixel in the display image 306 (that is, the lower the scanning line to be displayed), the farther the reference image 304 is. Is the corresponding pixel.
  • the posture detected at the timing T1 'in FIG. 11 is shifted by 2 units to the left as compared with the posture detected at the timing T1.
  • all the lines are uniformly moved to the right by two pixels.
  • the uppermost line is moved to the right by one pixel
  • the central line is moved to the right by two pixels
  • the lowermost line is moved to the third pixel. Moved to the right.
  • the uppermost line may be moved to the right by 2 pixels
  • the middle line may be moved to the right by 3 pixels
  • the lowermost line may be moved to the right by 4 pixels.
  • FIG. 15 is a block diagram showing details of the image generation unit 34 of FIG.
  • the image generation unit 34 includes a reference image generation unit 324, a prediction unit 326, a corresponding pixel identification unit 328, and a display image generation unit 330.
  • the reference image generation unit 324 generates a reference image including information to be presented to the user according to the first attitude of the HMD specified by the detection result of the motion detection unit 30 at the first time point. For example, a reference image indicating the state of the virtual space is generated according to the line-of-sight direction determined by the line-of-sight direction determination unit 32 based on the detection result of the motion detection unit 30 and the content image stored in the image storage unit 40.
  • a reference image indicating the state of the virtual space updated according to the operation is generated.
  • the first time corresponds to, for example, timings T1 and T2 in FIG.
  • the attitude of the HMD includes the line-of-sight direction of the HMD (user) and may be appropriately replaced.
  • the reference image data includes RGB data and YUV data of each pixel in the image.
  • the display image generation unit 330 includes the second posture of the HMD specified by the detection result of the motion detection unit 30 at the second time point after the first time point, and the first posture that is the basis of the reference image generation.
  • a display image is generated from the reference image according to the difference.
  • the display image generation unit 330 generates the position of the specific pixel in the display image and the pixel value of the specific pixel as the display timing of the specific pixel is later in the display image display by the display panel 130 of the HMD 100 when generating the display image.
  • the amount of change from the position of the corresponding pixel in the reference image that is the setting source is increased. Further, the display image generation unit 330 increases the amount of change as the timing at which the scanning line displaying the specific pixel of the display image outputs the image is later.
  • such display image generation processing is realized by cooperation of the corresponding pixel identification unit 328 and the display image generation unit 330. This will be described in detail below.
  • the corresponding pixel identification unit 328 includes a second attitude of the HMD specified by a detection result of the motion detection unit 30 at a second time after the first time, and a first attitude that is a basis for generating the reference image.
  • the corresponding pixel of the reference image is identified for each pixel of the display image displayed on the HMD.
  • the corresponding pixel identifying unit 328 is a pixel in the reference image at a position different from the position of the specific pixel in the display image as a corresponding pixel for the specific pixel in the display image according to the difference between the first posture and the second posture. Identify The second time point corresponds to, for example, timings T1 'and T2' in FIG. As described above, the difference in posture can be said to be a difference in the line-of-sight direction.
  • the corresponding pixel identification unit 328 increases the amount of change between the position of the specific pixel in the display image and the position of the corresponding pixel in the reference image as the display timing of the specific pixel is later in display of the display image on the display panel 130 of the HMD 100. To do. In other words, the corresponding pixel identification unit 328 is such that, among the pixels in the display image, the pixel whose display timing by the display panel 130 of the HMD 100 is later is in the reference image at a position away from the position of the pixel in the display image. A pixel is identified as a corresponding pixel.
  • the corresponding pixel identifying unit 328 determines the position of the specific pixel in the display image and the position of the corresponding pixel in the reference image as the scanning line for displaying the specific pixel in the display image outputs the image later. Increase the amount of change.
  • the lower the scanning line for displaying the specific pixel of the display image that is, the lower the vertical position of the specific pixel in the display image, the farther away from the position of the specific pixel in the display image.
  • the position of the pixel in the image may be identified as a coordinate value in the UV coordinate system, for example. A specific example of corresponding pixel identification will be described later.
  • the prediction unit 326 predicts the posture of the HMD 100 at another time point based on the posture of the HMD 100 at a certain time point and the posture of the HMD 100 at another time point. For example, the attitude of the HMD 100 at a future time is predicted based on the amount of change between the attitude of the HMD 100 at the past time and the attitude of the HMD 100 at the current time.
  • the posture prediction process by the prediction unit 326 may be realized by a known prediction technique.
  • the display image generating unit 330 generates the display image by setting the pixel value of the corresponding pixel in the reference image as the pixel value of the specific pixel in the display image.
  • the display image generation unit 330 may set RGB data or YUV data of the corresponding pixel identified by the corresponding pixel identification unit 328 for each pixel in the display image.
  • the display image generating unit 330 A predetermined fixed value may be set as the pixel value of the specific pixel.
  • the corresponding pixel identification unit 328 selects each pixel in the display image as a specific pixel, and individually identifies the corresponding pixel for each pixel in the display image. It may be executed sequentially for each pixel, or may be executed in parallel for a plurality of pixels.
  • the corresponding pixel identification unit 328 is based on the first posture of the HMD 100 specified by the detection result of the motion detection unit 30 at the first time point and the detection result of the motion detection unit 30 at the second time point after the first time point. According to the difference between the specified second attitude of the HMD 100 and the time required for image display on the display panel 130, the corresponding pixel at the time when the display image is displayed on the uppermost scanning line of the display panel 130 is defined as the top line. Identify as corresponding pixel. At the same time, the corresponding pixel at the time when the display image is displayed on the lowest scanning line of the display panel 130 is identified as the bottom line corresponding pixel.
  • the corresponding pixel identification unit 328 determines the actual corresponding pixel (for the specific pixel) according to the position of the top line corresponding pixel and the position of the bottom line corresponding pixel in the reference image, and the position of the scanning line where the specific pixel is actually displayed.
  • a true corresponding pixel Specifically, the actual corresponding pixel position is specified between the position of the top line corresponding pixel and the position of the bottom line corresponding pixel according to the position of the scanning line where the specific pixel is actually displayed.
  • the actual corresponding pixel is identified from the pixels positioned between the top line corresponding pixel and the bottom line corresponding pixel by linear interpolation according to the position of the scanning line where the specific pixel is actually displayed.
  • FIG. 16 schematically shows a corresponding pixel identification method.
  • the posture (line-of-sight direction) of the HMD 100 is moving in the lower right direction, and the reprojection process in the reprojection period 300 in FIG. 11 will be described.
  • the corresponding pixel identification unit 328 includes the position of the top line corresponding pixel 342 of the reference image 304 with respect to the specific pixel 340 of the display image 306 (herein, the position on the UV plane, hereinafter referred to as “uv1”) and the bottom line corresponding pixel.
  • the position of 344 hereinafter referred to as “uv2”) is specified.
  • the prediction unit 326 causes the display panel 130 to display the display image 306 based on the difference between the attitude T1 of the HMD 100 detected at the timing T1 in FIG. 11 and the attitude T1 ′ of the HMD 100 detected at the timing T1 ′.
  • the attitude Ts of the HMD 100 at the timing Ts at which display is started is predicted. For example, if the movement of the posture to the lower right occurs between the timings T1 to T1 ′, the prediction unit 326 changes the posture T1 ′ to the posture moved further to the lower right for the time from the timing T1 ′ to Ts. By doing so, the posture Ts may be predicted.
  • the timing Ts is specified as a time after the reprojection processing from the current time point until the display is started, after a predetermined time predetermined by assumption or experiment.
  • the timing Ts may be regarded as the timing T2 in FIG. 11.
  • the prediction unit 326 predicts the posture Ts by changing the posture T1 ′ for a period of time from the timing T1 ′ to T2 (a fixed time). May be.
  • the corresponding pixel identification unit 328 specifies the position (uv1) of the top line corresponding pixel 342 with respect to the specific pixel 340 based on the difference between the posture Ts predicted by the prediction unit 326 and the posture T1. For example, when the posture Ts is shifted by 5 units to the lower right as compared with the posture T1, the reference image 304 needs to be shifted by 5 units to the upper left. In this case, the corresponding pixel identification unit 328 specifies the position shifted by 5 units from the position of the specific pixel 340 in the display image 306 to the lower right as uv1.
  • the timing T1' since the timing T1 'to Ts is short, the timing T1' may be regarded as the timing Ts in a pseudo manner.
  • the corresponding pixel identification unit 328 may specify the position of the top line corresponding pixel 342 with respect to the specific pixel 340 based on the difference between the posture T1 and the posture T1 '.
  • the predicting unit 326 causes the display panel 130 to complete the display of the display image 306 based on the difference between the attitude T1 of the HMD 100 detected at the timing T1 in FIG. 11 and the attitude T1 ′ of the HMD 100 detected at the timing T1 ′.
  • the attitude Tf of the HMD 100 at the timing Tf to be predicted is predicted.
  • the time from the timing Ts to Tf is a time required from the display panel 130 starting to display one image until it is completed, and is determined by the refresh rate of the display panel 130. Therefore, the prediction unit 326 calculates the required time for image display based on the refresh rate of the display panel 130 stored in the environment information storage unit 320, and predicts the posture Tf by changing the posture Ts by the required time. May be.
  • the refresh rate of the display panel 130 is 120 Hz, and the time required for image display on the display panel 130 is 8.3 ms (8333 ⁇ s).
  • the prediction unit 326 changes the posture T1 ′ further to the lower right for the time of the timings T1 ′ to Ts + 8.3 ms.
  • the posture Tf may be predicted by changing the position.
  • the corresponding pixel identification unit 328 specifies the position (uv2) of the bottom line corresponding pixel 344 with respect to the specific pixel 340 based on the difference between the posture Tf predicted by the prediction unit 326 and the posture T1. For example, when the posture Tf is shifted to the lower right by 7 units compared to the posture T1, the reference image 304 needs to be shifted to the upper left by 7 units. In this case, the corresponding pixel identification unit 328 specifies a position shifted by 7 units from the position of the specific pixel 340 in the display image 306 to the lower right as uv2.
  • the difference between the posture T1 and the posture Tf is larger than the difference between the posture T1 and the posture Ts. Therefore, the degree of deviation between the position of the specific pixel 340 and the position of the bottom line corresponding pixel 344 is larger than the degree of deviation between the position of the specific pixel 340 and the position of the top line corresponding pixel 342.
  • the corresponding pixel identification unit 328 specifies the position (UV) of the corresponding pixel in the reference image 304 by the following calculation.
  • Scan line factor vertical position of specific pixel in display image 306 ⁇ number of vertical pixels of display panel 130 (Equation 1)
  • UV uv1 + scan line factor ⁇ (uv2-uv1) (Formula 2)
  • the vertical position of the specific pixel in the display image 306 is the position of the scanning line displaying the specific pixel.
  • the number of vertical pixels of the display panel 130 can be said to be the number of scanning lines of the display panel 130, and is “1080”, for example.
  • the corresponding pixel identification unit 328 acquires the number of vertical pixels of the display panel 130 from the environment information storage unit 320.
  • Equation 1 The ratio of the vertical position of the specific pixel in the entire screen is obtained from Equation 1. Further, according to Equation 2, a pixel between the top line corresponding pixel 342 and the bottom line corresponding pixel 344 corresponding to the vertical position of the specific pixel is obtained as the corresponding pixel.
  • the lower the vertical position of the specific pixel in the display image 306 is, that is, the later the display timing of the specific pixel on the display panel 130 is, the closer the UV approaches uv2, which is larger than uv1.
  • the operation of the information processing system 1 having the above configuration will be described.
  • the user activates the VR application in the information processing apparatus 10 and wears the HMD 100 on his / her head. While playing the VR application, the user moves his / her head as appropriate for searching the virtual space.
  • the HMD 100 periodically provides sensor information to the information processing apparatus 10, and the imaging apparatus 7 periodically provides captured images to the information processing apparatus 10.
  • the motion detection unit 30 of the information processing apparatus 10 detects the posture of the HMD 100 based on the sensor information and the captured image, and the line-of-sight direction determination unit 32 determines the line-of-sight direction of the HMD 100 based on the posture of the HMD 100.
  • the reference image generation unit 324 of the information processing apparatus 10 renders the reference image according to the line-of-sight direction of the HMD 100 at the first time point.
  • the corresponding pixel identification unit 328 executes reprojection according to the line-of-sight direction of the HMD 100 at a second time point after the first time point, and generates a display image obtained by converting the rendered reference image.
  • the corresponding pixel identification unit 328 reduces the amount of change between the position of the pixel and the position of the corresponding pixel in the reference image, as the pixel is located above the display image. Conversely, the lower the pixel in the display image, the larger the amount of change between the position of the pixel and the position of the corresponding pixel in the reference image.
  • the display image generation unit 330 sets the pixel value of each corresponding pixel for each pixel of the display image.
  • the image providing unit 36 of the information processing apparatus 10 provides the display image generated by the display image generating unit 330 to the HMD 100.
  • the display panel 130 of the HMD 100 displays the display image sequentially from the uppermost scanning line of the display panel 130 to the lowermost scanning line.
  • the latency reduction by the reprojection is realized, and the display image in a mode in consideration of the delay time of the image display on the display panel 130 is provided, thereby making the user feel more uncomfortable with the display image. Can be reduced.
  • the information processing apparatus 10 according to the second embodiment is different from the first embodiment in that future posture prediction is performed when a reference image is generated.
  • differences from the first embodiment will be mainly described, and overlapping descriptions will be omitted as appropriate.
  • the scanning line at the center of the display panel 130 described below may not be strictly a scanning line at the center, but may be a scanning line located near the center.
  • the prediction unit 326 is a time point at which an image based on the detection result is displayed on the center scanning line of the display panel 130. (Hereinafter referred to as “first target time point”). Then, the posture of the HMD 100 at the first target time is predicted as the first posture according to the detection result of the motion detection unit 30 at the first time. Specifically, according to the difference (or the difference in the line-of-sight direction) between the detection result of the motion detection unit 30 at a time point before the first time point and the detection result of the motion detection unit 30 at the first time point. The first posture at the time may be predicted.
  • the reference image generation unit 324 generates a reference image based on the first posture at the first target time predicted by the prediction unit 326.
  • This reference image can be said to be an image optimized for display on the center scanning line of the display panel 130.
  • the prediction unit 326 displays an image based on the detection result in the center of the display panel 130.
  • the time point hereinafter referred to as “second target time point”.
  • the posture of the HMD 100 at the second target time is predicted as the second posture according to the detection result of the motion detection unit 30 at the second time.
  • the second target time point second time is determined according to the difference between the detection result of the motion detection unit 30 at the first time point and the detection result of the motion detection unit 30 at the second time point (or the difference in the line-of-sight direction).
  • the posture may be predicted.
  • the first target time and the second target time are identified.
  • the target time point may be specified.
  • the second target time point is specified as a second target time point after a certain time period determined by an assumption or experiment from the current time point, and after the reprojection process and expected to be displayed on the center scanning line. Also good.
  • the corresponding pixel identification unit 328 determines the corresponding pixel at the time when the display image is displayed on the center scanning line of the display panel 130 according to the difference between the first posture and the second posture as a temporary corresponding pixel (hereinafter, “center line corresponding pixel”). "). For example, when the second posture is shifted by 5 units to the lower right as compared with the first posture, a pixel at a position where the position of the specific pixel of the display image is shifted by 5 units to the lower right is identified as a corresponding pixel. As described above, the first posture and the second posture are both predicted postures when the center scanning line of the display panel 130 displays an image. Accordingly, the corresponding pixel identified here is a centerline corresponding pixel.
  • the corresponding pixel identification unit 328 When the scanning line on which the specific pixel of the display image is actually displayed is located above the central scanning line of the display panel 130, the corresponding pixel identification unit 328 performs an actual correspondence between the position of the specific pixel in the display image and the reference image.
  • the actual corresponding pixel is identified so that the amount of change from the pixel position is smaller than the amount of change between the position of the specific pixel in the display image and the position of the centerline corresponding pixel in the reference image. This is typically the case where the vertical position of the specific pixel in the display image is above the center of the display image.
  • the corresponding pixel identification unit 328 also determines the position of the specific pixel in the display image and the actual position in the reference image when the scanning line on which the specific pixel of the display image is actually displayed is located below the central scanning line of the display panel 130.
  • the actual corresponding pixel is identified such that the amount of change from the corresponding pixel position is greater than the amount of change between the position of the specific pixel in the display image and the position of the center line corresponding pixel in the reference image. This is typically the case where the vertical position of the specific pixel in the display image is below the center of the display image.
  • FIG. 17 schematically shows a corresponding pixel identification method.
  • the posture (line-of-sight direction) of the HMD 100 is moving in the lower right direction, and the reprojection process in the reprojection period 300 in FIG. 11 will be described.
  • the corresponding pixel identification unit 328 specifies the position of the centerline corresponding pixel 348 (hereinafter referred to as “uv3”) by the method described above.
  • the prediction unit 326 predicts a posture at a time 4167 ⁇ s before the second target time as a posture Ts at the image display start timing by a known technique, and calculates a posture at a time 4167 ⁇ s after the second target time as an image. Predicted as the posture Tf at the display completion timing.
  • This “4167 ⁇ s” is half the time required for the display panel 130 to display one image.
  • the prediction unit 326 determines this parameter “4167 ⁇ s” according to the refresh rate of the display panel 130 stored in the environment information storage unit 320. If the refresh rate of the display panel 130 stored in the environment information storage unit 320 changes, this parameter also changes.
  • Corresponding pixel identification unit 328 identifies the position (uv1) of top line corresponding pixel 342 with respect to specific pixel 340 based on the difference between posture T1 and posture Ts, as in the first embodiment. Further, the position (uv2) of the bottom line corresponding pixel 344 with respect to the specific pixel 340 is specified based on the difference between the posture T1 and the posture Tf.
  • the corresponding pixel identification unit 328 specifies the position (UV) of the corresponding pixel in the reference image 304 by the following calculation.
  • Scanning line factor vertical position of specific pixel in display image 306 ⁇ number of vertical pixels of display panel 130 ⁇ 0.5 (Expression 3)
  • UV uv3 + scan line factor ⁇ (uv2-uv1) (Formula 4)
  • the ratio of the vertical position of the specific pixel with respect to the scanning line at the center of the display panel 130 is obtained from Equation 3. If the vertical position of the specific pixel is above the center, the scanning line factor is negative, so UV is smaller than uv3, that is, the amount of deviation between the position of the specific pixel and UV in the display image 306 is small. On the other hand, if the vertical position of the specific pixel is below the center, the scanning line factor is positive, so UV is larger than uv3, that is, the amount of deviation between the position of the specific pixel and UV in the display image 306 is large. . As a result, a display image 306 as shown in FIG. 14B is generated.
  • the future posture prediction is performed when the reference image is generated.
  • corresponding pixels are identified by a method different from that in the second embodiment. To do.
  • the configuration of the reference image generation unit 324 and the prediction unit 326 of the third embodiment is the same as that of the second embodiment. That is, when the detection result of the motion detection unit 30 at the first time point (for example, T1 in FIG. 11) is acquired, the prediction unit 326 displays an image based on the detection result with the scanning line at the center of the display panel 130. Predict the first target time. Then, the posture of the HMD 100 at the first target time is predicted as the first posture according to the detection result of the motion detection unit 30 at the first time.
  • the reference image generation unit 324 generates a reference image based on the first posture at the first target time point predicted by the prediction unit 326.
  • the prediction unit 326 displays an image based on the detection result in the center of the display panel 130.
  • the second target time point displayed by the scanning line is predicted.
  • the posture of the HMD 100 at the second target time is predicted as the second posture according to the detection result of the motion detection unit 30 at the second time.
  • Corresponding pixel identification unit 328 identifies a centerline corresponding pixel that is a corresponding pixel at the time when a display image is displayed by a scanning line at the center of display panel 130 according to the difference between the first posture and the second posture. Then, the corresponding pixel identification unit 328 determines the position of the specific pixel in the display image and the reference image in accordance with the time difference between the first target time and the second target time, and the position of the scanning line where the specific pixel is actually displayed. The actual corresponding pixel for the specific pixel is identified on a virtual straight line passing through the position of the center line corresponding pixel.
  • FIG. 18 schematically shows a corresponding pixel identification method.
  • the posture (line-of-sight direction) of the HMD 100 is moving in the lower right direction, and the reprojection process in the reprojection period 300 in FIG. 11 will be described.
  • the corresponding pixel identification unit 328 specifies uv3 that is the position of the centerline corresponding pixel 348 with respect to the specific pixel 340, as in the second embodiment.
  • the corresponding pixel identification unit 328 acquires information on the first target time and the second target time from the prediction unit 326, and calculates a time difference (hereinafter referred to as “TG”) between the first target time and the second target time. . TG can also be said to be the time when the center line corresponding pixel 348 has moved to the same position pixel 346 (a pixel at the same position as the specific pixel of the display image 306).
  • the corresponding pixel identification unit 328 specifies the position (UV) of the corresponding pixel in the reference image 304 by the following calculation.
  • the position (UV coordinate value) of the specific pixel 340 in the display image 306 is expressed as uv0.
  • Scanning line factor 1- (0.5 ⁇ vertical position of specific pixel in display image 306 ⁇ number of vertical pixels of display panel 130) ⁇ 8333 ⁇ TG (Formula 5)
  • UV uv0 + scan line factor ⁇ (uv3-uv0) (Formula 6) “8333” in Expression 5 is a time required for the display panel 130 to display one image.
  • the corresponding pixel identification unit 328 determines this parameter according to the refresh rate of the display panel 130 stored in the environment information storage unit 320.
  • UV is calculated as a position on an imaginary straight line passing through uv0 and uv3 according to the vertical position of the specific pixel by the calculation of Expression 5 and Expression 6. That is, the actual corresponding pixel for the specific pixel 340 can be specified on a virtual straight line passing through uv0 and uv3. As the vertical position of the specific pixel is lowered, the scanning line factor is increased, and the corresponding pixel at a position further away from uv0 is identified. As a result, a display image 306 as shown in FIG. 14B is generated.
  • the TG is longer than the time required for the display panel 130 to display one image (in the above example, TG> 8333 ⁇ s), in other words, a certain amount between the first target time and the second target time. It is assumed that there is a difference. Although there are such restrictions, according to the method of the third embodiment, only one temporary corresponding pixel (centerline corresponding pixel in the above example) is obtained in advance for actual corresponding pixel identification. Corresponding pixels can be identified quickly.
  • the target time for posture prediction is not limited to the time when an image is displayed on the center scanning line of the display panel 130.
  • it may be a time when an image is displayed on the uppermost scanning line of the display panel 130, or may be a time when an image is displayed on the lowermost scanning line of the display panel 130.
  • Formula 5 it is necessary to change Formula 5 according to the target time of posture prediction in the generation of the reference image.
  • uv3 in Expression 6 needs to be changed to the position of the temporary corresponding pixel at the time point that is the target of posture prediction.
  • the target time point of the posture prediction is the time point when the image is displayed on the lowest scanning line of the display panel 130, it is necessary to change to the position uv2 of the bottom line corresponding pixel.
  • the example of reprojection shown in FIG. 11 is to reduce the latency from posture detection to image display, but the frame rate can also be increased by reprojection.
  • the display frame (display image 306 in FIG. 12) based on the first frame in FIG. Can be doubled.
  • the technique of each embodiment can also be applied to such reprojection aimed at increasing the frame rate, and the discomfort that the display image gives to the user can be reduced.
  • the display panel 130 of the HMD 100 sequentially displays the display target images from the upper scanning line to the lower scanning line, but the display order is not limited to this.
  • the technique described in each embodiment is effective when at least some of the pixels of the display image are displayed later than other pixels on the display panel 130 of the HMD 100.
  • the VR image is displayed on the display panel 130 of the HMD 100.
  • an augmented reality (AR) image may be displayed when the HMD 100 is a transmissive display device.
  • the technology of each embodiment is also useful for displaying an AR image.
  • the information processing apparatus 10 generates an image to be displayed on the HMD 100.
  • the HMD 100 alone may be provided with the image generation function described in each embodiment.
  • 1 information processing system 10 information processing device, 30 motion detection unit, 36 image providing unit, 100 HMD, 324 reference image generation unit, 326 prediction unit, 328 corresponding pixel identification unit, 330 display image generation unit.
  • the present invention can be applied to an apparatus that generates an image to be displayed on a head mounted display.

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • Optics & Photonics (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Computer Graphics (AREA)
  • Software Systems (AREA)
  • Human Computer Interaction (AREA)
  • Controls And Circuits For Display Device (AREA)
  • User Interface Of Digital Computer (AREA)
  • Processing Or Creating Images (AREA)

Abstract

情報処理装置10は、第1時点で特定されるHMD100の第1姿勢に応じて、ユーザに提示すべき情報を含む基準画像を生成する。情報処理装置10は、第1時点より後の第2時点で特定されるHMD100の第2姿勢と第1姿勢との差に応じて、基準画像から、HMD100に表示させる表示画像を生成する。情報処理装置10は、表示画像を生成する際、HMD100による表示画像の表示において特定画素の表示タイミングが後であるほど、表示画像における特定画素の位置と、特定画素の画素値の設定元となる基準画像における対応画素の位置との変化量を大きくする。

Description

情報処理装置および画像生成方法
 本発明は、ヘッドマウントディスプレイに表示する画像を生成する技術に関する。
 ヘッドマウントディスプレイ(以下「HMD」とも呼ぶ。)はユーザの頭部に装着されて仮想現実(VR)の世界をユーザに提供する。最近ではユーザがHMDに表示された画面を見ながらゲームをプレイできるアプリケーションも登場している。テレビなどの従来型の据え置き型のディスプレイでは画面外側にもユーザの視野範囲が広がるため、ユーザが画面に集中できなかったり、ゲームへの没入感を欠くことがある。その点、HMDを装着すると、HMDに表示される映像しかユーザは見ないため、映像世界への没入感が高まり、ゲームのエンタテインメント性を一層高める効果がある。HMDにヘッドトラッキング機能をもたせ、ユーザの頭部の姿勢と連動して表示画面を更新するようにすると、さらに映像世界への没入感が向上する。
 近年、上下左右全方位の360度パノラマ写真を撮影する全天球カメラ(全方位カメラ)が普及している。また遠隔操縦可能な無人飛行物体の開発も進められており、このような飛行物体に複数カメラを搭載することで、空中から上下左右全方位のパノラマ写真を撮影できる。このように撮影された全方位パノラマ画像をHMDに表示させ、ヘッドトラッキング機能によりユーザの頭部の姿勢と連動して表示画面を更新することで、現実の場所にいるかのような感覚をユーザに与えられることが期待される。
特開2015-95045号公報
 HMDの姿勢の検出から当該姿勢に応じた画像の表示までにはある程度の時間を要する。そのため、表示される画像の基礎となったHMDの姿勢と画像が表示されるタイミングにおけるHMDの姿勢との間にはある程度のずれが生じる。このずれのためにHMDに表示される画像がユーザに違和感を与えることがあった。
 ここで例えば、検出されたHMDの姿勢に基づいて第1画像を生成した後に、HMDの姿勢を新たに検出し、新たに検出された姿勢に基づいて、第1画像にアフィン変換等の変換を加えた第2画像を生成し、その第2画像を表示させるようにすることが考えられる。こうすれば、HMDに表示される画像がユーザに与える違和感は低減される。
 しかし、HMDは、表示対象画像の全ての画素を同時に表示するのではなく、画像内のある領域の画素を先に表示し、別の領域の画素を後に表示するように構成されることがある。例えば、表示対象画像の画素を上の走査線から下の走査線へ順次表示させていくことがある。この場合、画像内の画素の表示が開始されてから完了するまでの間にHMDの姿勢が変化し、HMDに表示される画像がユーザに違和感を与えることがあった。
 本発明はこうした課題に鑑みてなされたものであり、その目的は、HMDに適した表示制御を実現する技術を提供することにある。
 上記課題を解決するために、本発明のある態様の情報処理装置は、ユーザの頭部に装着されたヘッドマウントディスプレイの姿勢を検出する検出部と、第1の時点における検出部の検出結果により特定されるヘッドマウントディスプレイの第1姿勢に応じて、ユーザに提示すべき情報を含む基準画像を生成する基準画像生成部と、第1の時点より後の第2の時点における検出部の検出結果により特定されるヘッドマウントディスプレイの第2姿勢と第1姿勢との差に応じて、基準画像から、ヘッドマウントディスプレイに表示させる表示画像を生成する表示画像生成部と、を備える。表示画像生成部は、ヘッドマウントディスプレイの表示部による表示画像の表示において表示画像の特定画素の表示タイミングが後であるほど、表示画像における特定画素の位置と、特定画素の画素値の設定元となる基準画像における対応画素の位置との変化量を大きくする。
 本発明の別の態様は、画像生成方法である。この方法は、ユーザの頭部に装着されたヘッドマウントディスプレイの姿勢を検出するステップと、第1の時点の検出結果により特定されるヘッドマウントディスプレイの第1姿勢に応じて、ユーザに提示すべき情報を含む基準画像を生成するステップと、第1の時点より後の第2の時点の検出結果により特定されるヘッドマウントディスプレイの第2姿勢と第1姿勢との差に応じて、基準画像から、ヘッドマウントディスプレイに表示させる表示画像を生成するステップと、をコンピュータが実行し、表示画像を生成するステップは、ヘッドマウントディスプレイの表示部による表示画像の表示において表示画像の特定画素の表示タイミングが後であるほど、表示画像における特定画素の位置と、特定画素の画素値の設定元となる基準画像における対応画素の位置との変化量を大きくする。
 なお、以上の構成要素の任意の組合せ、本発明の表現を、システム、コンピュータプログラムを読み取り可能に記録した記録媒体、データ構造などの間で変換したものもまた、本発明の態様として有効である。
 本発明によれば、HMDに適した表示制御を実現する技術を提供できる。
実施例における情報処理システムの構成例を示す図である。 情報処理装置におけるレンダリング処理の説明図である。 HMDの外観形状の例を示す図である。 HMDの機能ブロックを示す図である。 情報処理装置の機能ブロックを示す図である。 画像記憶部に記憶されるパノラマ画像データを説明するための図である。 表示画像を示す図である。 表示画像を示す図である。 表示画像を示す図である。 通常のHMDシステムにおける画像生成と表示の流れを模式的に示す図である。 リプロジェクションを含む画像生成と表示の流れを模式的に示す図である。 リプロジェクション前後の画像の例を示す図である。 単純なリプロジェクションを模式的に示す図である。 実施例のリプロジェクションを模式的に示す図である。 図5の画像生成部の詳細を示すブロック図である。 対応画素識別の方法を模式的に示す図である。 対応画素識別の方法を模式的に示す図である。 対応画素識別の方法を模式的に示す図である。
 (第1の実施の形態)
 図1は、実施例における情報処理システム1の構成例を示す。情報処理システム1は、情報処理装置10と、ユーザが頭部に装着するヘッドマウントディスプレイ装置(HMD)100と、ユーザが手指で操作する入力装置6と、HMD100を装着したユーザを撮影する撮像装置7と、画像を表示する出力装置4とを備える。
 実施例において情報処理装置10は、処理装置12、出力制御装置14を備える。ここで処理装置12は、ユーザにより操作された入力装置6の操作情報を受けて、ゲームなど様々なアプリケーションを実行する端末装置である。処理装置12と入力装置6とはケーブルで接続されても、既知の無線通信技術により接続されてもよい。出力制御装置14はHMD100に対して画像データを出力する処理ユニットである。出力制御装置14とHMD100とはケーブルで接続されても、既知の無線通信技術により接続されてもよい。
 撮像装置7はHMD100を装着したユーザを撮影して、処理装置12に提供する。撮像装置7はステレオカメラであってよい。後述するがHMD100には、ユーザ頭部のトラッキングを実現するためのマーカ(トラッキング用LED)が搭載されており、処理装置12は、撮影したマーカの位置にもとづいて、HMD100の動きを検出する。なおHMD100には姿勢センサ(加速度センサ、ジャイロセンサ)も搭載され、処理装置12は、姿勢センサで検出されたセンサ情報をHMD100から取得することで、マーカの撮影画像の利用とあわせて、高精度のトラッキング処理を実現する。
 情報処理システム1において、ユーザはHMD100に表示された画像を見るため、出力装置4は必ずしも必要ではないが、出力制御装置14または処理装置12は、HMD100に表示させる画像と同じ画像を、出力装置4から出力させてもよい。これによりユーザがHMD100で見ている画像を、別のユーザが出力装置4で見ることができる。なお後述するがHMD100に表示させる画像には、光学レンズの歪み補正が施されているため、歪み補正を行っていない画像が出力装置4から出力される必要がある。
 情報処理システム1において、処理装置12、出力装置4、入力装置6および撮像装置7は、従来型のゲームシステムを構築してよい。この場合、処理装置12は、ゲームなどのアプリケーションを実行するゲーム装置であり、入力装置6はゲームコントローラ、キーボード、マウス、ジョイスティックなど処理装置12にユーザの操作情報を供給する機器であってよい。このゲームシステムの構成要素に、出力制御装置14およびHMD100を追加することで、仮想現実(VR)アプリケーションを実行する情報処理システム1が構成される。
 なお出力制御装置14による機能は、VRアプリケーションの一部の機能として処理装置12に組み込まれてもよい。つまり情報処理装置10は、1台の処理装置12から構成されても、また処理装置12および出力制御装置14から構成されてもよい。以下においては、VRアプリケーションの実現に必要な処理装置12、出力制御装置14の機能をまとめて、情報処理装置10の機能として説明する。
 情報処理装置10はHMD100に表示させる画像データを生成する。実施例において情報処理装置10は、全天球カメラで撮影された上下左右全方位の360度パノラマ画像を用意し、ユーザの頭部に装着されたHMD100の姿勢から定まる視線方向にもとづいて生成した画像をHMD100に表示させる。なお表示コンテンツは、静止画または動画のいずれであってもよい。また実撮影された画像に限るものでもなく、ゲームアプリケーションによりリアルタイムで描画されたものであってもよい。
 HMD100は、ユーザが頭に装着することによりその眼前に位置する表示パネルに、光学レンズを通して画像を表示する表示装置である。HMD100は、表示パネルの左半分には左目用の画像を、右半分には右目用の画像をそれぞれ独立して表示する。これらの画像は、左右の視点から見た視差画像を形成し、表示パネルを2分割してなる左右の領域にそれぞれ表示させることで、画像を立体視させることができる。なおユーザは光学レンズを通して表示パネルを見るために、情報処理装置10は、予めレンズによる光学歪みを補正した画像データをHMD100に供給する。情報処理装置10において、この光学歪みの補正処理は、処理装置12、出力制御装置14のいずれが行ってもよい。
 図2は、情報処理装置10におけるレンダリング処理の説明図である。実施例のVRアプリケーションでは、ユーザが球体の中心に位置し、視線の方向を変更することで、見える画像が変更される仮想環境を実現する。画像素材であるコンテンツ画像は、ユーザが位置する中心点9を中心とする仮想球体の内周面に貼り付けられている。ここでコンテンツ画像は、全天球カメラで撮影された上下左右全方位の360度パノラマ画像であり、コンテンツ画像の天地と仮想球体の天地とが一致するように仮想球体の内周面に貼り付けられる。これによりユーザの実世界の天地と、HMD100に提供される映像世界の天地とが揃えられ、リアルな映像世界を再現するVRアプリケーションが実現される。
 情報処理装置10は、ユーザのヘッドトラッキング処理を行うことで、ユーザ頭部(実際にはHMD100)の回転角度および傾きを検出する。ここでHMD100の回転角度とは、水平面の基準方向に対する回転角度であり、基準方向は、たとえばHMD100の電源がオンされたときに向いている方向として設定されてよい。またHMD100の傾きとは、水平面に対する傾斜角度である。ヘッドトラッキング処理として既知の技術が利用されてよく、情報処理装置10は、HMD100の姿勢センサが検出したセンサ情報のみから、HMD100の回転角度および傾きを検出でき、さらに撮像装置7で撮影したHMD100のマーカ(トラッキング用LED)を画像解析することで、高精度にHMD100の回転角度および傾きを検出できる。
 情報処理装置10は、検出したHMD100の回転角度および傾きにしたがって、仮想球体における仮想カメラ8の姿勢を定める。仮想カメラ8は、仮想球体の中心点9から仮想球体の内周面を撮影するように配置されており、情報処理装置10は、検出した回転角度および傾きと、仮想球体における仮想カメラ8の光軸の回転角度および傾きを一致させる。情報処理装置10は、仮想カメラ8の撮影画像5を取得し、つまりレンダリング処理を行って、光学レンズ用の光学歪み補正を施し、HMD100に画像データを供給する。なお図2においては1つの仮想カメラ8が示されているが、実際には左目用と右目用の2つの仮想カメラ8が配置されて、それぞれの画像データが生成される。
 図3は、HMD100の外観形状の例を示す。この例においてHMD100は、出力機構部102および装着機構部104から構成される。装着機構部104は、ユーザが被ることにより頭部を一周してHMD100を頭部に固定する装着バンド106を含む。装着バンド106はユーザの頭囲に合わせて長さの調節が可能な素材または構造とする。
 出力機構部102は、HMD100をユーザが装着した状態において左右の目を覆う形状の筐体108を含み、内部には装着時に目に正対する位置に表示パネルを備える。表示パネルは、VR画像をユーザの視野に提示する表示部である。表示パネルは、既知のディスプレイ装置であってよく、例えば液晶パネルや有機ELパネルなどで実現してもよい。筐体108内部にはさらに、HMD100装着時に表示パネルとユーザの目との間に位置し、ユーザの視野角を拡大する左右一対の光学レンズが備えられる。HMD100はさらに、装着時にユーザの耳に対応する位置にスピーカーやイヤホンを備えてよい。
 筐体108の外面には、発光マーカ110a、110b、110c、110dが備えられる。この例ではトラッキング用LEDが発光マーカ110を構成するが、その他の種類のマーカであってよく、いずれにしても撮像装置7により撮影されて、情報処理装置10が画像解析可能なものであればよい。発光マーカ110の数や配置は特に限定されないが、撮影されて画像解析されることで、HMD100の姿勢(回転角度および傾き)が検出されるような数および配置である必要があり、図示した例では筐体108の前面の4隅に設けている。さらにユーザが撮像装置7に対して背を向けたときにも撮像できるように、発光マーカ110は装着バンド106の側部や後部に設けられてもよい。
 HMD100は、情報処理装置10にケーブルで接続されても、既知の無線通信技術により接続されてもよい。HMD100は、姿勢センサが検出したセンサ情報を情報処理装置10に送信し、また情報処理装置10で生成された画像データを受信して、表示パネルに表示する。
 なお図3に示すHMD100は、両目を完全に覆う没入型(非透過型)のディスプレイ装置を示すが、透過型のディスプレイ装置であってもよい。また形状としては、図示されるような帽子型であってもよいが、眼鏡型であってもよい。
 図4は、HMD100の機能ブロックを示す。制御部120は、画像データ、音声データ、センサ情報などの各種データや、命令を処理して出力するメインプロセッサである。記憶部122は、制御部120が処理するデータや命令などを一時的に記憶する。姿勢センサ124は、HMD100の回転角度や傾きなどの姿勢情報を検出する。姿勢センサ124は、少なくとも3軸の加速度センサおよび3軸のジャイロセンサを含む。マイク126は、ユーザの声を電気信号に変換する。発光マーカ110は、LEDであって、HMD100の装着バンド106や筐体108に複数取り付けられる。
 通信制御部128は、ネットワークアダプタまたはアンテナを介して、有線または無線通信により、制御部120から入力されるデータを外部の情報処理装置10に送信する。また通信制御部128は、ネットワークアダプタまたはアンテナを介して、有線または無線通信により、情報処理装置10からデータを受信し、制御部120に出力する。
 制御部120は、画像データや音声データを情報処理装置10から受け取ると、表示パネル130に供給して表示させ、また音声出力部132に供給して音声出力させる。また制御部120は、姿勢センサ124からのセンサ情報や、マイク126からの音声データを、通信制御部128から情報処理装置10に送信させる。
 図5は、情報処理装置10の機能ブロックを示す。情報処理装置10は、外部との入力インタフェースとして、センサ情報取得部20、撮影画像取得部22、指示取得部24および環境情報取得部322を備える。センサ情報取得部20は、HMD100の姿勢センサ124から所定の周期でセンサ情報を取得する。撮影画像取得部22は、撮像装置7から所定の周期でHMD100を撮像した撮影画像を取得する。たとえば撮像装置7は(1/120)秒ごとに撮影し、撮影画像取得部22は、(1/120)秒ごとに撮影画像を取得する。指示取得部24は、入力装置6から、ユーザが入力した指示を取得する。
 情報処理装置10は、さらに動き検出部30、視線方向決定部32、画像生成部34、画像提供部36を備える。動き検出部30は、ユーザの頭部に装着されたHMD100の姿勢を検出する。視線方向決定部32は、動き検出部30により検出されたHMD100の姿勢に応じて視線方向を定める。画像生成部34は、検出されたHMD100の姿勢に応じて画像を生成し、具体的には、視線方向決定部32が定めた視線方向にもとづく画像を生成する。画像提供部36は、生成した画像をHMD100に提供する。
 図5において、さまざまな処理を行う機能ブロックとして記載される各要素は、ハードウェア的には、回路ブロック、メモリ、その他のLSIで構成することができ、ソフトウェア的には、メモリにロードされたプログラムなどによって実現される。したがって、これらの機能ブロックがハードウェアのみ、ソフトウェアのみ、またはそれらの組合せによっていろいろな形で実現できることは当業者には理解されるところであり、いずれかに限定されるものではない。
 画像記憶部40は、予め撮影された360度パノラマ画像データを記憶する。画像記憶部40は複数のコンテンツ画像を記憶してよく、コンテンツ画像は静止画像であっても、動画像であってもよい。実施例の画像記憶部40は、上下左右全方位のパノラマ画像データを記憶しており、情報処理装置10は、HMD100を装着したユーザに、全方位のパノラマ画像を提供する。したがってユーザが首を左または右に回し(ユーザが体ごと左回りまたは右回りに回転してもよい)水平方向の視線を左または右に回転させることで、左方向または右方向のパノラマ画像がHMD100の表示パネル130に表示され、またユーザが首を上または下に傾けて、垂直方向に視線を傾けることで、上方向または下方向のパノラマ画像がHMD100の表示パネル130に表示されるようになる。
 環境情報記憶部320は、HMD100における画像の表示環境に関する情報(以下「表示環境情報」とも呼ぶ。)を記憶する。表示環境情報は、HMD100の表示パネル130の画面解像度と、リフレッシュレート(言い換えれば垂直走査周波数)を含む。画面解像度は、表示パネル130の縦横の画素数を含む情報であり、すなわち表示パネル130の走査線数を特定可能な情報である。表示環境情報は、情報処理装置10で実行されるVRアプリケーションにおいて固定的に定められてもよいが、実施例ではHMD100から自動取得する。
 環境情報取得部322は、HMD100の表示環境情報をHMD100から取得する。例えば、環境情報取得部322は、情報処理装置10におけるVRアプリケーション起動時に、表示環境情報の提供をHMD100へ要求し、表示環境情報をHMD100から自動で取得して環境情報記憶部320へ格納する。変形例として、HMD100または表示パネル130の種類と表示環境情報との対応関係を予め保持し、HMD100または表示パネル130の種類を自動で検出して、その種類に対応する表示環境情報を環境情報記憶部320へ格納してもよい。また、環境情報取得部322は、HMD100の表示環境情報をユーザに入力させるための画面を提供してもよく、ユーザが入力装置6を介して入力した表示環境情報を取得して環境情報記憶部320へ格納してもよい。
 図6は、画像記憶部40に記憶されるパノラマ画像データを説明するための図である。なお説明の便宜上、図6は、上下左右全方位のパノラマ画像データの一部を示し、水平面から下向きの画像の一部、および左右方向の画像の一部を省略している。図2に関して説明したように、HMD100の表示パネル130には、仮想球体の内周面に貼り付けられたパノラマ画像をレンダリングした画像が表示され、ユーザがHMD100の回転角度および傾きを動かして視線方向を変化させることで、表示されるパノラマ画像が視線方向に応じて動かされる。
 HMD100において通信制御部128は、所定の周期で、姿勢センサ124により取得したセンサ情報を情報処理装置10に送信する。また撮像装置7は、HMD100を所定の周期で撮像し、撮影画像を情報処理装置10に送信する。図5を参照して、センサ情報取得部20は、姿勢センサ124のセンサ情報を取得し、動き検出部30に供給する。また撮影画像取得部22は、撮影画像を取得し、動き検出部30に供給する。
 動き検出部30は、HMD100の姿勢を検出することで、HMD100を装着したユーザの頭部の姿勢を検出するヘッドトラッキング処理を行う。このヘッドトラッキング処理は、ユーザの頭部の姿勢に、HMD100の表示パネル130に表示する視野を連動させるために行われる。実施例のヘッドトラッキング処理では、HMD100の水平基準方向に対する回転角度と、水平面に対する傾き角度とが検出される。水平基準方向は、たとえばHMD100の電源がオンされたときに向いている方向として設定されてよい。
 このヘッドトラッキング処理は既知の手法を利用し、動き検出部30は、姿勢センサ124のセンサ情報のみからHMD100の水平基準方向に対する回転角度と、水平面に対する傾き角度とを検出してよいが、トラッキング用の発光マーカ110の撮影結果をさらに利用して、検出精度を高めることが好ましい。動き検出部30は、所定の周期で回転角度および傾き角度を検出する。たとえばHMD100に供給する画像が120fpsであれば、動き検出部30の検出処理も(1/120)秒の周期で実行されることが好ましい。
 視線方向決定部32は、動き検出部30により検出されたHMD100の姿勢に応じて、視線方向を定める。この視線方向は、ユーザの視線方向であり、ひいては仮想球体の中心点9に配置される仮想カメラ8の視線方向(光軸方向)である(図2参照)。ここで視線方向決定部32は、動き検出部30により検出された回転角度および傾き角度を、そのまま仮想カメラ8の視線方向(光軸方向)として決定してもよく、また何らかの補正処理を行って仮想カメラ8の視線方向を決定してもよい。たとえばセンサ情報にノイズがのるなどして、安定したセンサ情報が動き検出部30に提供されない場合、動き検出部30は、ユーザ頭部が動いてないにもかかわらず、振動するような動きを検出する可能性がある。そのような場合、視線方向決定部32は、動き検出部30により検出された動きを平滑補正して、視線方向を定めてもよい。
 また人間の視野は上下が非対称で、視線の上側より下側が若干広くなっている。そのため視線方向決定部32は、動き検出部30により検出された傾き角度を若干下側に傾けて、仮想カメラ8の視線方向を定めてもよい。
 画像生成部34は、動き検出部30が検出したHMD100の姿勢に応じて画像を生成し、具体的には視線方向決定部32が定めた仮想カメラ8の視線方向にもとづく画像を生成する。画像生成部34は、視線方向により特定される左目用の視野と右目用の視野とを画定し、左目用と右目用の画像をそれぞれレンダリングして生成する。このとき画像生成部34は、表示パネルからの画像光が光学レンズを通過することによる歪みを補正したパノラマ画像を生成する。
 実施例のHMD100は、水平方向に約100度、垂直方向に約100度の視野をユーザに提供する。図2を参照して、仮想球体において撮影画像5は、水平方向に約100度、垂直方向に約100度の画角で撮影され、HMD100の表示パネル130に表示される。なお上記したように人間の視野は、視線の上側より下側が若干広くなっていることから、HMD100において光学レンズおよび表示パネル130は、目の正対方向に対して5度傾けられて、上側45度、下側55度の垂直視野を、光学レンズおよび表示パネル130の配置により実現してもよい。
 図7は、画像生成部34により生成される表示画像200aを示す。なお以下の図面においては、パノラマ画像全体の中での表示画像の位置関係の理解を容易にするために、表示画像をパノラマ画像において切り出す画像として表現している。
 画像生成部34は、視線方向決定部32が定めた視線方向202aにもとづく画像を生成する。なお実際には画像生成部34は、左目用の表示画像と右目用の表示画像をそれぞれレンダリングして生成し、これらの表示画像は互いに視差を含む異なる画像であるが、以下では両目用の画像をそれぞれ生成することについて特に説明しない。画像提供部36は、画像生成部34が生成した表示画像200aをHMD100に提供する。HMD100において制御部120は表示画像200aを表示パネル130に表示させ、これによりユーザは、表示パネル130に表示される表示画像200aを見ることができる。
 図8は、画像生成部34により生成される表示画像200bを示す。視線方向決定部32はHMD100の姿勢に応じて視線方向を定め、画像生成部34は、定めた視線方向にもとづいて画像を生成する。この例では、ユーザが水平方向に首を左回りに回して、視線が視線方向202aから視線方向202bに連続して変化した様子を示す。ここではユーザが頭部を左回りに約60度回転し、この回転動作により、画像生成部34は、表示画像200aから左回り方向に連続してパノラマ画像を動かす画像を(1/120)秒の周期で生成する。画像提供部36は、生成された画像を(1/120)秒の周期でHMD100に提供する。
 図9は、画像生成部34により生成される表示画像200cを示す。視線方向決定部32はHMD100の姿勢に応じて視線方向を定め、画像生成部34は、定めた視線方向にもとづいて画像を生成する。この例では、表示画像200aが表示パネル130に表示された状態からユーザが上向きに首を傾けて、視線が視線方向202aから視線方向202cに連続して変化した様子を示す。ここではユーザが頭部を上向きに約30度傾け、この傾斜動作により、画像生成部34は、表示画像200aから上向き方向に連続してパノラマ画像を動かす画像を(1/120)秒の周期で生成する。画像提供部36は、生成された画像を(1/120)秒の周期でHMD100に提供する。
 このようにユーザは頭部を動かすことで視線方向を変化させ、情報処理装置10が、見たい方向のパノラマ画像をHMD100に提供して、表示パネル130に表示させる。頭部を動かすことで視線方向を変化させることは現実世界の動作と同じであり、ユーザの感覚に合致する。このときHMD100がユーザに広視野角を提供することで、パノラマ画像に対する没入感をさらに高められる。
 ここで実施例の「リプロジェクション」について説明する。リプロジェクションは、HMDの画面遷移をスムーズにし、また、表示画像を見たユーザの違和感を低減する画像変換処理である。図10は、通常のHMDシステムにおける画像生成と表示の流れを模式的に示す。本図のT1、T2、T3のそれぞれは、HMD100の表示パネル130の垂直同期(VSYNC)タイミングを示している。
 タイミングT1で検出されたHMDの姿勢に基づいて第1フレームが生成される。タイミングT2から第1フレームが表示パネル130に出力されることと並行して、タイミングT2で検出されたHMDの姿勢に基づいて第2フレームが生成される。本図では簡単に、ユーザはタイミングT3で第1フレームを知覚することとしている。この場合、HMDの姿勢が検出されてから、その姿勢に基づく画像をユーザが視認するまでのレイテンシが比較的長くなる(T1~T3)。その結果、HMDの現在の姿勢にそぐわない画像が表示され、表示画像に対する違和感をユーザに抱かせてしまうことがあった。
 図11は、リプロジェクションを含む画像生成と表示の流れを模式的に示す。本図では、タイミングT1’からタイミングT2の間にリプロジェクション期間300が設けられ、タイミングT2’からタイミングT3の間にリプロジェクション期間302が設けられている。画像生成部34は、タイミングT1’で検出されたHMDの姿勢に基づいて、第1フレームに対するリプロジェクション処理を実行する。
 具体的には、タイミングT1で検出された姿勢T1(視線方向)と、タイミングT1’で検出された姿勢T1’(視線方向)との差分に基づいて、第1フレームに対してアフィン変換等の所定の変換処理を実行する。そして、第1フレームをもとに、姿勢T1’に応じた態様の表示用フレームを生成する。リプロジェクションは、レンダリング済の画像に対する変換処理であり、新たなレンダリング処理を実行するものではないため、リプロジェクション期間は比較的短い。
 タイミングT2から、第1フレームに対するリプロジェクション処理後の表示用フレームを出力し、ユーザはタイミングT3でその表示用フレームを知覚する。このようにリプロジェクションにより、HMDの姿勢が検出されてから、その姿勢に基づく画像をユーザが視認するまでのレイテンシを低減できる(T1’~T3)。その結果、HMDの現在の姿勢により整合する画像を表示させることができ、表示画像に対するユーザの違和感を低減できる。
 図12は、リプロジェクション前後の画像の例を示す。図12(a)は、リプロジェクションの対象となる基準画像304の例を示している。基準画像304は、第1時点で特定されたHMDの姿勢(ユーザの視線方向)に基づいてレンダリングされた画像であり、リプロジェクションによる変換前の元画像である。例えば、第1時点は図11のT1に対応し、基準画像304は図11の第1フレームに対応する。
 図12(b)は、リプロジェクションにより生成された表示画像306の例を示している。表示画像306は、第1時点より後の第2時点で特定されたHMDの姿勢に基づくリプロジェクション後の画像である。例えば、第2時点は図11のT1’に対応し、表示画像306は図11の第1フレームに基づく表示用フレームに対応する。リプロジェクションでは、表示画像306の各画素について基準画像304の対応する画素(以下「対応画素」とも呼ぶ。)を識別する。そして、表示画像306の各画素の画素値として、それぞれの対応画素の画素値を設定する。表示画像306の特定画素に対する基準画像304の対応画素は、その特定画素に対して画素値の提供元となる画素と言える。
 図12(a)(b)の例では、第1時点から第2時点の間に、ユーザは右下に首を振り、言い換えれば、HMDの視線方向が右下に移動したこととし、基準画像304の画像を左上方向にずらす必要がある。画像生成部34は、表示画像306の特定画素308に対応する画素として、画像上の位置(例えば座標)が同位置の同位置画素310の右下に位置する対応画素312を識別する。画像生成部34は、特定画素308の画素値として対応画素312の画素値を設定する。言い換えれば、特定画素308の色情報に、対応画素312の色情報を設定する。このような対応画素の識別と画素値の設定を、表示画像306の個々の画素に対して実行することで、第2時点の姿勢に整合する表示画像306を生成する。
 ところで、実施例のHMD100の表示パネル130は、表示画像306の各画素を、一端の走査線から他端の走査線へ順次表示させる。具体的には、最上位の走査線から最下位の走査線まで走査線単位で順次表示させる。最上位の走査線での出力から最下位の走査線での出力までの時間差は、フレームレートが120FPSであれば8.3ms(ミリ秒)、フレームレートが90FPSであれば11.1msになる。したがって、1枚の表示画像306の表示が開始してから完了するまでの間にもHMDの姿勢は変化しうる。
 図13は、単純なリプロジェクションを模式的に示す。図13(a)は基準画像304の例を示し、図13(b)は表示画像306の例を示し、両図の格子は画素を示している。ここでは、図13(b)の表示画像306は、図13(a)の基準画像304を2画素分、右にずらすリプロジェクション処理により生成されたものである。
 図13(b)のように、全ての画素(各ラインの画素)の移動量を一律にすると、表示画像306内で相対的に下のラインに位置する画素は、相対的に上のラインに位置する画素よりも下の走査線に出力されるため、表示パネル130での表示が遅れる。言い換えれば、表示画像306内で下のラインに位置する画素ほど表示タイミングが遅くなる。したがって、表示画像306内で下のラインに位置する画素ほど、HMDの現在姿勢との乖離が大きくなり、言い換えれば、移動量が不十分になる。その結果、ユーザには、表示画像306の下側が、視線方向の移動に引っ張られるように曲がって見えることがあった。
 図14は、実施例のリプロジェクションを模式的に示す。図14(a)は基準画像304の例を示し、図14(b)は表示画像306の例を示し、両図の格子は画素を示している。図14(b)で示すように、実施例のリプロジェクションでは、表示画像306内で下のラインに位置する画素ほど、基準画像304からの変化量を大きくする。言い換えれば、表示画像306の特定画素に対する対応画素として、表示画像306内での特定画素の位置が下であるほど(すなわち表示する走査線が下になるほど)、より離れた位置にある基準画像304の画素を対応画素とする。
 例えば、図11のタイミングT1’で検出された姿勢は、タイミングT1で検出された姿勢に比べ左に2単位分のずれていたとする。図13(b)のリプロジェクションでは、全てのラインで一律に2画素分、右に移動させた。これに対して、図14(b)のリプロジェクションでは、最上位のラインでは1画素分、右に移動させ、中央のラインでは2画素分、右に移動させ、最下位のラインでは3画素分、右に移動させた。変形例として、最上位のラインでは2画素分、右に移動させ、中央のラインでは3画素分、右に移動させ、最下位のラインでは4画素分、右に移動させてもよい。
 このように、HMD100の表示パネル130における走査線間の出力時間差を表示画像306に反映させることで、HMD100の姿勢が変化し続ける場合にも、ユーザに対して自然な見え方の仮想空間を提示できる。例えば、図14(b)の表示画像306を表示パネル130に表示させることにより、ユーザには図14(a)の基準画像304が表示されたかのように知覚させることができる。
 図15は、図5の画像生成部34の詳細を示すブロック図である。画像生成部34は、基準画像生成部324、予測部326、対応画素識別部328、表示画像生成部330を含む。
 基準画像生成部324は、第1の時点における動き検出部30の検出結果により特定されるHMDの第1姿勢に応じて、ユーザに提示すべき情報を含む基準画像を生成する。例えば、動き検出部30の検出結果に基づいて視線方向決定部32が定めた視線方向と、画像記憶部40に記憶されたコンテンツ画像にしたがって、仮想空間の様子を示す基準画像を生成する。また、指示取得部24を介してユーザの操作(キャラクタの移動等)を受け付けた場合、その操作に応じて更新された仮想空間の様子を示す基準画像を生成する。第1の時点は、例えば図11のタイミングT1やT2が該当する。以下、HMDの姿勢には、HMD(ユーザ)の視線方向を含むこととし、適宜置き換えてもよい。基準画像のデータは、画像内の各画素のRGBデータやYUVデータを含む。
 表示画像生成部330は、第1の時点より後の第2の時点における動き検出部30の検出結果により特定されるHMDの第2姿勢と、基準画像生成の基礎となった第1姿勢との差に応じて、基準画像から表示画像を生成する。表示画像生成部330は、表示画像の生成に際し、HMD100の表示パネル130による表示画像の表示において特定画素の表示タイミングが後であるほど、表示画像における特定画素の位置と、特定画素の画素値の設定元となる基準画像における対応画素の位置との変化量を大きくする。また表示画像生成部330は、表示画像の特定画素を表示する走査線が画像を出力するタイミングが遅いほど上記変化量を大きくする。本実施例では、このような表示画像生成処理を、対応画素識別部328と表示画像生成部330の連携により実現する。以下詳細に説明する。
 対応画素識別部328は、第1の時点より後の第2の時点における動き検出部30の検出結果により特定されるHMDの第2姿勢と、基準画像生成の基礎となった第1姿勢との差に応じて、HMDに表示させる表示画像の各画素に対する基準画像の対応画素を識別する。対応画素識別部328は、第1姿勢と第2姿勢との差に応じて、表示画像内の特定画素に対する対応画素として、表示画像における特定画素の位置とは異なる位置にある基準画像内の画素を識別する。第2の時点は、例えば図11のタイミングT1’やT2’が該当する。既述したように、姿勢の差は視線方向の差とも言える。
 対応画素識別部328は、HMD100の表示パネル130による表示画像の表示において特定画素の表示タイミングが後であるほど、表示画像における特定画素の位置と基準画像における対応画素の位置との変化量を大きくする。言い換えれば、対応画素識別部328は、表示画像内の画素のうち、HMD100の表示パネル130による表示タイミングが後になる画素ほど、表示画像内の当該画素の位置から離れた位置にある基準画像内の画素を対応画素として識別する。
 より具体的には、対応画素識別部328は、表示画像の特定画素を表示する走査線が画像を出力するタイミングが遅いほど、表示画像における特定画素の位置と基準画像における対応画素の位置との変化量を大きくする。実施例では、表示画像の特定画素を表示する走査線が下になるほど、すなわち表示画像において特定画素の縦位置が下になるほど、表示画像内の特定画素の位置から離れた位置にある基準画像内の画素を対応画素として識別する。画像内の画素の位置は、例えばUV座標系の座標値として識別されてもよい。対応画素識別の具体例は後述する。
 予測部326は、ある時点のHMD100の姿勢と、別の時点のHMD100の姿勢に基づいて、さらに別の時点のHMD100の姿勢を予測する。例えば、過去時点のHMD100の姿勢と現在時点のHMD100の姿勢との間の変化量に基づいて、将来時点のHMD100の姿勢を予測する。予測部326による姿勢予測処理は、既知の予測技術により実現されてよい。
 表示画像生成部330は、表示画像における特定画素の画素値として、基準画像における対応画素の画素値を設定することにより、前記表示画像を生成する。例えば表示画像生成部330は、表示画像内の各画素に対して、対応画素識別部328により識別された対応画素のRGBデータやYUVデータを設定してもよい。なお、表示画像の特定画素に対する対応画素が基準画像内に存在しない場合、例えば対応画素識別部328により基準画像の範囲外の位置が対応画素の位置として識別された場合、表示画像生成部330は、予め定められた固定値を特定画素の画素値として設定してもよい。
 対応画素識別の具体例を説明する。対応画素識別部328は、表示画像内の各画素を特定画素として選択し、表示画像内の各画素に対して個々に対応画素を識別する。画素単位に順次実行してもよく、複数の画素について並行実行してもよい。
 対応画素識別部328は、第1の時点における動き検出部30の検出結果により特定されるHMD100の第1姿勢と、第1の時点より後の第2の時点における動き検出部30の検出結果により特定されるHMD100の第2姿勢との差、および、表示パネル130における画像表示の所要時間に応じて、表示パネル130の最上位の走査線で表示画像が表示される時点の対応画素をトップライン対応画素として識別する。それとともに、表示パネル130の最下位の走査線で表示画像が表示される時点の対応画素をボトムライン対応画素として識別する。
 対応画素識別部328は、基準画像におけるトップライン対応画素の位置とボトムライン対応画素の位置、および、特定画素が実際に表示される走査線の位置に応じて、特定画素に対する実際の対応画素(真の対応画素とも言える)を識別する。具体的には、特定画素が実際に表示される走査線の位置に応じて、トップライン対応画素の位置とボトムライン対応画素の位置の間から実際の対応画素の位置を特定する。言い換えれば、特定画素が実際に表示される走査線の位置に応じた線形補間により、トップライン対応画素とボトムライン対応画素の間に位置する画素の中から実際の対応画素を識別する。
 図16は、対応画素識別の方法を模式的に示す。ここでは、HMD100の姿勢(視線方向)が右下方向へ移動していることとし、また、図11のリプロジェクション期間300におけるリプロジェクション処理として説明する。まず対応画素識別部328は、表示画像306の特定画素340に対する基準画像304のトップライン対応画素342の位置(ここではUV平面における位置とし、以下「uv1」と呼ぶ。)と、ボトムライン対応画素344の位置(以下「uv2」と呼ぶ。)を特定する。
 具体的には、予測部326は、図11のタイミングT1で検出されたHMD100の姿勢T1と、タイミングT1’で検出されたHMD100の姿勢T1’との差から、表示パネル130が表示画像306の表示を開始するタイミングTsにおけるHMD100の姿勢Tsを予測する。例えば、タイミングT1~T1’間で右下への姿勢の移動が生じていれば、予測部326は、タイミングT1’からTsまでの時間分、姿勢T1’をさらに右下へ移動した姿勢に変化させることで姿勢Tsを予測してもよい。実施例では、タイミングTsを、現在時点からリプロジェクション処理を経て、表示が開始されるまでの時間として、想定や実験により予め定められた一定時間後として特定する。なお、タイミングTsを図11のタイミングT2と見なしてもよく、その場合、予測部326は、タイミングT1’~T2までの時間分(一定時間)、姿勢T1’を変化させることで姿勢Tsを予測してもよい。
 対応画素識別部328は、予測部326により予測された姿勢Tsと、姿勢T1との差に基づいて、特定画素340に対するトップライン対応画素342の位置(uv1)を特定する。例えば、姿勢Tsが姿勢T1と比較して右下へ5単位のずれがある場合、基準画像304を左上へ5単位ずらす必要がある。この場合、対応画素識別部328は、表示画像306における特定画素340の位置から右下へ5単位ずらした位置をuv1として特定する。
 変形例として、タイミングT1’~Ts間は短いため、擬似的にタイミングT1’をタイミングTsと見なしてもよい。この場合、対応画素識別部328は、姿勢T1と姿勢T1’との差に基づいて、特定画素340に対するトップライン対応画素342の位置を特定してもよい。
 また、予測部326は、図11のタイミングT1で検出されたHMD100の姿勢T1と、タイミングT1’で検出されたHMD100の姿勢T1’との差から、表示パネル130が表示画像306の表示を完了するタイミングTfにおけるHMD100の姿勢Tfを予測する。タイミングTs~Tfの時間は、表示パネル130が1枚の画像の表示を開始してから完了するまでの所要時間であり、表示パネル130のリフレッシュレートで定まる。したがって、予測部326は、環境情報記憶部320に格納された表示パネル130のリフレッシュレートに基づいて画像表示の所要時間を算出し、姿勢Tsをその所要時間分変化させることにより姿勢Tfを予測してもよい。
 実施例では、表示パネル130のリフレッシュレートは120Hzとし、表示パネル130における画像表示の所要時間は8.3ms(8333μs)とする。例えば、タイミングT1~T1’間で右下への姿勢の移動が生じていれば、予測部326は、タイミングT1’~Ts+8.3msの時間分、姿勢T1’をさらに右下へ移動した姿勢に変化させることで姿勢Tfを予測してもよい。
 対応画素識別部328は、予測部326により予測された姿勢Tfと、姿勢T1との差に基づいて、特定画素340に対するボトムライン対応画素344の位置(uv2)を特定する。例えば、姿勢Tfが姿勢T1と比較して右下へ7単位のずれがある場合、基準画像304を左上へ7単位ずらす必要がある。この場合、対応画素識別部328は、表示画像306における特定画素340の位置から右下へ7単位ずらした位置をuv2として特定する。典型的に、姿勢T1と姿勢Tfの差は姿勢T1と姿勢Tsの差より大きくなる。そのため、特定画素340の位置とボトムライン対応画素344の位置との乖離の度合いは、特定画素340の位置とトップライン対応画素342の位置との乖離の度合いより大きくなる。
 対応画素識別部328は、以下の計算により基準画像304における対応画素の位置(UV)を特定する。
 走査線因子 = 表示画像306における特定画素の縦位置÷表示パネル130の縦画素数 ・・・(数式1)
 UV = uv1+走査線因子×(uv2-uv1) ・・・(数式2)
 表示画像306における特定画素の縦位置は、特定画素を表示する走査線の位置とも言える。また、表示パネル130の縦画素数は、表示パネル130の走査線数とも言え、例えば「1080」である。対応画素識別部328は、表示パネル130の縦画素数を環境情報記憶部320から取得する。
 数式1により、画面全体における特定画素の縦位置の比率が求められる。また数式2により、特定画素の縦位置に対応する、トップライン対応画素342とボトムライン対応画素344の間の位置の画素を対応画素として求められる。表示画像306における特定画素の縦位置が下になるほど、すなわち表示パネル130における特定画素の表示タイミングが後であるほど、UVはuv1よりもずれ幅が大きいuv2に近づく。これにより、表示画像306における特定画素の縦位置が下になるほど、表示画像306における特定画素の位置とUVとの乖離が大きくなり、図14(b)に示したような表示画像306が生成される。
 以上の構成による情報処理システム1の動作を説明する。
 ユーザは情報処理装置10においてVRアプリケーションを起動し、自身の頭部にHMD100を装着する。VRアプリケーションのプレイ中、ユーザは、仮想空間の探索等のために適宜頭部を動かす。HMD100は定期的にセンサ情報を情報処理装置10へ提供し、撮像装置7は定期的に撮影画像を情報処理装置10へ提供する。情報処理装置10の動き検出部30は、センサ情報および撮影画像に基づいてHMD100の姿勢を検出し、視線方向決定部32は、HMD100の姿勢に基づいてHMD100の視線方向を決定する。
 情報処理装置10の基準画像生成部324は、第1の時点におけるHMD100の視線方向に応じて基準画像をレンダリングする。対応画素識別部328は、第1の時点より後の第2の時点におけるHMD100の視線方向に応じて、リプロジェクションを実行し、レンダリング済の基準画像を変換した表示画像を生成する。その際に、対応画素識別部328は、表示画像内の上に位置する画素ほど、当該画素の位置と基準画像での対応画素の位置との変化量を小さくする。逆に、表示画像内の下に位置する画素ほど、当該画素の位置と基準画像での対応画素の位置との変化量を大きくする。表示画像生成部330は、表示画像の各画素に、それぞれの対応画素の画素値を設定する。
 情報処理装置10の画像提供部36は、表示画像生成部330により生成された表示画像をHMD100へ提供する。HMD100の表示パネル130は、表示画像を表示パネル130の最上位の走査線から最下位の走査線へ順次表示させる。実施例の情報処理装置10によると、リプロジェクションによるレイテンシ低減を実現するとともに、表示パネル130における画像表示の遅延時間を考慮した態様の表示画像を提供することにより、表示画像に対するユーザの違和感を一層低減することができる。
 (第2の実施の形態)
 第2の実施の形態の情報処理装置10は、基準画像の生成時に将来の姿勢予測を行う点で第1の実施形態と異なる。以下、第1の実施の形態と異なる点を主に説明し、重複する説明は適宜省略する。なお、以下に記載の、表示パネル130の中央の走査線は、厳密に中央の走査線だけでなく、中央近傍に位置する走査線であってもよい。
 予測部326は、第1時点(例えば図11のT1)における動き検出部30の検出結果が取得された場合に、その検出結果に基づく画像が表示パネル130の中央の走査線で表示される時点(以下「第1目標時点」と呼ぶ。)を特定する。そして、第1時点における動き検出部30の検出結果に応じて、第1目標時点のHMD100の姿勢を第1姿勢として予測する。具体的には、第1時点より前の時点における動き検出部30の検出結果と、第1時点における動き検出部30の検出結果との差(または視線方向の差)に応じて、第1目標時点の第1姿勢を予測してもよい。
 基準画像生成部324は、予測部326により予測された第1目標時点の第1姿勢に基づいて基準画像を生成する。この基準画像は、表示パネル130の中央の走査線での表示に最適化された画像と言える。
 また予測部326は、第1時点より後の第2時点(例えば図11のT1’)における動き検出部30の検出結果が取得された場合に、その検出結果に基づく画像が表示パネル130の中央の走査線で表示される時点(以下「第2目標時点」と呼ぶ。)を特定する。そして、第2時点における動き検出部30の検出結果に応じて、第2目標時点のHMD100の姿勢を第2姿勢として予測する。具体的には、第1時点における動き検出部30の検出結果と、第2時点における動き検出部30の検出結果との差(または視線方向の差)に応じて、第2目標時点の第2姿勢を予測してもよい。
 第1目標時点および第2目標時点の特定には既知の技術を用いる。一例として、現在時点から想定や実験により定められた一定時間後であり、基準画像のレンダリング処理、リプロジェクション処理を経て、中央の走査線で表示されるまでに想定される所要時間後を第1目標時点として特定してもよい。同様に、現在時点から想定や実験により定められた一定時間後であり、リプロジェクション処理を経て、中央の走査線で表示されるまでに想定される所要時間後を第2目標時点として特定してもよい。
 対応画素識別部328は、第1姿勢と第2姿勢の差に応じて、表示パネル130の中央の走査線で表示画像が表示される時点の対応画素を仮対応画素(以下「センターライン対応画素」と呼ぶ。)として識別する。例えば、第2姿勢が第1姿勢と比較して右下へ5単位のずれがある場合、表示画像の特定画素の位置を右下へ5単位ずらした位置の画素を対応画素として識別する。既述したように、第1姿勢と第2姿勢はいずれも、表示パネル130の中央の走査線が画像を表示する時点の予測姿勢である。したがって、ここで識別される対応画素はセンターライン対応画素になる。
 対応画素識別部328は、表示画像の特定画素が実際に表示される走査線が表示パネル130の中央の走査線より上側に位置する場合、表示画像における特定画素の位置と基準画像における実際の対応画素の位置との変化量が、表示画像における特定画素の位置と基準画像におけるセンターライン対応画素の位置との変化量より小さくなるように、実際の対応画素を識別する。これは典型的には、表示画像における特定画素の縦位置が表示画像中央より上側である場合である。
 また対応画素識別部328は、表示画像の特定画素が実際に表示される走査線が表示パネル130の中央の走査線より下側に位置する場合、表示画像における特定画素の位置と基準画像における実際の対応画素の位置との変化量が、表示画像における特定画素の位置と基準画像におけるセンターライン対応画素の位置との変化量より大きくなるように、実際の対応画素を識別する。これは典型的には、表示画像における特定画素の縦位置が表示画像中央より下側である場合である。
 図17は、対応画素識別の方法を模式的に示す。ここでは、HMD100の姿勢(視線方向)が右下方向へ移動していることとし、また、図11のリプロジェクション期間300におけるリプロジェクション処理として説明する。まず対応画素識別部328は、上述した方法によりセンターライン対応画素348の位置(以下「uv3」と呼ぶ。)を特定する。
 次に予測部326は、既知の技術により、第2目標時点より4167μs前の時点の姿勢を、画像表示開始タイミングの姿勢Tsとして予測し、第2目標時点より4167μs後の時点の姿勢を、画像表示完了タイミングの姿勢Tfとして予測する。この「4167μs」は、表示パネル130が1枚の画像を表示する所要時間の半分である。予測部326は、環境情報記憶部320に格納された表示パネル130のリフレッシュレートにしたがって、このパラメータ「4167μs」を決定する。環境情報記憶部320に格納された表示パネル130のリフレッシュレートが変われば、このパラメータも変化する。
 対応画素識別部328は、第1の実施の形態と同様に、姿勢T1と姿勢Tsとの差に基づいて、特定画素340に対するトップライン対応画素342の位置(uv1)を特定する。また、姿勢T1と姿勢Tfとの差に基づいて、特定画素340に対するボトムライン対応画素344の位置(uv2)を特定する。
 対応画素識別部328は、以下の計算により基準画像304における対応画素の位置(UV)を特定する。
 走査線因子 = 表示画像306における特定画素の縦位置÷表示パネル130の縦画素数-0.5 ・・・(数式3)
 UV = uv3+走査線因子×(uv2-uv1) ・・・(数式4)
 数式3により、表示パネル130の中央の走査線を基準とした特定画素の縦位置の比率が求められる。特定画素の縦位置が中央より上であれば、走査線因子は負になるため、UVはuv3より小さくなり、すなわち表示画像306における特定画素の位置とUVとの乖離量は小さくなる。その一方、特定画素の縦位置が中央より下であれば、走査線因子は正になるため、UVはuv3より大きくなり、すなわち表示画像306における特定画素の位置とUVとの乖離量は大きくなる。この結果、図14(b)に示したような表示画像306が生成される。
 第2の実施の形態のように、基準画像の生成時に将来の姿勢予測を行う場合も、第1の実施の形態と同じ手法で対応画素を識別することは可能である。ただし、本発明者の実験では、基準画像自体が中央の走査線での表示に最適化されたものであるため、センターライン対応画素348を使用して実際の対応画素を識別する第2の実施の形態の手法の方が正確性が高い表示画像を生成できることが確認された。
 (第3の実施の形態)
 第3の実施の形態では、第2の実施の形態と同様に基準画像の生成時に将来の姿勢予測を行うが、リプロジェクション処理において、第2の実施の形態とは異なる手法で対応画素を識別する。
 第3の実施の形態の基準画像生成部324と予測部326の構成は第2の実施の形態と同様である。すなわち、予測部326は、第1時点(例えば図11のT1)における動き検出部30の検出結果が取得された場合に、その検出結果に基づく画像が表示パネル130の中央の走査線で表示される第1目標時点を予測する。そして、第1時点における動き検出部30の検出結果に応じて、第1目標時点のHMD100の姿勢を第1姿勢として予測する。基準画像生成部324は、予測部326により予測された第1目標時点の第1姿勢に基づいて基準画像を生成する。
 また予測部326は、第1時点より後の第2時点(例えば図11のT1’)における動き検出部30の検出結果が取得された場合に、その検出結果に基づく画像が表示パネル130の中央の走査線で表示される第2目標時点を予測する。そして、第2時点における動き検出部30の検出結果に応じて、第2目標時点のHMD100の姿勢を第2姿勢として予測する。
 対応画素識別部328は、第1姿勢と第2姿勢の差に応じて、表示パネル130の中央の走査線で表示画像が表示される時点の対応画素であるセンターライン対応画素を識別する。そして、対応画素識別部328は、第1目標時点と第2目標時点の時間差、および、特定画素が実際に表示される走査線の位置に応じて、表示画像における特定画素の位置と基準画像におけるセンターライン対応画素の位置とを通る仮想的な直線上に、特定画素に対する実際の対応画素を識別する。
 図18は、対応画素識別の方法を模式的に示す。ここでは、HMD100の姿勢(視線方向)が右下方向へ移動していることとし、また、図11のリプロジェクション期間300におけるリプロジェクション処理として説明する。まず対応画素識別部328は、第2の実施の形態と同様に、特定画素340に対するセンターライン対応画素348の位置であるuv3を特定する。
 対応画素識別部328は、第1目標時点と第2目標時点の情報を予測部326から取得して、第1目標時点と第2目標時点の時間差(以下「TG」と呼ぶ。)を算出する。TGは、センターライン対応画素348が同位置画素346(表示画像306の特定画素と同位置の画素)まで移動することが生じた時間とも言える。対応画素識別部328は、以下の計算により基準画像304における対応画素の位置(UV)を特定する。なお、表示画像306における特定画素340の位置(UV座標値)をuv0と表現する。
 走査線因子 = 1-(0.5-表示画像306における特定画素の縦位置÷表示パネル130の縦画素数)×8333÷TG ・・・(数式5)
 UV = uv0+走査線因子×(uv3-uv0) ・・・(数式6)
 数式5の「8333」は、表示パネル130が1枚の画像を表示する所要時間である。対応画素識別部328は、環境情報記憶部320に格納された表示パネル130のリフレッシュレートにしたがって、このパラメータを決定する。
 数式5と数式6の計算により、特定画素の縦位置に応じた、uv0とuv3を通る仮想的な直線上の位置としてUVが算出される。すなわち、uv0とuv3を通る仮想的な直線上に、特定画素340に対する実際の対応画素を特定できる。特定画素の縦位置が下になるほど、走査線因子は大きくなり、uv0からより離れた位置にある対応画素が識別される。この結果、図14(b)に示したような表示画像306が生成される。
 ただし、上記の計算は、表示パネル130が1枚の画像を表示する所要時間よりTGが長いこと(上の例ではTG>8333μs)、言い換えれば、第1目標時点と第2目標時点にある程度の差があることが前提になる。このような制約があるものの、第3の実施の形態の方法によると、実際の対応画素識別のために事前に求める仮対応画素は1つ(上の例ではセンターライン対応画素)で済むため、迅速に対応画素を識別できる。
 なお、第3の実施の形態では、姿勢予測の目標となる時点は、表示パネル130の中央の走査線で画像が表示される時点に限られない。例えば、表示パネル130の最上位の走査線で画像が表示される時点であってもよく、表示パネル130の最下位の走査線で画像が表示される時点であってもよい。その場合、基準画像の生成において姿勢予測の目標とする時点に応じて数式5を変更する必要がある。また、数式6のuv3は、姿勢予測の目標となる時点の仮対応画素の位置に変更する必要がある。例えば、姿勢予測の目標時点が、表示パネル130の最下位の走査線で画像が表示される時点であれば、ボトムライン対応画素の位置uv2に変更する必要がある。
 以上、本発明を第1~第3の実施の形態をもとに説明した。これらの実施の形態は例示であり、各構成要素や各処理プロセスの組合せにいろいろな変形例が可能なこと、またそうした変形例も本発明の範囲にあることは当業者に理解されるところである。
 図11に示したリプロジェクションの例は、姿勢検出から画像表示までのレイテンシを低減するものであるが、リプロジェクションによりフレームレートを増加させることもできる。例えば、図11の第1フレーム(図12の基準画像304)を表示させつつ、図11の第1フレームに基づく表示用フレーム(図12の表示画像306)をさらに表示させることによりフレームレートを2倍に増加させることができる。このようなフレームレート増加を目的としたリプロジェクションに対しても、各実施の形態の技術を適用可能であり、表示画像がユーザに与える違和感を低減できる。
 上記実施の形態では、HMD100の表示パネル130は、表示対象画像を上の走査線から下の走査線へ順次表示させたが、表示順序はこれに限られない。各実施の形態に記載の技術は、HMD100の表示パネル130において、表示画像の少なくとも一部の画素が他の画素より遅れて表示される場合に有効である。
 上記実施の形態では、HMD100の表示パネル130にVR画像を表示させたが、HMD100が透過型のディスプレイ装置である場合等、拡張現実(AR)画像を表示させてもよい。AR画像の表示においても各実施の形態の技術は有用である。
 上記実施の形態では、HMD100に表示させる画像を情報処理装置10が生成することとしたが、HMD100単体が、各実施の形態で説明した画像生成機能を備えてもよい。
 上述した実施の形態および変形例の任意の組み合わせもまた本発明の実施の形態として有用である。組み合わせによって生じる新たな実施の形態は、組み合わされる実施の形態および変形例それぞれの効果をあわせもつ。また、請求項に記載の各構成要件が果たすべき機能は、実施の形態および変形例において示された各構成要素の単体もしくはそれらの連携によって実現されることも当業者には理解されるところである。
 1 情報処理システム、 10 情報処理装置、 30 動き検出部、 36 画像提供部、 100 HMD、 324 基準画像生成部、 326 予測部、 328 対応画素識別部、 330 表示画像生成部。
 本発明は、ヘッドマウントディスプレイに表示する画像を生成する装置に適用できる。

Claims (7)

  1.  ユーザの頭部に装着されたヘッドマウントディスプレイの姿勢を検出する検出部と、
     第1の時点における前記検出部の検出結果により特定されるヘッドマウントディスプレイの第1姿勢に応じて、ユーザに提示すべき情報を含む基準画像を生成する基準画像生成部と、
     前記第1の時点より後の第2の時点における前記検出部の検出結果により特定されるヘッドマウントディスプレイの第2姿勢と前記第1姿勢との差に応じて、前記基準画像から、前記ヘッドマウントディスプレイに表示させる表示画像を生成する表示画像生成部と、
     を備え、
     前記表示画像生成部は、前記ヘッドマウントディスプレイの表示部による前記表示画像の表示において前記表示画像の特定画素の表示タイミングが後であるほど、前記表示画像における前記特定画素の位置と、前記特定画素の画素値の設定元となる前記基準画像における対応画素の位置との変化量を大きくすることを特徴とする情報処理装置。
  2.  前記表示画像生成部により生成された表示画像は、前記表示部における一端の走査線から他端の走査線へ順次表示されていき、
     前記表示画像生成部は、前記特定画素を表示する走査線が前記他端に近いほど前記変化量を大きくすることを特徴とする請求項1に記載の情報処理装置。
  3.  前記第1姿勢と前記第2姿勢の差、および、前記表示部における画像表示の所要時間に応じて、前記表示部の前記一端の走査線で画像が表示される時点の対応画素である第1画素を識別するとともに、前記表示部の前記他端の走査線で表示される時点の対応画素である第2画素を識別する対応画素識別部をさらに備え、
     前記対応画素識別部は、前記特定画素が実際に表示される走査線の位置に応じて、前記第1画素と前記第2画素の間から前記特定画素に対する実際の対応画素を識別することを特徴とする請求項2に記載の情報処理装置。
  4.  前記第1の時点における前記検出部の検出結果に応じて、前記表示部の中央の走査線で画像が表示される時点の前記ヘッドマウントディスプレイの姿勢を前記第1姿勢として予測し、前記第2の時点における前記検出部の検出結果に応じて、前記表示部の中央の走査線で画像が表示される時点の前記ヘッドマウントディスプレイの姿勢を前記第2姿勢として予測する予測部と、
     対応画素識別部と、をさらに備え、
     前記基準画像生成部は、前記予測部により予測された第1姿勢に応じて基準画像を生成し、
     前記対応画素識別部は、前記第1姿勢と前記第2姿勢の差に応じて、前記表示部の中央の走査線で画像が表示される時点の対応画素である仮対応画素を識別し、
     前記対応画素識別部は、前記特定画素が実際に表示される走査線が前記表示部の中央より前記他端側に位置する場合、前記表示画像における前記特定画素の位置と前記基準画像における実際の対応画素の位置との変化量が、前記表示画像における前記特定画素の位置と前記基準画像における前記仮対応画素の位置との変化量より大きくなるように、前記実際の対応画素を識別することを特徴とする請求項2に記載の情報処理装置。
  5.  前記第1の時点における前記検出部の検出結果が取得された場合に、前記表示部の所定の走査線で画像が表示される時点を第1時点として予測し、第1時点の前記ヘッドマウントディスプレイの姿勢を前記第1姿勢として予測する予測部と、
     対応画素識別部と、をさらに備え、
     前記基準画像生成部は、前記予測部により予測された第1姿勢に応じて基準画像を生成し、
     前記予測部は、前記第2の時点における前記検出部の検出結果が取得された場合に、前記表示部の前記所定の走査線で画像が表示される時点を第2時点として予測し、第2時点の前記ヘッドマウントディスプレイの姿勢を前記第2姿勢として予測し、
     前記対応画素識別部は、前記第1姿勢と前記第2姿勢の差に応じて、前記表示部の前記所定の走査線で画像が表示される時点の対応画素である仮対応画素を識別し、
     前記対応画素識別部は、前記第1時点と前記第2時点の時間差、および、前記特定画素が実際に表示される走査線の位置に応じて、前記表示画像における前記特定画素の位置と前記基準画像における前記仮対応画素の位置とを通る線上に前記特定画素に対する実際の対応画素を識別することを特徴とする請求項2に記載の情報処理装置。
  6.  ユーザの頭部に装着されたヘッドマウントディスプレイの姿勢を検出するステップと、
     第1の時点の検出結果により特定されるヘッドマウントディスプレイの第1姿勢に応じて、ユーザに提示すべき情報を含む基準画像を生成するステップと、
     前記第1の時点より後の第2の時点の検出結果により特定されるヘッドマウントディスプレイの第2姿勢と前記第1姿勢との差に応じて、前記基準画像から、前記ヘッドマウントディスプレイに表示させる表示画像を生成するステップと、
     をコンピュータが実行し、
     前記表示画像を生成するステップは、前記ヘッドマウントディスプレイの表示部による前記表示画像の表示において前記表示画像の特定画素の表示タイミングが後であるほど、前記表示画像における前記特定画素の位置と、前記特定画素の画素値の設定元となる前記基準画像における対応画素の位置との変化量を大きくすることを特徴とする画像生成方法。
  7.  ユーザの頭部に装着されたヘッドマウントディスプレイの姿勢を検出する機能と、
     第1の時点の検出結果により特定されるヘッドマウントディスプレイの第1姿勢に応じて、ユーザに提示すべき情報を含む基準画像を生成する機能と、
     前記第1の時点より後の第2の時点の検出結果により特定されるヘッドマウントディスプレイの第2姿勢と前記第1姿勢との差に応じて、前記基準画像から、前記ヘッドマウントディスプレイに表示させる表示画像を生成する機能と、
     をコンピュータに実現させ、
     前記表示画像を生成する機能は、前記ヘッドマウントディスプレイの表示部による前記表示画像の表示において前記表示画像の特定画素の表示タイミングが後であるほど、前記表示画像における前記特定画素の位置と、前記特定画素の画素値の設定元となる前記基準画像における対応画素の位置との変化量を大きくすることを特徴とするコンピュータプログラム。
PCT/JP2016/083657 2015-11-20 2016-11-14 情報処理装置および画像生成方法 WO2017086263A1 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
EP16866265.8A EP3379525B1 (en) 2015-11-20 2016-11-14 Image processing device and image generation method
US15/770,419 US10629107B2 (en) 2015-11-20 2016-11-14 Information processing apparatus and image generation method
CN201680066189.1A CN108292489B (zh) 2015-11-20 2016-11-14 信息处理装置和图像生成方法

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2015-228121 2015-11-20
JP2015228121A JP6511386B2 (ja) 2015-11-20 2015-11-20 情報処理装置および画像生成方法

Publications (1)

Publication Number Publication Date
WO2017086263A1 true WO2017086263A1 (ja) 2017-05-26

Family

ID=58718940

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2016/083657 WO2017086263A1 (ja) 2015-11-20 2016-11-14 情報処理装置および画像生成方法

Country Status (5)

Country Link
US (1) US10629107B2 (ja)
EP (1) EP3379525B1 (ja)
JP (1) JP6511386B2 (ja)
CN (1) CN108292489B (ja)
WO (1) WO2017086263A1 (ja)

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2020110506A1 (ja) * 2018-11-28 2020-06-04 ソニーセミコンダクタソリューションズ株式会社 表示装置および表示制御装置
WO2020170455A1 (ja) * 2019-02-22 2020-08-27 株式会社ソニー・インタラクティブエンタテインメント ヘッドマウントディスプレイおよび画像表示方法
WO2021006191A1 (ja) * 2019-07-10 2021-01-14 株式会社ソニー・インタラクティブエンタテインメント 画像表示装置、画像表示システムおよび画像表示方法
JP2021015156A (ja) * 2019-07-10 2021-02-12 株式会社ソニー・インタラクティブエンタテインメント 画像表示装置、画像表示システムおよび画像表示方法
JP2021015372A (ja) * 2019-07-10 2021-02-12 株式会社ソニー・インタラクティブエンタテインメント 画像表示装置、画像表示システムおよび画像表示方法
WO2021040010A1 (ja) * 2019-08-30 2021-03-04 ソニー株式会社 情報処理装置、制御方法
US11960086B2 (en) 2019-02-22 2024-04-16 Sony Interactive Entertainment Inc. Image generation device, head-mounted display, and image generation method
JP7498768B2 (ja) 2019-07-12 2024-06-12 アレディア 画像ビューイングシステム及び制御方法

Families Citing this family (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10962780B2 (en) * 2015-10-26 2021-03-30 Microsoft Technology Licensing, Llc Remote rendering for virtual images
KR102671404B1 (ko) * 2016-12-12 2024-05-31 삼성전자주식회사 모션 기반 영상을 처리하는 방법 및 장치
CN108139814A (zh) * 2017-01-10 2018-06-08 深圳市柔宇科技有限公司 显示内容的调整方法、系统及头戴式显示设备
US10698068B2 (en) 2017-03-24 2020-06-30 Samsung Electronics Co., Ltd. System and method for synchronizing tracking points
JP6916896B2 (ja) * 2017-11-16 2021-08-11 株式会社ソニー・インタラクティブエンタテインメント 情報処理装置および画像生成方法
JP6496391B1 (ja) * 2017-12-06 2019-04-03 株式会社スクウェア・エニックス 表示システム及び表示方法
US10845601B1 (en) * 2018-02-07 2020-11-24 Apple Inc. AR/VR controller with event camera
US10582181B2 (en) * 2018-03-27 2020-03-03 Honeywell International Inc. Panoramic vision system with parallax mitigation
DE112019001710T5 (de) * 2018-03-30 2020-12-17 Sony Corporation Informationsverarbeitungsvorrichtung, informationsverarbeitungsverfahren, programm und head-mounted-display
US10520739B1 (en) * 2018-07-11 2019-12-31 Valve Corporation Dynamic panel masking
US10600236B2 (en) * 2018-08-06 2020-03-24 Valve Corporation Prediction and throttling adjustments based on application rendering performance
US11048465B2 (en) 2018-09-18 2021-06-29 Canon Kabushiki Kaisha Imaging display device, wearable device, and imaging display system
JP7170752B2 (ja) 2019-01-21 2022-11-14 株式会社ソニー・インタラクティブエンタテインメント 画像生成装置および画像生成方法
JP7395296B2 (ja) * 2019-09-17 2023-12-11 キヤノン株式会社 画像処理装置、画像処理方法、及びプログラム
JP7429512B2 (ja) * 2019-09-30 2024-02-08 株式会社ソニー・インタラクティブエンタテインメント 画像処理装置、画像データ転送装置、画像処理方法、および画像データ転送方法
US11195498B2 (en) * 2020-01-15 2021-12-07 Charter Communications Operating, Llc Compensating for latency in a streaming virtual reality environment
CN113329165A (zh) * 2020-02-28 2021-08-31 佳能株式会社 成像显示设备、可穿戴设备以及成像显示系统
US11836872B1 (en) * 2021-02-01 2023-12-05 Apple Inc. Method and device for masked late-stage shift
JP2024098257A (ja) * 2023-01-10 2024-07-23 株式会社ソニー・インタラクティブエンタテインメント 画像生成装置、画像生成方法および画像生成プログラム
WO2024176749A1 (ja) * 2023-02-20 2024-08-29 ソニーグループ株式会社 情報処理装置、立体映像表示システム及びプログラム

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007213407A (ja) * 2006-02-10 2007-08-23 Gifu Univ 仮想現実画像表示装置
US20140267420A1 (en) * 2013-03-15 2014-09-18 Magic Leap, Inc. Display system and method
JP2015095045A (ja) 2013-11-11 2015-05-18 株式会社ソニー・コンピュータエンタテインメント 画像生成装置および画像生成方法

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5579026A (en) 1993-05-14 1996-11-26 Olympus Optical Co., Ltd. Image display apparatus of head mounted type
US5742264A (en) * 1995-01-24 1998-04-21 Matsushita Electric Industrial Co., Ltd. Head-mounted display
CN100478849C (zh) * 2007-04-10 2009-04-15 南京航空航天大学 基于多加速度传感器的虚拟现实头盔防眩晕系统及方法
CN103620527B (zh) * 2011-05-10 2018-08-17 寇平公司 使用动作和语音命令来控制信息显示和远程设备的头戴式计算机
CN103076045B (zh) * 2011-10-25 2016-04-13 上海新世纪机器人有限公司 头部姿态感应装置和方法
KR101821141B1 (ko) * 2012-02-09 2018-01-23 삼성전자주식회사 3차원 영상 시스템 및 그 영상 재생 방법
JP6326763B2 (ja) * 2013-10-25 2018-05-23 セイコーエプソン株式会社 電気光学装置、電子機器、画像処理装置、及び電気光学装置の制御方法
CN104898669B (zh) * 2015-04-30 2019-01-11 广东虚拟现实科技有限公司 一种基于惯性传感器进行虚拟现实行走控制的方法及系统

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007213407A (ja) * 2006-02-10 2007-08-23 Gifu Univ 仮想現実画像表示装置
US20140267420A1 (en) * 2013-03-15 2014-09-18 Magic Leap, Inc. Display system and method
JP2015095045A (ja) 2013-11-11 2015-05-18 株式会社ソニー・コンピュータエンタテインメント 画像生成装置および画像生成方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
See also references of EP3379525A4

Cited By (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2020110506A1 (ja) * 2018-11-28 2020-06-04 ソニーセミコンダクタソリューションズ株式会社 表示装置および表示制御装置
JP7404271B2 (ja) 2018-11-28 2023-12-25 ソニーセミコンダクタソリューションズ株式会社 表示装置および表示制御装置
US11837145B2 (en) 2018-11-28 2023-12-05 Sony Semiconductor Solutions Corporation Display apparatus and display control apparatus
JPWO2020110506A1 (ja) * 2018-11-28 2021-10-14 ソニーセミコンダクタソリューションズ株式会社 表示装置および表示制御装置
JP7150134B2 (ja) 2019-02-22 2022-10-07 株式会社ソニー・インタラクティブエンタテインメント ヘッドマウントディスプレイおよび画像表示方法
WO2020170455A1 (ja) * 2019-02-22 2020-08-27 株式会社ソニー・インタラクティブエンタテインメント ヘッドマウントディスプレイおよび画像表示方法
US11960086B2 (en) 2019-02-22 2024-04-16 Sony Interactive Entertainment Inc. Image generation device, head-mounted display, and image generation method
JPWO2020170455A1 (ja) * 2019-02-22 2021-12-16 株式会社ソニー・インタラクティブエンタテインメント ヘッドマウントディスプレイおよび画像表示方法
JP2021015156A (ja) * 2019-07-10 2021-02-12 株式会社ソニー・インタラクティブエンタテインメント 画像表示装置、画像表示システムおよび画像表示方法
JP7217206B2 (ja) 2019-07-10 2023-02-02 株式会社ソニー・インタラクティブエンタテインメント 画像表示装置、画像表示システムおよび画像表示方法
JP7377014B2 (ja) 2019-07-10 2023-11-09 株式会社ソニー・インタラクティブエンタテインメント 画像表示装置、画像表示システムおよび画像表示方法
JP2021015372A (ja) * 2019-07-10 2021-02-12 株式会社ソニー・インタラクティブエンタテインメント 画像表示装置、画像表示システムおよび画像表示方法
WO2021006191A1 (ja) * 2019-07-10 2021-01-14 株式会社ソニー・インタラクティブエンタテインメント 画像表示装置、画像表示システムおよび画像表示方法
JP7498768B2 (ja) 2019-07-12 2024-06-12 アレディア 画像ビューイングシステム及び制御方法
WO2021040010A1 (ja) * 2019-08-30 2021-03-04 ソニー株式会社 情報処理装置、制御方法

Also Published As

Publication number Publication date
US20180315364A1 (en) 2018-11-01
CN108292489B (zh) 2021-01-12
EP3379525B1 (en) 2023-07-19
US10629107B2 (en) 2020-04-21
EP3379525A4 (en) 2019-06-26
JP2017097122A (ja) 2017-06-01
CN108292489A (zh) 2018-07-17
JP6511386B2 (ja) 2019-05-15
EP3379525A1 (en) 2018-09-26

Similar Documents

Publication Publication Date Title
WO2017086263A1 (ja) 情報処理装置および画像生成方法
US10009542B2 (en) Systems and methods for environment content sharing
US9858643B2 (en) Image generating device, image generating method, and program
JP6845111B2 (ja) 情報処理装置および画像表示方法
JP2019028368A (ja) レンダリング装置、ヘッドマウントディスプレイ、画像伝送方法、および画像補正方法
US20160246061A1 (en) Display
US10681276B2 (en) Virtual reality video processing to compensate for movement of a camera during capture
JP6576536B2 (ja) 情報処理装置
JP6359572B2 (ja) 画像送信装置、情報処理端末、画像送信方法、情報処理方法、プログラム及び情報記憶媒体
KR20180051202A (ko) 디스플레이장치 및 그 제어방법
US11187895B2 (en) Content generation apparatus and method
WO2020129115A1 (ja) 情報処理システム、情報処理方法およびコンピュータプログラム
TWI681673B (zh) 虛擬實境影像播放方法及使用其之程式
KR20200115631A (ko) 멀티뷰잉 가상 현실 사용자 인터페이스
JP6518645B2 (ja) 情報処理装置および画像生成方法
JP7047085B2 (ja) 画像生成装置、画像生成方法、およびプログラム
JP6711803B2 (ja) 画像生成装置および画像生成方法
JP6921204B2 (ja) 情報処理装置および画像出力方法
WO2022255058A1 (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: 16866265

Country of ref document: EP

Kind code of ref document: A1

WWE Wipo information: entry into national phase

Ref document number: 15770419

Country of ref document: US

NENP Non-entry into the national phase

Ref country code: DE