WO2018225187A1 - 情報処理システム、情報処理装置、サーバ装置、画像提供方法および画像生成方法 - Google Patents

情報処理システム、情報処理装置、サーバ装置、画像提供方法および画像生成方法 Download PDF

Info

Publication number
WO2018225187A1
WO2018225187A1 PCT/JP2017/021139 JP2017021139W WO2018225187A1 WO 2018225187 A1 WO2018225187 A1 WO 2018225187A1 JP 2017021139 W JP2017021139 W JP 2017021139W WO 2018225187 A1 WO2018225187 A1 WO 2018225187A1
Authority
WO
WIPO (PCT)
Prior art keywords
unit
position data
image
delay time
information processing
Prior art date
Application number
PCT/JP2017/021139
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 US16/615,251 priority Critical patent/US11158101B2/en
Priority to PCT/JP2017/021139 priority patent/WO2018225187A1/ja
Publication of WO2018225187A1 publication Critical patent/WO2018225187A1/ja

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T11/002D [Two Dimensional] image generation
    • G06T11/60Editing figures and text; Combining figures or text
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/011Arrangements for interaction with the human body, e.g. for user immersion in virtual reality
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/011Arrangements for interaction with the human body, e.g. for user immersion in virtual reality
    • G06F3/012Head tracking input arrangements
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/017Gesture based interaction, e.g. based on a set of recognized hand gestures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/20Analysis of motion
    • G06T7/215Motion-based segmentation
    • 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/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/37Details of the operation on graphic patterns
    • G09G5/377Details of the operation on graphic patterns for mixing or overlaying two or more graphic patterns
    • 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
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/131Protocols for games, networked simulations or virtual reality
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2215/00Indexing scheme for image rendering
    • G06T2215/16Using real world measurements to influence rendering

Definitions

  • the present invention relates to a technique for generating and displaying an image reflecting the movement of an actual object.
  • the head mounted display is mounted on the user's head and provides the user with a virtual reality (VR) or mixed reality (MR) video world. Since the HMD provides an image for a part or the whole of the user's field of view, the user's immersion in the video world can be enhanced.
  • Patent Document 1 relates to a technique for generating an image that follows the movement of a user's head, and predicts posture angle data received after a predetermined time from a time series of head posture angle data that has already been received. Disclosed is a technique for executing an image rendering process based on data.
  • Mixed reality creates a space that fuses the real and virtual worlds.
  • a mixed reality world for example, when a virtual object that moves the same as the actual movement of the user is displayed on the HMD, if the movement of the virtual object is displayed with a delay from the actual movement of the user, the virtual object is It causes the user to experience image sickness while deteriorating the sensation of moving in the same way.
  • the present invention has been made in view of these problems, and an object of the present invention is to provide a technique for displaying an image predicting the future based on the position of a real object in space on a display.
  • the display is not limited to the HMD and may be a monitor.
  • an information processing system is an information processing system that generates an image to be provided on a display, and a position data acquisition unit that acquires position data indicating the position of an actual object And a delay deriving unit for deriving the delay time in the information processing system, and predicting the movement of the object based on the position data acquired by the position data acquiring unit, and specifying the position of the future object for the delay time or longer
  • the delay deriving unit is from the timing at which the position data acquiring unit acquires the position data to the timing at which the display image providing unit provides the display with a predicted image reflecting the position of the future object predicted based on the position data.
  • the delay time including the time between them is derived.
  • Another aspect of the present invention is an information processing apparatus.
  • a position data acquisition unit that acquires position data indicating the position of an actual object
  • a delay derivation unit that derives a delay time
  • the server device predicts the movement of the object based on the position data.
  • a display image providing unit that obtains a predicted image generated so as to reflect the position of a future object for a delay time or longer and provides the predicted image to a display.
  • Still another aspect of the present invention is a server device.
  • the server device acquires position data indicating a position of an actual object and a delay time from the information processing device, predicts the movement of the object, and identifies a position of a future object that is longer than the delay time.
  • an image generation unit that generates a predicted image reflecting the position of a future object.
  • any combination of the above components, the expression of the present invention converted between a method, an apparatus, a system, a computer program, a recording medium on which the computer program is recorded so as to be readable, a data structure, and the like are also included in the present invention. It is effective as an embodiment of
  • 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 (HMD) 100, an imaging device 14 that captures a user wearing the HMD 100, an output device 16 that displays images and sounds, and a server device 12. .
  • the output device 16 may be a monitor.
  • the information processing apparatus 10 is communicably connected to the server apparatus 12 via an external network 2 such as the Internet via an access point (AP).
  • AP access point
  • the HMD 100 is a display device that displays an image on a display panel located in front of the user when the user wears the head on the head, and provides a virtual reality (VR) or mixed reality (MR) video world to the user.
  • VR virtual reality
  • MR mixed reality
  • the HMD 100 separately displays a left-eye image on the left-eye display panel and a right-eye image on the right-eye display panel. These images constitute parallax images viewed from the left and right viewpoints, and realize stereoscopic viewing.
  • the image of the virtual world is generated by the server device 12 and provided to the HMD 100 by the information processing device 10.
  • the information processing apparatus 10 may be provided with a function of receiving operation information on the operation of the input device by the user and executing an application such as a game, but in the information processing system 1 of the embodiment, the information processing apparatus 10 It operates as a client device that provides the image generated by the server device 12 to the HMD 100.
  • the imaging device 14 is a stereo camera, images a user wearing the HMD 100 at a predetermined cycle, and supplies the captured image to the information processing device 10.
  • the imaging cycle is 30 fps.
  • the imaging device 14 acquires position data of the user in the imaging space, and specifically acquires relative position data from the imaging device 14 in an actual three-dimensional space.
  • the user position data includes position data of all parts of the user in the three-dimensional space, that is, includes all of the face position, hand position, torso position, leg position, and the like. Therefore, the position data of the user in the embodiment includes at least data regarding the posture of the user.
  • the user position data may be used in the same meaning as the user posture data.
  • the HMD 100 is provided with a marker (tracking LED) for tracking the user's head, and the information processing apparatus 10 detects the movement of the HMD 100 based on the position of the marker included in the captured image.
  • the HMD 100 is equipped with a motion sensor (acceleration sensor and gyro sensor), and the information processing apparatus 10 acquires sensor data detected by the motion sensor from the HMD 100 so that it can be used together with the use of the captured image of the marker. An accuracy tracking process may be performed.
  • the information processing apparatus 10 may detect the movement of the HMD 100 from the marker included in the captured image or the detection data of the motion sensor.
  • the attitude of the HMD 100 is used to determine the user's line-of-sight direction, and the determined user's line-of-sight direction is provided from the information processing apparatus 10 to the server apparatus 12.
  • a virtual camera as an optical axis is arranged in the three-dimensional virtual space, an image obtained by photographing the three-dimensional virtual space with the virtual camera is generated, and transmitted to the information processing apparatus 10.
  • the HMD 100 is provided with a light emitting unit that performs impulse-type light emission, and the information processing apparatus 10 is based on the light emission of the light emitting unit included in the photographed image, or a part of delay time in the information processing system 1 or. Measure everything.
  • the output device 16 is not necessarily required for the user wearing the HMD 100, but by providing the output device 16, another user can display the display image of the output device 16. Can see.
  • the information processing apparatus 10 may cause the output device 16 to display the same image as the image viewed by the user wearing the HMD 100.
  • FIG. 2 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 has 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 that faces the eyes when worn.
  • the display panel may be 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 and expand 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, and may be configured to connect an external headphone. Note that the HMD 100 may include a transmissive display.
  • Markers 110a, 110b, 110c, and 110d are provided on the outer surface of the housing 108.
  • the tracking LED constitutes the marker 110, but it may be another type of marker, and in any case, the image is taken by the imaging device 14 and the information processing device 10 can analyze the marker position. That's fine.
  • the number and arrangement of the markers 110 are not particularly limited, but the number and arrangement must be such that the attitude of the HMD 100 can be detected.
  • the markers 110 are provided at the four corners on the front surface of the housing 108.
  • the housing 108 is provided with a light emitting unit 112 that emits an impulse type light according to a light emission instruction from the information processing apparatus 10.
  • the impulse light emission by the light emitting unit 112 is captured by the imaging device 14 and used to measure the delay time generated in the processing system and the transmission system of the information processing system 1 together.
  • the light emitting unit 112 may be configured to emit multicolor light.
  • the HMD 100 may be connected to the information processing apparatus 10 with a cable or may be connected with a known wireless communication protocol.
  • the HMD 100 transmits the sensor data detected by the motion sensor to the information processing apparatus 10, receives an image provided from the information processing apparatus 10, and displays the image on the left-eye display panel and the right-eye display panel.
  • FIG. 3 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 data, and commands.
  • the storage unit 122 temporarily stores data, commands, and the like that are processed by the control unit 120.
  • the motion sensor 124 detects motion data of the HMD 100.
  • the motion sensor 124 includes at least a 3-axis acceleration sensor and a 3-axis gyro sensor.
  • the communication control unit 128 transmits data output 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.
  • the display panel 130 includes a left-eye display panel 130a and a right-eye display panel 130b, and a pair of parallax images is displayed on each display panel. Further, the control unit 120 causes the communication control unit 128 to transmit the sensor data from the motion sensor 124 and the audio data from the microphone 126 to the information processing apparatus 10.
  • the control unit 120 when receiving a light emission instruction from the information processing apparatus 10, the control unit 120 causes the light emitting unit 112 to emit light for a moment.
  • the light emission time of the light emitting unit 112 is set to a time that falls within one imaging cycle by the imaging device 14.
  • the imaging device 14 performs shooting at a period of 1/30 seconds
  • the light emission time of the light emitting unit 112 is set to be shorter than 1/30 seconds, and the light emission of the light emitting unit 112 is shot only in one captured image. It is preferable.
  • the marker 110 is always lit for tracking processing, and the light emitting unit 112 preferably emits light with a color different from the light emission color of the marker 110.
  • the light emitting unit 112 may emit light in an arbitrary color without being limited by the emission color of the marker 110.
  • FIG. 4 shows the configuration of the information processing apparatus 10 and the server apparatus 12.
  • the information processing apparatus 10 operates as a client device, and includes a position data acquisition unit 200, a data supply unit 202, a display image providing unit 204, a delay derivation unit 206, a light emission instruction unit 208, a line-of-sight direction determination unit 220, and a communication.
  • the unit 210 is provided.
  • the server device 12 includes an operation prediction unit 300, an image generation unit 302, and a communication unit 304.
  • 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 into 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 server device 12 receives from the information processing device 10 a photographed image obtained by photographing the user in the real space, and generates an image that moves the virtual object in the virtual space according to the movement of the user. For example, when the user raises his hands and raises his hands, the server apparatus 12 causes the virtual object to operate in the virtual space so that his hands are raised.
  • the server device 12 transmits the generated image to the information processing device 10, and the information processing device 10 transmits the image to the HMD 100 and causes the display panel 130 to display the image.
  • the sensation that the virtual object is moving the same as the user is deteriorated. Depending on the operation, it may cause image sickness of the user.
  • the information processing apparatus 10 transmits an image obtained by capturing a user to the server apparatus 12 via the network 2, and the server apparatus 12 generates an image to be displayed on the HMD 100 based on the captured image. Then, the information is transmitted to the information processing apparatus 10 via the network 2, and the information processing apparatus 10 provides the display image to the HMD 100.
  • This series of flows can be divided into a processing system related to acquisition of captured images and image processing, and a transmission system that transmits images via the network 2, but each of the processing system and the transmission system requires time.
  • the time taken from when the user is photographed until the image generated based on the photographed image is displayed on the HMD 100 is defined as “delay time”.
  • delay time The time taken from when the user is photographed until the image generated based on the photographed image is displayed on the HMD 100.
  • the server device 12 predicts that the user will become obsolete from the captured images acquired in time series, and before the user becomes obsolete, It is necessary to generate a prediction image in which the virtual object is obsolete.
  • the server device 12 grasps the delay time in the information processing system 1 before generating an image, and based on the image photographed by the delay time before the timing when the user is aged, the virtual object Generate a prediction image that is As a result, the virtual object displayed on the HMD 100 is also saved at the timing when the user is actually raised, and the real world and the virtual world can be synchronized.
  • the delay time in the information processing system 1 can be classified into the delay time in the image processing system and the delay time in the image transmission system.
  • the time required for the processing system largely depends on the device capability, and once measured, it can be used as a substantially fixed value.
  • the time required for the transmission system depends on the state of the network 2 and is likely to vary. Therefore, it is preferable that the information processing apparatus 10 periodically measures the delay time, and provides the server apparatus 12 with the latest measured delay time, that is, a highly reliable delay time.
  • the position data acquisition unit 200 acquires position data indicating the position of an actual object.
  • the position data of the object may be three-dimensional position data in real space, but may be position data in two-dimensional space. In any case, the position data needs to be able to predict the future movement of the object by the server device 12 specifying the past movement of the object from the time series.
  • the position data acquisition unit 200 is a captured image acquisition unit that acquires image data captured by the imaging device 14, and the captured image includes position data of an object in a real space.
  • the position data of the object included in the captured image may be usable as data for predicting the motion of the object in the server device 12.
  • the position of the object includes the position of the part in the object and the position of the contour.
  • the position data acquisition unit 200 may acquire detection data of a displacement sensor that detects the displacement of an object, may acquire detection data of an infrared sensor, or may acquire these data in combination. .
  • the object to be motion-predicted is a human
  • the position data acquisition unit 200 acquires the position data of the user
  • the object to be motion-predicted is an animal such as a cat or a dog. It may be a car or a ball.
  • the server device 12 identifies the user's movement from the position of the user included in the captured images taken in time series, predicts the future user's movement, and corresponds to the future user's position (posture). Generate an image containing the object.
  • the line-of-sight direction determination unit 220 determines the line-of-sight direction of the user according to the motion data of the HMD 100. Specifically, the line-of-sight direction determination unit 220 detects a change in the movement of the HMD 100 from the sensor data of the motion sensor 124 and determines the posture of the HMD 100. It is preferable that the line-of-sight direction determination unit 220 further increases the detection accuracy of the motion by further using the imaging result of the tracking marker 110. The line-of-sight direction determination unit 220 identifies the current posture of the HMD 100 from the detected movement, obtains the direction of the user's line-of-sight from the identified HMD 100, and provides the data supply unit 202 with the line-of-sight direction.
  • the data supply unit 202 operates the server apparatus 12 via the communication unit 210 based on the position data (captured image in the embodiment) acquired by the position data acquisition unit 200 and the user's line-of-sight direction determined by the line-of-sight direction determination unit 220. This is supplied to the prediction unit 300.
  • the communication unit 210 encodes the position data and the user's line-of-sight direction and transmits the encoded data to the server device 12 via the network 2.
  • the communication unit 304 receives and decodes the encoded data, Data is supplied to the motion prediction unit 300 and the image generation unit 302, and the user's line-of-sight direction is supplied to the image generation unit 302.
  • the motion prediction unit 300 predicts the future movement of the object (user) from the time series of the supplied position data, that is, the captured images supplied so far in time series. Specifically, the motion prediction unit 300 identifies the user's past movement from the time series of the plurality of captured image data supplied so far, and predicts the user's future movement.
  • a variety of human motion prediction methods have been proposed.
  • various motion patterns performed by humans are determined in advance, and motions (including preliminary motions) that are characteristic of each motion pattern are empirically and statistically extracted and classified. Therefore, the observation data actually obtained in time series is applied to the classified actions, the action pattern is specified from the adapted actions, and the future action is predicted. Therefore, by preparing a plurality of state prediction models suitable for each motion pattern, comparing the likelihood with the observation data, and selecting an appropriate state prediction model, highly accurate human motion prediction can be performed. For example, for the motion pattern of “many years”, an operation of lifting up without opening both hands or an operation of lifting both hands evenly left and right may be prepared as a state prediction model.
  • the motion prediction unit 300 extracts the user's movement from the captured image data acquired in time series, identifies the motion pattern, and selects a suitable state prediction model. Thereby, the motion prediction unit 300 can predict the future user's movement, and can specify the position (posture) of the future user for an arbitrary time from the present time. Note that the motion prediction unit 300 may use a method of predicting a future posture by linearly extrapolating past user posture changes, or may use another method.
  • the motion prediction unit 300 acquires the delay time derived by the information processing apparatus 10.
  • the motion prediction unit 300 predicts the user's movement based on the supplied captured image data, and specifies the position (posture) of the future user for the delay time or longer.
  • the user posture specified here is the posture of the future user for the delay time or more, but ideally it is the future user posture for the delay time, and actually the user posture for the future slightly less than the delay time. It may be.
  • the image generation unit 302 generates a predicted image that reflects the predicted user's future position.
  • the image generation unit 302 operates the virtual object so that the motion of the virtual object becomes the user motion predicted by the motion prediction unit 300 in the virtual three-dimensional space, and moves the virtual object of the future by the delay time. Specify the position (posture).
  • the virtual object may be formed by bone data and a human body model in which a mesh is pasted around the bone. However, the virtual object is not limited to this, as long as it can take any posture as a three-dimensional human body model. Good.
  • the image generation unit 302 generates a predicted image of the virtual three-dimensional space to be displayed on the HMD 100 by arranging a virtual camera having the user's line-of-sight direction as the optical axis in the virtual three-dimensional space and photographing the virtual object.
  • the communication unit 304 encodes the predicted image generated by the image generation unit 302 and transmits the encoded image to the information processing apparatus 10 via the network 2.
  • the communication unit 210 receives the encoded data.
  • the decoded predicted image is supplied to the display image providing unit 204.
  • the display image providing unit 204 acquires the predicted image and provides it to the HMD 100, and the control unit 120 displays the predicted image on the display panel 130.
  • the delay time determines the future time predicted by the motion prediction unit 300, and needs to be derived before the motion prediction unit 300 performs the motion prediction process.
  • the delay time since the delay time varies depending on the state of the network 2 as described above, it is preferable that the delay time is derived frequently to cope with a change in the state of the network 2.
  • the delay deriving unit 206 newly derives a delay time on the assumption that the delay time has been derived and held in the past.
  • the display image providing unit 204 provides the HMD 100 with a predicted image reflecting the position of the future user predicted based on the position data from the timing when the position data acquiring unit 200 acquires the position data.
  • the delay time including the time until the timing is derived.
  • the light emission instruction unit 208 supplies the HMD 100 with a light emission instruction of the light emission unit 112. At this time, the light emission instruction unit 208 provides the delay derivation unit 206 with the time information when the light emission instruction is supplied.
  • the control unit 120 when the communication control unit 128 acquires a light emission instruction, the control unit 120 causes the light emitting unit 112 to emit light of an impulse type. Impulse light emission by the light emitting unit 112 is captured by the imaging device 14, and the position data acquisition unit 200 acquires a captured image obtained by capturing light emission of the light emitting unit 112.
  • the data supply unit 202 holds the delay time derived in the past by the delay deriving unit 206.
  • the data supply unit 202 supplies the captured image acquired by the position data acquisition unit 200 from the communication unit 210 to the server device 12 together with the user's line-of-sight direction and delay time.
  • This delay time is a delay time derived by the delay deriving unit 206 before the captured image to be transmitted this time is acquired by the position data acquiring unit 200.
  • the communication unit 210 encodes the captured image, the line-of-sight direction, and the delay time, and transmits the encoded image to the server device 12 via the network 2.
  • the communication unit 304 receives and decodes the captured image, the line-of-sight direction, and the delay time, supplies the captured image and the delay time to the motion prediction unit 300, and supplies the captured image and the line-of-sight direction to the image generation unit 302.
  • the motion prediction unit 300 predicts the position (posture) of the user in the future (or the future slightly ahead of the delay time) by the delay time from the time series of the currently supplied captured image and the previously supplied captured image.
  • the image generation unit 302 generates a predicted image in which the position of the future user is reflected on the position of the virtual object based on the user movement predicted by the motion prediction unit 300.
  • the image generation unit 302 analyzes the captured image supplied from the communication unit 304 and determines whether or not the light emission of the light emitting unit 112 is captured.
  • the image generation unit 302 is notified of the emission color of the light emitting unit 112 in advance. If the notified emission color image is included in the area of the HMD 100 included in the captured image, the light emission of the light emitting unit 112 is captured. It is determined that When the image generation unit 302 determines that the light emission of the light emitting unit 112 is captured in the captured image, the image generation unit 302 indicates that the predicted image to be generated is an image generated based on the image captured of the light emission of the light emitting unit 112. Embed information.
  • the image generation unit 302 has a position of the light emitting unit 112 at the position of the virtual object corresponding to the light emitting unit 112 of the HMD 100 (that is, around the position of the forehead of the virtual object). Include point images of the same color as the emission color.
  • the image generation unit 302 may embed information indicating that the image is generated based on an image obtained by photographing the light emission of the light emitting unit 112 in the metadata. In any case, this information only needs to be embedded in the information processing apparatus 10 so as to be identified as a predicted image generated based on an image obtained by photographing the light emission of the light emitting unit 112.
  • the light emitting unit 112 When the light emitting unit 112 is capable of multicolor light emission, the light emission instructing unit 208 instructs the emission color, and the light emitting unit 112 emits light in the designated color, the image generating unit 302 Information indicating the image generated based on the image of the light emission of the light emitting unit 112 and the color of light emitted from the light emitting unit 112 may be embedded.
  • the communication unit 304 encodes the prediction image generated by the image generation unit 302 and transmits the encoded image to the information processing apparatus 10 via the network 2.
  • the communication unit 210 receives and decodes the prediction image. And supplied to the display image providing unit 204.
  • the display image providing unit 204 provides the predicted image to the HMD 100 and the delay deriving unit 206.
  • the HMD 100 displays the predicted image on the display panel 130. Ideally, the user's motion and the motion of the virtual object displayed on the display panel 130 are completely synchronized.
  • the delay deriving unit 206 determines whether information indicating that the predicted image is an image generated based on an image obtained by photographing the light emission of the light emitting unit 112 is embedded. When such information is embedded, the delay deriving unit 206 delays the difference between the time when the light emission instructing unit 208 supplies the light emission instruction to the HMD 100 and the time when the display image providing unit 204 provides the predicted image to the HMD 100. Derived as time. The difference between the two times is the time from the timing at which the position data acquisition unit 200 acquires the position data to the timing at which the display image providing unit 204 preterminates the HMD 100 with the predicted image generated based on the position data. including.
  • the delay deriving unit 206 derives the delay time using the time when the light emission instruction unit 208 supplies the light emission instruction to the HMD 100, but the time when the position data acquisition unit 200 acquires the position data is used. Thus, the delay time may be derived. In this case, when the position data acquisition unit 200 acquires position data, the acquisition time may be notified to the delay derivation unit 206.
  • the delay deriving unit 206 When deriving the delay time, the delay deriving unit 206 replaces the derived new delay time with the previously derived delay time and provides it to the data supply unit 202.
  • the data supply unit 202 overwrites and updates the old delay time with the newly derived delay time.
  • the data supply unit 202 transmits the position data acquired by the position data acquisition unit 200 from the communication unit 210 to the server device 12 together with the held delay time. Thereby, the motion prediction unit 300 can predict the position of the user in the real space after the delay time from the acquired position data.
  • the light emission instructing unit 208 periodically supplies a light emission instruction to the HMD 100, and the delay deriving unit 206 periodically derives the delay time.
  • the delay deriving unit 206 may derive the entire delay time by the above-described method using the light emission of the light emitting unit 112, but may separately derive the delay time of the processing system and the delay time of the transmission system.
  • the processing system delay time refers to imaging processing by the imaging device 14, captured image acquisition processing in the position data acquisition unit 200, encoding processing by the communication unit 210 and the communication unit 304, decoding processing, and motion prediction unit 300. This is the total time required for processing such as motion prediction processing and image generation processing in the image generation unit 302. These processing times depend on the device capabilities of the information processing apparatus 10 and the server apparatus 12, and hardly change when an excessive load is not applied. Therefore, the delay deriving unit 206 may obtain the delay time of the processing system once in advance, and thereafter use it as a fixed value.
  • the delay deriving unit 206 may periodically measure the round trip time between the communication unit 210 and the communication unit 304 to derive the delay time of the transmission system.
  • the overall delay time is obtained by adding the delay time of the processing system and the delay time of the transmission system, and the delay deriving unit 206 periodically derives the delay time of the transmission system to obtain the overall delay time.
  • the delay deriving unit 206 may derive the delay time using the time stamp, and the method for deriving the delay time is not limited to any one of the methods.
  • the delay deriving unit 206 may derive the delay time by extrapolation using a plurality of delay times measured in the past, and the current delay time is estimated by estimating the traffic situation of the network by simulation. It may be estimated.
  • the motion prediction unit 300 predicts the position (posture) of the future user for the delay time from the captured images supplied in time series, and the image generation unit 302 illuminates the user's line-of-sight direction.
  • a predicted image was generated by arranging a virtual camera as an axis in a three-dimensional virtual space. Since the delay deriving unit 206 derives the delay time with high frequency, it is possible to synchronize the movement of the user and the movement of the virtual object displayed on the HMD 100.
  • FIG. 5 is a diagram for explaining the delay time.
  • the time interval (tn to tn + 1) shown in FIG. 5 is 1/30 second. Therefore, the interval between time tn and time tn + 6 is 6/30 seconds.
  • the imaging device 14 captures the user at time tn
  • the information processing device 10 transmits the captured image to the server device 12, and the server device 12 receives the captured image at time tn + 3. .
  • the server device 12 performs user motion prediction processing, generates a predicted image reflecting the future user motion in the virtual object posture for the delay time, and transmits the predicted image to the information processing device 10.
  • the information processing apparatus 10 receives the predicted image and transmits it to the HMD 100.
  • the HMD 100 receives and displays the predicted image.
  • captured images are transmitted from the information processing apparatus 10 to the server apparatus 12 at a period of 1/30 seconds after the time tn.
  • the predicted image generated by the server device 12 is received by the information processing device 10 at a period of 1/30 seconds. That is, the network 2 is in a stable state and the delay time is kept constant. If there is no change in the delay time as described above, the motion prediction unit 300 predicts the posture of the user after 0.2 seconds from the acquired captured image, and the image generation unit 302 predicts the posture of the virtual object. What is necessary is just to produce
  • the image generation unit 302 adds a second predicted image that is further future than the first predicted image in addition to the predicted image that is future by the delay time (referred to as “first predicted image”). May be generated.
  • image generation unit 302 uses the captured image captured at time tn to determine the first predicted image that is future by the delay time, that is, the predicted posture of the user at time tn + 6 as a virtual object. However, a second predicted image at time tn + 7 may be generated, or a third predicted image at time tn + 8 may be generated.
  • the image generation unit 302 generates the second predicted image and the third predicted image in the future for the time obtained by adding the integral multiple of the display period in the HMD 100 to the delay time in addition to the first predicted image in the future for the delay time. May be.
  • a predicted image is generated.
  • the display is performed.
  • the image providing unit 204 provides the HMD 100 with the second predicted image at time tn + 7 acquired before that. Thereby, it can control so that the display image in HMD100 is not interrupted.
  • the display image providing unit 204 may be able to perform a certain amount of image processing (image deformation) based on the predicted image.
  • the image generating unit 302 may generate a predicted image between the time tn + 6 and the time tn + 7, and the time before the time tn + 6. A predicted image may be generated. If the predicted image at time tn + 7 does not arrive, the display image providing unit 204 generates an image at time tn + 7 from the predicted image between time tn + 6 and time tn + 7, and the HMD 100 May be provided.
  • the motion prediction unit 300 predicts the future motion of the user from the past motion of the user, but may further predict the motion of the object in the virtual space.
  • the motion prediction unit 300 has a calculation function of a physical engine, and for example, in a virtual space, a collision determination process with a virtual object such as a ball may be performed on the movement of the virtual object corresponding to the user. .
  • the motion prediction unit 300 may transmit the collision data from the communication unit 304 to the information processing apparatus 10.
  • the collision data is communicated to a haptic device worn by the user, and the haptic device may provide haptic feedback to the user based on the collision data.
  • one information processing apparatus 10 exists as a client apparatus.
  • a plurality of information processing apparatuses 10 may exist as client apparatuses.
  • FIG. 6 shows an example in which the client device A and the client device B exist. Similar to FIG. 5, the time interval is 1/30 second.
  • the client devices A and B may be information processing devices 10 of different users A and B. This corresponds to a state in which two information processing apparatuses 10 are connected to the network 2 with reference to FIG. Here, it is assumed that the user A and the user B play a tennis game in the same virtual space.
  • the server device 12 preferably generates a predicted image so that the movement of the user A and the movement of the user B are synchronized with the movements of the respective player characters in the game space.
  • the data supply unit 202 supplies the position data of the user A to the operation prediction unit 300 of the server device 12 together with the first delay time derived by the delay deriving unit 206.
  • the first delay time is 0.2 seconds.
  • the data supply unit 202 supplies the position data of the user B to the operation prediction unit 300 of the server device 12 together with the second delay time derived by the delay deriving unit 206.
  • the second delay time is 0.4 seconds.
  • the server device 12 obtains the photographed image of the user A photographed at the time tn + 3 from the client device A at the time tn + 6, and obtains the photographed image of the user B photographed at the time tn from the client device B. get.
  • the server device 12 generates a predicted image for the client device A and a predicted image for the client device B in consideration of the delay times of the client devices A and B. In this example, it is assumed that the captured image transmitted from the client device includes a time stamp indicating the capturing time.
  • the operation predicting unit 300 uses the captured image of the user A and the captured image of the user B as the future for the client device A from the acquisition time (time tn + 3) of the captured image of the user A for the first delay time.
  • the positions (postures) of the users A and B at the time tn + 9 are predicted.
  • the image generation unit 302 generates a predicted image reflecting the future positions of the user A and the user B predicted by the motion prediction unit 300. This predicted image is transmitted to the client apparatus A.
  • the image generation unit 302 generates a predicted image reflecting the future positions of the user A and the user B predicted by the motion prediction unit 300. This predicted image is transmitted to the client apparatus B.
  • the server device 12 may perform the operation prediction process of the user so as to shield the apparent delay in the plurality of client devices.
  • the image generation unit 302 may perform the following image generation processing.
  • the image generation unit 302 basically determines the player characters of the users A and B regardless of the motion prediction result. Make it work. Specifically, the image generation unit 302 generates a simulation image in which the player characters continue the rally and provides the simulation images to the client devices A and B. The users A and B see this game image and play tennis. When the server device 12 detects a miss shot of the user B, the image generation unit 302 causes the game that the user B character misses. An image is generated and provided to the client apparatuses A and B.
  • the game is controlled so as to secure time for transmitting the same game situation to the users A and B by moving the tennis ball at a very slow speed.
  • the image generation unit 302 may control each player character to move according to the result predicted by the motion prediction unit 300. Control to move slowly to communicate the same game situation.
  • SYMBOLS 1 DESCRIPTION OF SYMBOLS 1 ... Information processing system, 10 ... Information processing apparatus, 12 ... Server apparatus, 14 ... Imaging apparatus, 16 ... Output device, 100 ... HMD, 200 ... Position data acquisition , 202 ... Data supply unit, 204 ... Display image providing unit, 206 ... Delay derivation unit, 208 ... Light emission instruction unit, 210 ... Communication unit, 220 ... Gaze direction determination unit , 300 ... motion prediction unit, 302 ... image generation unit, 304 ... communication unit.
  • the present invention can be used in the technical field of generating and displaying an image reflecting the movement of an actual object.

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Computer Hardware Design (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Multimedia (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Processing Or Creating Images (AREA)
  • User Interface Of Digital Computer (AREA)

Abstract

位置データ取得部200は、現実の物体の位置を示す位置データを取得する。遅延導出部206は、情報処理システム1における遅延時間を導出する。動作予測部300は、位置データ取得部200が取得した位置データにもとづいて、当該物体の動きを予測し、遅延時間以上未来の物体の位置を特定する。画像生成部302は、未来の物体の位置を反映した予測画像を生成する。表示画像提供部204は、生成された予測画像を取得して、HMDに提供する。

Description

情報処理システム、情報処理装置、サーバ装置、画像提供方法および画像生成方法
 本発明は、現実の物体の動きを反映した画像を生成、表示する技術に関する。
 ヘッドマウントディスプレイ(HMD)はユーザの頭部に装着されて、仮想現実(VR)や複合現実(MR)の映像世界をユーザに提供する。HMDはユーザの視野の一部あるいは全体に画像を提供するため、ユーザの映像世界への没入感を高められる。特許文献1は、ユーザの頭部の動きに追従した画像を生成する技術に関し、既に受信した頭部の姿勢角データの時系列から一定時間後に受信する姿勢角データを予測し、予測した姿勢角データに基づいて画像のレンダリング処理を実行する技術を開示する。
国際公開第2015/098292号
 複合現実は、現実世界と仮想世界とを融合させた空間を作り上げる。複合現実の世界において、たとえばユーザの実際の動きと同じ動きをする仮想オブジェクトをHMDに表示する場合、仮想オブジェクトの動きがユーザの実際の動きに対して遅れて表示されると、仮想オブジェクトがユーザと同じ動きをしているという体感を劣化させるとともに、ユーザの画像酔いを引き起こす原因となる。
 本発明はこうした課題に鑑みてなされたものであり、その目的は、現実の物体の空間内の位置をもとに未来を予測した画像をディスプレイに表示させる技術を提供することにある。なおディスプレイはHMDに限らず、モニタであってもよい。
 上記課題を解決するために、本発明のある態様の情報処理システムは、ディスプレイに提供する画像を生成する情報処理システムであって、現実の物体の位置を示す位置データを取得する位置データ取得部と、当該情報処理システムにおける遅延時間を導出する遅延導出部と、位置データ取得部が取得した位置データにもとづいて、当該物体の動きを予測して、遅延時間以上未来の物体の位置を特定する動作予測部と、未来の物体の位置を反映した予測画像を生成する画像生成部と、生成された予測画像を取得して、ディスプレイに提供する表示画像提供部と、を備える。遅延導出部は、位置データ取得部が位置データを取得するタイミングから、当該位置データにもとづいて予測された未来の物体の位置を反映した予測画像を表示画像提供部がディスプレイに提供するタイミングまでの間の時間を含む遅延時間を導出する。
 本発明の別の態様は、情報処理装置である。この情報処理装置は、現実の物体の位置を示す位置データを取得する位置データ取得部と、遅延時間を導出する遅延導出部と、サーバ装置が位置データにもとづいて当該物体の動きを予測して、遅延時間以上未来の物体の位置を反映するように生成した予測画像を取得して、ディスプレイに提供する表示画像提供部と、を備える。
 本発明のさらに別の態様は、サーバ装置である。このサーバ装置は、情報処理装置から現実の物体の位置を示す位置データと遅延時間とを取得して、当該物体の動きを予測して、遅延時間以上未来の物体の位置を特定する動作予測部と、未来の物体の位置を反映した予測画像を生成する画像生成部と、を備える。
 なお、以上の構成要素の任意の組合せ、本発明の表現を方法、装置、システム、コンピュータプログラム、コンピュータプログラムを読み取り可能に記録した記録媒体、データ構造などの間で変換したものもまた、本発明の態様として有効である。
実施例における情報処理システムの構成例を示す図である。 HMDの外観形状の例を示す図である。 HMDの機能ブロックを示す図である。 情報処理装置およびサーバ装置の構成を示す図である。 遅延時間を説明するための図である。 2つのクライアント装置が存在する例を示す図である。
 図1は、実施例における情報処理システム1の構成例を示す。情報処理システム1は情報処理装置10と、ヘッドマウントディスプレイ(HMD)100と、HMD100を装着したユーザを撮影する撮像装置14と、画像および音声を表示する出力装置16と、サーバ装置12とを備える。出力装置16はモニタであってよい。情報処理装置10は、アクセスポイント(AP)を介して、インターネットなどの外部のネットワーク2経由でサーバ装置12と通信可能に接続する。
 HMD100は、ユーザが頭部に装着することによりその眼前に位置する表示パネルに画像を表示する表示装置であり、仮想現実(VR)または複合現実(MR)の映像世界をユーザに提供する。HMD100にヘッドトラッキング機能をもたせ、ユーザの頭部の動きに連動して表示画像を更新することで、映像世界への没入感を高められる。HMD100は、左目用表示パネルに左目用の画像を、右目用表示パネルに右目用の画像を、それぞれ別個に表示する。これらの画像は左右の視点から見た視差画像を構成し、立体視を実現する。
 仮想世界の画像は、サーバ装置12により生成され、情報処理装置10によりHMD100に提供される。情報処理装置10は、ユーザが入力装置を操作した操作情報を受け付けて、ゲームなどのアプリケーションを実行する機能を単独で備えてよいが、実施例の情報処理システム1では、情報処理装置10は、サーバ装置12で生成された画像をHMD100に提供するクライアント装置として動作する。
 撮像装置14はステレオカメラであって、HMD100を装着したユーザを所定の周期で撮影し、撮影画像を情報処理装置10に供給する。実施例において撮影周期は30fpsである。撮像装置14は撮影空間におけるユーザの位置データを取得するものであり、具体的には現実の3次元空間における撮像装置14からの相対位置データを取得する。ユーザの位置データは、3次元空間におけるユーザの全てのパーツの位置データを含み、つまり顔の位置、手の位置、胴の位置、脚の位置などの全てを含む。したがって実施例におけるユーザの位置データは、少なくともユーザの姿勢に関するデータを含む。以下ではユーザの位置データを、ほぼユーザの姿勢データと同じ意味で使用することもある。
 HMD100にはユーザ頭部をトラッキングするためのマーカ(トラッキング用LED)が設けられ、情報処理装置10は、撮影画像に含まれるマーカの位置にもとづいてHMD100の動きを検出する。なおHMD100にはモーションセンサ(加速度センサおよびジャイロセンサ)が搭載され、情報処理装置10は、モーションセンサで検出されたセンサデータをHMD100から取得することで、マーカの撮影画像の利用とあわせて、高精度のトラッキング処理を実施してよい。情報処理装置10は、撮影画像に含まれるマーカや、モーションセンサの検出データから、HMD100の動きを検出してよい。実施例においてHMD100の姿勢はユーザの視線方向を定めるために利用され、定められたユーザの視線方向は、情報処理装置10からサーバ装置12に提供されて、サーバ装置12が、ユーザの視線方向を光軸とする仮想カメラを3次元仮想空間に配置して、3次元仮想空間を仮想カメラで撮影した画像を生成して、情報処理装置10に送信する。
 後述するが、HMD100には、インパルス型発光を行う発光部が設けられ、情報処理装置10は、撮影画像に含まれる発光部の発光をもとに、情報処理システム1における遅延時間の一部ないしは全部を計測する。
 情報処理システム1において、ユーザはHMD100で画像を見るため、HMD100を装着したユーザにとって出力装置16は必ずしも必要ではないが、出力装置16を用意することで、別のユーザが出力装置16の表示画像を見ることができる。情報処理装置10は、HMD100を装着したユーザが見ている画像と同じ画像を出力装置16に表示させてもよい。
 図2は、HMD100の外観形状の例を示す。HMD100は、出力機構部102および装着機構部104から構成される。装着機構部104は、ユーザが被ることにより頭部を一周してHMD100を頭部に固定する装着バンド106を含む。装着バンド106はユーザの頭囲に合わせて長さの調節が可能な素材または構造をもつ。
 出力機構部102は、HMD100をユーザが装着した状態において左右の目を覆う形状の筐体108を含み、内部には装着時に目に正対する表示パネルを備える。表示パネルは液晶パネルや有機ELパネルなどであってよい。筐体108内部にはさらに、表示パネルとユーザの目との間に位置し、ユーザの視野角を拡大する左右一対の光学レンズが備えられる。HMD100はさらに、ユーザの耳に対応する位置にスピーカーやイヤホンを備えてよく、外付けのヘッドホンが接続されるように構成されてもよい。なおHMD100は、透過型のディスプレイを備えてもよい。
 筐体108の外面には、マーカ110a、110b、110c、110dが備えられる。この例ではトラッキング用LEDがマーカ110を構成するが、その他の種類のマーカであってよく、いずれにしても撮像装置14により撮影されて、情報処理装置10がマーカ位置を画像解析できるものであればよい。マーカ110の数や配置は特に限定されないが、HMD100の姿勢を検出できるための数および配置である必要があり、図示した例では筐体108の前面の4隅に設けている。
 また筐体108には、情報処理装置10からの発光指示によりインパルス型発光する発光部112が備えられる。発光部112によるインパルス型発光は、撮像装置14により撮影されて、情報処理システム1の処理系および伝送系で生じる遅延時間をあわせて計測するために利用される。発光部112は多色発光可能に構成されてもよい。
 HMD100は、情報処理装置10にケーブルで接続されても、既知の無線通信プロトコルで接続されてもよい。HMD100は、モーションセンサが検出したセンサデータを情報処理装置10に送信し、また情報処理装置10から提供される画像を受信して、左目用表示パネルおよび右目用表示パネルに表示する。
 図3は、HMD100の機能ブロックを示す。制御部120は、画像データ、音声データ、センサデータなどの各種データや、命令を処理して出力するメインプロセッサである。記憶部122は、制御部120が処理するデータや命令などを一時的に記憶する。モーションセンサ124は、HMD100のモーションデータを検出する。モーションセンサ124は、少なくとも3軸の加速度センサおよび3軸のジャイロセンサを含む。
 通信制御部128は、ネットワークアダプタまたはアンテナを介して、有線または無線通信により、制御部120から出力されるデータを外部の情報処理装置10に送信する。また通信制御部128は、ネットワークアダプタまたはアンテナを介して、有線または無線通信により、情報処理装置10からデータを受信し、制御部120に出力する。
 制御部120は、画像データや音声データを情報処理装置10から受け取ると、表示パネル130に供給して表示させ、また音声出力部132に供給して音声出力させる。表示パネル130は、左目用表示パネル130aと右目用表示パネル130bから構成され、各表示パネルに一対の視差画像が表示される。また制御部120は、モーションセンサ124からのセンサデータや、マイク126からの音声データを、通信制御部128から情報処理装置10に送信させる。
 また制御部120は、発光指示を情報処理装置10から受け取ると、発光部112を一瞬だけ発光させる。発光部112の発光時間は、撮像装置14による一回の撮影周期内に収まる時間に設定される。撮像装置14が1/30秒の周期で撮影を行う場合、発光部112の発光時間は、1/30秒よりも短く設定されて、発光部112の発光が1枚の撮影画像においてのみ撮影されることが好ましい。なおマーカ110は、トラッキング処理のために常時点灯されており、発光部112は、マーカ110の発光色とは異なる色で発光されることが好ましい。なおHMD100がマーカ110を備えない場合には、発光部112は、マーカ110の発光色の制限を受けることなく、任意の色で発光してよい。
 図4は、情報処理装置10およびサーバ装置12の構成を示す。情報処理システム1において情報処理装置10はクライアント装置として動作し、位置データ取得部200、データ供給部202、表示画像提供部204、遅延導出部206、発光指示部208、視線方向決定部220および通信部210を備える。サーバ装置12は、動作予測部300、画像生成部302および通信部304を備える。
 図4において、さまざまな処理を行う機能ブロックとして記載される各要素は、ハードウェア的には、回路ブロック、メモリ、その他のLSIで構成することができ、ソフトウェア的には、メモリにロードされたプログラムなどによって実現される。したがって、これらの機能ブロックがハードウェアのみ、ソフトウェアのみ、またはそれらの組合せによっていろいろな形で実現できることは当業者には理解されるところであり、いずれかに限定されるものではない。
 実施例において、サーバ装置12は、情報処理装置10から、現実空間におけるユーザを撮影した撮影画像を受け取り、仮想空間における仮想オブジェクトをユーザの動きに合わせて動かす画像を生成する。たとえば、ユーザが両手を挙げて万歳をすると、サーバ装置12は、仮想空間において仮想オブジェクトを両手を挙げて万歳をするように動作させる。サーバ装置12は、生成した画像を情報処理装置10に送信し、情報処理装置10は、画像をHMD100に送信して、表示パネル130に表示させる。
 このときユーザが万歳をしたタイミングと、表示パネル130に表示される仮想オブジェクトが万歳をしたタイミングとが一致していなければ、仮想オブジェクトがユーザと同じ動きをしているという体感を劣化させる。また動作によっては、ユーザの画像酔いを引き起こす原因となる。
 情報処理システム1においては、情報処理装置10が、ユーザを撮影した画像をネットワーク2を介してサーバ装置12に送信し、サーバ装置12が、撮影画像をもとにHMD100で表示する画像を生成して、ネットワーク2を介して情報処理装置10に送信し、情報処理装置10が表示画像をHMD100に提供する。この一連の流れは、撮影画像の取得や画像処理に関する処理系と、ネットワーク2を介して画像を伝送する伝送系とに分けられるが、処理系および伝送系のそれぞれで時間を要する。
 ユーザを撮影してから、その撮影した画像にもとづいて生成された画像がHMD100に表示されるまでにかかる時間を「遅延時間」と定義する。万歳をしたユーザを撮影して、その撮影画像にもとづいて仮想オブジェクトが万歳した表示画像を生成してHMD100に表示させると、ユーザが万歳したタイミングと、HMD100で仮想オブジェクトが万歳するタイミングは、遅延時間分のずれが生じることになる。
 そこでユーザが万歳するタイミングでHMD100で仮想オブジェクトを万歳させるためには、サーバ装置12は、時系列的に取得した撮影画像からユーザがこれから万歳することを予測して、ユーザが万歳する前に、仮想オブジェクトが万歳している予測画像を生成する必要がある。つまりサーバ装置12は、画像を生成する前に、情報処理システム1における遅延時間を把握しておき、ユーザが万歳をするタイミングよりも遅延時間分だけ前に撮影された画像にもとづいて、仮想オブジェクトが万歳した予測画像を生成する。これによりユーザが実際に万歳したタイミングで、HMD100に表示される仮想オブジェクトも万歳し、実世界と仮想世界とを同期させることが可能となる。
 上記したように情報処理システム1における遅延時間は、画像の処理系における遅延時間と、画像の伝送系における遅延時間とに区別できる。処理系にかかる時間はデバイス能力に依存するところが大きく、一度計測することでほぼ固定値として使用できる。一方で伝送系にかかる時間はネットワーク2の状態に依存し、変動しやすい。そこで情報処理装置10は定期的に遅延時間を計測し、計測した最新の遅延時間、つまり信頼性の高い遅延時間をサーバ装置12に提供することが好ましい。
 位置データ取得部200は、現実の物体の位置を示す位置データを取得する。物体の位置データは現実空間における3次元位置データであってよいが、2次元空間の位置データであってもよい。いずれにしても位置データは、その時系列から、サーバ装置12が物体の過去の動きを特定して、物体の未来の動きを予測できるものである必要がある。
 実施例の位置データ取得部200は、撮像装置14により撮影された画像データを取得する撮影画像取得部であって、撮影画像には、現実の空間における物体の位置データが含まれている。上記したように撮影画像に含まれる物体の位置データは、サーバ装置12において、物体の動作予測を行うためのデータとして利用可能であればよい。ここで物体の位置とは、物体におけるパーツの位置や、また輪郭の位置などを含む。位置データ取得部200は、物体の変位を検出する変位センサの検出データを取得してもよく、また赤外線センサの検出データを取得してもよく、これらのデータを複合的に取得してもよい。なお実施例で、動作予測の対象となる物体は人間であり、位置データ取得部200は、ユーザの位置データを取得するが、動作予測の対象となる物体は、猫や犬などの動物であってもよく、また車やボールなどの物であってもよい。サーバ装置12は、時系列的に撮影された撮影画像に含まれるユーザの位置からユーザの動きを特定して、未来のユーザの動きを予測し、未来のユーザの位置(姿勢)に対応する仮想オブジェクトを含む画像を生成する。
 視線方向決定部220は、HMD100のモーションデータに応じてユーザの視線方向を定める。具体的に視線方向決定部220は、モーションセンサ124のセンサデータから、HMD100の動きの変化を検出して、HMD100の姿勢を定める。なお視線方向決定部220は、トラッキング用のマーカ110の撮影結果をさらに利用して、動きの検出精度を高めることが好ましい。視線方向決定部220は、検出した動きから、現在のHMD100の姿勢を特定し、特定したHMD100からユーザの視線方向を求めて、データ供給部202に提供する。
 データ供給部202は、位置データ取得部200が取得した位置データ(実施例では撮影画像)、および視線方向決定部220が定めたユーザの視線方向を、通信部210を介してサーバ装置12の動作予測部300に供給する。通信部210は、位置データおよびユーザの視線方向を符号化してネットワーク2を介してサーバ装置12に送信し、サーバ装置12において通信部304は、符号化されたデータを受信して復号し、位置データを動作予測部300および画像生成部302に供給し、ユーザの視線方向を画像生成部302に供給する。動作予測部300は、供給された位置データの時系列、つまりこれまで時系列的に供給された撮影画像から、物体(ユーザ)の未来の動きを予測する。具体的に動作予測部300は、これまで供給された複数の撮影画像データの時系列から、ユーザの過去の動きを特定して、ユーザの未来の動きを予測する。
 人間の動作予測手法として、従来から様々なものが提案されている。一つの従来手法では、あらかじめ人間が行う様々な動作パターンを決定しておき、各動作パターンに特徴となる動作(予備動作含む)を経験的且つ統計的に抽出して、分類しておく。そこで実際に時系列的に得られた観測データを、分類した動作に当てはめ、適合した動作から動作パターンを特定して、未来の動作として予測する。そのため各動作パターンに適合する状態予測モデルを複数用意し、観測データとの尤度を比較して、適切な状態予測モデルを選択することで、精度の高い人間の動作予測を行うことができる。たとえば「万歳」の動作パターンに対しては、両手を開くことなく、そのまま上に持ち上げる動作や、両手を左右に均等に開きながら持ち上げる動作などが、状態予測モデルとして用意されていてよい。
 動作予測部300は、時系列的に取得された撮影画像データから、ユーザの動きを抽出して動作パターンを特定し、適合する状態予測モデルを選択する。これにより動作予測部300は、未来のユーザの動きを予測でき、現時点から任意の時間だけ未来のユーザの位置(姿勢)を特定できる。なお動作予測部300は、過去のユーザの姿勢変化を線形補外して未来の姿勢を予測する手法を併用してもよく、また他の手法を利用してもよい。
 実施例で動作予測部300は、情報処理装置10で導出された遅延時間を取得する。動作予測部300は、供給された撮影画像データにもとづいて、ユーザの動きを予測して、遅延時間以上未来のユーザの位置(姿勢)を特定する。ここで特定するユーザの姿勢を、遅延時間以上未来のユーザの姿勢としているが、理想的には遅延時間だけ未来のユーザの姿勢であり、実際には遅延時間よりも少しだけ未来のユーザの姿勢であってよい。動作予測部300が、ユーザの動きを予測して未来のユーザの位置を特定すると、画像生成部302が、予測したユーザの未来の位置を反映した予測画像を生成する。具体的に画像生成部302は、仮想3次元空間において、仮想オブジェクトの動きが、動作予測部300で予測したユーザの動きとなるように、仮想オブジェクトを動作させて遅延時間だけ未来の仮想オブジェクトの位置(姿勢)を特定する。仮想オブジェクトは、ボーンデータと、ボーンの周囲にメッシュを貼り付けた人体モデルによって形成されてよいが、これに限るものではなく、3次元人体モデルとして任意の姿勢をとることができるものであればよい。画像生成部302は、仮想3次元空間に、ユーザの視線方向を光軸とする仮想カメラを配置し、仮想オブジェクトを撮影することで、HMD100に表示する仮想3次元空間の予測画像を生成する。
 通信部304は、画像生成部302が生成した予測画像を符号化して、ネットワーク2を介して情報処理装置10に送信し、情報処理装置10において通信部210は、符号化されたデータを受信して復号し、復号した予測画像を表示画像提供部204に供給する。表示画像提供部204は予測画像を取得して、HMD100に提供し、制御部120が、予測画像を表示パネル130に表示する。
 以下、遅延時間を導出する手法について説明する。遅延時間は、動作予測部300が予測する未来の時間を定めるものであり、動作予測部300が動作予測処理を行う前に、導出されている必要がある。一方で、上記したようにネットワーク2の状態に応じて遅延時間は変動するため、遅延時間の導出は高頻度に実施されて、ネットワーク2の状態変化に対応することが好ましい。
 以下、遅延導出部206が、過去に遅延時間を導出して保持している前提のもとで、新たに遅延時間を導出することについて説明する。遅延導出部206は、位置データ取得部200が位置データを取得するタイミングから、当該位置データにもとづいて予測された未来のユーザの位置を反映した予測画像を表示画像提供部204がHMD100に提供するタイミングまでの間の時間を含む遅延時間を導出する。
 遅延時間の導出処理を開始するにあたり、発光指示部208が、HMD100に、発光部112の発光指示を供給する。このとき発光指示部208は、発光指示を供給した時刻情報を遅延導出部206に提供する。
 HMD100において、通信制御部128が発光指示を取得すると、制御部120が発光部112をインパルス型発光させる。発光部112によるインパルス型発光は、撮像装置14により撮影されて、位置データ取得部200は、発光部112の発光を撮影した撮影画像を取得する。
 データ供給部202は、遅延導出部206により過去に導出された遅延時間を保持している。データ供給部202は、位置データ取得部200が取得した撮影画像を、ユーザの視線方向、遅延時間とともに、通信部210からサーバ装置12に供給する。この遅延時間は、今回送信する撮影画像が位置データ取得部200に取得されるより前に遅延導出部206によって導出された遅延時間である。
 通信部210は、撮影画像、視線方向および遅延時間を符号化してネットワーク2を介してサーバ装置12に送信する。サーバ装置12において通信部304は、撮影画像、視線方向および遅延時間を受信して復号し、撮影画像および遅延時間を動作予測部300に供給し、撮影画像および視線方向を画像生成部302に供給する。動作予測部300は、今回供給された撮影画像および過去に供給された撮影画像の時系列から、遅延時間だけ未来(ないしは遅延時間よりも少し先の未来)のユーザの位置(姿勢)を予測する。画像生成部302は、動作予測部300が予測したユーザの動きにもとづいて、未来のユーザの位置を仮想オブジェクトの位置に反映した予測画像を生成する。
 画像生成部302は、通信部304から供給される撮影画像を解析して、発光部112の発光が撮影されているか否かを判定する。画像生成部302は、発光部112の発光色を予め通知されており、撮影画像に含まれるHMD100の領域に、通知された発光色画像が含まれていれば、発光部112の発光が撮影されていることを判定する。画像生成部302は、撮影画像に発光部112の発光が撮影されていることを判定すると、生成する予測画像に、発光部112の発光を撮影した画像にもとづいて生成した画像であることを示す情報を埋め込む。
 この情報は、どのような手法で埋め込まれてもよく、たとえば画像生成部302は、HMD100の発光部112に対応する仮想オブジェクトの位置(つまり仮想オブジェクトの額の位置あたり)に、発光部112の発光色と同色のポイント画像を含める。なお画像生成部302はメタデータに、発光部112の発光を撮影した画像にもとづいて生成した画像であることを示す情報を埋め込んでもよい。いずれにしても、この情報は、情報処理装置10において、発光部112の発光を撮影した画像にもとづいて生成された予測画像であることが特定されるように埋め込まれていればよい。
 なお発光部112が多色発光可能であって、発光指示部208が発光色を指示して、発光部112が指示された色で発光する場合には、画像生成部302は、予測画像に、発光部112の発光を撮影した画像にもとづいて生成した画像であること、および発光部112の発光色を示す情報を埋め込んでよい。
 通信部304は、画像生成部302が生成した予測画像を符号化して、ネットワーク2を介して情報処理装置10に送信し、情報処理装置10において通信部210は、予測画像を受信して復号し、表示画像提供部204に供給する。表示画像提供部204は、予測画像をHMD100および遅延導出部206に提供する。HMD100は、予測画像を表示パネル130に表示する。ユーザの動作と、表示パネル130に表示される仮想オブジェクトの動作とは理想的には完全に同期する。
 遅延導出部206は、予測画像に、発光部112の発光を撮影した画像にもとづいて生成した画像であることを示す情報が埋め込まれているか判断する。かかる情報が埋め込まれている場合、遅延導出部206は、発光指示部208が発光指示をHMD100に供給した時刻と、表示画像提供部204が予測画像をHMD100に提供した時刻との差分を、遅延時間として導出する。この2つの時刻の差分は、位置データ取得部200が位置データを取得するタイミングから、当該位置データにもとづいて生成された予測画像を表示画像提供部204がHMD100に胎教するタイミングまでの間の時間を含む。
 なお実施例では、遅延導出部206が、発光指示部208が発光指示をHMD100に供給した時刻を用いて遅延時間を導出しているが、位置データ取得部200が位置データを取得した時刻を用いて遅延時間を導出してもよい。この場合は、位置データ取得部200が位置データを取得すると、その取得時刻を遅延導出部206に通知しておけばよい。
 遅延導出部206は遅延時間を導出すると、導出した新たな遅延時間を、過去に導出した遅延時間と置き換え、データ供給部202に提供する。データ供給部202は、新たに導出された遅延時間で、古い遅延時間を上書き更新する。データ供給部202は、位置データ取得部200が取得した位置データを、保持している遅延時間とともに、通信部210からサーバ装置12に送信する。これにより動作予測部300は、取得した位置データから、遅延時間後のユーザの現実空間における位置を予測できるようになる。発光指示部208は、定期的に発光指示をHMD100に供給し、遅延導出部206が、定期的に遅延時間を導出することが好ましい。
 なお遅延導出部206は、発光部112の発光を利用した上記手法により、全体の遅延時間を導出してよいが、処理系の遅延時間と伝送系の遅延時間とを区別して導出してもよい。実施例で処理系の遅延時間とは、撮像装置14による撮像処理、位置データ取得部200における撮影画像の取得処理、通信部210および通信部304による符号化処理、復号処理、動作予測部300による動作予測処理、画像生成部302における画像生成処理などの処理にかかる時間の総和である。これらの処理時間は、情報処理装置10およびサーバ装置12のデバイス能力に依存し、過剰な負荷がかかっていない状態では、ほぼ変化しない。そこで遅延導出部206は、処理系の遅延時間を事前に一回求めておき、以後は固定値として利用してよい。
 一方で、伝送系の遅延時間は、ネットワーク2の状況に応じて変化しやすい。そこで遅延導出部206は、通信部210および通信部304の間のラウンドトリップタイムを定期的に計測して、伝送系の遅延時間を導出してもよい。全体の遅延時間は、処理系の遅延時間と伝送系の遅延時間とを加算することで求められ、遅延導出部206は、定期的に伝送系の遅延時間を導出して、全体の遅延時間をデータ供給部202に提供してもよい。なお遅延導出部206はタイムスタンプを用いて遅延時間を導出してもよく、遅延時間の導出手法は、いずれかの手法に限定されるものではない。たとえば遅延導出部206は、過去に計測された複数の遅延時間を用いて外挿法によって遅延時間を導出してもよく、またネットワークのトラフィック状況をシミュレーションにより推測することで、現在の遅延時間を推定してもよい。
 上記した例では、動作予測部300が、時系列的に供給される撮影画像から、遅延時間だけ未来のユーザの位置(姿勢)を予測して、画像生成部302が、ユーザの視線方向を光軸とする仮想カメラを3次元仮想空間に配置することで、予測画像を生成した。遅延導出部206が、高頻度に遅延時間を導出することで、ユーザの動きと、HMD100に表示される仮想オブジェクトの動きとを同期させることが可能となる。
 図5は、遅延時間を説明するための図である。ここで図5に示した時間の間隔(tn~tn+1)は1/30秒であるものとする。そのため時刻tn~時刻tn+6の間隔は6/30秒である。
 図5に示す例では、時刻tnで撮像装置14がユーザを撮影し、情報処理装置10が撮影画像をサーバ装置12に送信して、時刻tn+3でサーバ装置12が、撮影画像を受信する。その後、サーバ装置12において、ユーザ動作の予測処理が実施されて、遅延時間だけ未来のユーザの動きを仮想オブジェクトの姿勢に反映した予測画像が生成されて、情報処理装置10に送信される。情報処理装置10は予測画像を受信し、HMD100に送信する。この例では、時刻tn+6で、HMD100が予測画像を受信し、表示する。なお時刻tn~時刻tn+6の間隔は、実際の遅延時間であり、この例では0.2秒(=6/30秒)である。
 図5に示すように、情報処理装置10からサーバ装置12には、時刻tn以降も、1/30秒の周期で撮影画像が送信される。この例では、サーバ装置12で生成された予測画像が、情報処理装置10において1/30秒の周期で受信されている。つまりネットワーク2が安定した状態にあって、遅延時間が一定に保たれている。このように遅延時間に変動がなければ、動作予測部300は、取得した撮影画像から、0.2秒後のユーザの姿勢を予測し、画像生成部302が、仮想オブジェクトの姿勢を、予測されたユーザの姿勢に合わせた予測画像を生成すればよい。
 しかしながら、ネットワーク2に瞬間的に大きな負荷が発生したような場合には、予測画像が情報処理装置10に届くのに、設定された遅延時間(0.2秒)を超えることがある。このような場合に対処するために、画像生成部302は、遅延時間だけ未来の予測画像(「第1予測画像」と呼ぶ)に加えて、第1予測画像よりもさらに未来の第2予測画像を生成してもよい。
 図5を参照して、画像生成部302は、時刻tnで撮影された撮影画像を用いて、遅延時間だけ未来の第1予測画像、つまり時刻tn+6のユーザの予測される姿勢を仮想オブジェクトの姿勢に反映させた画像を生成するが、さらに時刻tn+7の第2予測画像を生成してもよく、さらには時刻tn+8の第3予測画像を生成してもよい。
 このように画像生成部302は、遅延時間だけ未来の第1予測画像に加えて、遅延時間にHMD100における表示周期の整数倍を加えた時間だけ未来の第2予測画像、第3予測画像を生成してもよい。この例では、画像生成部302が時刻tnに撮影された撮影画像を用いて、時刻tn+6の第1予測画像と、時刻tn+7の第2予測画像と、時刻tn+8の第3予測画像とを生成する。これにより画像生成部302が時刻tn+1に撮影された撮影画像を用いて生成した時刻tn+7の予測画像が、時刻tn+7までに表示画像提供部204に届かない場合には、表示画像提供部204が、その前に取得している時刻tn+7の第2予測画像をHMD100に提供する。これによりHMD100における表示画像を途切れさせないように制御できる。
 なお表示画像提供部204が予測画像をもとに、ある程度の画像処理(画像変形)を行うことができてもよい。表示画像提供部204が画像処理機能を有している場合、画像生成部302は、時刻tn+6と時刻tn+7の間の予測画像を生成してもよく、時刻tn+6より前の予測画像を生成してもよい。表示画像提供部204は、仮に時刻tn+7の予測画像が届かない場合には、時刻tn+6と時刻tn+7の間の予測画像から、時刻tn+7の画像を生成して、HMD100に提供してよい。
 以上、本発明を実施例をもとに説明した。実施例は例示であり、それらの各構成要素や各処理プロセスの組合せにいろいろな変形例が可能なこと、またそうした変形例も本発明の範囲にあることは当業者に理解されるところである。実施例では動作予測部300が、ユーザの過去の動きから、ユーザの未来の動きを予測したが、さらに仮想空間におけるオブジェクトの動きを予測してもよい。この場合、動作予測部300は物理エンジンの演算機能を有し、たとえば仮想空間において、ユーザに対応する仮想オブジェクトの動きに対して、ボールなどの仮想オブジェクトとの衝突判定処理を実施してもよい。動作予測部300は、両者が衝突することを判定すると、衝突データを通信部304から情報処理装置10に送信してもよい。衝突データは、ユーザが装着するハプティクスデバイスに伝えられ、ハプティクスデバイスは、ユーザに衝突データにもとづいた触覚フィードバックを提供してよい。
 実施例では、情報処理システム1において、1台の情報処理装置10がクライアント装置として存在していたが、変形例では、複数台の情報処理装置10がクライアント装置として存在していてよい。
 図6は、クライアント装置Aとクライアント装置Bとが存在する例を示す。図5と同様に、時間の間隔は、1/30秒である。クライアント装置A、Bは、異なるユーザA、ユーザBの情報処理装置10であってよい。これは、図1を参照すると、2台の情報処理装置10がネットワーク2に接続している状態に相当する。ここではユーザAとユーザBとが同じ仮想空間内でテニスゲームをプレイするような状況を想定している。サーバ装置12は、ユーザAの動きとユーザBの動きとが、ゲーム空間におけるそれぞれのプレイヤキャラクタの動きに同期させるように、予測画像を生成することが好ましい。
 クライアント装置Aにおいて、データ供給部202は、ユーザAの位置データを、遅延導出部206により導出された第1遅延時間とともに、サーバ装置12の動作予測部300に供給する。第1遅延時間は0.2秒である。
 クライアント装置Bにおいて、データ供給部202は、ユーザBの位置データを、遅延導出部206により導出された第2遅延時間とともに、サーバ装置12の動作予測部300に供給する。第2遅延時間は0.4秒である。
 サーバ装置12は、時刻tn+6のタイミングで、クライアント装置Aから時刻tn+3で撮影されたユーザAの撮影画像を取得し、クライアント装置Bから時刻tnで撮影されたユーザBの撮影画像を取得する。サーバ装置12は、クライアント装置A、Bのそれぞれの遅延時間に配慮して、クライアント装置A用の予測画像と、クライアント装置B用の予測画像とを生成する。なお、この例では、クライアント装置から送信される撮影画像に、撮影時刻を示すタイムスタンプが含まれているものとする。
 動作予測部300は、クライアント装置A用に、ユーザAの撮影画像とユーザBの撮影画像をもとに、ユーザAの撮影画像の取得時刻(時刻tn+3)から第1遅延時間だけ未来となる時刻tn+9におけるユーザAとユーザBの位置(姿勢)を予測する。図6に示す例では、動作予測部300は、ユーザAについて、0.2秒(=時刻tn+9-時刻tn+3)後の姿勢を予測し、ユーザBについて、0.3秒(=時刻tn+9-時刻tn)後の姿勢を予測する。画像生成部302は、動作予測部300が予測したユーザAおよびユーザBの未来の位置を反映した予測画像を生成する。この予測画像は、クライアント装置Aに送信される。
 また動作予測部300は、クライアント装置B用に、ユーザAの撮影画像とユーザBの撮影画像をもとに、ユーザBの撮影画像の取得時刻(時刻tn)から第2遅延時間だけ未来となる時刻tn+12におけるユーザAとユーザBの位置(姿勢)を予測する。図6に示す例では、動作予測部300は、ユーザAについて、0.3秒(=時刻tn+12-時刻tn+3)後の姿勢を予測し、ユーザBについて、0.4秒(=時刻tn+12-時刻tn)後の姿勢を予測する。画像生成部302は、動作予測部300が予測したユーザAおよびユーザBの未来の位置を反映した予測画像を生成する。この予測画像は、クライアント装置Bに送信される。
 以上のようにして、サーバ装置12は、複数のクライアント装置における見た目上の遅延を遮蔽するように、ユーザの動作予測処理を実施してよい。
 なおユーザAとユーザBとがテニスゲームで対戦プレイする場合を考える。いずれか一方の遅延時間が大きい場合や、両者の遅延時間の差が大きい場合には、動作予測部300における動作予測処理が、かなり厳しくなることが予想される。そのためサーバ装置12において、画像生成部302は、以下のような画像生成処理を実施してもよい。
 一つの手法として、動作予測部300は、ユーザA、Bの動作予測を行いつつ、画像生成部302は、ユーザA、Bのそれぞれのプレイヤキャラクタを、基本的には動作予測結果とは無関係に動作させる。具体的に画像生成部302は、プレイヤキャラクタ同士がラリーを続けるようなシミュレーション画像を生成し、それぞれのクライアント装置A、Bに提供する。ユーザA、Bは、このゲーム画像をみてテニスをプレイするが、ここでサーバ装置12において、ユーザBのミスショットが検出されると、画像生成部302は、ユーザBのキャラクタがミスショットしたゲーム画像を生成して、クライアント装置A、Bに提供する。
 別の手法として、対戦プレイの勝敗に直接的な影響を及ぼすオブジェクト(ここではテニスボール)のスピードをコントロールすることで、遅延時間が大きい場合のゲーム性を維持する。遅延時間が大きい場合、テニスボールを速く動かすと、ユーザA、Bに対して同じゲーム状況を伝達することが困難となる。そのためテニスボールを、非常にゆっくりとしたスピードで動かすことで、ユーザA、Bに同じゲーム状況を伝達する時間を確保するようにゲームをコントロールする。この場合、画像生成部302は、動作予測部300により予測された結果に応じて、各プレイヤキャラクタを動かすように制御してもよいが、ゲーム性を左右するボールについては、ユーザA、Bに同じゲーム状況を伝達するためにゆっくりと動かすように制御する。
1・・・情報処理システム、10・・・情報処理装置、12・・・サーバ装置、14・・・撮像装置、16・・・出力装置、100・・・HMD、200・・・位置データ取得部、202・・・データ供給部、204・・・表示画像提供部、206・・・遅延導出部、208・・・発光指示部、210・・・通信部、220・・・視線方向決定部、300・・・動作予測部、302・・・画像生成部、304・・・通信部。
 本発明は、現実の物体の動きを反映した画像を生成、表示する技術分野に利用できる。

Claims (11)

  1.  ディスプレイに提供する画像を生成する情報処理システムであって、
     現実の物体の位置を示す位置データを取得する位置データ取得部と、
     当該情報処理システムにおける遅延時間を導出する遅延導出部と、
     前記位置データ取得部が取得した前記位置データにもとづいて、当該物体の動きを予測して、遅延時間以上未来の物体の位置を特定する動作予測部と、
     未来の物体の位置を反映した予測画像を生成する画像生成部と、
     生成された予測画像を取得して、ディスプレイに提供する表示画像提供部と、を備え、
     前記遅延導出部は、前記位置データ取得部が位置データを取得するタイミングから、当該位置データにもとづいて予測された未来の物体の位置を反映した予測画像を前記表示画像提供部がディスプレイに提供するタイミングまでの間の時間を含む遅延時間を導出する、
     ことを特徴とする情報処理システム。
  2.  前記位置データ取得部が取得した位置データを、前記動作予測部に供給するデータ供給部をさらに備え、
     前記データ供給部は、位置データを、当該位置データが取得されるより前に前記遅延導出部により導出された遅延時間とともに、前記動作予測部に供給する、
     ことを特徴とする請求項1に記載の情報処理システム。
  3.  当該情報処理システムは、ネットワークを介して接続するクライアント装置とサーバ装置を備え、
     前記位置データ取得部、前記データ供給部および前記表示画像提供部は、前記クライアント装置に設けられ、
     前記動作予測部および前記画像生成部は、前記サーバ装置に設けられる、
     ことを特徴とする請求項2に記載の情報処理システム。
  4.  前記動作予測部は、仮想空間における仮想オブジェクトと前記物体との衝突判定処理を実施し、両者が衝突することを判定すると、衝突データを前記クライアント装置に送信する、
     ことを特徴とする請求項3に記載の情報処理システム。
  5.  当該情報処理システムは、第1クライアント装置および第2クライアント装置を備え、
     前記第1クライアント装置において、前記データ供給部は、第1物体の位置データを、前記遅延導出部により導出された第1遅延時間とともに、前記サーバ装置の前記動作予測部に供給し、
     前記第2クライアント装置において、前記データ供給部は、第2物体の位置データを、前記遅延導出部により導出された第2遅延時間とともに、前記サーバ装置の前記動作予測部に供給し、
     前記サーバ装置において、
     前記動作予測部は、前記第1クライアント装置用に、第1物体の位置データおよび第2物体の位置データから、前記第1クライアント装置における第1物体の位置データの取得時刻から第1遅延時間だけ未来の時刻の第1物体および第2物体の位置を予測し、前記画像生成部は、前記動作予測部が予測した第1物体および第2物体の未来の位置を反映した予測画像を生成し、
     前記動作予測部は、前記第2クライアント装置用に、第1物体の位置データおよび第2物体の位置データから、前記第2クライアント装置における第2物体の位置データの取得時刻から第2遅延時間だけ未来の時刻の第1物体および第2物体の位置を予測し、前記画像生成部は、前記動作予測部が予測した第1物体および第2物体の未来の位置を反映した予測画像を生成する、
     ことを特徴とする請求項3または4に記載の情報処理システム。
  6.  現実の物体の位置を示す位置データを取得する位置データ取得部と、
     遅延時間を導出する遅延導出部と、
     サーバ装置が位置データにもとづいて当該物体の動きを予測して、遅延時間以上未来の物体の位置を反映するように生成した予測画像を取得して、ディスプレイに提供する表示画像提供部と、を備える、
     ことを特徴とする情報処理装置。
  7.  現実の物体の位置を示す位置データを取得するステップと、
     遅延時間を導出するステップと、
     サーバ装置が位置データにもとづいて当該物体の動きを予測して、遅延時間以上未来の物体の位置を反映するように生成した予測画像を取得して、ディスプレイに提供するステップと、を有する、
     ことを特徴とする画像提供方法。
  8.  コンピュータに、
     現実の物体の位置を示す位置データを取得する機能と、
     遅延時間を導出する機能と、
     サーバ装置が位置データにもとづいて当該物体の動きを予測して、遅延時間以上未来の物体の位置を反映するように生成した予測画像を取得して、ディスプレイに提供する機能と、
     を実現させるためのプログラム。
  9.  情報処理装置から現実の物体の位置を示す位置データと遅延時間とを取得して、当該物体の動きを予測して、遅延時間以上未来の物体の位置を特定する動作予測部と、
     未来の物体の位置を反映した予測画像を生成する画像生成部と、を備える、
     ことを特徴とするサーバ装置。
  10.  情報処理装置から現実の物体の位置を示す位置データと遅延時間とを取得して、当該物体の動きを予測して、遅延時間以上未来の物体の位置を特定するステップと、
     未来の物体の位置を反映した予測画像を生成するステップと、を有する、
     ことを特徴とする画像生成方法。
  11.  コンピュータに、
     情報処理装置から現実の物体の位置を示す位置データと遅延時間とを取得して、当該物体の動きを予測して、遅延時間以上未来の物体の位置を特定する機能と、
     未来の物体の位置を反映した予測画像を生成する機能と、
     を実現させるためのプログラム。
PCT/JP2017/021139 2017-06-07 2017-06-07 情報処理システム、情報処理装置、サーバ装置、画像提供方法および画像生成方法 WO2018225187A1 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
US16/615,251 US11158101B2 (en) 2017-06-07 2017-06-07 Information processing system, information processing device, server device, image providing method and image generation method
PCT/JP2017/021139 WO2018225187A1 (ja) 2017-06-07 2017-06-07 情報処理システム、情報処理装置、サーバ装置、画像提供方法および画像生成方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2017/021139 WO2018225187A1 (ja) 2017-06-07 2017-06-07 情報処理システム、情報処理装置、サーバ装置、画像提供方法および画像生成方法

Publications (1)

Publication Number Publication Date
WO2018225187A1 true WO2018225187A1 (ja) 2018-12-13

Family

ID=64566559

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2017/021139 WO2018225187A1 (ja) 2017-06-07 2017-06-07 情報処理システム、情報処理装置、サーバ装置、画像提供方法および画像生成方法

Country Status (2)

Country Link
US (1) US11158101B2 (ja)
WO (1) WO2018225187A1 (ja)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20210286982A1 (en) * 2019-09-26 2021-09-16 Panasonic Intellectual Property Corporation Of America Information processing method, recording medium, and information processing device
WO2022003966A1 (ja) * 2020-07-03 2022-01-06 日本電信電話株式会社 遠隔レンダリングシステム、画像処理方法、サーバ装置及びプログラム
EP3975542A4 (en) * 2019-05-21 2022-07-06 Sony Group Corporation IMAGE PROCESSING DEVICE, IMAGE PROCESSING METHOD AND PROGRAM
WO2024034336A1 (ja) * 2022-08-09 2024-02-15 ソニーグループ株式会社 情報処理装置、情報処理方法およびプログラム

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2020078354A1 (zh) * 2018-10-16 2020-04-23 北京凌宇智控科技有限公司 视频串流系统、视频串流方法及装置
WO2020194957A1 (ja) * 2019-03-25 2020-10-01 株式会社ソニー・インタラクティブエンタテインメント 画像送受信システム、画像送信装置、画像受信装置、画像送受信方法及びプログラム
CN112486326B (zh) * 2020-12-14 2022-05-17 安徽鸿程光电有限公司 手势控制运动的位置坐标预测方法、智能终端及介质
US11659043B1 (en) 2022-01-27 2023-05-23 Meta Platforms Technologies, Llc Systems and methods for predictively downloading volumetric data

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH09307883A (ja) * 1996-05-10 1997-11-28 Nippon Telegr & Teleph Corp <Ntt> 被写体追跡方法及び装置並びにそれを用いた画像表示装置
JP2006060309A (ja) * 2004-08-17 2006-03-02 Adc Technology Kk 表示装置
WO2014034059A1 (ja) * 2012-08-28 2014-03-06 日本電気株式会社 操作情報制御装置、操作情報制御方法、および操作情報制御プログラム
JP2015212946A (ja) * 2014-05-05 2015-11-26 イマージョン コーポレーションImmersion Corporation ビューポートベースの拡張現実感触覚効果のためのシステムおよび方法
WO2016017245A1 (ja) * 2014-07-31 2016-02-04 ソニー株式会社 情報処理装置及び情報処理方法、並びに画像表示システム
JP2016218916A (ja) * 2015-05-25 2016-12-22 キヤノン株式会社 情報処理装置、情報処理方法、及びプログラム
US20170053456A1 (en) * 2015-08-19 2017-02-23 Electronics And Telecommunications Research Institute Method and apparatus for augmented-reality rendering on mirror display based on motion of augmented-reality target
WO2017047178A1 (ja) * 2015-09-16 2017-03-23 ソニー株式会社 情報処理装置、情報処理方法及びプログラム

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2015098292A1 (ja) 2013-12-25 2015-07-02 ソニー株式会社 画像処理装置及び画像処理方法、コンピューター・プログラム、並びに画像表示システム
US10113877B1 (en) * 2015-09-11 2018-10-30 Philip Raymond Schaefer System and method for providing directional information
US9832451B2 (en) * 2015-11-17 2017-11-28 Survios, Inc. Methods for reduced-bandwidth wireless 3D video transmission
US10310266B2 (en) * 2016-02-10 2019-06-04 Advanced Micro Devices, Inc. Method and system for streaming information in wireless virtual reality
US11017712B2 (en) * 2016-08-12 2021-05-25 Intel Corporation Optimized display image rendering
US20180210628A1 (en) * 2017-01-23 2018-07-26 Snap Inc. Three-dimensional interaction system
US10503572B2 (en) * 2017-04-18 2019-12-10 Sap Se Hybrid remote controller
US10726765B2 (en) * 2018-02-15 2020-07-28 Valve Corporation Using tracking of display device to control image display

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH09307883A (ja) * 1996-05-10 1997-11-28 Nippon Telegr & Teleph Corp <Ntt> 被写体追跡方法及び装置並びにそれを用いた画像表示装置
JP2006060309A (ja) * 2004-08-17 2006-03-02 Adc Technology Kk 表示装置
WO2014034059A1 (ja) * 2012-08-28 2014-03-06 日本電気株式会社 操作情報制御装置、操作情報制御方法、および操作情報制御プログラム
JP2015212946A (ja) * 2014-05-05 2015-11-26 イマージョン コーポレーションImmersion Corporation ビューポートベースの拡張現実感触覚効果のためのシステムおよび方法
WO2016017245A1 (ja) * 2014-07-31 2016-02-04 ソニー株式会社 情報処理装置及び情報処理方法、並びに画像表示システム
JP2016218916A (ja) * 2015-05-25 2016-12-22 キヤノン株式会社 情報処理装置、情報処理方法、及びプログラム
US20170053456A1 (en) * 2015-08-19 2017-02-23 Electronics And Telecommunications Research Institute Method and apparatus for augmented-reality rendering on mirror display based on motion of augmented-reality target
WO2017047178A1 (ja) * 2015-09-16 2017-03-23 ソニー株式会社 情報処理装置、情報処理方法及びプログラム

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP3975542A4 (en) * 2019-05-21 2022-07-06 Sony Group Corporation IMAGE PROCESSING DEVICE, IMAGE PROCESSING METHOD AND PROGRAM
US20210286982A1 (en) * 2019-09-26 2021-09-16 Panasonic Intellectual Property Corporation Of America Information processing method, recording medium, and information processing device
US11776320B2 (en) * 2019-09-26 2023-10-03 Panasonic Intellectual Property Corporation Of America Information processing method of predicting calculation amount suitable for recognizing motion of object
WO2022003966A1 (ja) * 2020-07-03 2022-01-06 日本電信電話株式会社 遠隔レンダリングシステム、画像処理方法、サーバ装置及びプログラム
JPWO2022003966A1 (ja) * 2020-07-03 2022-01-06
JP7490772B2 (ja) 2020-07-03 2024-05-27 日本電信電話株式会社 遠隔レンダリングシステム、画像処理方法、サーバ装置及びプログラム
WO2024034336A1 (ja) * 2022-08-09 2024-02-15 ソニーグループ株式会社 情報処理装置、情報処理方法およびプログラム

Also Published As

Publication number Publication date
US11158101B2 (en) 2021-10-26
US20200126280A1 (en) 2020-04-23

Similar Documents

Publication Publication Date Title
WO2018225187A1 (ja) 情報処理システム、情報処理装置、サーバ装置、画像提供方法および画像生成方法
US11386629B2 (en) Cross reality system
JP7164630B2 (ja) 予測サッカード着地点に基づく動的グラフィックスレンダリング
TWI732194B (zh) 用於在hmd環境中利用傳至gpu之預測及後期更新的眼睛追蹤進行快速注視點渲染的方法及系統以及非暫時性電腦可讀媒體
CA2956508C (en) Method and system for reconstructing obstructed face portions for virtual reality environment
KR101965454B1 (ko) 가상 엔지니어링을 위한 시스템 및 방법
US20190018479A1 (en) Program for providing virtual space, information processing apparatus for executing the program, and method for providing virtual space
JP6807455B2 (ja) 情報処理装置および画像生成方法
US20180357817A1 (en) Information processing method, program, and computer
JP6615732B2 (ja) 情報処理装置および画像生成方法
JP2019087226A (ja) 情報処理装置、情報処理システムおよび表情画像出力方法
WO2022271415A1 (en) Body pose estimation using self-tracked controllers
JP6506454B1 (ja) データ差し替え装置、端末、およびデータ差し替えプログラム
EP3673348B1 (en) Data processing device, method and non-transitory machine-readable medium for detecting motion of the data processing device
JP2020181320A (ja) 情報処理装置およびデバイス情報導出方法
JPWO2020026443A1 (ja) 触覚表現用振動制御システム、触覚表現用振動発生装置、触覚表現用振動制御装置、および触覚表現用振動制御方法
JP2019036239A (ja) 情報処理方法、情報処理プログラム、情報処理システム及び情報処理装置
KR102044003B1 (ko) 영상 회의를 위한 전자 장치 및 그의 동작 방법
KR101802308B1 (ko) 실시간 사용자 시각에 대응되는 3차원 증강 현실 영상 시현 장치 및 복수의 사용자가 동시 참여하는 3차원 증강 현실 구현 시스템
TW201944365A (zh) 增強第一身視角體驗的方法
WO2018173206A1 (ja) 情報処理装置
KR101986808B1 (ko) 착용형 게임 장치
EP4227775A1 (en) System and method of head mounted display
JP2021131741A (ja) Ar表示制御装置及びそのプログラム、並びに、ar表示システム
JP2021002402A (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: 17912793

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 17912793

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: JP