WO2023135941A1 - 情報処理装置、および情報処理システム、並びに情報処理方法 - Google Patents

情報処理装置、および情報処理システム、並びに情報処理方法 Download PDF

Info

Publication number
WO2023135941A1
WO2023135941A1 PCT/JP2022/043224 JP2022043224W WO2023135941A1 WO 2023135941 A1 WO2023135941 A1 WO 2023135941A1 JP 2022043224 W JP2022043224 W JP 2022043224W WO 2023135941 A1 WO2023135941 A1 WO 2023135941A1
Authority
WO
WIPO (PCT)
Prior art keywords
user
posture
sensor detection
reflecting
processing
Prior art date
Application number
PCT/JP2022/043224
Other languages
English (en)
French (fr)
Inventor
健司 徳武
Original Assignee
ソニーグループ株式会社
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by ソニーグループ株式会社 filed Critical ソニーグループ株式会社
Publication of WO2023135941A1 publication Critical patent/WO2023135941A1/ja

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0481Interaction techniques based on graphical user interfaces [GUI] based on specific properties of the displayed interaction object or a metaphor-based environment, e.g. interaction with desktop elements like windows or icons, or assisted by a cursor's changing behaviour or appearance
    • G06F3/04815Interaction with a metaphor-based environment or interaction object displayed as three-dimensional, e.g. changing the user viewpoint with respect to the environment or object
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T19/00Manipulating 3D models or images for computer graphics

Definitions

  • the present disclosure relates to an information processing device, an information processing system, and an information processing method. More specifically, information processing that detects the movement of the user by sensors attached to each part of the user's body, such as the arms and legs, and generates and displays an avatar image that is the user's alter ego virtual character reflecting the user's movement.
  • the present invention relates to an apparatus, an information processing system, and an information processing method.
  • MR mixed reality
  • An example of the MR image is an image in which an avatar image, which is a virtual character, is superimposed on a background image composed of a real object.
  • an MR image is often used in which an avatar, which is a user's alter ego character, is superimposed as a CG image on a background image of an existing town or the like, and the avatar is moved in accordance with the user's movement.
  • the MR image is also used for a game in which, for example, user A's alter ego avatar a and user B's alter ego avatar b fight in the MR image.
  • Two users A and B are equipped with a plurality of motion sensors on their respective heads, arms, legs, etc., and the avatars a and b reflect the motions of the users A and B using the detection information of these sensors. Display as an image.
  • the avatars a and b in the MR image move in the same way as the users A and B, and the users A and B in distant positions feel as if they are actually fighting in one place. can be obtained.
  • Patent Document 1 Japanese Patent Application Laid-Open No. 2021-060627
  • Patent Document 2 Japanese Patent Application Laid-Open No. 2021-060627). 185500).
  • the user may decide the next move after seeing the movement of the avatar, which is the alter ego displayed in the image. It may become impossible to move as expected.
  • the present disclosure has been made in view of the above problems, for example, and is an information processing device that reduces the delay between the user's movement and the movement of a virtual character such as an avatar that is the user's alter ego, and generates an image that does not cause discomfort. and an information processing system and an information processing method.
  • a first aspect of the present disclosure includes: a posture estimation unit for estimating a user posture by inputting sensor detection values of motion sensors attached to multiple parts of a user's body; Having a sensor detection value selection unit that selectively acquires sensor detection values of parts moving faster than a specified threshold, outputting the user posture estimated by the posture estimation unit and the sensor detection value selected by the sensor detection value selection unit to an external device or a posture reflection 3D avatar image generation unit in an information processing device; In the information processing device, the posture-reflecting 3D avatar image generation unit outputs the user posture-reflecting 3D avatar image generated using the user posture and sensor detection values to the display unit.
  • a second aspect of the present disclosure is A user posture estimated based on a sensor detection value of a motion sensor attached to a part of a user's body, and a posture reflection 3D avatar that generates a user posture reflection 3D avatar image using the sensor detection value of the motion sensor.
  • the posture-reflecting 3D avatar image generation unit includes: performing an image modification process for reflecting a user part position estimated based on the sensor detection value on a posture-based avatar image generated based on the user posture, thereby generating the user posture reflecting three-dimensional avatar image; It is in the information processing device that generates it.
  • a third aspect of the present disclosure is An information processing system having a user terminal and a server
  • the user terminal is a posture estimation unit for estimating a user posture by inputting sensor detection values of motion sensors attached to multiple parts of a user's body; a sensor detection value selection unit that selectively acquires sensor detection values of parts moving faster than a prescribed threshold; a communication unit that transmits the user posture estimated by the posture estimation unit and the sensor detection value selected by the sensor detection value selection unit to the server;
  • the server is generating a user posture reflecting 3D avatar image using the user posture and sensor detection values received from the user terminal, and transmitting the generated user posture reflecting 3D avatar image to the user terminal;
  • the user terminal is The information processing device system outputs a user posture reflecting three-dimensional avatar image received from the server to a display unit.
  • a fourth aspect of the present disclosure is An information processing method executed in an information processing device, a posture estimation step in which the posture estimation unit estimates the user posture by inputting sensor detection values of motion sensors attached to multiple parts of the user's body; a sensor detection value selection step in which the sensor detection value selection unit selectively acquires sensor detection values of parts moving faster than a prescribed threshold value; a step of outputting the user posture estimated by the posture estimation unit and the sensor detection value selected by the sensor detection value selection unit to an external device or a posture reflection 3D avatar image generation unit in an information processing device; In the information processing method, the step of outputting, to a display unit, a user posture reflecting 3D avatar image generated by the posture reflecting 3D avatar image generation unit using the user posture and sensor detection values is provided.
  • a posture-reflecting 3D avatar image generation unit generates a user posture-reflecting 3D image using a user posture estimated based on sensor detection values of a motion sensor attached to a part of the user's body, and the sensor detection values of the motion sensor.
  • Execute posture-reflecting 3D avatar image generation processing for generating an avatar image The posture-reflecting 3D avatar image generation unit includes: performing an image modification process for reflecting a user part position estimated based on the sensor detection value on a posture-based avatar image generated based on the user posture, thereby generating the user posture reflecting three-dimensional avatar image; It is in the information processing method to generate.
  • a system is a logical collective configuration of a plurality of devices, and the devices of each configuration are not limited to being in the same housing.
  • an apparatus and method for generating and displaying a user posture reflecting 3D avatar image with little delay with respect to user movement are realized.
  • the user terminal inputs detection values of a motion sensor attached to the user's body to estimate the user's posture, selects sensor detection values of fast-moving parts, and transmits them to the server.
  • the server uses the user posture and sensor detection values to generate a user posture reflecting three-dimensional avatar image, and transmits the image to the user terminal.
  • the user terminal outputs the received user posture reflecting three-dimensional avatar image to the display unit.
  • the server modifies the avatar image based on the user posture to reflect the position of the user's part estimated based on the newer sensor detection values, thereby generating a user posture reflecting three-dimensional avatar image.
  • FIG. 1 is a diagram illustrating an outline of a configuration and processing of an information processing system or an information processing device to which processing of the present disclosure can be applied;
  • BRIEF DESCRIPTION OF THE DRAWINGS FIG. 1 is a diagram illustrating an outline of a configuration and processing of an information processing system or an information processing device to which processing of the present disclosure can be applied;
  • BRIEF DESCRIPTION OF THE DRAWINGS FIG. 1 is a diagram illustrating an outline of a configuration and processing of an information processing system or an information processing device to which processing of the present disclosure can be applied;
  • FIG. 1 is a diagram illustrating an outline of a configuration and processing of an information processing system or an information processing device to which processing of the present disclosure can be applied; BRIEF DESCRIPTION OF THE DRAWINGS
  • FIG. 1 is a diagram illustrating an outline of a configuration and processing of an information processing system or an information processing device to which processing of the present disclosure can be applied; It is a figure explaining the mounting example of the sensor with respect to a user.
  • FIG. 10 is a diagram illustrating a user's three-dimensional posture information generation process executed by a user terminal such as a smartphone or a PC;
  • FIG. 10 is a diagram illustrating details of user posture information generation processing based on sensor detection values;
  • FIG. 7 is a diagram illustrating a processing sequence for generating user posture information based on sensor detection values by a user terminal
  • FIG. 10 is a diagram illustrating a display example of an avatar image in which a delay with respect to user's movement has occurred
  • FIG. 10 is a diagram illustrating generation timing of user posture information generated by a user terminal based on sensor detection values, and output timing of sensor detection values output by a sensor worn by a user; It is a figure explaining an example of the processing which the information processor of this indication performs.
  • FIG. 11 is a diagram illustrating a processing example of selecting a sensor detection value to be transmitted to a server according to a user's movement;
  • FIG. 11 is a diagram illustrating a processing example of selecting a sensor detection value to be transmitted to a server according to a user's movement;
  • FIG. 10 is a diagram illustrating details of a process of generating a user posture reflecting avatar three-dimensional image using two types of information, user posture information and sensor detection information;
  • FIG. 10 is a diagram illustrating an example of avatar image generation and display processing to which the processing of the present disclosure is applied, that is, an example of avatar image generation and display processing using two types of information, user posture information and sensor detection information;
  • FIG. 10 is a sequence diagram illustrating a sequence of a processing example in which a user terminal selects sensor detection values to be transmitted;
  • FIG. 10 is a sequence diagram illustrating a sequence of a processing example in which a user terminal selects sensor detection values to be transmitted;
  • FIG. 10 is a diagram illustrating a specific example of processing for selecting a sensor detection value to be transmitted from the user terminal to the server;
  • FIG. 10 is a diagram illustrating a specific example of processing for selecting a sensor detection value to be transmitted from the user terminal to the server;
  • FIG. 10 is a diagram showing a flowchart describing a sequence of processing executed by a user terminal when the user terminal selects sensor detection values to be transmitted;
  • FIG. 10 is a sequence diagram illustrating a sequence of processing in which the server selects sensor detection values to be transmitted;
  • FIG. 10 is a sequence diagram illustrating a sequence of processing in which the server selects sensor detection values to be transmitted;
  • FIG. 10 is a sequence diagram illustrating a sequence of processing for changing the sampling period of the sensor worn by the user according to the moving speed of each part;
  • FIG. 10 is a sequence diagram illustrating a sequence of processing for changing the sampling period of the sensor worn by the user according to the moving speed of each part;
  • FIG. 10 is a diagram illustrating a processing example in which one user uses one user terminal to display and use one avatar of himself/herself on an MR image
  • FIG. 11 is a sequence diagram illustrating a sequence of a processing example of generating a user's posture-reflecting avatar three-dimensional image by processing of two user terminals and displaying the image on the MR glasses
  • FIG. 11 is a sequence diagram illustrating a sequence of a processing example of generating a user's posture-reflecting avatar three-dimensional image by processing of two user terminals and displaying the image on the MR glasses
  • FIG. 11 is a sequence diagram illustrating a sequence of a processing example of generating a user's posture-reflecting avatar three-dimensional image by processing of two user terminals and displaying the image on the MR glasses
  • FIG. 11 is a sequence diagram illustrating a sequence of a processing example of generating a user's posture-reflecting avatar three-dimensional image by processing of two user terminals and displaying the image on the
  • FIG. 11 is a sequence diagram illustrating a sequence of a processing example of generating a user's posture-reflecting avatar three-dimensional image by processing of two user terminals and displaying the image on the MR glasses;
  • FIG. 4 is a diagram illustrating a configuration for transmitting an image captured by a camera to a user terminal and executing hand tracking processing and hand gesture analysis processing in the user terminal; It is a figure explaining the relationship between the imaging
  • FIG. 10 is a diagram showing a flowchart for explaining processing for controlling execution and stopping of image capturing processing and hand tracking processing depending on whether or not the user's hand is within the image capturing area of the camera;
  • FIG. 10 is a diagram showing a flowchart for explaining processing for controlling execution and stopping of image capturing processing and hand tracking processing depending on whether or not the user's hand is within the image capturing area of the camera;
  • FIG. 10 is a diagram showing a flowchart for explaining processing
  • FIG. 2 is a diagram illustrating a configuration example i of an information processing apparatus such as a user terminal, MR glasses, and a server;
  • FIG. 2 is a diagram illustrating a configuration example i of an information processing apparatus such as a user terminal, MR glasses, and a server;
  • FIG. 2 is a diagram illustrating a configuration example i of an information processing apparatus such as a user terminal, MR glasses, and a server; It is a figure explaining the hardware structural example of the information processing apparatus of this indication.
  • FIG. 1 is a diagram illustrating a configuration example of an information processing system to which processing of the present disclosure can be applied.
  • FIG. 1 shows a user a, 10 and a user b, 20 who are in separate locations.
  • User a, 10 and user b, 20 wear MR glasses.
  • Users a and 10 are wearing MR glasses 11 and users b and 20 are wearing MR glasses 21 .
  • the MR glasses 11 and 21 are HMDs (head-mounted displays) having a display section for displaying a mixed reality (MR) image in which a virtual object image that does not actually exist is superimposed on a real object image in real space. ).
  • MR mixed reality
  • MR images mixed reality images
  • This is an MR image in which an avatar, which is a virtual alter ego character of each user, is superimposed on a real object image of an existing landscape.
  • Avatar A in the MR image corresponds to the alter ego virtual character of user a10
  • avatar B corresponds to the alter ego virtual character of user b20.
  • the images displayed on the MR glasses 11 and 21 are three-dimensional images, and both the background image and the avatar image are displayed as three-dimensional images.
  • Steps S01a, b to S03a, b shown in FIG. 1 are the processing steps executed to move the avatars A, B in the MR image in the same way as the users a, b. A series of these processes will be described.
  • Step S01a, step S01b First, as shown in step S01a in FIG. 1, the sensor detection values of the motion sensors attached to the head, arms, legs, etc. of the user a 10 are sent to the user terminal (smartphone) 12 near the user a 10. sent.
  • the user terminal (smartphone) 12 analyzes sensor detection values of motion sensors attached to the heads, arms, legs, etc. of the users a, 10 to generate three-dimensional posture information of the users a, 10 .
  • step S01b in FIG. 1 sensor detection values of motion sensors attached to the head, arms, legs, etc. of user b 20 are transmitted to user terminal (PC) 22 near user b 20. sent.
  • a user terminal (PC) 22 analyzes sensor detection values of motion sensors attached to the head, arms, legs, etc. of user b 20 to generate three-dimensional posture information of user b 20 .
  • the process of transmitting sensor detection values from the sensor to the user terminal (smartphone) 12 or the user terminal (PC) 22 is executed using proximity communication such as Bluetooth (registered trademark) communication, for example.
  • Step S02a, Step S02b The three-dimensional posture information of the user a, 10 generated by the user terminal (smartphone) 12 based on the sensor detection values is transmitted from the user terminal (smartphone) 12 to the server 40 in step S02a.
  • the three-dimensional posture information of the users b and 20 generated by the user terminal (PC) 22 based on the sensor detection values is also transmitted from the user terminal (PC) 22 to the server 40 in step S02b.
  • the server 40 Based on the 3D posture information of the user a, 10 generated by the user terminal (smartphone) 12 based on the sensor detection values, the server 40 generates the 3D postures of the avatar A having the same posture as the 3D postures of the users a, 10 . Generate a dimensional image. Furthermore, based on the 3D posture information of the user b, 20 generated by the user terminal (PC) 22 based on the sensor detection values, the server 40 generates an avatar B having the same posture as the 3D posture of the user b, 20. generates a three-dimensional image of
  • Step S03a the server 40 transmits the MR image including the three-dimensional images of the avatars A and B generated by the server 40 to the user terminal (smartphone) 12 of the user a and 10 side. Similarly, the server 40 transmits the MR image including the three-dimensional images of the avatars A and B generated by the server 40 to the user terminal (PC) 22 of the user b and 20 in step S03b.
  • the user terminal (smartphone) 12 on the user a, 10 side transmits the MR image including the three-dimensional image of the avatars A, B received from the server 40 to the MR glasses 11 worn by the user a, 10 for display.
  • the user terminal (PC) 22 of the user b, 20 also transmits the MR image including the three-dimensional image of the avatars A, B received from the server 40 to the MR glasses 21 worn by the user b, 20. display.
  • Communication between the user terminals 12, 22 and the MR glasses 11, 21 is also performed using proximity communication such as Bluetooth (registered trademark) communication.
  • the images transmitted from the server 40 to the user terminals 12 and 22 may be MR images obtained by combining the three-dimensional images of the avatars A and B with a background image, or only the avatar images that do not include the background image. An image generated by the user terminals 12 and 22 may be used.
  • FIG. 1 is a processing example in which two users display and use their respective avatars on one MR image. It is also possible to display and use processing on the top.
  • a processing example in which one user displays and uses one avatar of himself/herself on an MR image will be described with reference to FIG.
  • a user c, 30 wears MR glasses 31 .
  • an MR image mixed reality image
  • This is an MR image in which an avatar C, which is a virtual alter ego character of a user c, 30, is superimposed on a real object image of an existing stage.
  • the image displayed on the MR glasses 31 is a three-dimensional image, and both the background image and the avatar image are displayed as three-dimensional images.
  • the user c, 30 wears a plurality of motion sensors on his/her head, arms, legs, etc., and the avatar C in the MR image moves in the same manner as the user c, 30 using the information detected by these sensors.
  • Processing steps for explaining the processing executed to move the avatar C in the MR image in accordance with the movement of the user c, 30 are the processing of steps S01c to S03c shown in FIG. A series of these processes will be described.
  • Step S01c As shown in step S01c in FIG. 2, the sensor detection values of the motion sensors attached to the head, arms, legs, etc. of user c 30 are transmitted to user terminal (smartphone) 32 near user c 30. be.
  • the user terminal (smartphone) 32 analyzes the sensor detection values of the motion sensors attached to the head, arms, legs, etc. of the user c, 30 to generate three-dimensional posture information of the user c, 30 .
  • Step S02c The three-dimensional posture information of the user c, 30 generated by the user terminal (smartphone) 32 based on the sensor detection values is transmitted to the server 40 in step S02c.
  • the server 40 determines the 3D posture of the avatar C having the same posture as the 3D posture of the user c, 30 . Generate a dimensional image.
  • Step S03c the server 40 transmits the MR image including the three-dimensional image of the avatar C generated by the server 40 to the user terminal (smartphone) 32 on the user c, 30 side.
  • the user terminal (smartphone) 32 on the side of the user c, 30 transmits the MR image including the three-dimensional image of the avatar C received from the server 40 to the MR glasses 31 worn by the user c, 30 for display.
  • the transmissive MR glasses 33 are configured to display a three-dimensional image of the avatar C, which is a virtual object, on the real object that the user c, 30 is actually looking at.
  • a three-dimensional image of the avatar C which is a virtual object
  • the avatar C which is the alter ego of the user c, 30, is displayed on the transmissive MR glasses 33 so as to exist in the room where the user c, 30 is present.
  • the avatar C displayed on the transmissive MR glasses 33 also moves along with the movement of the user c, 30 . In this case, for example, it is necessary to change the display mode of avatar C depending on whether avatar C is in front of the table or behind the table.
  • avatar C If avatar C is behind the table, the parts of avatar C's body that are behind the table should be hidden.
  • environment information of the room in which the user c, 30 is present that is, three-dimensional environment information of the room that allows analysis of the positions of real objects and the like is required.
  • step S04d the camera 34 attached to the transmissive MR glasses 33 worn by the user c, 30 takes an image of the room in which the user c, 30 is present.
  • steps S01d to S03d shown in FIG. 3 are the same processes as steps S01c to S03c described with reference to FIG.
  • the image captured by the camera 34 is transmitted to the user terminal (smartphone) 32, as shown in step S04d of FIG.
  • the user terminal smarttphone
  • it is transmitted by Bluetooth (registered trademark) communication.
  • the user terminal (smartphone) 32 analyzes the three-dimensional configuration of the room viewed by the users c and 30 using the images captured by the camera 34, and generates three-dimensional environment information, which is the three-dimensional configuration information of the room. Specifically, for example, the SLAM processing for analyzing moving images continuously captured by the camera 34 and analyzing the three-dimensional configuration of objects included in the captured images is executed to generate the three-dimensional environment information of the room. .
  • SLAM Simultaneous Localization and Mapping
  • localization self-position estimation processing
  • 3D environment map creation processing mapping
  • step S ⁇ b>05 d the user terminal (smartphone) 32 considers the three-dimensional environment information of the room generated by the user terminal (smartphone) 32 using the captured image of the camera 34 .
  • a drawing process is executed to draw the determined avatar image on the display unit of the equivalent type MR glasses 33 . That is, for example, when the position of the user c, 30 is behind the table, the avatar part hidden behind the table is erased and displayed, so that the 3D environment information of the room and the displayed avatar image do not contradict each other. Execute avatar image drawing processing.
  • the server 40 generates an entire image of the user posture close-up avatar image, and the user terminal (smartphone) 32 side executes the avatar image drawing processing in consideration of the three-dimensional environment information of the room. be.
  • the user terminal (smartphone) 32 generates three-dimensional environment information of the room
  • the server 40 side transmits the three-dimensional environment information of the room. is generated and transmitted to the user terminal (smartphone) 32 .
  • the server 40 generates and transmits to the user terminal (smartphone) 32 a user posture reflecting avatar image in which the avatar part behind the table has been deleted in advance.
  • FIG. 4 is a diagram illustrating an example of such processing.
  • the user terminal (smartphone) 32 inputs the motion sensor detection information in step S01e1 shown in FIG. 4, estimates the user posture, and transmits the estimated user posture information to the server 40 in step S02e1. Furthermore, in step S01e2, the user terminal (smartphone) 32 inputs the image captured by the camera 34 and performs the above-described SLAM process and the like to generate the three-dimensional environment information of the room in step S01e2. Furthermore, in step S02e2, the generated three-dimensional environment information of the room is transmitted to the server 40.
  • the server 40 uses the user posture information received from the user terminal (smartphone) 32 and the three-dimensional environment information of the room to generate a user posture-reflecting avatar image that takes into consideration the three-dimensional environment information of the room. smartphone) 32. That is, it is an avatar image in which, for example, the part behind the table is erased.
  • the user terminal (smartphone) 32 draws the user posture reflecting avatar image received from the server 40 on the transmissive MR glasses 33 . It is also possible to perform such processing.
  • FIGS. 3 and 4 have been described as examples of processing using the transmissive MR glasses 33, the same processing can be performed when the non-transmissive MR glasses 31 are used.
  • FIG. 5 non-transmissive MR glasses 31 are used, an image of a room is captured by a camera 34 attached to the MR glasses 31, and an MR image is created by combining the image of the room with an avatar image as a background image. Processing to generate and display is possible.
  • the processing of the present disclosure for example, in the configuration for performing the avatar image generation and display processing described with reference to FIGS. It is. Note that the processing of the present disclosure is not limited to the MR image described above, and can be used for other AR images (augmented reality images), VR images (virtual reality images), and the like.
  • the user wears the following six motion sensors on each part of the body.
  • the motion sensors individually detect the motions of the user's head, right arm, left arm, waist, right leg, and left leg, respectively.
  • an IMU Inertial Measurement Unit
  • the IMU is a motion sensor capable of simultaneously measuring acceleration in the xyz three-axis directions, angular velocity around the xyz three-axes, and the like.
  • the user's head, right arm, left arm, waist, right leg, left leg, and motion sensors (IMUs) attached to these six locations are respectively attached to the user's head, right arm, left arm, waist, right leg, left leg, and these six positions. Accelerations in six directions in three axial directions and angular velocities around three axes are output as sensor detection values.
  • IMUs motion sensors
  • the sensor attachment example shown in FIG. 6 is an example in which sensors are attached to six locations on the user's body, but this is just an example.
  • Various sensor attachment modes are available, such as a configuration in which the sensor is attached to each part of the sensor.
  • the detected values of the sensor worn by the user are transmitted to the user terminal such as the user's smartphone or PC.
  • a user terminal such as a user's smartphone or PC analyzes sensor detection values of a plurality of motion sensors attached to the user's head, arms, legs, etc., and generates user's three-dimensional posture information.
  • FIG. 7 is a diagram illustrating typical processing executed by the user terminal (smartphone) 12.
  • the user terminal for inputting the detected value of the sensor is the user terminal (smartphone) 12 or the user terminal (PC) 22;
  • a processing example using a smartphone) 12 will be described.
  • the user terminal (smartphone) 12 executes user posture information generation processing as (processing a).
  • the user terminal (smartphone) 12 inputs the detection values of the sensors attached to each part of the body of the user 10 and generates user posture information.
  • This user posture information is three-dimensional posture information in a three-dimensional space.
  • This user posture information generation process is executed using, for example, a pre-generated learning model. The details of this processing will be described later.
  • the user posture information generated by the user terminal (smartphone) 12 based on sensor detection values is transmitted to the server 40 .
  • the server 40 generates an avatar 3D image having the same posture as the user posture information received from the user terminal (smartphone) 12 , that is, a user posture reflected avatar 3D image, and transmits the avatar 3D image to the user terminal (smartphone) 12 .
  • the user terminal (smartphone) 12 performs a three-dimensional image drawing process for displaying the user posture reflecting avatar three-dimensional image received from the server 40 on the display unit of the MR glasses 11 worn by the user 10. to run.
  • FIG. 8 details of (process a) user posture information generation processing executed by a user terminal such as the user terminal (smartphone) 12 shown in FIG. 7, that is, user posture information generation processing based on sensor detection values. and explain.
  • the diagram shown on the lower side of FIG. 8 is a diagram for explaining a detailed sequence example of user posture information generation processing based on sensor detection values executed by a user terminal such as a smartphone.
  • the following processes are sequentially executed in the user posture information generation process based on the sensor detection values.
  • Sensor detection value input processing Processing 2
  • Noise removal processing Processing 3
  • Motion vector group generation processing Processing 4
  • Posture estimation processing (Learning model application posture estimation processing) (Processing 5) Connection Portion Angle Setting Vector Generation Processing
  • These processings (Processing 1) to (Processing 5) are sequentially executed to generate “posture information” indicating the three-dimensional posture of the user.
  • sensor detection value input processing is processing for inputting detection values of sensors attached to each part of the user's body (head, right arm, left arm, waist, right leg, left leg, etc.).
  • proximity communication such as Bluetooth (registered trademark) communication, for example.
  • noise removal process is a process for removing noise components from sensor detection values input to the user terminal (smartphone) 12. For example, noise components are removed by applying a predetermined noise removal algorithm, such as processing for removing high frequency components above a specified frequency.
  • Motion vector group generation process is a process of generating motion vectors representing individual movements of each part of the user's body to which the sensor is attached, based on the noise-removed sensor detection values. .
  • an IMU Inertial Measurement Unit
  • the IMU is a motion sensor capable of simultaneously measuring acceleration in the xyz three-axis direction, angular velocity around the xyz three-axis, and the like. local IMU output values can be obtained.
  • the user terminal (smartphone) 12 is based on the sensor output values of each part of the user's body (head, right arm, left arm, waist, right leg, left leg). Generate multiple motion vectors for .
  • Posture estimation processing (learning model application posture estimation processing) is processing for estimating the three-dimensional posture of the user based on the motion vectors corresponding to each part of the user's body generated in (Processing 3). be.
  • the user's three-dimensional posture estimation processing based on this motion vector is executed using, for example, a learning model generated in advance.
  • the learning model is a learning model that inputs a motion vector corresponding to each part of the user's body and outputs a user posture.
  • This learning model is a learning model generated in advance using a large number of sample data, for example, correspondence data between a large number of different motion vector groups and user postures.
  • connection portion angle setting vector generation processing is interpolation processing of the user posture estimated using the learning model in (Processing 4), and the user posture information estimated using the learning model is insufficient. This is a process of interpolating the postures and positions of parts of the body to generate posture information of the user's entire body. By executing these (processing 1) to (processing 5), the three-dimensional posture information of the user 10 can be generated.
  • the user posture information generation processing based on sensor detection values includes motion vector generation processing based on each sensor continuous output value, input of the generated motion vectors to a learning model, and user posture information generation processing. It is necessary to sequentially execute a plurality of processing steps such as the processing of estimating , and it takes a predetermined amount of time to generate one user pose.
  • the processing time required to generate one user posture is 100 msec.
  • the user terminal can only execute user posture information generation processing based on sensor detection values at intervals of 100 msec. That is, the user posture information generated by the user terminal (smartphone) 12 is the posture information generated based on the sensor detection value 100 msec earlier.
  • new user posture information that can be generated next is The time (t20) is 100 msec after (t10). Furthermore, new user posture information that can be generated next is time (t30) after 100 msec from time (t20).
  • posture information 02 (Pose02) generated at time (t20) is posture information generated based on sensor detection values at time (t10) 100 msec before time (t20).
  • the posture information 03 (Pose03) generated at time (t30) is posture information generated based on the sensor detection value at time (t20) 100 msec before time (t30).
  • the user posture information generated by the user terminal such as the user terminal (smartphone) 12 is transmitted to the server 40, and the server 40 generates a three-dimensional image of the avatar, that is, the user posture reflection avatar 3, based on the user posture information received from the user terminal. Generate a dimensional image. Furthermore, the user posture reflecting avatar three-dimensional image generated by the server 40 is transmitted to the user terminal (smartphone) 12 and drawn on the MR glasses 11 .
  • FIG. 10(a) is a diagram showing changes in the posture of a user wearing sensors on various parts of the body over time (tx-ty-tz). The user starts jumping and lands between times tx-tz.
  • FIG. 10(b) is a diagram showing changes over time (tx-ty-tz) of the avatar image generated using the user posture information generated based on the sensor worn by the user.
  • the avatar image at the time (tz) is an avatar image that reflects the user posture before the time (tz). That is, the avatar image at time (tz) is the user pose before time (tz), Specifically, it is a user posture reflecting avatar image generated based on a user posture generated using sensor detection information immediately before landing.
  • the user will observe an avatar image that is delayed from the user's actual movement through the MR glasses 11 and will feel uncomfortable, and the user will not be able to perform the desired movement or action.
  • the processing of the present disclosure solves such problems. That is, it realizes 3D image display processing of an avatar with no or little delay with respect to the user's movement.
  • FIG. 11 is a diagram showing the generation timing of user posture information generated based on sensor detection values by a user terminal such as a smartphone and the output timing of sensor detection values output by a sensor such as an IMU attached to the user. is.
  • the upper part shows the generation timing of user posture information generated by a user terminal such as a smartphone based on sensor detection values.
  • a user terminal such as a smartphone updates user posture information at intervals of 100 msec, for example, and transmits the information to the server.
  • a motion sensor such as an IMU attached to each part of the user's body can sequentially output sensor detection values at, for example, 10 msec intervals.
  • the sensor detection value output interval that is, the sampling time, varies depending on the sensor, but new sensor detection values can be output at much shorter time intervals than the user posture calculation interval (100 msec) in the upper row.
  • a motion sensor such as an IMU attached to each part of the user's body has a configuration capable of outputting a new sensor detection value every 10 msec.
  • a user terminal such as a user terminal (smartphone) 12 executes both (process p) and (process q) shown in FIG. i.e. (Process p)
  • Posture information generation processing based on a motion sensor such as an IMU attached to each part of the user's body, and transmission processing of the created posture information to the server 40
  • Process q A process of transmitting sensor detection values of fast-moving parts directly to the server 40 from the sensor detection values of a motion sensor such as an IMU.
  • the process of generating the user posture information and the process of transmitting the posture information to the server 40 in (process p) are executed at a cycle of 100 msec.
  • the process of transmitting the sensor detection information to the server 40 (process q) is executed at a cycle of 10 msec.
  • the server 40 can receive sensor detection values of fast-moving parts at an earlier timing.
  • the server 40 uses two types of information, user posture information received from the user terminal (smartphone) 12 at a cycle of 100 msec and sensor detection information received at a cycle of 10 msec, to generate a user posture reflecting avatar three-dimensional image.
  • user posture information received from the user terminal (smartphone) 12 at a cycle of 100 msec
  • sensor detection information received at a cycle of 10 msec
  • the sensor detection information transmitted to the server 40 in FIG. 12 is not all of the detection values of the sensors attached to each part of the body of the user 10 (head, right arm, left arm, waist, right leg, left leg), Only the sensor detection values of parts determined to be moving at a speed equal to or higher than a predetermined threshold value are detected. That is, the sensor detection values to be transmitted to the server 40 are selected according to the movement of the user. A specific example will be described with reference to FIGS. 13 and 14. FIG.
  • FIG. 13 shows an example of data transmission processing when the user 10 executes a "punch" in which the left arm is pushed forward.
  • the user terminal (smartphone) 12 executes user posture information generation processing and posture information transmission processing to the server 40 at a cycle of 100 msec.
  • the user terminal (smartphone) 12 generates user posture information storage packets at intervals of 100 msec and transmits them to the server 40 .
  • the user terminal (smartphone) 12 selectively acquires sensor detection values of the left arm of the fast-moving user 10 and transmits them to the server 40, as shown in the lower part of FIG.
  • a small-sized packet storing the sensor detection value is generated at the same interval as the sensor sampling period (10 msec) and transmitted to the server 40 .
  • the sensor detection value storage packet is preferably transmitted to the server 40 as a low-delay priority packet that is preferentially transmitted according to, for example, QoS (Quality Of Service).
  • QoS Quality Of Service
  • the server 40 uses two types of information, the user posture information received from the user terminal (smartphone) 12 with a cycle of 100 msec and the sensor detection information of the fast-moving left arm of the user 10 received with a cycle of 10 msec, to create a user posture reflection avatar. Generate a three-dimensional image.
  • FIG. 14 is a diagram for explaining the sensor detection value transmission start process and the transmission stop process executed by the user terminal (smartphone) 12 when the user 10 starts walking and then stops walking. .
  • the user terminal (smartphone) 12 executes user posture information generation processing and posture information transmission processing to the server 40 at a cycle of 100 msec.
  • the user terminal (smartphone) 12 generates user posture information storage packets at intervals of 100 msec and transmits them to the server 40 .
  • the user terminal (smartphone) 12 selectively acquires the sensor detection values of the fast-moving left leg and right leg of the user 10 only during the walking period (ta to tb) during which the user 10 is walking, as shown in the lower part of FIG. and transmit it to the server 40.
  • a small-sized packet storing the sensor detection value is generated at the same interval as the sampling period (10 msec) of the sensor detection value and transmitted to the server 40 .
  • the user terminal (smartphone) 12 starts generation processing of a small-sized packet storing the sensor detection values of the left and right feet of the user 10 who moves quickly, and transmits the packet to the server 40. begin processing. After that, the user terminal (smartphone) 12 stops the process of generating the small size packet storing the sensor detection values of the left and right legs of the user 10 whose movement has become slow at the timing (tb) when the user 10 finishes walking, and the server 40 is stopped.
  • the server 40 uses the user posture information received from the user terminal (smartphone) 12 at a cycle of 100 msec and sensor detection information of the fast-moving left and right legs of the user 10 received at a cycle of 10 msec only while the user 10 is walking. A user posture reflecting avatar three-dimensional image is generated.
  • FIG. 15 is a diagram illustrating an example of user posture reflected avatar three-dimensional image generation processing when the user moves, that is, the user jumps and lands as described above with reference to FIG. 10 .
  • FIG. 15 shows the following two examples of user posture reflecting avatar three-dimensional image generation processing.
  • (a) is the same processing as described above with reference to FIG. 8, and is user posture reflected avatar three-dimensional image generation processing using only user posture information.
  • the server 40 uses only the user posture information received from the user terminal (smartphone) 12 at intervals of 10 mmsec to generate the user posture reflecting avatar three-dimensional image.
  • a user posture reflecting avatar three-dimensional image as shown in FIG. 15(a2) is generated.
  • the avatar image displayed on the user's MR glasses at the timing when the user lands is the avatar image immediately before landing, as shown in FIG. 15(a3).
  • user posture reflection avatar three-dimensional image generation processing using user posture information and sensor detection information is performed by using the user posture information and sensor detection information described with reference to FIGS. This is user posture reflecting avatar three-dimensional image generation processing using detection information (left leg and right leg).
  • FIG. 15(b1) shows user posture information, right foot position information, and left foot position information based on sensor detection values. Data indicated by black circles and dotted lines is user posture information. This user posture information is similar to the user posture information shown in (a1), and is user posture information received from the user terminal (smartphone) 12 at intervals of 100 msec. Further, FIG. 15(b1) shows right foot position information and left foot position information based on sensor detection values indicated by white circles. These right foot position information and left foot position information are the latest right foot position information and left foot position information of the user obtained using sensor detection information received from the user terminal (smartphone) 12 at intervals of 10 seconds.
  • the server 40 utilizes all of this information, that is, user posture information indicated by black circles and dotted lines, right foot position information based on sensor detection values indicated by white circles, and left foot position information, as shown in (b2). A user posture reflecting avatar three-dimensional image is generated.
  • the server 40 uses the user posture reflecting avatar three-dimensional image generated using the user posture information indicated by the black circle and the dotted line, and the latest image obtained using the sensor detection information received from the user terminal (smartphone) 12 at intervals of 10 seconds.
  • the user's right foot position information and left foot position information are synthesized to generate a user posture reflecting avatar three-dimensional image. That is, the right foot position and left foot position of the user posture reflecting avatar three-dimensional image generated using the user posture information indicated by the black circle and the dotted line are compared with the latest user right foot position information and left foot position information obtained using sensor detection information. Correction is performed to replace the position information, and a user posture reflecting avatar three-dimensional image is generated.
  • the avatar image displayed on the user's MR glasses at the timing when the user lands is displayed as the avatar image that has landed as shown in FIG. 15(b3). That is, the user can observe the avatar image that has landed at the user's landing timing through the MR glasses.
  • the server 40 has a posture-reflecting 3D avatar image generation unit, and the posture-reflecting 3D avatar image generation unit of the server 40 generates a posture-based avatar image generated based on the user posture information.
  • An image correction process is performed to reflect the user part position estimated based on the value, and a user posture reflecting three-dimensional avatar image is generated.
  • the sensor detection value used for the image correction processing by the posture-reflecting 3D avatar image generation unit of the server 40 is a sensor detection value newer than the sensor detection value used for the user posture information generation processing.
  • avatar image generation and display processing An example of avatar image generation and display processing to which the processing of the present disclosure is applied, that is, an example of avatar image generation and display processing using two types of information, user posture information and sensor detection information, will be described with reference to FIG.
  • FIG. 16(a) is an example of processing similar to that of FIG. 10, and is a diagram showing changes in the posture of a user wearing sensors on each part of the user's body over time (tx-ty-tz). .
  • the user starts jumping and lands between times tx-tz.
  • FIG. 16B shows user posture information received from the user terminal (smartphone) 12 at intervals of 100 seconds based on the sensors worn by the user, and sensor detection information received from the user terminal (smartphone) 12 at intervals of 10 seconds.
  • FIG. 10 is a diagram showing a change over time (tx-ty-tz) of an avatar image generated using the latest user's right foot position information and left foot position information obtained by use;
  • the avatar image at this time (tz) uses the user's posture about 100 msec before the time (tz) and the user's right foot position information and left foot position information based on sensor detection values at approximately the same time as the time (tz). It is an avatar image generated by synthesis processing. As a result, the server 40 can generate a landing avatar image almost simultaneously (tz) with the landing timing of the user, and can display it on the user's MR glasses.
  • the user can observe the avatar image with almost no delay from the user's actual movement through the MR glasses 11, and can move and act as desired without feeling uncomfortable.
  • the processing of the present disclosure enables processing for displaying an avatar image with reduced delay with respect to user movement on a display unit such as MR glasses.
  • the processing sequence of this processing will be described below.
  • the user terminal does not transmit to the server all the detection values of the sensors attached to multiple parts of the user's body. Only sensor detection values of fast parts are selected and sent to the server. For example, only the detection values of the sensor attached to the part of the body that moves at a speed equal to or higher than a predetermined moving speed are selected and transmitted to the server.
  • the process of selecting sensor detection values to be sent to the server can be executed either by the user terminal or by the server. Below, the following two types of processing examples will be sequentially described. (Processing example 1) Processing example in which the user terminal selects the sensor detection value to be transmitted (Processing example 2) Processing example in which the server selects the sensor detection value to be transmitted (Processing example 2) Processing example in which the server selects the sensor detection value to be transmitted
  • processing example 1 Processing sequence of processing for user terminal to select sensor detection value to be transmitted
  • processing example 1 a sequence of a processing example in which the user terminal selects a sensor detection value to be transmitted will be described with reference to FIG. 17 and subsequent figures.
  • 17 and 18 are sequence diagrams illustrating a communication sequence executed between elements constituting the information processing system of the present disclosure when the user terminal performs processing for selecting sensor detection values to be transmitted.
  • 17 and 18 show, from the left, MR glasses, sensors, user terminals, and servers. The processing of each step shown in the sequence diagrams of FIGS. 17 and 18 will be sequentially described below.
  • Step S11 is a process of transmitting the sensor detection value from the sensor to the user terminal.
  • the user has motion sensors such as an IMU attached to each part of the body (head, right arm, left arm, waist, right leg, left leg). A detected value is sent to the user terminal.
  • step S11 the process of transmitting the sensor detection value to the user terminal in step S11 is continuously executed.
  • Step S12 the user terminal that has received the sensor detection value from the sensor executes a process of generating user posture information based on the received sensor detection value.
  • This user posture information generating process is the process described above with reference to FIG. 8, and the following processes are sequentially executed to generate user posture information.
  • Process 1 Sensor detection value input processing (Processing 2) Noise removal processing (Processing 3) Motion vector group generation processing (Processing 4)
  • Posture estimation processing (Learning model application posture estimation processing) (Processing 5) Connection Portion Angle Setting Vector Generation Processing
  • These processings (Processing 1) to (Processing 5) are sequentially executed to generate “posture information” indicating the three-dimensional posture of the user. It should be noted that, as described above, this user posture information generation processing is executed, for example, at a cycle of 100 msec.
  • Step S13 The user terminal further executes the process of step S13 as a process parallel to the user posture information generation process of step S12.
  • step S13 the user terminal determines whether or not there is a part having a movement speed equal to or higher than a predetermined threshold based on sensor detection values input from each sensor.
  • step S13 if no part having a moving speed equal to or higher than the predetermined threshold value is detected, the process proceeds to step S14. On the other hand, if a part having a movement speed equal to or higher than the predetermined threshold value is detected, the process proceeds to step S21.
  • Step S14 In step S13, if no part having a movement speed equal to or greater than the predetermined threshold is detected, in step S14, the user terminal transmits the user posture information generated in step S12 to the server.
  • Steps S15-S16 Upon receiving the user posture information from the user terminal, the server generates an avatar 3D image reflecting the user posture information in step S15, and transmits the user posture reflecting avatar 3D image generated in step S16 to the user terminal.
  • Step S17 Upon receiving the user posture reflected avatar 3D image from the server, the user terminal draws the user posture reflected avatar 3D image on the display unit of the MR glasses in step S17.
  • the user posture reflected avatar three-dimensional image displayed on the MR glasses by the processing of steps S14 to S17 is an avatar image having a posture delayed by approximately 100 msec from the user's current posture.
  • Step S21 On the other hand, in step S13, if a part having a moving speed equal to or greater than the predetermined threshold is detected, the user terminal, together with the user posture information generated in step S12, has a moving speed equal to or greater than the threshold in step S21. Send the sensor detection value of the part to the server.
  • the user terminal selectively acquires the sensor detection values of the parts of the user whose movements are fast as described above with reference to FIGS. 12 to 14, and transmits them to the server. For example, at the same interval as the sampling period (10 msec) of the sensor, a small-sized packet storing sensor detection values is generated and transmitted to the server.
  • the sensor detection value storage packet is preferably transmitted to the server as a low-delay priority packet that is preferentially transmitted according to, for example, QoS (Quality Of Service).
  • QoS Quality Of Service
  • Step S22 the server that has received the user posture information and the sensor detection values of the fast-moving parts of the user from the user terminal uses the two types of information, the user posture information and the sensor detection values received from the user terminal, to A user posture reflecting avatar three-dimensional image is generated, and the user posture reflecting avatar three-dimensional image generated in step S23 is transmitted to the user terminal.
  • the server uses all of the user posture information indicated by black circles and dotted lines in FIG. A user posture reflecting avatar three-dimensional image as shown in (b2) is generated and transmitted to the user terminal.
  • Step S24 The user terminal, which has received the user posture reflecting avatar 3D image generated using both the user posture and the sensor detection value from the server, displays the user posture reflecting avatar 3D image on the display unit of the MR glasses in step S24. draw.
  • the user posture reflected avatar three-dimensional image displayed on the MR glasses by the processing of steps S21 to S24 becomes an avatar image having a posture that is almost the same as the current posture of the user.
  • the user can observe an avatar image having a posture with very little delay from the user's current posture using the MR glasses. becomes possible.
  • FIGS. 17 and 18 are sequences for performing processing for selecting sensor detection values to be transmitted from the user terminal to the server.
  • a specific example of the process of selecting sensor detection values to be transmitted to the server in the user terminal will be described with reference to FIGS. 19 and 20.
  • FIG. 19 is a specific example of the process of selecting sensor detection values to be transmitted to the server in the user terminal.
  • the user terminal 12 has a sensor detection value transmission target selection unit (moving speed analysis unit) 61 .
  • a sensor detection value transmission target selection unit (moving speed analysis unit) 61 of the user terminal 12 detects motion sensors such as an IMU attached to each part of the user's body (head, right arm, left arm, waist, right leg, left leg). Enter the value and calculate the movement speed of each part.
  • the calculated movement speed of each part is compared with a predetermined threshold value, and parts with a movement speed equal to or higher than the predetermined threshold value are detected.
  • the example shown in FIG. 19 is an example in which it is determined that the change in the detection value of the left arm motion sensor attached to the left arm is large and the motion speed of the left arm is equal to or greater than the specified threshold value.
  • the user terminal generates a transmission packet in which the detection value of the left arm motion sensor is stored in the packet, and transmits the transmission packet to the server.
  • the sensor detection value transmission target selection unit (moving speed analysis unit) 61 of the user terminal 12 detects a large change in the detection values of the motion sensors attached to the left and right legs, and the movement speeds of the left and right legs are large. is equal to or greater than the specified threshold.
  • the user terminal generates a transmission packet in which the detection values of the motion sensors of the left and right legs are stored in the packet, and transmits the generated packet to the server.
  • the server combines the posture information received from the user terminal and the sensor detection values of fast-moving portions to generate a user-posture-reflecting avatar three-dimensional image, and transmits the created avatar three-dimensional image to the user terminal.
  • Step S101 a user terminal acquires a sensor detection value from a sensor in step S101.
  • the user has motion sensors such as an IMU attached to each part of the body (head, right arm, left arm, waist, right leg, left leg).
  • a sensor detection value is input at a cycle of 10 msec.
  • Step S102 The processing of steps S102 to S103 and the processing of steps S104 to S106 are executed in parallel in the user terminal.
  • step S102 the user terminal generates user posture information using the sensor detection values acquired from the sensors worn on each part of the user.
  • This user posture information generating process is the process described above with reference to FIG. 8, and the following processes are sequentially executed to generate user posture information.
  • Sensor detection value input processing Processing 2
  • Noise removal processing Processing 3
  • Motion vector group generation processing Processing 4
  • Posture estimation processing (Learning model application posture estimation processing)
  • These processings (Processing 1) to (Processing 5) are sequentially executed to generate “posture information” indicating the three-dimensional posture of the user. It should be noted that, as described above, this user posture information generation processing is executed, for example, at a cycle of 100 msec.
  • Step S103 When the user posture information generation processing is completed in step S102, the user terminal transmits the generated user posture information to the server in step S103.
  • the user terminal sequentially transmits packets containing user posture information to the server at intervals of 100 msec.
  • Step S104 Along with the generation and transmission of user posture information in steps S102 and S103, the user terminal executes the processes in steps S104 and S106.
  • step S104 the user terminal analyzes the sensor detection values obtained from the sensors attached to each part of the user, and determines whether there is a part having a movement speed equal to or higher than a predetermined threshold value.
  • Step S105 is a branching step, and in step S104, if a portion having a movement speed equal to or higher than a predetermined threshold value is detected, the process proceeds to step S106, and if not detected, the process proceeds to step S107.
  • Step S106 In step S105, when a part having a movement speed equal to or higher than a predetermined threshold value is detected, the process of step S106 is executed.
  • the user terminal in step S106, transmits to the server the sensor detection values of the parts having movement speeds equal to or higher than a predetermined threshold.
  • the user terminal selectively acquires the sensor detection values of the parts of the user whose movements are fast as described above with reference to FIGS. 12 to 14, and transmits them to the server. For example, at the same interval as the sampling period (10 msec) of the sensor, a small-sized packet storing sensor detection values is generated and transmitted to the server.
  • Step S107 is a process end determination step in the user terminal. When ending the avatar image output process for the MR glasses, the process ends. When continuing, the process returns to step S101, and the processes of steps S101 to S106 are repeated.
  • the user can adopt a posture with extremely little delay from the user's current posture, for example, as shown in FIG. 15B3 described above. It becomes possible to observe the avatar image that the user has using the MR glasses.
  • 22 and 23 are sequence diagrams illustrating a communication sequence executed between elements constituting the information processing system of the present disclosure when the server performs processing for selecting sensor detection values to be transmitted.
  • 22 and 23 show, from the left, MR glasses, sensors, user terminals, and servers. The processing of each step shown in the sequence diagrams of FIGS. 22 and 23 will be sequentially described below.
  • Step S31 is a process of transmitting the sensor detection value from the sensor to the user terminal.
  • the user has motion sensors such as an IMU attached to each part of the body (head, right arm, left arm, waist, right leg, left leg). A detected value is sent to the user terminal.
  • step S31 the process of transmitting the sensor detection value to the user terminal in step S31 is continuously executed.
  • Step S32 the user terminal that has received the sensor detection value from the sensor executes a process of generating user posture information based on the received sensor detection value.
  • This user posture information generation processing is the processing described above with reference to FIG. "Posture information" indicating is generated. It should be noted that, as described above, this user posture information generation processing is executed, for example, at a cycle of 100 msec.
  • step S33 the user terminal transmits the user posture information generated in step S32 to the server.
  • Step S34 Upon receiving the user posture information from the user terminal, the server determines in step S34 based on the user posture information whether or not there is a part having a movement speed equal to or greater than a predetermined threshold value.
  • the server determines whether or not there is a part with a movement speed equal to or higher than a predetermined threshold value based on time-series user posture information input from the user terminal at, for example, 100 msec intervals.
  • step S34 if no part having a moving speed equal to or greater than the predetermined threshold value is detected, the process proceeds to step S35. On the other hand, if a part having a movement speed equal to or higher than the predetermined threshold value is detected, the process proceeds to step S41.
  • Step S34 if no part having a movement speed equal to or greater than the predetermined threshold is detected, the server generates a three-dimensional avatar image reflecting the user posture information in step S35, and generates the avatar three-dimensional image in step S36. A user posture reflecting avatar three-dimensional image is transmitted to the user terminal.
  • Step S37 Upon receiving the user posture reflected avatar 3D image from the server, the user terminal draws the user posture reflected avatar 3D image on the display unit of the MR glasses in step S37.
  • the user posture reflected avatar three-dimensional image displayed on the MR glasses by the processing of steps S35 to S37 is an avatar image having a posture delayed by approximately 100 msec from the user's current posture.
  • Step S41 On the other hand, in step S34, if the server detects a part having a moving speed equal to or higher than the predetermined threshold, the server, in step S41, sends the user terminal to the user terminal having a moving speed equal to or higher than the predetermined threshold. Requests transmission of the sensor detection value of the part.
  • a transmission request for the sensor detection value of the left arm is made. Further, when it is determined that the moving speeds of the left and right legs are equal to or higher than the threshold value, a transmission request is made for sensor detection values of the left and right legs.
  • Step S42 The user terminal that has received the request for transmission of the sensor detection value of the specific portion from the server transmits the sensor detection value of the specific portion designated by the server to the server in step S42.
  • the user terminal for example, generates a small-sized packet containing the sensor detection value at the same interval as the sensor's sampling period (10 msec) and transmits it to the server 40 .
  • Step S43 the server that has received the sensor detection value of the specific part from the user terminal uses two types of information, the user posture information already received from the user terminal and the sensor detection value, to create a 3D image of the user posture reflecting avatar. Then, the user posture reflecting avatar three-dimensional image generated in step S44 is transmitted to the user terminal.
  • the server uses all of the user posture information indicated by black circles and dotted lines in FIG. A user posture reflecting avatar three-dimensional image as shown in (b2) is generated and transmitted to the user terminal.
  • Step S45 the user terminal that has received the user posture reflecting avatar 3D image generated using both the user posture and the sensor detection value from the server displays the user posture reflecting avatar 3D image on the display unit of the MR glasses. draw.
  • the user posture reflected avatar three-dimensional image displayed on the MR glasses by the processing of steps S41 to S45 becomes an avatar image having a posture that is almost the same as the user's current posture.
  • the user can observe an avatar image having a posture with very little delay from the user's current posture using the MR glasses. becomes possible.
  • the motion sensors attached to various parts of the user's body output sensor detection values at intervals of, for example, 10 msec.
  • the attitude information generation process in the user terminal is only executed in a cycle of 100 msec.
  • the sensor detection values used to generate the user posture information are the sensor detection values with a period of 100 msec. Many will not be used. Acquisition and transmission of sensor detection values by sensors consume power, resulting in wasteful power consumption.
  • sensor detection values are acquired at a high frequency (eg, 10 msec cycle) only for the sensors of the parts selected as transmission targets to the server, and for the other sensors, sensor detection values are acquired at a low cycle (eg, 50 msec to 100 msec cycles).
  • the power consumption by the sensor is reduced by setting the detection value to be acquired.
  • FIGS. 24 and 25 show, from the left, MR glasses, sensors, user terminals, and servers. The processing of each step shown in the sequence diagrams of FIGS. 24 and 25 will be sequentially described below.
  • Step S51 is a process of transmitting the sensor detection value from the sensor to the user terminal.
  • the user wears motion sensors such as an IMU on each part of the body (head, right arm, left arm, waist, right leg, left leg).
  • the normal sampling period of the sensor is set to a standard period, for example, a low period of 50 msec.
  • sensor detection values are transmitted to the user terminal at a low cycle (for example, a cycle of 50 msec) from each of the motion sensors attached to each part of the user's body (head, right arm, left arm, waist, right leg, left leg). be.
  • step S51 the process of transmitting the sensor detection value to the user terminal in step S51 is continuously executed.
  • Steps S52-S53 Upon receiving the sensor detection value from the sensor, the user terminal executes processing for generating user posture information based on the received sensor detection value in step S52, and transmits the generated user posture information to the server in step S53.
  • This user posture information generation processing is the processing described above with reference to FIG. "Posture information" indicating is generated. It should be noted that, as described above, this user posture information generation processing is executed, for example, at a cycle of 100 msec.
  • Step S54 The user terminal further executes the process of step S54 as a process parallel to the user posture information generation process of step S52.
  • step S54 the user terminal detects a part having a movement speed equal to or higher than a predetermined threshold based on sensor detection values input from each sensor.
  • a part having a moving speed equal to or higher than a predetermined threshold is detected.
  • Step S55 the user terminal outputs a sampling period change instruction to change the sensor detection period to a high period, such as a 10 msec period, for the sensors of parts having a moving speed equal to or greater than a predetermined threshold value.
  • Step S56 the sensor that receives the instruction to change the sampling period from the user terminal, i.e., the sensor of the part having the movement speed equal to or higher than the specified threshold, changes the sensor detection period to a high period, for example, 10 msec in step S56. , the process of outputting sensor detection values obtained at high intervals to the user terminal is started.
  • step S57 the user terminal transmits to the server the high-frequency sensor detection value received from the sensor of the part having the movement speed equal to or higher than the specified threshold in step S56.
  • the user terminal for example, generates a small-sized packet containing sensor detection values at the same interval as the sensor's high-frequency sampling period (10 msec) and transmits it to the server.
  • Step S58 the server that has received the user posture information and the sensor detection values of the fast-moving parts of the user from the user terminal uses the two types of information, the user posture information and the sensor detection values received from the user terminal, to A user posture reflecting avatar three-dimensional image is generated, and the user posture reflecting avatar three-dimensional image generated in step S59 is transmitted to the user terminal.
  • the server uses all of the user posture information indicated by black circles and dotted lines in FIG. A user posture reflecting avatar three-dimensional image as shown in (b2) is generated and transmitted to the user terminal.
  • Step S60 the user terminal that has received the user posture reflecting avatar 3D image generated using both the user posture and the sensor detection value from the server displays the user posture reflecting avatar 3D image on the display unit of the MR glasses. draw.
  • the user terminal transmits the user posture information to the server, the server side generates the user posture reflecting avatar 3D image, and the generated user posture reflecting avatar 3D image is transmitted to the user terminal. explained.
  • FIG. 26 illustrates a method for executing communication between the user terminals of two users without using a server, generating an MR image including a user posture reflecting avatar three-dimensional image of each user in the user terminal, and generating an MR image of each user.
  • FIG. 10 is a diagram illustrating an example of processing for displaying on MR glasses;
  • FIG. 26 shows a user a, 10 and a user b, 20, who are in separate locations.
  • Users a and 10 are wearing MR glasses 11 and users b and 20 are wearing MR glasses 21 .
  • MR images mixed reality images
  • This is an MR image in which an avatar, which is a virtual alter ego character of each user, is superimposed on a real object image of an existing landscape.
  • Avatar A in the MR image corresponds to the alter ego virtual character of user a10
  • avatar B corresponds to the alter ego virtual character of user b20.
  • the images displayed on the MR glasses 11 and 21 are three-dimensional images, and both the background image and the avatar image are displayed as three-dimensional images.
  • Steps S71a, b to S72a, b shown in FIG. 26 are the processing steps executed to move the avatars A, B in the MR image in the same manner as the users a, b. A series of these processes will be described.
  • Step S71a, Step S71b First, as shown in step S71a in FIG. 26, the sensor detection values of the motion sensors attached to the head, arms, legs, etc. of the user a 10 are sent to the user terminal (smartphone) 12 near the user a 10. sent.
  • the user terminal (smartphone) 12 analyzes sensor detection values of motion sensors attached to the heads, arms, legs, etc. of the users a, 10 to generate three-dimensional posture information of the users a, 10 .
  • step S71b in FIG. 1 the sensor detection values of the motion sensors attached to the head, arms, legs, etc. of user b 20 are sent to the user terminal (PC) 22 near user b 20. sent.
  • a user terminal (PC) 22 analyzes sensor detection values of motion sensors attached to the head, arms, legs, etc. of user b 20 to generate three-dimensional posture information of user b 20 .
  • the process of transmitting sensor detection values from the sensor to the user terminal (smartphone) 12 or the user terminal (PC) 22 is executed using proximity communication such as Bluetooth (registered trademark) communication, for example.
  • Step S72a, Step S72b The three-dimensional posture information of the users a and 10 generated by the user terminal (smartphone) 12 based on the sensor detection values is transmitted from the user terminal (smartphone) 12 to the other user terminal (PC) 22 in step S72a. be.
  • the three-dimensional posture information of the users b and 20 generated by the user terminal (PC) 22 based on the sensor detection values is also transmitted from the user terminal (PC) 22 to the user terminal (smartphone) 12 in step S72b. .
  • Step S73a the user terminal (smartphone) 12 executes the following process.
  • (a) Based on the 3D posture information of the user b, 20 received from the user terminal (PC) 22, a process of generating a 3D image of the avatar B having the same posture as the 3D posture of the user b, 20;
  • (b) Processing for generating a 3D image of avatar A having the same posture as the 3D posture of user a, 10 based on the 3D posture information of user a, 10 generated by user terminal (smartphone) 12 .
  • (c) A process of outputting the generated MR images including the three-dimensional images of the avatars A and B to the MR glasses 11 worn by the users a and 10 .
  • step S73b the user terminal (PC) 22 executes the following process.
  • FIG. 26 is a processing example in which two user terminals owned by two users are used to display each user's avatar on one MR image without using a server.
  • a user c, 30 shown in FIG. 27 wears MR glasses 31 .
  • an MR image mixed reality image
  • This is an MR image in which an avatar C, which is a virtual alter ego character of a user c, 30, is superimposed on a real object image of an existing stage.
  • the image displayed on the MR glasses 31 is a three-dimensional image, and both the background image and the avatar image are displayed as three-dimensional images.
  • the user c, 30 wears a plurality of motion sensors on his/her head, arms, legs, etc., and the avatar C in the MR image moves in the same manner as the user c, 30 using the information detected by these sensors.
  • Processing steps for explaining the processing executed to move the avatar C in the MR image in accordance with the movement of the user c, 30 are the processing of steps S71c to S73c shown in FIG. A series of these processes will be described.
  • Step S71c As shown in step S71c in FIG. 27, the sensor detection values of the motion sensors attached to the head, arms, legs, etc. of the user c, 30 are transmitted to the user terminal (smartphone) 32 near the user c, 30. be.
  • the user terminal (smartphone) 32 analyzes the sensor detection values of the motion sensors attached to the head, arms, legs, etc. of the user c, 30 to generate three-dimensional posture information of the user c, 30 .
  • step S72c the user terminal (smartphone) 32 utilizes the 3D posture information of the user c,30 generated based on the sensor detection values, and uses the avatar C having the same posture as the 3D posture of the user c,30. generates a three-dimensional image of
  • step S73c the user terminal (smartphone) 32 transmits the generated MR image including the three-dimensional image of the avatar C to the MR glasses 31 worn by the user c and 30 for display.
  • Steps S81a and S81b are processes in which the user terminals (smartphone, PC) of each of the users a and b input sensor detection values from the sensors.
  • the users a and b wear motion sensors such as IMUs on their respective parts of the body (head, right arm, left arm, waist, right leg, left leg). Sent to each user terminal.
  • Steps S82a, S82b the user terminals (smartphones, PCs) of users a and b that have received the sensor detection values from the sensors execute user posture information generation processing based on the received sensor detection values.
  • this user posture information generation processing is executed, for example, at a cycle of 100 msec.
  • Steps S83a, 83b The user terminals (smartphones, PCs) of users a and b further execute the processes of steps S83a and S83b as processes parallel to the user posture information generation processes of steps S82a and S82b.
  • the user terminals (smartphones, PCs) of users a and b determine whether or not there is a part having a movement speed equal to or higher than a predetermined threshold based on the sensor detection values input from the respective sensors. judge.
  • steps S83a and S83b if no part having a movement speed equal to or greater than the predetermined threshold value is detected, the process proceeds to steps S84a and S84b. On the other hand, if a part having a moving speed equal to or higher than the predetermined threshold value is detected, the process proceeds to steps S91a and S91b.
  • Steps S84a, S84b In steps S83a and S83b, if no part having a moving speed equal to or greater than the predetermined threshold value is detected, the user terminals (smartphones, PCs) of users a and b each proceed to steps S84a and S84b in steps S82a and S82b. to the user terminal of the communication partner.
  • Steps S85a, S85b the user terminal that has received the user posture information of the user of the communication partner from the user terminal of the communication partner generates an avatar three-dimensional image reflecting the user posture information of the communication partner. Furthermore, in parallel, it generates a three-dimensional avatar image that reflects its own user posture information.
  • Steps S86a, S86b In steps S86a and S86b, the user terminals (smartphones, PCs) of users a and b reflect the avatar three-dimensional image reflecting their own user posture information generated in steps S85a and S85b, and the user posture information of the communication partner. The resulting avatar three-dimensional image is drawn on the display unit of the MR glasses.
  • the user posture reflected avatar three-dimensional image displayed on the MR glasses by the processing of steps S84a,b to S86a,b is an avatar image having a posture delayed by approximately 100 msec from the user's current posture.
  • Steps S91a and S91b On the other hand, when the user terminals (smartphones, PCs) of users a and b each detect a part having a movement speed equal to or greater than a predetermined threshold in steps S83a and S83b, the user terminals (smartphones, PCs) of users a and b each , PC), in steps S91a and S91b, transmits the user posture information generated in steps S82a and S82b together with the sensor detection values of the parts having movement speeds equal to or greater than the threshold value to the user terminal of the communication partner.
  • Each user terminal selectively acquires the sensor detection values of the fast-moving parts of the user as described above with reference to FIGS. 12 to 14, and transmits them to the user terminal of the communication partner. For example, a small-sized packet containing the sensor detection value is generated at the same interval as the sensor sampling period (10 msec) and transmitted to the user terminal of the communication partner.
  • the sensor detection value storage packet is preferably transmitted to the user terminal of the communication partner as a low-delay priority packet that is preferentially transmitted according to, for example, QoS (Quality Of Service).
  • QoS Quality Of Service
  • Steps S92a, S92b The other user terminal that has received the user posture information and the sensor detection values of the part of the fast-moving user from the user terminal of the communication partner, in steps S92a and S92b, compares the user posture information and the sensor detection values received from the user terminal.
  • the two types of information are used to generate a user posture reflecting avatar three-dimensional image of the user on the communication partner side. Furthermore, in parallel, a three-dimensional avatar image is generated using two types of information, ie, user posture information and sensor detection values.
  • the server uses all of the user posture information indicated by black circles and dotted lines in FIG. A user posture reflecting avatar three-dimensional image as shown in (b2) is generated.
  • Steps S93a, S93b In steps S93a and S93b, the user terminals (smartphones, PCs) of users a and b each generate an avatar three-dimensional image using their own user posture information and sensor detection values generated in steps S92a and S92b, and A three-dimensional avatar image using posture information and sensor detection values is drawn on the display unit of the MR glasses.
  • the user posture reflected avatar three-dimensional image displayed on the MR glasses by the processing of steps S91a, S91b to S93a, S93b becomes an avatar image having a posture almost not delayed from the current posture of the user.
  • steps S91a, S91b to S93a, S93b becomes an avatar image having a posture almost not delayed from the current posture of the user.
  • the posture information of the user can be obtained by analyzing the detected values of the sensors attached to each part of the user's body. That is, as described above with reference to FIG. 8, the posture of the user can be estimated by sequentially executing the following processes.
  • Process 1 Sensor detection value input processing (Processing 2) Noise removal processing (Processing 3) Motion vector group generation processing (Processing 4)
  • Posture estimation processing (Learning model application posture estimation processing) (Processing 5) Connection Portion Angle Setting Vector Generating Processing
  • These (Processing 1) to (Processing 5) can be sequentially executed to generate “posture information” indicating the three-dimensional posture of the user.
  • a camera 58 mounted on the user's head can be used to analyze the camera-captured image to analyze the movement of the user's hand.
  • an image captured by the camera 58 is transmitted to the user terminal 21, and the user terminal 21 executes hand tracking processing and hand gesture analysis processing.
  • these hand tracking processing and hand gesture analysis processing can be executed only when the user's hand is within the imaging area of the camera 58, and when the user's hand is not within the imaging area of the camera 58, cannot be executed.
  • the image capturing process by the camera 58 and the hand tracking process and hand gesture analysis process in the user terminal are performed only when the user's hand is within the image capturing area of the camera. It is effective to
  • the user terminal determines whether or not the user's hand is within the image capturing area of the camera based on the user posture information generated based on the sensor detection value, and uses this determination result to 58, and execution/stop of hand tracking processing and hand gesture analysis processing in the user terminal.
  • a processing sequence when the user terminal executes the above processing will be described with reference to the flowchart shown in FIG. Note that the processing according to the flow shown in FIG. 33 can be executed according to a program stored in the storage unit of the user terminal. Hereinafter, processing of each step of the flow shown in FIG. 33 will be described in order.
  • Step S201 First, the user terminal acquires a sensor detection value from the sensor in step S201.
  • the user has motion sensors such as an IMU attached to each part of the body (head, right arm, left arm, waist, right leg, left leg).
  • a sensor detection value is input at a cycle of 10 msec.
  • Step S202 the user terminal generates user posture information using the sensor detection values obtained from the sensors worn on each part of the user.
  • This user posture information generating process is the process described above with reference to FIG. 8, and the following processes are sequentially executed to generate user posture information.
  • Sensor detection value input processing Processing 2
  • Noise removal processing Processing 3
  • Motion vector group generation processing Processing 4
  • Posture estimation processing (Learning model application posture estimation processing)
  • Connection Portion Angle Setting Vector Generation Processing These processings (Processing 1) to (Processing 5) are sequentially executed to generate “posture information” indicating the three-dimensional posture of the user.
  • Step S203 When the user posture information generation processing is completed in step S202, the user terminal analyzes the direction of the head on which the camera is mounted and the position of the hand from the user posture information in step S203. Verify whether it is within range.
  • Step S204 is a branching step. If it is determined in the verification process in step S203 that the hand is within the imaging range of the camera, the process advances to step S205 to determine that the hand is not within the imaging range of the camera. If so, the process proceeds to step S206.
  • Step S205 If it is determined in step S204 that the position of the hand is within the shooting range of the camera, the process proceeds to step S205.
  • step S205 the user terminal activates the camera and starts or continues hand tracking and hand gesture analysis processing.
  • Step S206 On the other hand, if it is determined in step S204 that the position of the hand is not within the shooting range of the camera, the process proceeds to step S206.
  • step S206 the user terminal stops hand tracking and hand gesture analysis processing, and also stops image capturing by the camera.
  • the image captured by the camera may be continuously performed.
  • Step S207 it is determined whether the process is finished. When ending the process, the flow ends. If the process is to be continued, the process returns to step S201 and repeats the process from step S201 onwards.
  • the embodiment described above is an embodiment in which the user's posture and the position of each part of the user's body are analyzed using detection information from motion sensors such as an IMU attached to each part of the user's body.
  • the analysis processing of the user's posture and the position of each part of the user's body can also be performed using other devices without using a motion sensor such as an IMU.
  • a motion sensor such as an IMU.
  • Posture analysis processing using a camera-captured image can be performed at a higher speed than user posture analysis processing using detection information from a motion sensor such as an IMU.
  • a predetermined data processing time is required even for posture information generation processing using images captured by a camera, and it is faster to obtain the positions of each part of the user's body directly from images captured by the camera.
  • processing for changing the imaging frame rate of the camera in accordance with the movement of the user's body is also possible. For example, when the user is almost stationary, the shooting frame rate of the camera is lowered, and when the user is moving violently, the shooting frame rate is increased. By performing such frame rate control, it is possible to generate and output an avatar image with a further reduced delay with respect to the user's movement. Also, power consumption can be reduced by lowering the shooting frame rate of the camera when the user is almost stationary.
  • FIG. 34 is a diagram showing a configuration example of an information processing apparatus such as a user terminal, MR glasses, and a server. Note that the left side of FIG. 34 shows a configuration example of the information processing apparatus 100 corresponding to the user terminal, and the right side shows a configuration example of the server 200 .
  • the information processing apparatus 100 corresponding to the user terminal shown on the left side has a configuration of a single user terminal such as a smartphone or a PC, for example.
  • the information processing apparatus 100 may be, for example, MR glasses having functions of a smartphone, a PC, etc. (data processing, communication functions, etc.).
  • Information processing apparatus 100 includes sensor IF 101 , posture estimation unit 102 , posture estimation learning model 103 , communication unit 104 , sensor detection value transmission target selection unit 105 , and posture reflection three-dimensional avatar image rendering processing unit 106 .
  • the sensor IF 101 is an IF corresponding to a sensor (motion sensor) 151 such as an IMU attached to each part of the user's body (head, right arm, left arm, waist, right leg, left leg, etc.). send and receive data between For example, it is an IF that performs proximity communication such as Bluetooth (registered trademark) communication.
  • Posture estimation unit 102 inputs detection values of sensors attached to each part of the user's body (head, right arm, left arm, waist, right leg, left leg, etc.) input via sensor IF 101 to estimate the user's posture. Execute the processing to be performed. Posture estimation section 102 applies posture estimation learning model 103 generated in advance to estimate the user posture.
  • the user posture information generation processing executed in posture estimation section 102 is the processing described above with reference to FIG. 8, and the following processes are sequentially executed to generate user posture information.
  • Process 1 Sensor detection value input processing (Processing 2) Noise removal processing (Processing 3) Motion vector group generation processing (Processing 4)
  • Posture estimation processing (Learning model application posture estimation processing) (Processing 5) Connection Portion Angle Setting Vector Generation Processing
  • the posture estimation unit 102 sequentially executes each of these processings (Processing 1) to (Processing 5) to generate “posture information” indicating the three-dimensional posture of the user. do.
  • the posture estimation learning model 103 is a learning model generated in advance using a large number of sample data, for example, correspondence data between a large number of different motion vector groups and user postures. This is a learning model that inputs and outputs the user posture.
  • the communication unit 104 executes communication with the server 200 .
  • the user posture information generated by the posture estimation unit 102 of the information processing device 100 is transmitted to the server 200 .
  • the sensor detection value transmission target selection unit 105 executes a process of selecting a sensor detection value to be transmitted to the server 200 .
  • the sensor detection information to be transmitted to the server 200 is not all of the detection values of the sensors attached to each part of the user's body (head, right arm, left arm, waist, right leg, left leg). Only the sensor detection values of parts determined to be moving at a speed equal to or higher than a specified threshold value are detected.
  • the sensor detection value transmission target selection unit 105 analyzes the detection values of the sensors attached to each part of the user's body (head, right arm, left arm, waist, right leg, left leg) and A part moving at a high speed is selected, and the sensor detection value of the selected part is used as the sensor detection value to be transmitted to the server 200 .
  • a sensor detection value of a part moving at a speed equal to or higher than a predetermined threshold value is transmitted to server 200 via communication unit 104 .
  • the selection process of the sensor detection value to be transmitted to the server 200 includes an example of the process executed on the user terminal side (the process described with reference to FIGS. 17 to 21) and an example of the process executed on the server side (Figs. 25).
  • the configuration diagram shown in FIG. 34 is a configuration diagram corresponding to the processing example (the processing described with reference to FIGS. 17 to 21) in which the user terminal side executes the selection processing of the sensor detection value to be transmitted to the server 200. .
  • a configuration diagram corresponding to a processing example (the processing described with reference to FIGS. 22 to 25) in which the server side executes the selection processing of the sensor detection value to be transmitted to the server 200 will be described later with reference to FIG. do.
  • Posture-reflecting 3D avatar image rendering processing unit 106 receives the user posture-reflecting avatar 3D image generated by server 200 using posture information and sensor detection values from server 200 via communication unit 104, and receives the MR image. A process of drawing on the glass display unit 152 is executed.
  • the server 200 has a communication section 201 and a posture-reflecting 3D avatar image generation section 202 .
  • the server 200 inputs user posture information or user posture information and sensor detection values from the information processing device 100 such as a user terminal via the communication unit 201 .
  • the posture-reflecting 3D avatar image generation unit 202 generates a user posture-reflecting avatar 3D image using user posture information input from the information processing apparatus 100 such as a user terminal or two pieces of information, ie, the user posture information and sensor detection values. generated and transmitted to the information processing apparatus 100 via the communication unit 201 .
  • the user posture reflecting avatar 3D image received by the information processing device 100 from the server 200 is rendered on the MR glasses display unit 152 by the posture reflecting 3D avatar image rendering processing unit 106 of the information processing device 100 .
  • FIG. 35 a configuration diagram corresponding to a processing example (the processing described with reference to FIGS. 22 to 25) in which the server side executes the selection processing of the sensor detection value to be transmitted to the server 200 will be described. do.
  • Information processing apparatus 100 includes sensor IF 101 , posture estimation unit 102 , posture estimation learning model 103 , communication unit 104 , sensor detection value transmission target selection unit 105 , and posture reflection three-dimensional avatar image rendering processing unit 106 .
  • the processing executed by components other than the sensor detection value transmission target selection unit 105 is the same as the processing described with reference to FIG. 34, so description thereof will be omitted.
  • the sensor detection value transmission target selection unit 105 in the configuration shown in FIG. 35 receives the transmission target sensor detection value information determined by the server from the server 200 via the communication unit 104, and transmits to the server 200 according to this input information. Sensor detection values are selectively acquired and transmitted to the server 200 via the communication unit 1104 .
  • the server 200 has a communication unit 201 , a posture-reflecting 3D avatar image generation unit 202 , a user movement analysis unit 203 , and a sensor detection value transmission target selection unit 204 .
  • the server 200 inputs user posture information or user posture information and sensor detection values from the information processing device 100 such as a user terminal via the communication unit 201 .
  • the posture-reflecting 3D avatar image generation unit 202 generates a user posture-reflecting avatar 3D image using user posture information input from the information processing apparatus 100 such as a user terminal or two pieces of information, ie, the user posture information and sensor detection values. generated and transmitted to the information processing apparatus 100 via the communication unit 201 . These processes are similar to those described above with reference to FIG.
  • the user motion analysis unit 203 receives user posture information from an information processing device such as a user terminal via the communication unit 201, analyzes the time-series data of the input user posture information, and analyzes the user's body part (such as the left hand) whose position changes rapidly. part) is detected, and the movement speed of that part is estimated.
  • the sensor detection value transmission target selection unit 204 compares the analysis result of the user motion analysis unit 203, that is, the estimated movement speed of the user part (part such as the left hand) whose posture changes rapidly with a predetermined threshold, and determines the threshold value. A sensor detection value of a user part having a movement speed equal to or greater than the value is determined as a transmission target sensor detection value. This decision information is transmitted to the information processing device 100 such as a user terminal via the communication unit 201 .
  • the sensor detection value transmission target selection unit 105 of the information processing apparatus 100 such as a user terminal inputs the transmission target sensor detection value information determined by the server from the server 200 via the communication unit 104, and according to this input information, the server 200 Sensor detection values to be transmitted are selectively acquired and transmitted to the server 200 via the communication unit 1104 .
  • FIG. 36 is a diagram showing a configuration example of the information processing apparatus 100B in the case where the avatar image reflecting the posture of the user is generated only by the user terminal without using the server.
  • An information processing device 100B such as a user terminal includes a sensor IF 101, a posture estimation unit 102, a posture estimation learning model 103, a communication unit 104, a posture reflection three-dimensional avatar image generation unit 106, a utilization target sensor detection value selection unit 121, a posture reflection 3 It has a dimensional avatar image generator 122 .
  • the sensor IF 101 is an IF corresponding to sensors (motion sensors) 151 such as an IMU attached to each part of the user's body (head, right arm, left arm, waist, right leg, left leg, etc.).
  • sensors (motion sensors) 151 such as an IMU attached to each part of the user's body (head, right arm, left arm, waist, right leg, left leg, etc.).
  • it is an IF that performs proximity communication such as Bluetooth (registered trademark) communication.
  • Posture estimation unit 102 inputs detection values of sensors attached to each part of the user's body (head, right arm, left arm, waist, right leg, left leg, etc.) input via sensor IF 101 to estimate the user's posture. Execute the processing to be performed. Posture estimation section 102 applies posture estimation learning model 103 generated in advance to estimate the user posture.
  • the user posture information generation processing executed in posture estimation section 102 is the processing described with reference to FIG. , to generate “posture information” indicating the three-dimensional posture of the user.
  • the posture estimation learning model 103 is a learning model generated in advance using a large number of sample data, for example, correspondence data between a large number of different motion vector groups and user postures. This is a learning model that inputs and outputs the user posture.
  • the communication unit 104 executes communication with, for example, another user terminal as a communication partner.
  • the communication unit 104 transmits, for example, user posture information generated by the posture estimation unit 102 of the information processing device 100 and sensor detection values to other user terminals that are communication partners.
  • the use target sensor detection value selection unit 121 executes a process of selecting a sensor detection value to be used for the user posture reflecting three-dimensional avatar image.
  • the utilization target sensor detection value selection unit 121 analyzes the detection values of the sensors attached to each part of the user's body (head, right arm, left arm, waist, right leg, left leg) and A part moving at a high speed is selected, and the sensor detection value of the selected part is selected as the sensor detection value to be used for the user posture reflecting three-dimensional avatar image.
  • a sensor detection value of a part moving at a speed equal to or higher than a predetermined threshold value is output to posture-reflecting three-dimensional avatar image generation section 122 .
  • Posture-reflecting 3D avatar image generating unit 122 generates user posture information generated by posture estimating unit 102, or this user posture information, and at a speed equal to or greater than a predetermined threshold input from utilization target sensor detection value selecting unit 121, A user posture reflecting avatar three-dimensional image is generated using sensor detection values of moving parts. The generated user posture reflecting avatar 3D image is output to the posture reflecting 3D avatar image drawing processing unit 106 .
  • the posture reflecting 3D avatar image drawing processing unit 106 receives the user posture reflecting avatar 3D image generated by the posture reflecting 3D avatar image generation unit 122 using posture information and sensor detection values, and the 3D image of the user posture reflecting avatar is displayed on the display unit of the MR glasses. 152 is executed.
  • FIG. 37 is an example of a hardware configuration of an information processing apparatus according to the present disclosure, such as a user terminal such as a PC, a smartphone, an MR glass, a server, or the like.
  • a user terminal such as a PC, a smartphone, an MR glass, a server, or the like.
  • the hardware configuration shown in FIG. 37 will be described.
  • a CPU (Central Processing Unit) 501 functions as a data processing section that executes various processes according to programs stored in a ROM (Read Only Memory) 502 or a storage section 508 . For example, the process according to the sequence described in the above embodiment is executed.
  • a RAM (Random Access Memory) 503 stores programs and data executed by the CPU 501 .
  • These CPU 501 , ROM 502 and RAM 503 are interconnected by a bus 504 .
  • the CPU 501 is connected to an input/output interface 505 via a bus 504.
  • the input/output interface 505 includes an input unit 506 including various sensors, a camera, a switch, a keyboard, a mouse, a microphone, and the like, and an output unit 507 including a display, a speaker, and the like. is connected.
  • a storage unit 508 connected to the input/output interface 505 consists of, for example, a hard disk, and stores programs executed by the CPU 501 and various data.
  • a communication unit 509 functions as a transmission/reception unit for data communication via a network such as the Internet or a local area network, and communicates with an external device.
  • a drive 510 connected to the input/output interface 505 drives a removable medium 511 such as a magnetic disk, an optical disk, a magneto-optical disk, or a semiconductor memory such as a memory card to record or read data.
  • a removable medium 511 such as a magnetic disk, an optical disk, a magneto-optical disk, or a semiconductor memory such as a memory card to record or read data.
  • the technique disclosed in this specification can take the following configurations.
  • a posture estimation unit that inputs sensor detection values of motion sensors attached to multiple parts of a user's body to estimate the user's posture; Having a sensor detection value selection unit that selectively acquires sensor detection values of parts moving faster than a specified threshold, outputting the user posture estimated by the posture estimation unit and the sensor detection value selected by the sensor detection value selection unit to an external device or a posture reflection 3D avatar image generation unit in an information processing device;
  • An information processing device for outputting to a display unit a user posture reflecting 3D avatar image generated by the posture reflecting 3D avatar image generation unit using the user posture and sensor detection values.
  • the user posture reflecting 3D avatar image generated by the posture reflecting 3D avatar image generation unit is (a) the user posture estimated by the posture estimation unit; (b) a sensor detection value newer than the sensor detection value used by the posture estimation unit to generate the user posture;
  • the user posture reflecting 3D avatar image generated by the posture reflecting 3D avatar image generation unit is Generated by image correction processing for reflecting the user part position estimated based on the sensor detection value selected by the sensor detection value selection unit on the avatar image generated based on the user posture estimated by the posture estimation unit.
  • the information processing device according to (1) or (2), which is an avatar image to be displayed.
  • the sensor detection value selection unit The information processing apparatus according to any one of (1) to (3), which selectively acquires a sensor detection value of a part whose movement is faster than a prescribed threshold according to specified information from the external device.
  • the sensor detection value selection unit The information processing apparatus according to any one of (1) to (4), which analyzes sensor detection values of a motion sensor and selectively acquires sensor detection values of parts moving faster than a prescribed threshold value.
  • the information processing device further includes: The information processing apparatus according to any one of (1) to (5), further comprising an avatar image drawing processing unit that draws, on a display unit, a user posture reflecting three-dimensional avatar image generated using the user posture and sensor detection values.
  • the posture-reflecting 3D avatar image generating unit A data processing unit of a server capable of communicating with the information processing device, The information processing device is a process of transmitting the user posture estimated by the posture estimation unit and the sensor detection value selected by the sensor detection value selection unit to the server;
  • the information processing apparatus according to any one of (1) to (6), further comprising a communication unit that receives from the server the user posture reflecting three-dimensional avatar image generated by the server.
  • the posture-reflecting 3D avatar image generation unit A data processing unit in the information processing device, The information processing device is inputting the user posture estimated by the posture estimation unit and the sensor detection value selected by the sensor detection value selection unit to a posture reflection three-dimensional avatar image generation unit in the information processing device;
  • the information processing apparatus according to any one of (1) to (7), wherein the posture-reflecting 3D avatar image generation unit outputs the user posture-reflecting 3D avatar image generated using the user posture and sensor detection values to the display unit.
  • the posture estimation unit The information processing apparatus according to any one of (1) to (8), which estimates a user posture using a learning model generated in advance.
  • the information processing device further includes: The information processing apparatus according to any one of (1) to (10), which executes processing for changing the sampling period of the sensor worn by the user according to the movement speed of each part.
  • the information processing device Set the sampling cycle of the sensor that outputs the sensor detection value of the part moving faster than the specified threshold to high cycle, and set the sampling cycle of the sensor that outputs the sensor detection value of the part whose movement speed is less than the specified threshold to low.
  • the information processing apparatus according to any one of (1) to (11), which performs control to set the period.
  • the posture-reflecting 3D avatar image generation unit includes: performing an image modification process for reflecting a user part position estimated based on the sensor detection value on a posture-based avatar image generated based on the user posture, thereby generating the user posture reflecting three-dimensional avatar image; Information processing device to generate.
  • the sensor detection value used in the image correction process by the posture-reflecting 3D avatar image generation unit is a sensor detection value newer than the sensor detection value used in the user posture estimation process.
  • Information processing equipment is a sensor detection value newer than the sensor detection value used in the user posture estimation process.
  • An information processing system having a user terminal and a server
  • the user terminal is a posture estimation unit for estimating a user posture by inputting sensor detection values of motion sensors attached to multiple parts of a user's body; a sensor detection value selection unit that selectively acquires sensor detection values of parts moving faster than a prescribed threshold; a communication unit that transmits the user posture estimated by the posture estimation unit and the sensor detection value selected by the sensor detection value selection unit to the server;
  • the server is generating a user posture reflecting 3D avatar image using the user posture and sensor detection values received from the user terminal, and transmitting the generated user posture reflecting 3D avatar image to the user terminal;
  • the user terminal is An information processing device system for outputting a user posture reflecting three-dimensional avatar image received from the server to a display unit.
  • the server (a) the user posture estimated by the posture estimation unit of the user terminal; (b) a sensor detection value newer than the sensor detection value used by the posture estimation unit of the user terminal to generate the user posture;
  • the user posture reflecting 3D avatar image generated by the server is The user part position estimated based on the sensor detection value selected by the sensor detection value selection unit of the user terminal is reflected in the avatar image generated based on the user posture estimated by the posture estimation unit of the user terminal.
  • An information processing method executed in an information processing device a posture estimation step in which the posture estimation unit estimates the user posture by inputting sensor detection values of motion sensors attached to multiple parts of the user's body; a sensor detection value selection step in which the sensor detection value selection unit selectively acquires sensor detection values of parts moving faster than a prescribed threshold value; a step of outputting the user posture estimated by the posture estimation unit and the sensor detection value selected by the sensor detection value selection unit to an external device or a posture reflection 3D avatar image generation unit in an information processing device; An information processing method for executing a step of outputting, to a display unit, a user posture-reflecting three-dimensional avatar image generated by the posture-reflecting three-dimensional avatar image generation unit using the user posture and sensor detection values.
  • a posture-reflecting 3D avatar image generation unit generates a user posture-reflecting 3D image using a user posture estimated based on sensor detection values of a motion sensor attached to a part of the user's body, and the sensor detection values of the motion sensor.
  • Execute posture-reflecting 3D avatar image generation processing for generating an avatar image includes: performing an image modification process for reflecting a user part position estimated based on the sensor detection value on a posture-based avatar image generated based on the user posture, thereby generating the user posture reflecting three-dimensional avatar image; Information processing method to generate.
  • a series of processes described in the specification can be executed by hardware, software, or a composite configuration of both.
  • a program recording the processing sequence is installed in the memory of a computer built into dedicated hardware and executed, or the program is loaded into a general-purpose computer capable of executing various processing. It can be installed and run.
  • the program can be pre-recorded on a recording medium.
  • the program can be received via a network such as a LAN (Local Area Network) or the Internet and installed in a recording medium such as an internal hard disk.
  • a system is a logical collective configuration of a plurality of devices, and the devices of each configuration are not limited to being in the same housing.
  • an apparatus and method for generating and displaying a user posture reflecting three-dimensional avatar image with less delay with respect to user movement are realized.
  • the user terminal inputs detection values of a motion sensor attached to the user's body to estimate the user's posture, selects sensor detection values of fast-moving parts, and transmits them to the server.
  • the server uses the user posture and sensor detection values to generate a user posture reflecting three-dimensional avatar image, and transmits the image to the user terminal.
  • the user terminal outputs the received user posture reflecting three-dimensional avatar image to the display unit.
  • the server modifies the avatar image based on the user posture to reflect the position of the user's part estimated based on the newer sensor detection values, thereby generating a user posture reflecting three-dimensional avatar image.

Landscapes

  • Engineering & Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Computer Graphics (AREA)
  • Computer Hardware Design (AREA)
  • Software Systems (AREA)
  • Processing Or Creating Images (AREA)
  • User Interface Of Digital Computer (AREA)

Abstract

ユーザ動きに対する遅延の少ないユーザ姿勢反映3次元アバター画像を生成して表示する装置、方法を提供する。ユーザ端末がユーザの体に装着した動きセンサの検出値を入力してユーザ姿勢を推定し、さらに動きの速い部位のセンサ検出値を選択してサーバに送信する。サーバは、ユーザ姿勢とセンサ検出値を利用してユーザ姿勢反映3次元アバター画像を生成しユーザ端末に送信する。ユーザ端末は受信したユーザ姿勢反映3次元アバター画像を表示部に出力する。サーバはユーザ姿勢に基づくアバター画像に対して、より新しいセンサ検出値に基いて推定されるユーザ部位位置を反映させる画像修正を行ってユーザ姿勢反映3次元アバター画像を生成する。

Description

情報処理装置、および情報処理システム、並びに情報処理方法
 本開示は、情報処理装置、および情報処理システム、並びに情報処理方法に関する。さらに詳細には、ユーザの体の腕や足などの各部に装着したセンサによってユーザの動きを検出し、ユーザ動きを反映させたユーザの分身仮想キャラクタであるアバター画像を生成して表示する情報処理装置、および情報処理システム、並びに情報処理方法に関する。
 実空間の実オブジェクト画像上に実際には存在しない仮想オブジェクト画像を重畳した画像を複合現実(MR:Mixed Reality)画像と呼ぶ。
 MR画像の一例として、例えば、実オブジェクトからなる背景画像に仮想キャラクタであるアバター画像を重畳した画像がある。
 具体的には、例えば、実在する町などの背景画像上にユーザの分身キャラクタであるアバターをCG画像として重畳表示し、ユーザの動きに併せてアバターを動かすMR画像が多く利用されている。
 MR画像は、例えばユーザAの分身であるアバターaと、ユーザBの分身であるアバターbをMR画像内で戦わせるといったゲームにも利用される。
 2人のユーザA,B各々の頭、腕、足などに複数の動きセンサを装着し、これらのセンサの検出情報を利用してアバターa,bをユーザA,Bの動きを反映させたCG画像として表示する。
 このような処理を行うことで、MR画像内のアバターa,bは、ユーザA,Bと同様に動き、離れた位置にいるユーザA,Bは1つの場所で実際に戦っているような感覚を得ることができる。
 なお、センサ検出値を利用して画像上の仮想オブジェクトの動き制御を行う構成について開示した従来技術として、例えば特許文献1(特開2021-060627号公報)や、特許文献2(特開2021-185500号公報)がある。
 しかし、例えばユーザに装着したセンサの検出値を用いてアバター等の仮想オブジェクトにユーザと同一の動きを行わせるためには、センサ検出値の解析処理や、解析結果を用いたアバター画像生成処理などのデータ処理が必要となる。これらのデータ処理には所定の処理時間が必要であり、これらの処理時間によってユーザ動きとアバター動きにずれが発生してしまう場合がある。すなわちアバターの動きがユーザの動きから遅延した動きになることがある。
 ユーザは画像に表示された自分の分身であるアバターの動きを見て、次の動きを決めるといった処理を行うこともあり、このような遅延が発生するとユーザは自分とアバターの動きのずれが気になり、思うような動きができなくなる場合がある。
特開2021-060627号公報 特開2021-185500号公報
 本開示は、例えば上記問題点に鑑みてなされたものであり、ユーザの動きとユーザの分身であるアバター等の仮想キャラクタの動きの遅延を減少させ、違和感のない画像を生成する情報処理装置、および情報処理システム、並びに情報処理方法を提供するものである。
 本開示の第1の側面は、
 ユーザの体の複数部位に装着した動きセンサのセンサ検出値を入力してユーザ姿勢を推定する姿勢推定部と、
 規定しきい値より動きの速い部位のセンサ検出値を選択的に取得するセンサ検出値選択部を有し、
 前記姿勢推定部が推定したユーザ姿勢と、前記センサ検出値選択部が選択したセンサ検出値を外部装置、または情報処理装置内の姿勢反映3次元アバター画像生成部に出力し、
 前記姿勢反映3次元アバター画像生成部がユーザ姿勢とセンサ検出値を利用して生成したユーザ姿勢反映3次元アバター画像を表示部に出力する情報処理装置にある。
 さらに、本開示の第2の側面は、
 ユーザの体の部位に装着した動きセンサのセンサ検出値に基いて推定されるユーザ姿勢と、前記動きセンサのセンサ検出値を利用してユーザ姿勢反映3次元アバター画像を生成する姿勢反映3次元アバター画像生成部を有し、
 前記姿勢反映3次元アバター画像生成部は、
 前記ユーザ姿勢に基づいて生成される姿勢ベースアバター画像に対して、前記センサ検出値に基いて推定されるユーザ部位位置を反映させる画像修正処理を実行して、前記ユーザ姿勢反映3次元アバター画像を生成する情報処理装置にある。
 さらに、本開示の第3の側面は、
 ユーザ端末とサーバを有する情報処理システムであり、
 前記ユーザ端末は、
 ユーザの体の複数部位に装着した動きセンサのセンサ検出値を入力してユーザ姿勢を推定する姿勢推定部と、
 規定しきい値より動きの速い部位のセンサ検出値を選択的に取得するセンサ検出値選択部と、
 前記姿勢推定部が推定したユーザ姿勢と、前記センサ検出値選択部が選択したセンサ検出値を前記サーバに送信する通信部を有し、
 前記サーバは、
 前記ユーザ端末から受信するユーザ姿勢とセンサ検出値を利用してユーザ姿勢反映3次元アバター画像を生成し、生成したユーザ姿勢反映3次元アバター画像を前記ユーザ端末に送信し、
 前記ユーザ端末は、
 前記サーバから受信したユーザ姿勢反映3次元アバター画像を表示部に出力する情報処理装置システムにある。
 さらに、本開示の第4の側面は、
 情報処理装置において実行する情報処理方法であり、
 姿勢推定部が、ユーザの体の複数部位に装着した動きセンサのセンサ検出値を入力してユーザ姿勢を推定する姿勢推定ステップと、
 センサ検出値選択部が、規定しきい値より動きの速い部位のセンサ検出値を選択的に取得するセンサ検出値選択ステップと、
 前記姿勢推定部が推定したユーザ姿勢と、前記センサ検出値選択部が選択したセンサ検出値を外部装置、または情報処理装置内の姿勢反映3次元アバター画像生成部に出力するステップと、
 前記姿勢反映3次元アバター画像生成部がユーザ姿勢とセンサ検出値を利用して生成したユーザ姿勢反映3次元アバター画像を表示部に出力するステップを実行する情報処理方法にある。
 さらに、本開示の第5の側面は、
 情報処理装置において実行する情報処理方法であり、
 姿勢反映3次元アバター画像生成部が、ユーザの体の部位に装着した動きセンサのセンサ検出値に基いて推定されるユーザ姿勢と、前記動きセンサのセンサ検出値を利用してユーザ姿勢反映3次元アバター画像を生成する姿勢反映3次元アバター画像生成処理を実行し、
 前記姿勢反映3次元アバター画像生成部は、
 前記ユーザ姿勢に基づいて生成される姿勢ベースアバター画像に対して、前記センサ検出値に基いて推定されるユーザ部位位置を反映させる画像修正処理を実行して、前記ユーザ姿勢反映3次元アバター画像を生成する情報処理方法にある。
 本開示のさらに他の目的、特徴や利点は、後述する本開示の実施例や添付する図面に基づくより詳細な説明によって明らかになるであろう。なお、本明細書においてシステムとは、複数の装置の論理的集合構成であり、各構成の装置が同一筐体内にあるものには限らない。
 本開示の一実施例の構成によれば、ユーザ動きに対する遅延の少ないユーザ姿勢反映3次元アバター画像を生成して表示する装置、方法が実現される。
 具体的には、例えば、ユーザ端末がユーザの体に装着した動きセンサの検出値を入力してユーザ姿勢を推定し、さらに動きの速い部位のセンサ検出値を選択してサーバに送信する。サーバは、ユーザ姿勢とセンサ検出値を利用してユーザ姿勢反映3次元アバター画像を生成しユーザ端末に送信する。ユーザ端末は受信したユーザ姿勢反映3次元アバター画像を表示部に出力する。サーバはユーザ姿勢に基づくアバター画像に対して、より新しいセンサ検出値に基いて推定されるユーザ部位位置を反映させる画像修正を行ってユーザ姿勢反映3次元アバター画像を生成する。
 本構成により、、ユーザ動きに対する遅延の少ないユーザ姿勢反映3次元アバター画像を生成して表示する装置、方法が実現される。
 なお、本明細書に記載された効果はあくまで例示であって限定されるものではなく、また付加的な効果があってもよい。
本開示の処理が適用可能な情報処理システムや情報処理装置の構成と処理の概要について説明する図である。 本開示の処理が適用可能な情報処理システムや情報処理装置の構成と処理の概要について説明する図である。 本開示の処理が適用可能な情報処理システムや情報処理装置の構成と処理の概要について説明する図である。 本開示の処理が適用可能な情報処理システムや情報処理装置の構成と処理の概要について説明する図である。 本開示の処理が適用可能な情報処理システムや情報処理装置の構成と処理の概要について説明する図である。 ユーザに対するセンサの装着例について説明する図である。 スマホやPC等のユーザ端末で実行されるユーザの3次元姿勢情報生成処理について説明する図である。 センサ検出値に基くユーザ姿勢情報生成処理の詳細について説明する図である。 ユーザ端末によるセンサ検出値に基くユーザ姿勢情報の生成処理シーケンスについて説明する図である。 ユーザの動きに対する遅延が発生したアバター画像の表示例について説明する図である。 ユーザ端末がセンサ検出値に基いて生成するユーザ姿勢情報の生成タイミングと、ユーザに装着されたセンサが出力するセンサ検出値の出力タイミングについて説明する図である。 本開示の情報処理装置が実行する処理の一例について説明する図である。 サーバに送信するセンサ検出値をユーザの動きに応じて選択する処理例について説明する図である。 サーバに送信するセンサ検出値をユーザの動きに応じて選択する処理例について説明する図である。 ユーザ姿勢情報と、センサ検出情報の2種類の情報を利用したユーザ姿勢反映アバター3次元画像の生成処理の詳細について説明する図である。 本開示の処理を適用したアバター画像生成、表示処理例、すなわち、ユーザ姿勢情報と、センサ検出情報の2種類の情報を利用したアバター画像生成、表示処理例について説明する図である。 ユーザ端末が送信対象のセンサ検出値を選択する処理例のシーケンスについて説明するシーケンス図である。 ユーザ端末が送信対象のセンサ検出値を選択する処理例のシーケンスについて説明するシーケンス図である。 ユーザ端末がサーバに送信するセンサ検出値を選択する処理の具体例について説明する図である。 ユーザ端末がサーバに送信するセンサ検出値を選択する処理の具体例について説明する図である。 ユーザ端末が送信対象のセンサ検出値を選択する場合にユーザ端末が実行する処理のシーケンスについて説明するフローチャートを示す図である。 サーバが送信対象のセンサ検出値を選択する処理のシーケンスについて説明するシーケンス図である。 サーバが送信対象のセンサ検出値を選択する処理のシーケンスについて説明するシーケンス図である。 ユーザに装着したセンサのサンプリング周期を各部位の移動速度に応じて変更する処理のシーケンスについて説明するシーケンス図である。 ユーザに装着したセンサのサンプリング周期を各部位の移動速度に応じて変更する処理のシーケンスについて説明するシーケンス図である。 サーバを用いることなく、ユーザ端末間で通信を実行して、ユーザ端末において各ユーザのユーザ姿勢反映アバター3次元画像を含むMR画像を生成して各ユーザのMRグラスに表示する処理例を説明する図である。 1人のユーザが1台のユーザ端末を利用して自身の1つのアバターをMR画像上に表示して利用する処理例について説明する図である。 2台のユーザ端末の処理によってユーザの姿勢反映アバター3次元画像を生成してMRグラスに表示する処理例のシーケンスについて説明するシーケンス図である。 2台のユーザ端末の処理によってユーザの姿勢反映アバター3次元画像を生成してMRグラスに表示する処理例のシーケンスについて説明するシーケンス図である。 2台のユーザ端末の処理によってユーザの姿勢反映アバター3次元画像を生成してMRグラスに表示する処理例のシーケンスについて説明するシーケンス図である。 カメラの撮影画像をユーザ端末に送信し、ユーザ端末において、ハンドトラッキング処理や、ハンドジェスチャー解析処理を実行する構成について説明する図である。 カメラの撮影領域と手の位置との関係について説明する図である。 ユーザの手がカメラの画像撮影領域内にあるか否かに応じて画像撮影処理やハンドトラッキング処理の実行、停止を制御する処理について説明するフローチャートを示す図である。 ユーザ端末、MRグラス、サーバなどの情報処理装置の構成例iついて説明する図である。 ユーザ端末、MRグラス、サーバなどの情報処理装置の構成例iついて説明する図である。 ユーザ端末、MRグラス、サーバなどの情報処理装置の構成例iついて説明する図である。 本開示の情報処理装置のハードウェア構成例について説明する図である。
 以下、図面を参照しながら本開示の情報処理装置、および情報処理システム、並びに情報処理方法の詳細について説明する。なお、説明は以下の項目に従って行なう。
 1.本開示の処理が適用可能な情報処理システムの構成例とその問題点について
 2.本開示の情報処理装置が実行する処理の具体例について
 3.本開示の処理の処理シーケンスについて
 3-1.(処理例1)ユーザ端末が送信対象のセンサ検出値を選択する処理の処理シーケンス
 3-2.(処理例2)サーバが送信対象のセンサ検出値を選択する処理の処理シーケンス
 4.ユーザに装着したセンサのサンプリング周期を各部位の移動速度に応じて変更する実施例について
 5.サーバを利用しないユーザ端末間の通信処理によるユーザ姿勢反映アバター画像表示処理例について
 6.ハンドトラッキングやハンドジェスチャー解析処理の制御処理例について
 7.その他の実施例について
 8.情報処理装置の構成例について
 9.情報処理装置のハードウェア構成例について
 10.本開示の構成のまとめ
  [1.本開示の処理が適用可能な情報処理システムの構成例とその問題点について]
 まず、図1以下を参照して、本開示の処理が適用可能な情報処理システムの構成例とその問題点について説明する。
 図1は、本開示の処理が適用可能な情報処理システムの一構成例を示す図である。
 図1には、離れた場所にいるユーザa,10とユーザb,20を示している。
 ユーザa,10とユーザb,20は、MRグラスを装着している。
 ユーザa,10はMRグラス11を装着し、ユーザb,20はMRグラス21を装着している。
 MRグラス11,21は、実空間の実オブジェクト画像上に実際には存在しない仮想オブジェクト画像を重畳した複合現実(MR:Mixed Reality)画像を表示する表示部を備えたHMD(ヘッド・マウント・ディスプレイ)である。
 各ユーザa,bが装着したMRグラス11,21には、図1の中央に示すようなMR画像(複合現実画像)が表示される。
 実在する風景の実オブジェクト画像上に、各ユーザの分身仮想キャラクタであるアバターを重畳表示したMR画像である。
 MR画像内のアバターAがユーザa,10の分身仮想キャラクタであり、アバターBがユーザb,20の分身仮想キャラクタに相当する。
 なお、MRグラス11,21に表示される画像は3次元画像であり、背景画像とアバター画像はいずれも3次元画像として表示される。
 2人のユーザa,bは、頭、腕、足など体の複数の部位に動きセンサを装着しており、これらのセンサの検出情報を利用してMR画像内のアバターA,Bをユーザa,bの動きと同様に動かす。
 MR画像内のアバターA,Bをユーザa,bの動きと同様に動かすために実行される処理ステップが図1に示すステップS01a,b~S03a,bの処理である。
 これらの一連の処理について説明する。
  (ステップS01a,ステップS01b)
 まず、図1のステップS01aに示すように、ユーザa,10の頭、腕、足などに装着された動きセンサのセンサ検出値が、ユーザa,10の近くにあるユーザ端末(スマホ)12に送信される。
 ユーザ端末(スマホ)12は、ユーザa,10の頭、腕、足などに装着された動きセンサのセンサ検出値を解析して、ユーザa,10の3次元姿勢情報を生成する。
 一方、図1のステップS01bに示すように、ユーザb,20の頭、腕、足などに装着された動きセンサのセンサ検出値が、ユーザb,20の近くにあるユーザ端末(PC)22に送信される。
 ユーザ端末(PC)22は、ユーザb,20の頭、腕、足などに装着された動きセンサのセンサ検出値を解析して、ユーザb,20の3次元姿勢情報を生成する。
 なお、センサからユーザ端末(スマホ)12やユーザ端末(PC)22に対するセンサ検出値の送信処理は、例えばブルートゥース(登録商標)通信等の近接通信を利用して実行される。
  (ステップS02a,ステップS02b)
 ユーザ端末(スマホ)12がセンサ検出値に基づいて生成したユーザa,10の3次元姿勢情報は、ステップS02aにおいて、ユーザ端末(スマホ)12からサーバ40に送信される。
 一方、ユーザ端末(PC)22がセンサ検出値に基づいて生成したユーザb,20の3次元姿勢情報も、ステップS02bにおいて、ユーザ端末(PC)22からサーバ40に送信される。
 サーバ40は、ユーザ端末(スマホ)12がセンサ検出値に基づいて生成したユーザa,10の3次元姿勢情報に基づいて、ユーザa,10の3次元姿勢と同様の姿勢を持つアバターAの3次元画像を生成する。
 さらに、サーバ40は、ユーザ端末(PC)22がセンサ検出値に基づいて生成したユーザb,20の3次元姿勢情報に基づいて、ユーザb,20の3次元姿勢と同様の姿勢を持つアバターBの3次元画像を生成する。
  (ステップS03a,ステップS03b)
 サーバ40は、ステップS03aにおいて、サーバ40が生成したアバターA,Bの3次元画像を含むMR画像をユーザa,10側のユーザ端末(スマホ)12に送信する。
 同様に、サーバ40は、ステップS03bにおいて、サーバ40が生成したアバターA,Bの3次元画像を含むMR画像をユーザb,20側のユーザ端末(PC)22に送信する。
 ユーザa,10側のユーザ端末(スマホ)12は、サーバ40から受信したアバターA,Bの3次元画像を含むMR画像をユーザa,10が装着しているMRグラス11に送信して表示させる。
 一方、ユーザb,20側のユーザ端末(PC)22も、サーバ40から受信したアバターA,Bの3次元画像を含むMR画像をユーザb,20が装着しているMRグラス21に送信して表示させる。
 ユーザ端末12,22とMRグラス11,21間の通信も、例えばブルートゥース(登録商標)通信等の近接通信を利用して実行される。
 なお、サーバ40からユーザ端末12,22に送信する画像は、アバターA,Bの3次元画像に背景画像を組み合わせたMR画像としてもよいし、背景画像を含まないアバター画像のみとし、背景画像はユーザ端末12,22側で生成した画像を利用する構成としてもよい。
 これら一連の処理を繰り返して実行することでMR画像内のアバターA,Bをユーザa,bの動きと同様に動かすことが可能となり、離れた位置にいるユーザa,bは、一つの同じ場所で戦っているような感覚を味わうことができる。
 なお、図1に示す例は、2人のユーザが各ユーザのアバターを1つのMR画像上に表示して利用する処理例であるが、1人のユーザが自分対応の1つのアバターをMR画像上に表示して利用する処理も可能である。
 図2を参照して、1人のユーザが自身の1つのアバターをMR画像上に表示して利用する処理例について説明する。
 ユーザc,30は、MRグラス31を装着している。
 ユーザc,30が装着したMRグラス31には、図2の中央に示すようなMR画像(複合現実画像)が表示される。
 実在するステージの実オブジェクト画像上に、ユーザc,30の分身仮想キャラクタであるアバターCを重畳表示したMR画像である。
 MRグラス31に表示される画像は3次元画像であり、背景画像とアバター画像はいずれも3次元画像として表示される。
 ユーザc,30は、頭、腕、足などに複数の動きセンサを装着し、これらのセンサの検出情報を利用してMR画像内のアバターCがユーザc,30の動きと同様に動く。
 MR画像内のアバターCをユーザc,30の動きに併せて動かすために実行される処理を説明する処理ステップが図2に示すステップS01c~S03cの処理である。
 これらの一連の処理について説明する。
  (ステップS01c)
 図2のステップS01cに示すように、ユーザc,30の頭、腕、足などに装着された動きセンサのセンサ検出値が、ユーザc,30の近くにあるユーザ端末(スマホ)32に送信される。
 ユーザ端末(スマホ)32は、ユーザc,30の頭、腕、足などに装着された動きセンサのセンサ検出値を解析して、ユーザc,30の3次元姿勢情報を生成する。
  (ステップS02c)
 ユーザ端末(スマホ)32がセンサ検出値に基づいて生成したユーザc,30の3次元姿勢情報は、ステップS02cにおいて、サーバ40に送信される。
 サーバ40は、ユーザ端末(スマホ)32がセンサ検出値に基づいて生成したユーザc,30の3次元姿勢情報に基づいて、ユーザc,30の3次元姿勢と同様の姿勢を持つアバターCの3次元画像を生成する。
  (ステップS03c)
 サーバ40は、ステップS03cにおいて、サーバ40が生成したアバターCの3次元画像を含むMR画像をユーザc,30側のユーザ端末(スマホ)32に送信する。
 ユーザc,30側のユーザ端末(スマホ)32は、サーバ40から受信したアバターCの3次元画像を含むMR画像をユーザc,30が装着しているMRグラス31に送信して表示させる。
 これら一連の処理を繰り返して実行することでMR画像内のアバターCをユーザc動きと同様に動かすことが可能となり、ユーザc,30は、あたかも実際のステージ上でダンスや歌っているような感覚を味わうことができる。
 なお、図1、図2を参照して説明した例では、ユーザが装着したMRグラスとして非透過型のMRグラスを利用した例を説明したが、例えば図3に示すように透過型MRグラス33を利用した処理も可能である。
 透過型MRグラス33は、ユーザc,30が実際に見ている実オブジェクト上に仮想オブジェクトであるアバターCの3次元画像を表示する構成である。このような投下型MRグラスを用いることで、ユーザがいる環境上にアバターが存在するようなMR画像(複合現実画像)を観察することができる。
 なお、図3に示す例では、ユーザc,30の分身であるアバターCは、ユーザc,30のいる部屋に存在するように透過型MRグラス33に表示される。
 ユーザc,30の動きに併せて透過型MRグラス33に表示されたアバターCも動くことになる。この場合、例えばアバターCがテーブルの前に入る場合とテーブルの後ろにいる場合とでは、アバターCの表示態様を変更する必要がある。
 アバターCがテーブルの後ろにいる場合、テーブルの背後に隠れるアバターCの体の部分を非表示にしなければならない。
 このような表示制御を行うためには、ユーザc,30がいる部屋の環境情報、すなわち実オブジェクトの位置などを解析可能な部屋の3次元環境情報が必要となる。
 この処理のため、ユーザc,30が装着した透過型MRグラス33に付属するカメラ34がユーザc,30のいる部屋の画像を撮影する。
 図3に示すステップS04dの処理である。
 なお、図3に示すステップS01d~S03dは、図2を参照して説明したステップS01c~S03cと同様の処理である。
 図3のステップS04dに示すように、カメラ34が撮影した画像はユーザ端末(スマホ)32に送信される。
 例えばブルートゥース(登録商標)通信により送信される。
 ユーザ端末(スマホ)32は、カメラ34が撮影した画像を用いてユーザc,30が見ている部屋の3次元構成を解析し、部屋の3次元構成情報である3次元環境情報を生成する。
 具体的には、例えばカメラ34が連続的に撮影する動画像を解析して撮影画像中に含まれるオブジェクトの3次元構成を解析するSLAM処理などを実行して部屋の3次元環境情報を生成する。
 なお、SLAM(Simultaneous Localization and Mapping)は、カメラの撮影画像を用いて、自己位置推定処理(ローカリゼーション)と3次元環境地図作成処理(mapping)を並行して実行可能とした処理である。
 次に、ステップS05dにおいて、ユーザ端末(スマホ)32は、ユーザ端末(スマホ)32がカメラ34の撮影画像を用いて生成した部屋の3次元環境情報を考慮して、サーバ40から受信したユーザ姿勢判定アバター画像をと等価型MRグラス33の表示部に描画する描画処理を実行する。
 すなわち、例えば、ユーザc,30の位置がテーブルの後ろにある場合、テーブルに隠れたアバター部分は消去して表示する処理など、部屋の3次元環境情報と表示されるアバター画像の矛盾が発生しないアバター画像描画処理を実行する。
 図3に示す処理例は、サーバ40がユーザ姿勢近影アバター画像の全体画像を生成し、ユーザ端末(スマホ)32側で部屋の3次元環境情報を考慮したアバター画像の描画処理を実行する構成である。
 このような処理に限らず、例えば、ユーザ端末(スマホ)32が生成した部屋の3次元環境情報をサーバ40に送信し、サーバ40側で部屋の3次元環境情報を考慮したユーザ姿勢反映アバター画像を生成してユーザ端末(スマホ)32に送信する処理を行う構成も可能である。
 例えば、テーブルの後ろのアバター部分を予め消去したユーザ姿勢反映アバター画像をサーバ40が生成してユーザ端末(スマホ)32に送信する。
 図4は、このような処理例を説明する図である。
 ユーザ端末(スマホ)32は、図4に示すステップS01e1で動きセンサ検出情報を入力し、ユーザ姿勢を推定し、ステップS02e1において、推定したユーザ姿勢情報をサーバ40に送信する。
 さらに、ユーザ端末(スマホ)32はこれらの処理に併せて、ステップS01e2において、カメラ34が撮影した画像を入力して前述したSLAM処理などを実行して部屋の3次元環境情報を生成する。さらに、ステップS02e2において、生成した部屋の3次元環境情報をサーバ40に送信する。
 サーバ40は、ユーザ端末(スマホ)32から受信したユーザ姿勢情報と、部屋の3次元環境情報を利用して、部屋の3次元環境情報を考慮したユーザ姿勢反映アバター画像を生成してユーザ端末(スマホ)32に送信する。
 すなわち、例えばテーブルの後ろになる部分などを消去したアバター画像である。
 ユーザ端末(スマホ)32は、サーバ40から受信したユーザ姿勢反映アバター画像を透過型MRグラス33に描画する。
 このような処理を行うことも可能である。
 なお、図3、図4に示す構成は、透過型MRグラス33を利用した処理例として説明したが、非透過型のMRグラス31を用いた場合も同様の処理が可能である。
 例えば図5に示すように非透過型のMRグラス31を用い、MRグラス31に付属するカメラ34で部屋の画像を撮影して、この部屋の画像を背景画像としてアバター画像と合わせたMR画像を生成して表示する処理が可能である。
 本開示の処理は、例えば上述の図1~図5を参照して説明したようなアバター画像生成、表示処理を行う構成において、ユーザの動きに対する遅延を低減させてアバターを動かす制御を可能とするものである。
 なお、本開示の処理は上述したMR画像に限らず、その他のAR画像(拡張現実画像)やVR画像(仮想現実画像)などにおいても利用可能である。
 次に、図6を参照して、ユーザに対するセンサ(動きセンサ)の装着例について説明する。
 図6に示す例において、ユーザは、以下の6つの動きセンサを体の各部に装着している。
 (a)頭動きセンサS1,51、
 (b)右腕動きセンサS2,52、
 (c)左腕動きセンサS3,53、
 (d)腰動きセンサS4,54、
 (e)右足動きセンサS5,55、
 (f)左足動きセンサS6,56、
 これら6つの動きセンサは、それぞれユーザの頭、右腕、左腕、腰、右足、左足、これら6か所の部位の動きを個別に検出する。
 なお、動きセンサとしては、例えばIMU(慣性計測装置:Inertial Measurement Unit)が用いられる。
 IMUは、xyz3軸方向の加速度、xyz3軸周りの角速度などを同時に計測可能な動きセンサである。
 図6に示すようにユーザの頭、右腕、左腕、腰、右足、左足、これら6か所に装着した動きセンサ(IMU)は、それぞれユーザの頭、右腕、左腕、腰、右足、左足、これら6か所の3軸方向の加速度と3軸周りの角速度をセンサ検出値として出力する。
 なお、図6に示すセンサ装着例は、ユーザの体の6か所にセンサを装着した例であるが、これは一例であり、例えば両手のみ、または両手両足のみ、あるいはさらに多くのセンサを体の各部位に装着する構成など、様々なセンサ装着態様が利用可能である。
 先に図1~図5を参照して説明したように、ユーザに装着されたセンサの検出値は、ユーザのスマホやPCなどのユーザ端末に送信される。
 ユーザのスマホやPC等のユーザ端末は、ユーザの頭、腕、足などに装着された複数の動きセンサのセンサ検出値を解析して、ユーザの3次元姿勢情報を生成する。
 図7以下を参照してスマホやPC等のユーザ端末で実行されるユーザの3次元姿勢情報生成処理について説明する。
 図7は、ユーザ端末(スマホ)12が実行する代表的処理について説明する図である。
 なお、センサの検出値を入力するユーザ端末は図1を参照して説明したようにユーザ端末(スマホ)12やユーザ端末(PC)22であるが、以下ではユーザ端末の代表例としてユーザ端末(スマホ)12を用いた処理例について説明する。
 図7に示すように、ユーザ端末(スマホ)12は、(処理a)としてユーザ姿勢情報生成処理を実行する。
 ユーザ端末(スマホ)12は、ユーザ10の体の各部位に装着されたセンサの検出値を入力し、ユーザ姿勢情報を生成する。
 このユーザ姿勢情報は3次元空間上の3次元姿勢情報である。このユーザ姿勢情報の生成処理は、例えば予め生成された学習モデルを用いて実行される。
 この処理の詳細については後述する。
 図7に示すように、ユーザ端末(スマホ)12がセンサ検出値に基いて生成したユーザ姿勢情報は、サーバ40に送信される。
 サーバ40は、ユーザ端末(スマホ)12から受信したユーザ姿勢情報と同じ姿勢を持つアバター3次元画像、すなわちユーザ姿勢反映アバター3次元画像を生成して、ユーザ端末(スマホ)12に送信する。
 ユーザ端末(スマホ)12は、(処理b)として、サーバ40から受信したユーザ姿勢反映アバター3次元画像をユーザ10が装着しているMRグラス11の表示部に表示するための3次元画像描画処理を実行する。
 次に、図7に示すユーザ端末(スマホ)12等のユーザ端末が実行する(処理a)ユーザ姿勢情報生成処理、すなわち、センサ検出値に基くユーザ姿勢情報生成処理の詳細について、図8を参照して説明する。
 図8の下側に示す図は、スマホ等のユーザ端末が実行するセンサ検出値に基くユーザ姿勢情報生成処理の詳細シーケンス例について説明する図である。
 図8下段の図に示すように、センサ検出値に基くユーザ姿勢情報生成処理においては以下の各処理を順次、実行する。
 (処理1)センサ検出値入力処理
 (処理2)ノイズ除去処理
 (処理3)動きベクトル群生成処理
 (処理4)姿勢推定処理(学習モデル適用姿勢推定処理)
 (処理5)接続部角度設定ベクトル生成処理
 これら(処理1)~(処理5)の各処理を順次、実行して、ユーザの3次元姿勢を示す「姿勢情報」が生成される。
 「(処理1)センサ検出値入力処理」は、ユーザの体の各部位(頭、右腕、左腕、腰、右足、左足等)に装着されたセンサの検出値の入力処理である。
 なお、前述したようにセンサからユーザ端末(スマホ)12に対するセンサ検出値の送信処理は、例えばブルートゥース(登録商標)通信等の近接通信を利用して実行される。
 「(処理2)ノイズ除去処理」は、ユーザ端末(スマホ)12に入力されたセンサ検出値からノイズ成分を除去する処理である。例えば規定周波数以上の高周波成分の除去処理など、予め規定されたノイズ除去アルゴリズムを適用してノイズ成分を除去する。
 「(処理3)動きベクトル群生成処理」は、ノイズ除去がなされたセンサ検出値に基いて、センサが装着されたユーザの体の各部位の個別の動きを示す動きベクトルを生成する処理である。
 先に説明したように、センサとして例えばIMU(慣性計測装置:Inertial Measurement Unit)が用いられる。
 IMUは、xyz3軸方向の加速度、xyz3軸周りの角速度などを同時に計測可能な動きセンサであり、ユーザ端末(スマホ)12は、ユーザの頭、右腕、左腕、腰、右足、左足、これら6か所のIMU出力値を取得することができる。
 ユーザ端末(スマホ)12は、これらユーザの体の各部位(頭、右腕、左腕、腰、右足、左足)のセンサ出力値に基づいて、各部位の動き方向と動き速度を反映した各部位対応の複数の動きベクトルを生成する。
 「(処理4)姿勢推定処理(学習モデル適用姿勢推定処理)」は、(処理3)で生成したユーザの体の各部位対応の動きベクトルに基づいて、ユーザの3次元姿勢を推定する処理である。
 この動きベクトルに基づくユーザの3次元姿勢推定処理は、例えば予め生成した学習モデルを利用して実行する。
 学習モデルは、ユーザの体の各部位対応の動きベクトルを入力してユーザ姿勢を出力する学習モデルである。
 この学習モデルは、多数のサンプルデータ、例えば多数の異なる動きベクトル群とユーザ姿勢との対応データを利用して予め生成された学習モデルである。
 「(処理5)接続部角度設定ベクトル生成処理」は、(処理4)において学習モデルを利用して推定したユーザ姿勢の補間処理であり、学習モデルを利用して推定したユーザ姿勢情報で不足する体の部位の姿勢や位置を補間して、ユーザの体全体の姿勢情報を生成する処理である。
 これら(処理1)~(処理5)を実行することで、ユーザ10の3次元姿勢情報を生成することができる。
 図8を参照して説明したように、センサ検出値に基くユーザ姿勢情報生成処理には各センサ連出値に基づく動きベクトルの生成処理や、生成した動きベクトルを学習モデルに入力してユーザ姿勢を推定する処理など、複数の処理ステップを順次、実行する必要があり、1つのユーザ姿勢を生成するために所定の時間を要する。
 例えば、1つのユーザ姿勢を生成するために必要な処理時間は100msecである。この場合、図9に示すように、ユーザ端末はセンサ検出値に基くユーザ姿勢情報生成処理を100msec間隔でしか実行することができない。
 すなわち、ユーザ端末(スマホ)12が生成したユーザ姿勢情報早く100msec前のセンサ検出値に基いて生成された姿勢情報となる。
 図9に示すように、ユーザ端末(スマホ)12等のユーザ端末が時間(t10)において、センサ検出値に基くユーザ姿勢情報を生成した場合、次に生成可能な新たなユーザ姿勢情報は、時間(t10)から100msec後の時間(t20)となる。さらに、次に生成可能な新たなユーザ姿勢情報は、時間(t20)から100msec後の時間(t30)となる。
 例えば、時間(t20)に生成された姿勢情報02(Pose02)は、時間(t20)から100msec前の時間(t10)のセンサ検出値に基づいて生成された姿勢情報である。また、時間(t30)に生成された姿勢情報03(Pose03)は、時間(t30)から100msec前の時間(t20)のセンサ検出値に基づいて生成された姿勢情報である。
 ユーザ端末(スマホ)12等のユーザ端末が生成したユーザ姿勢情報は、サーバ40に送信され、サーバ40がユーザ端末から受信したユーザ姿勢情報に基づいてアバターの3次元画像、すなわちユーザ姿勢反映アバター3次元画像を生成する。
 さらに、サーバ40が生成したユーザ姿勢反映アバター3次元画像がユーザ端末(スマホ)12に送信され、MRグラス11に描画される。
 ユーザ端末(スマホ)12等のユーザ端末におけるユーザ姿勢情報の生成処理に必要となる処理時間が長いと、実際のユーザの動きとMRグラス11に表示されるアバターの動きにずれが発生する。すなわち、アバターの動きがユーザの動きより遅延した動きになってしまう。
 図10を参照して、ユーザの動きに対する遅延が発生したアバター画像の表示例について説明する。
 図10(a)は体の各部位にセンサを装着したユーザの姿勢の時間経過(tx~ty~tz)に伴う推移を示した図である。
 ユーザは時間tx~tzの間でジャンプを開始し、着地している。
 一方、図10(b)は、ユーザに装着したセンサに基づいて生成したユーザ姿勢情報を用いて生成されたアバター画像の時間経過(tx~ty~tz)に伴う変化を示した図である。
 例えば時間(tz)において、ユーザは床に着地しているが、同一時刻(tz)の表示画像上のアバターは、まだ着地していない。
 これは、時間(tz)におけるアバター画像が、時間(tz)より前のユーザ姿勢を反映したアバター画像であるためである。
 すなわち時間(tz)のアバター画像は、時間(tz)より前のユーザ姿勢、
具体的には着地直前のセンサ検出情報を利用して生成されたユーザ姿勢に基づいて生成されたユーザ姿勢反映アバター画像である。
 このような場合、ユーザは、ユーザの実際の動きより遅延したアバター画像をMRグラス11で観察することになり、違和感を覚えることになり、ユーザは思い通りの動きやアクションを行うことができなくなる場合がある。
 本開示の処理は、このような問題を解決するものである。すなわちユーザの動きに対する遅延のない、または遅延が少ないアバターの3次元画像表示処理を実現するものである。
  [2.本開示の情報処理装置が実行する処理の具体例について]
 以下、本開示の情報処理装置が実行する処理の具体例について説明する。
 図11には、スマホ等のユーザ端末がセンサ検出値に基いて生成するユーザ姿勢情報の生成タイミングと、ユーザに装着されたIMU等のセンサが出力するセンサ検出値の出力タイミングを並べて示した図である。
 上段には、スマホ等のユーザ端末がセンサ検出値に基いて生成するユーザ姿勢情報の生成タイミングを示している。
 先に図9を参照して説明したように、スマホ等のユーザ端末は、例えば100msec間隔でユーザ姿勢情報を更新して、これらをサーバに送信する。
 これに対して、ユーザの体の各部位に装着されたIMU等の動きセンサは、例えば10msec間隔でセンサ検出値を順次、出力することができる。
 センサの検出値出力間隔、すなわちサンプリングタイムは、センサによって異なるが上段のユーザ姿勢算出間隔(100msec)より、はるかに短い時間間隔で新たなセンサ検出値を出力することができる。
 ここでは、ユーザの体の各部位に装着されたIMU等の動きセンサが10msecごとに新たなセンサ検出値を出力可能な構成を有するものとして説明する。
 図12を参照して本開示の処理の具体例について説明する。
 図12に示すようにユーザ端末(スマホ)12等のユーザ端末は、図12に示す(処理p)と(処理q)を併せて実行する。
 すなわち、
 (処理p)ユーザの体の各部位に装着されたIMU等の動きセンサに基づく姿勢情報生成処理と、生成した姿勢情報のサーバ40に対する送信処理
 (処理q)ユーザの体の各部位に装着されたIMU等の動きセンサのセンサ検出値から、動きの速い部位のセンサ検出値をそのままサーバ40に送信する処理
 これらの処理p,qを併せて実行する。
 (処理p)におけるユーザ姿勢情報の生成処理とサーバ40に対する姿勢情報送信処理は100msec周期で実行される。これに対して(処理q)のセンサ検出情報のサーバ40に対する送信処理は10msec周期で実行される。
 すなわち、サーバ40は、動きの速い部位のセンサ検出値をより早いタイミングで受信することができる。
 サーバ40は、100msec周期でユーザ端末(スマホ)12から受信するユーザ姿勢情報と、10msec周期で受信するセンサ検出情報の2種類の情報を利用してユーザ姿勢反映アバター3次元画像を生成する。
 サーバ40において実行する2種類の情報を利用したユーザ姿勢反映アバター3次元画像の生成処理の詳細については後述する。
 図12(処理q)においてサーバ40に送信するセンサ検出情報は、ユーザ10の体の各部位(頭、右腕、左腕、腰、右足、左足)に装着されたセンサの検出値の全てではなく、予め規定したしきい値以上の速度で動いていると判定された部位のセンサ検出値のみである。
 すなわち、サーバ40に送信されるセンサ検出値は、ユーザの動きに応じて選択される。具体例について図13、図14を参照して説明する。
 図13は、ユーザ10が左腕を前に突き出す「パンチ」を実行した場合のデータ送信処理例を示している。
 図13上段に示すように、ユーザ端末(スマホ)12は、ユーザ姿勢情報の生成処理とサーバ40に対する姿勢情報送信処理を100msec周期で実行する。
 ユーザ端末(スマホ)12は、ユーザ姿勢情報格納パケットを100msec間隔で生成してサーバ40に送信する。
 さらに、ユーザ端末(スマホ)12は、図13下段に示すように動きの速いユーザ10の左腕のセンサ検出値を選択的に取得してサーバ40に送信する。センサのサンプリング周期(10msec)と同じ間隔でセンサ検出値を格納した小サイズパケットを生成してサーバ40に送信する。
 なお、センサ検出値格納パケットは、例えばQoS(Quolity Of Service)に従って優先送信される低遅延優先パケットとしてサーバ40に送信することが好ましい。このQoSに従った処理を行うことで、センサ検出値格納パケットは遅延なくサーバ40に送信される。
 サーバ40は、100msec周期でユーザ端末(スマホ)12から受信するユーザ姿勢情報と、10msec周期で受信するユーザ10の動きの速い左腕のセンサ検出情報の2種類の情報を利用してユーザ姿勢反映アバター3次元画像を生成する。
 図14に示す例は、ユーザ10が歩行を開始し、その後、歩行を停止した場合にユーザ端末(スマホ)12が実行するセンサ検出値の送信開始処理と、送信停止処理を説明する図である。
 図14上段に示すように、ユーザ端末(スマホ)12は、ユーザ姿勢情報の生成処理とサーバ40に対する姿勢情報送信処理を100msec周期で実行する。
 ユーザ端末(スマホ)12は、ユーザ姿勢情報格納パケットを100msec間隔で生成してサーバ40に送信する。
 さらに、ユーザ端末(スマホ)12は、図14下段に示すようにユーザ10が歩いている歩行期間(ta~tb)のみ、動きの速いユーザ10の左足と右足のセンサ検出値を選択的に取得してサーバ40に送信する。センサ検出値のサンプリング周期(10msec)と同じ間隔でセンサ検出値を格納した小サイズパケットを生成してサーバ40に送信する。
 ユーザ端末(スマホ)12は、ユーザ10の歩行開始タイミング(ta)において、動きの速いユーザ10の左足と右足のセンサ検出値を格納した小サイズパケットの生成処理を開始してサーバ40に送信する処理を始める。
 その後、ユーザ端末(スマホ)12は、ユーザ10の歩行終了タイミング(tb)において、動きが遅くなったユーザ10の左足と右足のセンサ検出値を格納した小サイズパケットの生成処理を停止し、サーバ40に送信する処理を停止する。
 サーバ40は、100msec周期でユーザ端末(スマホ)12から受信するユーザ姿勢情報と、ユーザ10の歩行期間のみ、10msec周期で受信するユーザ10の動きの速い左右の足のセンサ検出情報を利用してユーザ姿勢反映アバター3次元画像を生成する。
 次に、図15を参照してサーバ40において実行する2種類の情報、すなわちユーザ姿勢情報と、センサ検出情報の2種類の情報を利用したユーザ姿勢反映アバター3次元画像の生成処理の詳細について説明する。
 図15は、先に図10を参照して説明したユーザの動き、すなわちユーザがジャンプを行って着地した場合のユーザ姿勢反映アバター3次元画像生成処理例について説明する図である。
 図15には、以下の2つのユーザ姿勢反映アバター3次元画像生成処理例を示している。
 (a)ユーザ姿勢情報のみを利用したユーザ姿勢反映アバター3次元画像生成処理
 (b)ユーザ姿勢情報とセンサ検出情報(左足と右足)を利用したユーザ姿勢反映アバター3次元画像生成処理
 (a)は、先に図8を参照して説明したと同様の処理であり、ユーザ姿勢情報のみを利用したユーザ姿勢反映アバター3次元画像生成処理である。
 この処理では、サーバ40は、ユーザ端末(スマホ)12から10mmsec間隔で受信するユーザ姿勢情報のみを利用して、ユーザ姿勢反映アバター3次元画像を生成する。
 すなわち、図15に示す(a1)ユーザ姿勢情報のみを利用して、図15(a2)に示すようなユーザ姿勢反映アバター3次元画像を生成する。
 この結果として、ユーザが着地したタイミングにおいてユーザのMRグラスに表示されるアバター画像は、図15(a3)に示すように着地直前のアバター画像となってしまう。
 これに対して、(b)ユーザ姿勢情報とセンサ検出情報(左足と右足)を利用したユーザ姿勢反映アバター3次元画像生成処理は、図12~図14を参照して説明したユーザ姿勢情報とセンサ検出情報(左足と右足)を利用したユーザ姿勢反映アバター3次元画像生成処理である。
 図15(b1)には、ユーザ姿勢情報と、センサ検出値に基く右足位置情報、および左足位置情報を示している。
 黒丸と点線で示すデータがユーザ姿勢情報である。このユーザ姿勢情報は(a1)に示すユーザ姿勢情報と同様の情報であり、ユーザ端末(スマホ)12から100msec間隔で受信するユーザ姿勢情報である。さらに図15(b1)には、白丸で示すセンサ検出値に基く右足位置情報、および左足位置情報を示している。
 これらの右足位置情報、および左足位置情報は、ユーザ端末(スマホ)12から10sec間隔で受信するセンサ検出情報を利用して得られる最新のユーザの右足位置情報と左足位置情報である。
 サーバ40は、これらの情報、すなわち黒丸と点線で示すユーザ姿勢情報と、白丸で示すセンサ検出値に基く右足位置情報、および左足位置情報の全ての情報を利用して、(b2)に示すようなユーザ姿勢反映アバター3次元画像を生成する。
 サーバ40は、黒丸と点線で示すユーザ姿勢情報を利用して生成されるユーザ姿勢反映アバター3次元画像と、ユーザ端末(スマホ)12から10sec間隔で受信するセンサ検出情報を利用して得られる最新のユーザの右足位置情報と左足位置情報を合成してユーザ姿勢反映アバター3次元画像を生成する。
 すなわち、黒丸と点線で示すユーザ姿勢情報を利用して生成されるユーザ姿勢反映アバター3次元画像の右足位置と左足位置を、センサ検出情報を利用して得られる最新のユーザの右足位置情報と左足位置情報に置き換える修正を行って、ユーザ姿勢反映アバター3次元画像を生成する。
 この結果として、ユーザが着地したタイミングにおいてユーザのMRグラスに表示されるアバター画像は、図15(b3)に示すように着地したアバター画像として表示されることになる。
 すなわち、ユーザは、ユーザの着地タイミングにおいて着地したアバター画像をMRグラスで観察することができる。
 このようにサーバ40は姿勢反映3次元アバター画像生成部を有し、サーバ40の姿勢反映3次元アバター画像生成部は、ユーザ姿勢情報に基づいて生成される姿勢ベースアバター画像に対して、センサ検出値に基いて推定されるユーザ部位位置を反映させる画像修正処理を実行して、ユーザ姿勢反映3次元アバター画像を生成する。
 なお、サーバ40の姿勢反映3次元アバター画像生成部が画像修正処理に利用するセンサ検出値は、ユーザ姿勢情報の生成処理に利用されたセンサ検出値より新しいセンサ検出値である。
 図16を参照して本開示の処理を適用したアバター画像生成、表示処理例、すなわち、ユーザ姿勢情報と、センサ検出情報の2種類の情報を利用したアバター画像生成、表示処理例について説明する。
 図16(a)は、図10と同様の処理例であり、ユーザの体の各部位にセンサを装着したユーザの姿勢の時間経過(tx~ty~tz)に伴う推移を示した図である。
 ユーザは時間tx~tzの間でジャンプを開始し、着地している。
 一方、図16(b)は、ユーザに装着したセンサに基づいてユーザ端末(スマホ)12から100sec間隔で受信するユーザ姿勢情報と、ユーザ端末(スマホ)12から10sec間隔で受信するセンサ検出情報を利用して得られる最新のユーザの右足位置情報と左足位置情報を用いて生成されるアバター画像の時間経過(tx~ty~tz)に伴う変化を示した図である。
 時間(tz)において、ユーザは床に着地している。この同一時刻(tz)の表示画像上のアバターも着地している。
 この時間(tz)におけるアバター画像は、時間(tz)より、約100msec前のユーザ姿勢と、時間(tz)とほぼ同一時間のセンサ検出値に基づくユーザの右足位置情報と左足位置情報を用いた合成処理によって生成されたアバター画像である。
 この結果、サーバ40は、ユーザの着地タイミングとほぼ同時(tz)に、着地したアバター画像を生成することができ、ユーザのMRグラスに表示することができる。
 このような処理により、ユーザは、ユーザの実際の動きに対する遅延がほとんどないアバター画像をMRグラス11で観察することができ、違和感を覚えることなく思い通りの動きやアクションを行うことが可能となる。
  [3.本開示の処理の処理シーケンスについて]
 次に、本開示の処理の処理シーケンスについて説明する。
 上述したように、本開示の処理は、ユーザの動きに対する遅延を減少させたアバター画像をMRグラス等の表示部に表示する処理を可能としたものである。
 以下、この処理の処理シーケンスについて説明する。
 なお、先に図12~図14を参照して説明したように、ユーザ端末は、ユーザの体の複数の部位に装着されたセンサの検出値の全てをサーバに送信するものではなく、動きの速い部位のセンサ検出値のみを選択してサーバに送信する。
 例えば予め規定した移動速度以上の速度で動く体の部位に取り付けられたセナンサの検出値のみを選択してサーバに送信する。
 サーバに送信するセンサ検出値を選択する処理は、ユーザ端末、またはサーバのいずれかで実行することが可能である。
 以下では、以下の2種類の処理例について、順次、説明する。
 (処理例1)ユーザ端末が送信対象のセンサ検出値を選択する処理例
 (処理例2)サーバが送信対象のセンサ検出値を選択する処理例
  (3-1.(処理例1)ユーザ端末が送信対象のセンサ検出値を選択する処理の処理シーケンス)
 まず、(処理例1)として、ユーザ端末が送信対象のセンサ検出値を選択する処理例のシーケンスについて図17以下を参照して説明する。
 図17、図18は、ユーザ端末が送信対象のセンサ検出値を選択する処理を行う場合に、本開示の情報処理システムを構成する要素間で実行する通信シーケンスを説明するシーケンス図である。
 図17、図18には、左から、MRグラス、センサ、ユーザ端末、サーバを示している。
 以下、図17、図18のシーケンス図に示す各ステップの処理について、順次、説明する。
  (ステップS11)
 ステップS11は、センサから、センサ検出値をユーザ端末に送信する処理である。
 前述したように、ユーザには、体の各部位(頭、右腕、左腕、腰、右足、左足)にIMU等の動きセンサが装着されており、これらのセンサから一定周期、例えば10msec周期でセンサ検出値がユーザ端末に送信される。
 なお、このステップS11のセンサ検出値のユーザ端末に対する送信処理は、継続的に実行される。
  (ステップS12)
 センサからセンサ検出値を受信したユーザ端末は、ステップS12において、受信したセンサ検出値に基くユーザ姿勢情報の生成処理を実行する。
 このユーザ姿勢情報生成処理は、先に図8を参照して説明した処理であり、以下の各処理を順次、実行してユーザ姿勢情報を生成する。
 (処理1)センサ検出値入力処理
 (処理2)ノイズ除去処理
 (処理3)動きベクトル群生成処理
 (処理4)姿勢推定処理(学習モデル適用姿勢推定処理)
 (処理5)接続部角度設定ベクトル生成処理
 これら(処理1)~(処理5)の各処理を順次、実行して、ユーザの3次元姿勢を示す「姿勢情報」が生成される。
 なお、先に説明したように、このユーザ姿勢情報生成処理は、例えば100msec周期で実行される。
  (ステップS13)
 ユーザ端末は、さらに、上記のステップS12におけるユーザ姿勢情報生成処理に並行する処理として、ステップS13の処理を実行する。
 すなわち、ユーザ端末は、ステップS13において、各センサから入力するセンサ検出値に基づいて、予め規定したしきい値以上の移動速度を有する部位の有無を判定する。
 ステップS13の判定処理において、予め規定したしきい値以上の移動速度を有する部位が検出されなかった場合は、ステップS14に進む。
 一方、予め規定したしきい値以上の移動速度を有する部位が検出された場合は、ステップS21に進む。
  (ステップS14)
 ステップS13において、予め規定したしきい値以上の移動速度を有する部位が検出されなかった場合、ユーザ端末はステップS14において、ステップS12で生成したユーザ姿勢情報をサーバに送信する。
  (ステップS15~S16)
 ユーザ端末からユーザ姿勢情報を受信したサーバは、ステップS15において、ユーザ姿勢情報を反映したアバター3次元画像を生成し、ステップS16において生成したユーザ姿勢反映アバター3次元画像をユーザ端末に送信する。
  (ステップS17)
 サーバからユーザ姿勢反映アバター3次元画像を受信したユーザ端末は、ステップS17において、ユーザ姿勢反映アバター3次元画像をMRグラスの表示部に描画する。
 このステップS14~S17の処理によってMRグラスに表示されるユーザ姿勢反映アバター3次元画像は、ユーザの現在の姿勢からほぼ100msec遅れた姿勢を持つアバター画像となる。
 これらの処理は、例えば先に図15(a)を参照して説明した処理に相当する。
  (ステップS21)
 一方、ステップS13において、予め規定したしきい値以上の移動速度を有する部位を検出した場合、ユーザ端末はステップS21において、ステップS12で生成したユーザ姿勢情報とともに、しきい値以上の移動速度を有する部位のセンサ検出値をサーバに送信する。
 ユーザ端末は、先に図12~図14を参照して説明したように動きの速いユーザの部位のセンサ検出値を選択的に取得してサーバに送信する。例えば、センサのサンプリング周期(10msec)と同じ間隔でセンサ検出値を格納した小サイズパケットを生成してサーバに送信する。
 なお、センサ検出値格納パケットは、例えばQoS(Quolity Of Service)に従って優先送信される低遅延優先パケットとしてサーバに送信することが好ましい。このQoSに従った処理を行うことで、センサ検出値格納パケットは遅延なくサーバに送信される。
  (ステップS22~S23)
 ユーザ端末からユーザ姿勢情報と、動きの速いユーザの部位のセンサ検出値を受信したサーバは、ステップS22において、ユーザ端末から受信したユーザ姿勢情報とセンサ検出値の2種類の情報を利用して、ユーザ姿勢反映アバター3次元画像を生成し、ステップS23において生成したユーザ姿勢反映アバター3次元画像をユーザ端末に送信する。
 この処理は、先に、図15(b)を参照して説明した処理に相当する。
 サーバは、図15(b1)に黒丸と点線で示すユーザ姿勢情報と、白丸で示すセンサ検出値に基くユーザ部位位置情報(右足位置情報、および左足位置情報)の全ての情報を利用して、(b2)に示すようなユーザ姿勢反映アバター3次元画像を生成してユーザ端末に送信する。
  (ステップS24)
 サーバから、ユーザ姿勢とセンサ検出値の双方を利用して生成されたユーザ姿勢反映アバター3次元画像を受信したユーザ端末は、ステップS24において、ユーザ姿勢反映アバター3次元画像をMRグラスの表示部に描画する。
 このステップS21~S24の処理によってMRグラスに表示されるユーザ姿勢反映アバター3次元画像は、ユーザの現在の姿勢からほとんど遅れのない姿勢を持つアバター画像となる。
 これらの処理の結果、例えば先に説明した図15(b3)に示すように、ユーザは、ユーザの現在の姿勢からの遅延が極めて少ない姿勢を持つアバター画像を、MRグラスを用いて観察することが可能となる。
 図17、図18を参照して説明したシーケンスは、ユーザ端末がサーバに送信するセンサ検出値を選択する処理を行うシーケンスである。
 ユーザ端末において、サーバに送信するセンサ検出値を選択する処理の具体例について、図19、図20を参照して説明する。
 図19に示すように、ユーザ端末12はセンサ検出値送信対象選択部(移動速度解析部)61を有する。
 ユーザ端末12のセンサ検出値送信対象選択部(移動速度解析部)61は、ユーザの体の各部位(頭、右腕、左腕、腰、右足、左足)に装着されたIMU等の動きセンサの検出値を入力し、各部位の移動速度を算出する。
 さらに、算出した各部位の移動速度と、あらかじめ規定したしきい値とを比較し、予め規定したしきい値以上の移動速度を持つ部位を検出する。
 図19に示す例は、左腕に装着した左腕動きセンサの検出値の変化が大きく、左腕の動き速度が規定しきい値以上であったと判定した例である。
 この場合、ユーザ端末は、左腕動きセンサの検出値をパケットに格納した送信パケットを生成してサーバに送信する。
 図20に示す例は、ユーザ端末12のセンサ検出値送信対象選択部(移動速度解析部)61が、左足と右足に装着した動きセンサの検出値の変化が大きく、これら左足と右足の動き速度が規定しきい値以上であったと判定した例である。
 この場合、ユーザ端末は、左足と右足の動きセンサの検出値をパケットに格納した送信パケットを生成してサーバに送信する。
 サーバは、ユーザ端末から受信した姿勢情報と、動きの速い部分のセンサ検出値を組み合わせてユーザ姿勢反映アバター3次元画像を生成してユーザ端末に送信する。
 これらの処理によって、ユーザの現在の姿勢から遅延のきわめて少ないアバター画像をMRグラスに表示することが可能となり、ユーザは違和感なくMR画像を観察することができる。
 次に、図21に示すフローチャートを参照して、(処理例1)の処理においてユーザ端末が実行する処理、すなわちユーザ端末が送信対象のセンサ検出値を選択する処理例1を行う場合にユーザ端末が実行する処理のシーケンスについて説明する。
 なお、図21に示すフローに従った処理は、ユーザ端末の記憶部に格納されたプログラムに従って実行することが可能である。
 以下、図21に示すフローの各ステップの処理について、順次、説明する。
  (ステップS101)
 まず、ユーザ端末は、ステップS101においてセンサから、センサ検出値を取得する。
 前述したように、ユーザには、体の各部位(頭、右腕、左腕、腰、右足、左足)にIMU等の動きセンサが装着されており、ユーザ端末は、これらのセンサから一定周期、例えば10msec周期でセンサ検出値を入力する。
  (ステップS102)
 ステップS102~S103の処理と、ステップS104~S106の処理はユーザ端末において並列に実行される処理である。
 ステップS102において、ユーザ端末は、ユーザの各部位の装着センサから取得したセンサ検出値を利用してユーザ姿勢情報を生成する。
 このユーザ姿勢情報生成処理は、先に図8を参照して説明した処理であり、以下の各処理を順次、実行してユーザ姿勢情報を生成する。
 (処理1)センサ検出値入力処理
 (処理2)ノイズ除去処理
 (処理3)動きベクトル群生成処理
 (処理4)姿勢推定処理(学習モデル適用姿勢推定処理)
 (処理5)接続部角度設定ベクトル生成処理
 これら(処理1)~(処理5)の各処理を順次、実行して、ユーザの3次元姿勢を示す「姿勢情報」が生成される。
 なお、先に説明したように、このユーザ姿勢情報生成処理は、例えば100msec周期で実行される。
  (ステップS103)
 ステップS102でユーザ姿勢情報生成処理が完了すると、ユーザ端末は、生成したユーザ姿勢情報をステップS103においてサーバに送信する。
 ユーザ端末は100msec間隔でユーザ姿勢情報を格納したパケットを、順次、サーバに送信する。
  (ステップS104)
 ステップS102~S103のユーザ姿勢情報の生成、送信処理に併せて、ユーザ端末はステップS104~S106の処理を実行する。
 ユーザ端末はステップS104において、ユーザの各部位に装着されたセンサから取得したセンサ検出値を解析し、予め規定したしきい値以上の移動速度を有する部位の有無を判定する。
  (ステップS105)
 ステップS105は分岐ステップであり、ステップS104において、予め規定したしきい値以上の移動速度を有する部位が検出された場合は、ステップS106に進み、検出されなかった場合はステップS107に進む。
  (ステップS106)
 ステップS105において、予め規定したしきい値以上の移動速度を有する部位が検出された場合、ステップS106の処理を実行する。
 この場合、ユーザ端末は、ステップS106において、予め規定したしきい値以上の移動速度を有する部位のセンサ検出値をサーバに送信する。
 ユーザ端末は、先に図12~図14を参照して説明したように動きの速いユーザの部位のセンサ検出値を選択的に取得してサーバに送信する。例えば、センサのサンプリング周期(10msec)と同じ間隔でセンサ検出値を格納した小サイズパケットを生成してサーバに送信する。
  (ステップS107)
 ステップS107は、ユーザ端末における処理終了判定ステップである。MRグラスに対するアバター画像出力処理を終了する場合は、処理を終了する。継続する場合は、ステップS101に戻り、ステップS101~S106の処理を繰り返す。
 ユーザ端末が駒野ズ21に示すフローに従った処理を実行することで、例えば先に説明した図15(b3)に示すように、ユーザは、ユーザの現在の姿勢からの遅延が極めて少ない姿勢を持つアバター画像を、MRグラスを用いて観察することが可能となる。
  (3-2.(処理例2)サーバが送信対象のセンサ検出値を選択する処理の処理シーケンス)
 次に、(処理例2)として、サーバが送信対象のセンサ検出値を選択する処理の処理シーケンスについて、図22以下を参照して説明する。
 図22、図23は、サーバが送信対象のセンサ検出値を選択する処理を行う場合に、本開示の情報処理システムを構成する要素間で実行する通信シーケンスを説明するシーケンス図である。
 図22、図23には、左から、MRグラス、センサ、ユーザ端末、サーバを示している。
 以下、図22、図23のシーケンス図に示す各ステップの処理について、順次、説明する。
  (ステップS31)
 ステップS31は、センサから、センサ検出値をユーザ端末に送信する処理である。
 前述したように、ユーザには、体の各部位(頭、右腕、左腕、腰、右足、左足)にIMU等の動きセンサが装着されており、これらのセンサから一定周期、例えば10msec周期でセンサ検出値がユーザ端末に送信される。
 なお、このステップS31のセンサ検出値のユーザ端末に対する送信処理は、継続的に実行される。
  (ステップS32)
 センサからセンサ検出値を受信したユーザ端末は、ステップS32において、受信したセンサ検出値に基くユーザ姿勢情報の生成処理を実行する。
 このユーザ姿勢情報生成処理は、先に図8を参照して説明した処理であり、図8に示す(処理1)~(処理5)の各処理を順次、実行して、ユーザの3次元姿勢を示す「姿勢情報」が生成される。
 なお、先に説明したように、このユーザ姿勢情報生成処理は、例えば100msec周期で実行される。
  (ステップS33)
 次に、ユーザ端末は、ステップS33において、ステップS32で生成したユーザ姿勢情報をサーバに送信する。
  (ステップS34)
 ユーザ端末からユーザ姿勢情報を受信したサーバは、ステップS34において、ユーザ姿勢情報に基づいて、予め規定したしきい値以上の移動速度を有する部位の有無を判定する。
 サーバは、例えば100msec周期でユーザ端末から入力する時系列のユーザ姿勢情報に基づいて、予め規定したしきい値以上の移動速度を有する部位の有無を判定する。
 ステップS34の判定処理において、予め規定したしきい値以上の移動速度を有する部位が検出されなかった場合は、ステップS35に進む。
 一方、予め規定したしきい値以上の移動速度を有する部位が検出された場合は、ステップS41に進む。
  (ステップS35~S36)
 ステップS34において、予め規定したしきい値以上の移動速度を有する部位が検出されなかった場合、サーバは、ステップS35において、ユーザ姿勢情報を反映したアバター3次元画像を生成し、ステップS36において生成したユーザ姿勢反映アバター3次元画像をユーザ端末に送信する。
  (ステップS37)
 サーバからユーザ姿勢反映アバター3次元画像を受信したユーザ端末は、ステップS37において、ユーザ姿勢反映アバター3次元画像をMRグラスの表示部に描画する。
 このステップS35~S37の処理によってMRグラスに表示されるユーザ姿勢反映アバター3次元画像は、ユーザの現在の姿勢からほぼ100msec遅れた姿勢を持つアバター画像となる。
 これらの処理は、例えば先に図15(a)を参照して説明した処理に相当する。
  (ステップS41)
 一方、ステップS34において、サーバが予め規定したしきい値以上の移動速度を有する部位を検出した場合、サーバはステップS41において、ユーザ端末に対して、予め規定したしきい値以上の移動速度を有する部位のセンサ検出値の送信を要求する。
 具体的には、例えば左腕の移動速度がしきい値以上であると判定した場合は、左腕のセンサ検出値の送信要求を行う。
 また、左足と右足の移動速度がしきい値以上であると判定した場合は、左足と右足のセンサ検出値の送信要求を行う。
  (ステップS42)
 サーバから特定部位のセンサ検出値送信要求を受信したユーザ端末は、ステップS42において、サーバから指定された特定部位のセンサ検出値をサーバに送信する。
 ユーザ端末は、例えば、センサのサンプリング周期(10msec)と同じ間隔でセンサ検出値を格納した小サイズパケットを生成してサーバ40に送信する。
  (ステップS43~S44)
 ユーザ端末から特定部位のセンサ検出値を受信したサーバは、ステップS43において、ユーザ端末から受信済みのユーザ姿勢情報とセンサ検出値の2種類の情報を利用して、ユーザ姿勢反映アバター3次元画像を生成し、ステップS44において生成したユーザ姿勢反映アバター3次元画像をユーザ端末に送信する。
 この処理は、先に、図15(b)を参照して説明した処理に相当する。
 サーバは、図15(b1)に黒丸と点線で示すユーザ姿勢情報と、白丸で示すセンサ検出値に基くユーザ部位位置情報(右足位置情報、および左足位置情報)の全ての情報を利用して、(b2)に示すようなユーザ姿勢反映アバター3次元画像を生成してユーザ端末に送信する。
  (ステップS45)
 サーバから、ユーザ姿勢とセンサ検出値の双方を利用して生成されたユーザ姿勢反映アバター3次元画像を受信したユーザ端末は、ステップS45において、ユーザ姿勢反映アバター3次元画像をMRグラスの表示部に描画する。
 このステップS41~S45の処理によってMRグラスに表示されるユーザ姿勢反映アバター3次元画像は、ユーザの現在の姿勢からほとんど遅れのない姿勢を持つアバター画像となる。
 これらの処理の結果、例えば先に説明した図15(b3)に示すように、ユーザは、ユーザの現在の姿勢からの遅延が極めて少ない姿勢を持つアバター画像を、MRグラスを用いて観察することが可能となる。
  [4.ユーザに装着したセンサのサンプリング周期を各部位の移動速度に応じて変更する実施例について]
 次に、ユーザに装着したセンサのサンプリング周期を各部位の移動速度に応じて変更する実施例について説明する。
 先に図11等を参照して説明したように、ユーザの体の各部位に装着した動きセンサは例えば10msec周期でセンサ検出値を出力する。
 しかし、一方、ユーザ端末における姿勢情報の生成処理は、100msec周期で実行されるにすぎない。
 従って、ユーザ端末がユーザ姿勢情報のみを生成してサーバに送信する場合、ユーザ姿勢情報の生成に利用されるセンサ検出値は100msec周期のセンサ検出値となり、10msec周期で出力されるセンサ検出値の多くは利用されないことになる。
 センサによるセンサ検出値の取得、送信処理には電力が消費され、結果として無駄な消費電力が発生することになる。
 以下に説明する実施例は、このセンサによる電力消費を低減する実施例である。
 具体的には、サーバへの送信対象として選択された部位のセンサのみについて高周期(例えば10msec周期)でセンサ検出値を取得し、その他のセンサについては低周期(例えば50msec~100msec周期)でセンサ検出値を取得する設定とすることで、センサによる消費電力を低減する。
 図24、図25に示すシーケンス図を参照して、この実施例を行う場合の処理シーケンスについて説明する。
 図24、図25には、左から、MRグラス、センサ、ユーザ端末、サーバを示している。
 以下、図24、図25のシーケンス図に示す各ステップの処理について、順次、説明する。
  (ステップS51)
 ステップS51は、センサから、センサ検出値をユーザ端末に送信する処理である。
 前述したように、ユーザには、体の各部位(頭、右腕、左腕、腰、右足、左足)にIMU等の動きセンサが装着されている。
 本処理例では、通常時のセンサのサンプリング周期を標準周期、例えば50msec周期の低周期とする。
 ステップS51では、ユーザの体の各部位(頭、右腕、左腕、腰、右足、左足)に装着された動きセンサの各々から、低周期(例えば50msec周期)でセンサ検出値がユーザ端末に送信される。
 なお、このステップS51のセンサ検出値のユーザ端末に対する送信処理は、継続的に実行される。
  (ステップS52~S53)
 センサからセンサ検出値を受信したユーザ端末は、ステップS52において、受信したセンサ検出値に基くユーザ姿勢情報の生成処理を実行し、生成したユーザ姿勢情報を、ステップS53においてサーバに送信する。
 このユーザ姿勢情報生成処理は、先に図8を参照して説明した処理であり、図8に示す(処理1)~(処理5)の各処理を順次、実行して、ユーザの3次元姿勢を示す「姿勢情報」が生成される。
 なお、先に説明したように、このユーザ姿勢情報生成処理は、例えば100msec周期で実行される。
  (ステップS54)
 ユーザ端末は、さらに、上記のステップS52におけるユーザ姿勢情報生成処理に並行する処理として、ステップS54の処理を実行する。
 すなわち、ユーザ端末は、ステップS54において、各センサから入力するセンサ検出値に基づいて、予め規定したしきい値以上の移動速度を有する部位を検出する。
 なお、ここでは、予め規定したしきい値以上の移動速度を有する部位が検出されたものとして説明する。
  (ステップS55)
 ユーザ端末は、ステップS55において、予め規定したしきい値以上の移動速度を有する部位のセンサに対して、センサ検出周期を高周期、例えば10msec周期に変更するようにサンプリング周期の変更指示を出力する。
  (ステップS56)
 ステップS55において、ユーザ端末からサンプリング周期の変更指示を受信したセンサ、すなわち規定しきい値以上の移動速度を有する部位のセンサは、ステップS56において、センサ検出周期を高周期、例えば10msec周期に変更し、高周期で取得したセンサ検出値をユーザ端末に出力する処理を開始する。
  (ステップS57)
 ユーザ端末はステップS57において、ステップS56で規定しきい値以上の移動速度を有する部位のセンサから受信した高周期のセンサ検出値をサーバに送信する。
 ユーザ端末は、例えば、センサの高周期サンプリング周期(10msec)と同じ間隔でセンサ検出値を格納した小サイズパケットを生成してサーバに送信する。
  (ステップS58~S59)
 ユーザ端末からユーザ姿勢情報と、動きの速いユーザの部位のセンサ検出値を受信したサーバは、ステップS58において、ユーザ端末から受信したユーザ姿勢情報とセンサ検出値の2種類の情報を利用して、ユーザ姿勢反映アバター3次元画像を生成し、ステップS59において生成したユーザ姿勢反映アバター3次元画像をユーザ端末に送信する。
 この処理は、先に、図15(b)を参照して説明した処理に相当する。
 サーバは、図15(b1)に黒丸と点線で示すユーザ姿勢情報と、白丸で示すセンサ検出値に基くユーザ部位位置情報(右足位置情報、および左足位置情報)の全ての情報を利用して、(b2)に示すようなユーザ姿勢反映アバター3次元画像を生成してユーザ端末に送信する。
  (ステップS60)
 サーバから、ユーザ姿勢とセンサ検出値の双方を利用して生成されたユーザ姿勢反映アバター3次元画像を受信したユーザ端末は、ステップS60において、ユーザ姿勢反映アバター3次元画像をMRグラスの表示部に描画する。
 この処理シーケンスに従った処理により、動きの速いユーザの部位のセンサ検出値のみ高周期で取得され、その他の動きの遅い部位のセンサ検出値は定周期で取得されることになり、センサの消費電力を低減することが可能となる。
  [5.サーバを利用しないユーザ端末間の通信処理によるユーザ姿勢反映アバター画像表示処理例について]
 次に、サーバを利用しないユーザ端末間の通信処理によるユーザ姿勢反映アバター画像表示処理例について説明する。
 上述した実施例では、ユーザ端末からサーバにユーザ姿勢情報を送信してサーバ側でユーザ姿勢反映アバター3次元画像を生成し、生成したユーザ姿勢反映アバター3次元画像をユーザ端末に送信する処理例として説明した。
 このようにサーバがユーザ姿勢反映アバター3次元画像を生成する処理例に限らず、例えばユーザ端末においてユーザ姿勢反映アバター3次元画像を生成する処理例も可能である。
 図26は、サーバを用いることなく、2人のユーザ各々のユーザ端末間で通信を実行して、ユーザ端末において各ユーザのユーザ姿勢反映アバター3次元画像を含むMR画像を生成して各ユーザのMRグラスに表示する処理例を説明する図である。
 図26には、離れた場所にいるユーザa,10とユーザb,20を示している。
 ユーザa,10とユーザb,20、これらの各ユーザは、MRグラスを装着している。
 ユーザa,10はMRグラス11を装着し、ユーザb,20はMRグラス21を装着している。
 各ユーザa,bが装着したMRグラス11,21には、図26の中央に示すようなMR画像(複合現実画像)が表示される。
 実在する風景の実オブジェクト画像上に、各ユーザの分身仮想キャラクタであるアバターを重畳表示したMR画像である。
 MR画像内のアバターAがユーザa,10の分身仮想キャラクタであり、アバターBがユーザb,20の分身仮想キャラクタに相当する。
 なお、MRグラス11,21に表示される画像は3次元画像であり、背景画像とアバター画像はいずれも3次元画像として表示される。
 2人のユーザa,bは、頭、腕、足など体の複数の部位に動きセンサを装着しており、これらのセンサの検出情報を利用してMR画像内のアバターA,Bをユーザa,bの動きと同様に動かす。
 MR画像内のアバターA,Bをユーザa,bの動きと同様に動かすために実行される処理ステップが図26に示すステップS71a,b~S72a,bの処理である。
 これらの一連の処理について説明する。
  (ステップS71a,ステップS71b)
 まず、図26のステップS71aに示すように、ユーザa,10の頭、腕、足などに装着された動きセンサのセンサ検出値が、ユーザa,10の近くにあるユーザ端末(スマホ)12に送信される。
 ユーザ端末(スマホ)12は、ユーザa,10の頭、腕、足などに装着された動きセンサのセンサ検出値を解析して、ユーザa,10の3次元姿勢情報を生成する。
 一方、図1のステップS71bに示すように、ユーザb,20の頭、腕、足などに装着された動きセンサのセンサ検出値が、ユーザb,20の近くにあるユーザ端末(PC)22に送信される。
 ユーザ端末(PC)22は、ユーザb,20の頭、腕、足などに装着された動きセンサのセンサ検出値を解析して、ユーザb,20の3次元姿勢情報を生成する。
 なお、センサからユーザ端末(スマホ)12やユーザ端末(PC)22に対するセンサ検出値の送信処理は、例えばブルートゥース(登録商標)通信等の近接通信を利用して実行される。
  (ステップS72a,ステップS72b)
 ユーザ端末(スマホ)12がセンサ検出値に基づいて生成したユーザa,10の3次元姿勢情報は、ステップS72aにおいて、ユーザ端末(スマホ)12から、もう一方のユーザ端末(PC)22に送信される。
 一方、ユーザ端末(PC)22がセンサ検出値に基づいて生成したユーザb,20の3次元姿勢情報も、ステップS72bにおいて、ユーザ端末(PC)22から、ユーザ端末(スマホ)12に送信される。
  (ステップS73a)
 ステップS73aにおいて、ユーザ端末(スマホ)12は、以下の処理を実行する。
 (a)ユーザ端末(PC)22から受信したユーザb,20の3次元姿勢情報に基づいて、ユーザb,20の3次元姿勢と同様の姿勢を持つアバターBの3次元画像を生成する処理。
 (b)ユーザ端末(スマホ)12が生成したユーザa,10の3次元姿勢情報に基づいて、ユーザa,10の3次元姿勢と同様の姿勢を持つアバターAの3次元画像を生成する処理。
 (c)生成したアバターA,Bの3次元画像を含むMR画像をユーザa,10が装着しているMRグラス11に出力する処理。
  (ステップS73b)
 一方、ステップS73bにおいて、ユーザ端末(PC)22は、以下の処理を実行する。
 (a)ユーザ端末(スマホ)22から受信したユーザa,10の3次元姿勢情報に基づいて、ユーザa,10の3次元姿勢と同様の姿勢を持つアバターAの3次元画像を生成する処理。
 (b)ユーザ端末(PC)22が生成したユーザb,20の3次元姿勢情報に基づいて、ユーザb,20の3次元姿勢と同様の姿勢を持つアバターBの3次元画像を生成する処理。
 (c)生成したアバターA,Bの3次元画像を含むMR画像をユーザb,20が装着しているMRグラス21に出力する処理。
 これら一連の処理を繰り返して実行することでMR画像内のアバターA,Bをユーザa,bの動きと同様に動かすことが可能となり、離れた位置にいるユーザa,bは、一つの同じ場所で戦っているような感覚を味わうことができる。
 なお、図26に示す例は、サーバを利用することなく2人のユーザが有する2台のユーザ端末を利用して各ユーザのアバターを1つのMR画像上に表示して利用する処理例であるが、1人のユーザが1台のユーザ端末を利用して自分対応の1つのアバターをMR画像上に表示して利用する処理も可能である。
 図27を参照して、1人のユーザが1台のユーザ端末を利用して自身の1つのアバターをMR画像上に表示して利用する処理例について説明する。
 図27に示すユーザc,30は、MRグラス31を装着している。
 ユーザc,30が装着したMRグラス31には、図27の中央に示すようなMR画像(複合現実画像)が表示される。
 実在するステージの実オブジェクト画像上に、ユーザc,30の分身仮想キャラクタであるアバターCを重畳表示したMR画像である。
 MRグラス31に表示される画像は3次元画像であり、背景画像とアバター画像はいずれも3次元画像として表示される。
 ユーザc,30は、頭、腕、足などに複数の動きセンサを装着し、これらのセンサの検出情報を利用してMR画像内のアバターCがユーザc,30の動きと同様に動く。
 MR画像内のアバターCをユーザc,30の動きに併せて動かすために実行される処理を説明する処理ステップが図27に示すステップS71c~S73cの処理である。
 これらの一連の処理について説明する。
  (ステップS71c)
 図27のステップS71cに示すように、ユーザc,30の頭、腕、足などに装着された動きセンサのセンサ検出値が、ユーザc,30の近くにあるユーザ端末(スマホ)32に送信される。
 ユーザ端末(スマホ)32は、ユーザc,30の頭、腕、足などに装着された動きセンサのセンサ検出値を解析して、ユーザc,30の3次元姿勢情報を生成する。
  (ステップS72c)
 ユーザ端末(スマホ)32は、ステップS72cにおいて、センサ検出値に基づいて生成したユーザc,30の3次元姿勢情報を利用して、ユーザc,30の3次元姿勢と同様の姿勢を持つアバターCの3次元画像を生成する。
  (ステップS73c)
 次に、ユーザ端末(スマホ)32は、ステップS73cにおいて、生成したアバターCの3次元画像を含むMR画像をユーザc,30が装着しているMRグラス31に送信して表示する。
 これら一連の処理を繰り返して実行することでMR画像内のアバターCをユーザc動きと同様に動かすことが可能となり、ユーザc,30は、あたかも実際のステージ上でダンスや歌っているような感覚を味わうことができる。
 次に、図26を参照して説明した処理、すなわちサーバを利用することなく2台のユーザ端末の処理によってユーザの姿勢反映アバター3次元画像を生成してMRグラスに表示する処理例のシーケンスについて図28以下を参照して説明する。
 以下、図28~図30のシーケンス図に示す各ステップの処理について、順次、説明する。
  (ステップS81a,S81b)
 ステップS81a,S81bは、ユーザa,b各々のユーザ端末(スマホ、PC)がセンサから、センサ検出値を入力する処理である。
 ユーザa,bは、体の各部位(頭、右腕、左腕、腰、右足、左足)にIMU等の動きセンサを装着しており、これらのセンサから一定周期、例えば10msec周期でセンサ検出値が各ユーザ端末に送信される。
 なお、このステップS81a,S81bのセンサ検出値のユーザ端末に対する送信処理は、継続的に実行される。
  (ステップS82a,S82b)
 センサからセンサ検出値を受信したユーザa,b各々のユーザ端末(スマホ、PC)は、ステップS82a,S82bにおいて、受信したセンサ検出値に基くユーザ姿勢情報の生成処理を実行する。
 なお、先に説明したように、このユーザ姿勢情報生成処理は、例えば100msec周期で実行される。
  (ステップS83a,83b)
 ユーザa,b各々のユーザ端末(スマホ、PC)は、さらに、上記のステップS82a,S82bにおけるユーザ姿勢情報生成処理に並行する処理として、ステップS83a,S83bの処理を実行する。
 すなわち、ユーザa,b各々のユーザ端末(スマホ、PC)は、ステップS83a,83bにおいて、各センサから入力するセンサ検出値に基づいて、予め規定したしきい値以上の移動速度を有する部位の有無を判定する。
 ステップS83a,S83bの判定処理において、予め規定したしきい値以上の移動速度を有する部位が検出されなかった場合は、ステップS84a,S84bに進む。
 一方、予め規定したしきい値以上の移動速度を有する部位が検出された場合は、ステップS91a,S91bに進む。
  (ステップS84a,S84b)
 ステップS83a,S83bにおいて、予め規定したしきい値以上の移動速度を有する部位が検出されなかった場合、ユーザa,b各々のユーザ端末(スマホ、PC)はステップS84a,S84bにおいて、ステップS82a,S82bで生成したユーザ姿勢情報を通信相手のユーザ端末に送信する。
  (ステップS85a,S85b)
 通信相手のユーザ端末から通信相手側のユーザのユーザ姿勢情報を受信したユーザ端末は、ステップS85a,S85bにおいて、通信相手側のユーザ姿勢情報を反映したアバター3次元画像を生成する。
 さらに、並行して自身のユーザ姿勢情報を反映したアバター3次元画像を生成する。
  (ステップS86a,S86b)
 ユーザa,b各々のユーザ端末(スマホ、PC)はステップS86a,S86bにおいて、ステップS85a,S85bにおいて生成した自身のユーザ姿勢情報を反映したアバター3次元画像と、通信相手側のユーザ姿勢情報を反映したアバター3次元画像をMRグラスの表示部に描画する。
 なお、このステップS84a,b~S86a,bの処理によってMRグラスに表示されるユーザ姿勢反映アバター3次元画像は、ユーザの現在の姿勢からほぼ100msec遅れた姿勢を持つアバター画像となる。
 これらの処理は、例えば先に図15(a)を参照して説明した処理に相当する。
  (ステップS91a,S91b)
 一方、ユーザa,b各々のユーザ端末(スマホ、PC)がステップS83a,S83bにおいて、予め規定したしきい値以上の移動速度を有する部位を検出した場合、ユーザa,b各々のユーザ端末(スマホ、PC)はステップS91a,S91bにおいて、ステップS82a,S82bで生成したユーザ姿勢情報とともに、しきい値以上の移動速度を有する部位のセンサ検出値を通信相手のユーザ端末に送信する。
 各ユーザ端末は、先に図12~図14を参照して説明したように動きの速いユーザの部位のセンサ検出値を選択的に取得して通信相手のユーザ端末に送信する。例えば、センサのサンプリング周期(10msec)と同じ間隔でセンサ検出値を格納した小サイズパケットを生成して通信相手のユーザ端末に送信する。
 なお、センサ検出値格納パケットは、例えばQoS(Quolity Of Service)に従って優先送信される低遅延優先パケットとして通信相手のユーザ端末に送信することが好ましい。このQoSに従った処理を行うことで、センサ検出値格納パケットは遅延なく通信相手のユーザ端末に送信される。
  (ステップS92a,S92b)
 通信相手のユーザ端末からユーザ姿勢情報と、動きの速いユーザの部位のセンサ検出値を受信したもう一方のユーザ端末は、ステップS92a,S92bにおいて、ユーザ端末から受信したユーザ姿勢情報とセンサ検出値の2種類の情報を利用して、通信相手側のユーザのユーザ姿勢反映アバター3次元画像を生成する。
 さらに、並行して自身のユーザ姿勢情報とセンサ検出値の2種類の情報を利用したアバター3次元画像を生成する。
 この処理は、先に、図15(b)を参照して説明した処理に相当する。
 サーバは、図15(b1)に黒丸と点線で示すユーザ姿勢情報と、白丸で示すセンサ検出値に基くユーザ部位位置情報(右足位置情報、および左足位置情報)の全ての情報を利用して、(b2)に示すようなユーザ姿勢反映アバター3次元画像を生成する。
  (ステップS93a,S93b)
 ユーザa,b各々のユーザ端末(スマホ、PC)はステップS93a,S93bにおいて、ステップS92a,S92bにおいて生成した自身のユーザ姿勢情報とセンサ検出値を利用したアバター3次元画像と、通信相手側のユーザ姿勢情報とセンサ検出値を利用したアバター3次元画像をMRグラスの表示部に描画する。
 このステップS91a,S91b~S93a,S93bの処理によってMRグラスに表示されるユーザ姿勢反映アバター3次元画像は、ユーザの現在の姿勢からほとんど遅れのない姿勢を持つアバター画像となる。
 これらの処理の結果、例えば先に説明した図15(b3)に示すように、ユーザは、ユーザの現在の姿勢からの遅延が極めて少ない姿勢を持つアバター画像を、MRグラスを用いて観察することが可能となる。
  [6.ハンドトラッキングやハンドジェスチャー解析処理の制御処理例について]
 次に、ハンドトラッキングやハンドジェスチャー解析処理の制御処理例について説明する。
 上述した実施例において説明したように、ユーザの体の各部位に装着したセンサの検出値を解析することでユーザの姿勢情報を取得することができる。
 すなわち、先に図8を参照して説明したように、以下の各処理を順次、実行することで、ユーザの姿勢を推定することができる。
 (処理1)センサ検出値入力処理
 (処理2)ノイズ除去処理
 (処理3)動きベクトル群生成処理
 (処理4)姿勢推定処理(学習モデル適用姿勢推定処理)
 (処理5)接続部角度設定ベクトル生成処理
 これら(処理1)~(処理5)の各処理を順次、実行して、ユーザの3次元姿勢を示す「姿勢情報」を生成することができる。
 さらに、例えばズ31に示すように、ユーザの頭部に装着したカメラ58を利用して、カメラ撮影画像を解析することでユーザの手の動きを解析することができる。
 図31に示すようにカメラ58の撮影画像をユーザ端末21に送信し、ユーザ端末21において、ハンドトラッキング処理や、ハンドジェスチャー解析処理を実行する。
 しかし、これらのハンドトラッキング処理や、ハンドジェスチャー解析処理は、カメラ58の撮影領域内にユーザの手がある場合にのみ実行することができ、カメラ58の撮影領域内にユーザの手がない場合は実行することができない。
 具体的には、例えば図32(a)に示すようにカメラ58の撮影領域内にユーザの手がある場合にはハンドトラッキング処理や、ハンドジェスチャー解析処理を実行できる。しかし、図32(b)に示すようにカメラ58の撮影領域内にユーザの手がない場合は実行できない。
 図32(b)に示すようにカメラ58の撮影領域内にユーザの手がない場合にカメラ58による画像撮影処理や、ユーザ端末によるハンドトラッキング処理や、ハンドジェスチャー解析処理を継続して実行すると無駄な消費電力が発生し、またユーザ端末における無駄な処理負荷が発生し、その他の必要な処理に遅延を発生させる恐れがある。
 この問題を解決するための一手法として、カメラ58による画像撮影処理と、ユーザ端末におけるハンドトラッキング処理やハンドジェスチャー解析処理を、ユーザの手がカメラの画像撮影領域内にある場合にのみ実行する構成とすることが有効である。
 具体的には、ユーザ端末が、ユーザの手がカメラの画像撮影領域内にあるか否かをセンサ検出値に基いて生成するユーザ姿勢情報に基づいて判定し、この判定結果を利用してカメラ58による画像撮影処理と、ユーザ端末におけるハンドトラッキング処理やハンドジェスチャー解析処理の実行、停止を制御する。
 図33に示すフローチャートを参照して、ユーザ端末が上記処理を実行する場合の処理シーケンスについて説明する。
 なお、図33に示すフローに従った処理は、ユーザ端末の記憶部に格納されたプログラムに従って実行することが可能である。
 以下、図33に示すフローの各ステップの処理について、順次、説明する。
  (ステップS201)
 まず、ユーザ端末は、ステップS201においてセンサから、センサ検出値を取得する。
 前述したように、ユーザには、体の各部位(頭、右腕、左腕、腰、右足、左足)にIMU等の動きセンサが装着されており、ユーザ端末は、これらのセンサから一定周期、例えば10msec周期でセンサ検出値を入力する。
  (ステップS202)
 ステップS202において、ユーザ端末は、ユーザの各部位の装着センサから取得したセンサ検出値を利用してユーザ姿勢情報を生成する。
 このユーザ姿勢情報生成処理は、先に図8を参照して説明した処理であり、以下の各処理を順次、実行してユーザ姿勢情報を生成する。
 (処理1)センサ検出値入力処理
 (処理2)ノイズ除去処理
 (処理3)動きベクトル群生成処理
 (処理4)姿勢推定処理(学習モデル適用姿勢推定処理)
 (処理5)接続部角度設定ベクトル生成処理
 これら(処理1)~(処理5)の各処理を順次、実行して、ユーザの3次元姿勢を示す「姿勢情報」が生成される。
  (ステップS203)
 ステップS202でユーザ姿勢情報生成処理が完了すると、次にユーザ端末は、ステップS203において、ユーザ姿勢情報からカメラが装着された頭の向きと、手の位置を解析し、手の位置がカメラの撮影範囲内にあるか否かを検証する。
  (ステップS204)
 ステップS204は分岐ステップであり、ステップS203における検証処理において、手の位置がカメラの撮影範囲内にあると判定した場合は、ステップS205に進み、手の位置がカメラの撮影範囲内にないと判定した場合はステップS206に進む。
  (ステップS205)
 ステップS204において、手の位置がカメラの撮影範囲内にあると判定した場合は、ステップS205に進む。
 この場合、ユーザ端末は、ステップS205において、カメラを起動し、ハンドトラッキング、ハンドジェスチャー解析処理を開始、または継続する。
  (ステップS206)
 一方、ステップS204において、手の位置がカメラの撮影範囲内にないと判定した場合は、ステップS206に進む。
 この場合、ユーザ端末は、ステップS206において、ハンドトラッキング、ハンドジェスチャー解析処理を停止し、カメラによる画像撮影も停止する。
 なお、カメラによる撮影画像をその他の目的、例えば、SLAM処理など、ユーザまわりの環境解析処理等に利用している場合は、カメラによる画像撮影は継続して実行する構成としてもよい。
  (ステップS207)
 ステップS207では処理の終了を判定する。処理を終了する場合はフローを終了する。処理を継続する場合は、ステップS201に戻り、ステップS201以下の処理を繰り返す。
 このような処理を実行することで、カメラやユーザ端末の消費電力の低減、さらにユーザ端末における処理負荷を低減させることが可能となる。また、ユーザ端末が実行すべき必要な処理に遅延を発生させることなく効率的なデータ処理を行わせることが可能となる。
  [7.その他の実施例について]
 次に、その他の実施例について説明する。
 上述した実施例は、ユーザの体の各部位に装着したIMU等の動きセンサの検出情報を用いてユーザの姿勢やユーザの体の各部位の位置を解析する処理を行う実施例であった。
 ユーザの姿勢やユーザの体の各部位の位置の解析処理はIMU等の動きセンサを利用することなくその他のデバイスを用いて行うことも可能である。
 例えばカメラを用いてユーザの体全体や体の各部位の撮影画像を用いてユーザの姿勢やユーザの体の各部位の位置の解析処理を行うことが可能である。
 カメラ撮影画像を用いた姿勢解析処理は、IMU等の動きセンサの検出情報を用いたユーザ姿勢解析処理に比較して高速に行うことが可能である。
 しかし、カメラ撮影画像を用いた姿勢情報生成処理にも所定のデータ処理時間は必要であり、ユーザの体の各部位の位置はカメラ撮影画像から直接取得する方が早い。
 従って、カメラ撮影画像を用いたユーザ姿勢情報の算出処理と、カメラ撮影画像を用いたユーザの体の部位位置取得処理を行う場合も上記のセンサを用いた実施例と同様、並列に実行することで、遅延の少ないアバター画像の生成、出力処理を行うことができる。
 すなわち、カメラ撮影画像を用いた算出される姿勢情報に対して、動きの速い体の部位の位置をカメラ撮影画像から取得して利用する構成である。
 さらに、例えばユーザの体の動きに応じてカメラの撮影フレームレートを変更する処理も可能である。
 例えばユーザがほぼ静止している場合には、カメラの撮影フレームレートを低下させ、ユーザが激しく動いている場合は撮影フレームレートを上げるといった処理を行う。
 このようなフレームレート制御を行うことで、ユーザの動きに対する遅延をさらに低減したアバター画像の生成、出力が可能となる。
 また、ユーザがほぼ静止している場合にカメラの撮影フレームレートを低下させることで消費電力を低減させることも可能となる。
  [8.情報処理装置の構成例について]
 次に、本開示の処理に利用されるユーザ端末やMRグラス、サーバなどの情報処理装置の構成例について説明する。
 図34は、ユーザ端末、MRグラス、サーバなどの情報処理装置の一構成例を示す図である。
 なお、図34の左側にユーザ端末対応の情報処理装置100の構成例、右側にサーバ200の構成例を示している。
 左側に示すユーザ端末対応の情報処理装置100は、例えばスマホやPC等のユーザ端末単体の構成である。ただし、情報処理装置100は、例えばスマホやPC等の機能(データ処理、通信等の機能)を備えたMRグラスとしてもよい。
 まず、左側のユーザ端末対応の情報処理装置100の構成について説明する。
 情報処理装置100は、センサIF101、姿勢推定部102、姿勢推定学習モデル103、通信部104、センサ検出値送信対象選択部105、姿勢反映3次元アバター画像描画処理部106を有する。
 センサIF101は、ユーザの体の各部位(頭、右腕、左腕、腰、右足、左足等)に装着されたIMU等のセンサ(動きセンサ)151に対応するIFであり、これらのセンサ151との間でデータ送受信を実行する。例えばブルートゥース(登録商標)通信等の近接通信を行うIFである。
 姿勢推定部102は、センサIF101を介して入力するユーザの体の各部位(頭、右腕、左腕、腰、右足、左足等)に装着されたセンサの検出値を入力してユーザの姿勢を推定する処理を実行する。
 姿勢推定部102は、予め生成された姿勢推定学習モデル103を適用してユーザ姿勢を推定する。
 姿勢推定部102において実行するユーザ姿勢情報生成処理は、先に図8を参照して説明した処理であり、以下の各処理を順次、実行してユーザ姿勢情報を生成する。
 (処理1)センサ検出値入力処理
 (処理2)ノイズ除去処理
 (処理3)動きベクトル群生成処理
 (処理4)姿勢推定処理(学習モデル適用姿勢推定処理)
 (処理5)接続部角度設定ベクトル生成処理
 姿勢推定部102は、これら(処理1)~(処理5)の各処理を順次、実行して、ユーザの3次元姿勢を示す「姿勢情報」を生成する。
 姿勢推定学習モデル103は、多数のサンプルデータ、例えば多数の異なる動きベクトル群とユーザ姿勢との対応データを利用して予め生成された学習モデルであり、例えばユーザの体の各部位対応の動きベクトルを入力してユーザ姿勢を出力する学習モデルである。
 通信部104は、サーバ200との通信を実行する。
 例えば情報処理装置100の姿勢推定部102が生成したユーザ姿勢情報をサーバ200に送信する。
 センサ検出値送信対象選択部105は、サーバ200に送信するセンサ検出値の選択処理を実行する。
 先に説明したように、サーバ200に送信するセンサ検出情報は、ユーザの体の各部位(頭、右腕、左腕、腰、右足、左足)に装着されたセンサの検出値の全てではなく、予め規定したしきい値以上の速度で動いていると判定された部位のセンサ検出値のみである。
 センサ検出値送信対象選択部105は、ユーザの体の各部位(頭、右腕、左腕、腰、右足、左足)に装着されたセンサの検出値を解析して、予め規定したしきい値以上の速度で動いている部位を選択し、選択した部位のセンサ検出値をサーバ200に送信するセンサ検出値とする。
 予め規定したしきい値以上の速度で動いている部位のセンサ検出値は通信部104を介してサーバ200に送信される。
 なお、サーバ200に送信するセンサ検出値の選択処理は、ユーザ端末側で実行する処理例(図17~図21を参照して説明した処理)と、サーバ側で実行する処理例(図22~図25を参照して説明した処理)がある。
 この図34に示す構成図は、サーバ200に送信するセンサ検出値の選択処理をユーザ端末側で実行する処理例(図17~図21を参照して説明した処理)に対応する構成図である。
 サーバ200に送信するセンサ検出値の選択処理をサーバ側で実行する処理例(図22~図25を参照して説明した処理)に対応する構成図については、後段で図35を参照して説明する。
 姿勢反映3次元アバター画像描画処理部106は、サーバ200が、姿勢情報やセンサ検出値を利用して生成したユーザ姿勢反映アバター3次元画像を、サーバ200から通信部104を介して入力し、MRグラスの表示部152に描画する処理を実行する。
 次にサーバ200の構成について説明する。
 図に示すようにサーバ200は、通信部201、姿勢反映3次元アバター画像生成部202を有する。
 サーバ200は通信部201を介して、ユーザ端末等の情報処理装置100からユーザ姿勢情報、またはユーザ姿勢情報とセンサ検出値を入力する。
 姿勢反映3次元アバター画像生成部202は、ユーザ端末等の情報処理装置100から入力したユーザ姿勢情報、またはユーザ姿勢情報とセンサ検出値の2つの情報を利用してユーザ姿勢反映アバター3次元画像を生成し、通信部201を介して情報処理装置100に送信する。
 情報処理装置100がサーバ200から受信したユーザ姿勢反映アバター3次元画像は、情報処理装置100の姿勢反映3次元アバター画像描画処理部106においてMRグラスの表示部152に描画される。
 次に、図35を参照して、サーバ200に送信するセンサ検出値の選択処理をサーバ側で実行する処理例(図22~図25を参照して説明した処理)に対応する構成図について説明する。
 図35の左側のユーザ端末対応の情報処理装置100の構成について説明する。
 情報処理装置100は、センサIF101、姿勢推定部102、姿勢推定学習モデル103、通信部104、センサ検出値送信対象選択部105、姿勢反映3次元アバター画像描画処理部106を有する。
 センサ検出値送信対象選択部105以外の構成が実行する処理は、図34を参照して説明した処理と同様であるので説明を省略する。
 図35に示す構成におけるセンサ検出値送信対象選択部105は、通信部104を介してサーバ200から、サーバが決定した送信対象センサ検出値情報を入力し、この入力情報に従って、サーバ200に送信するセンサ検出値を選択的に取得して通信部1104を介してサーバ200に送信する。
 次にサーバ200の構成について説明する。
 図に示すようにサーバ200は、通信部201、姿勢反映3次元アバター画像生成部202の他、ユーザ動き解析部203、センサ検出値送信対象選択部204を有する。
 サーバ200は通信部201を介して、ユーザ端末等の情報処理装置100からユーザ姿勢情報、またはユーザ姿勢情報とセンサ検出値を入力する。
 姿勢反映3次元アバター画像生成部202は、ユーザ端末等の情報処理装置100から入力したユーザ姿勢情報、またはユーザ姿勢情報とセンサ検出値の2つの情報を利用してユーザ姿勢反映アバター3次元画像を生成し、通信部201を介して情報処理装置100に送信する。
 これらの処理は、先に図34を参照して説明したと同様の処理である。
 ユーザ動き解析部203は、通信部201を介してユーザ端末等の情報処理装置からユーザ姿勢情報を入力し、入力するユーザ姿勢情報の時系列データを解析し、位置変化の激しいユーザ部位(左手などの部位)を検出し、その部位の移動速度を推定する。
 センサ検出値送信対象選択部204は、ユーザ動き解析部203の解析結果、すなわち、姿勢変化の激しいユーザ部位(左手などの部位)の推定移動速度と予め規定したしきい値を比較し、しきい値以上の移動速度を持つユーザ部位のセンサ検出値を送信対象センサ検出値として決定する。
 この決定情報は、通信部201を介してユーザ端末等の情報処理装置100に送信される。
 ユーザ端末等の情報処理装置100のセンサ検出値送信対象選択部105は、通信部104を介してサーバ200からサーバが決定した送信対象センサ検出値情報を入力し、この入力情報に従って、サーバ200に送信するセンサ検出値を選択的に取得して通信部1104を介してサーバ200に送信する。
 次に、先に図26や図27を参照して説明したサーバを利用しない構成とした場合のユーザ端末等の情報処理装置の構成例について説明する。
 図36は、サーバを利用せずユーザ端末のみで、ユーザの姿勢を反映したアバター画像を生成する構成とした場合の情報処理装置100Bの構成例を示す図である。
 ユーザ端末等の情報処理装置100Bは、センサIF101、姿勢推定部102、姿勢推定学習モデル103、通信部104、姿勢反映3次元アバター画像生成部106、利用対象センサ検出値選択部121、姿勢反映3次元アバター画像生成部122を有する。
 センサIF101は、ユーザの体の各部位(頭、右腕、左腕、腰、右足、左足等)に装着されたIMU等のセンサ(動きセンサ)151に対応するIFであり、これらのセンサ151間でデータ送受信を実行する。例えばブルートゥース(登録商標)通信等の近接通信を行うIFである。
 姿勢推定部102は、センサIF101を介して入力するユーザの体の各部位(頭、右腕、左腕、腰、右足、左足等)に装着されたセンサの検出値を入力してユーザの姿勢を推定する処理を実行する。
 姿勢推定部102は、予め生成された姿勢推定学習モデル103を適用してユーザ姿勢を推定する。
 姿勢推定部102において実行するユーザ姿勢情報生成処理は、先に図8を参照して説明した処理であり、図8に示す(処理1)~(処理5)の各処理を順次、実行して、ユーザの3次元姿勢を示す「姿勢情報」を生成する。
 姿勢推定学習モデル103は、多数のサンプルデータ、例えば多数の異なる動きベクトル群とユーザ姿勢との対応データを利用して予め生成された学習モデルであり、例えばユーザの体の各部位対応の動きベクトルを入力してユーザ姿勢を出力する学習モデルである。
 通信部104は、例えば通信相手となる他のユーザ端末との通信を実行する。
 通信部104は、例えば情報処理装置100の姿勢推定部102が生成したユーザ姿勢情報や、センサ検出値を通信相手となる他のユーザ端末に送信する。
 利用対象センサ検出値選択部121は、ユーザ姿勢反映3次元アバター画像に利用するセンサ検出値の選択処理を実行する。
 利用対象センサ検出値選択部121は、ユーザの体の各部位(頭、右腕、左腕、腰、右足、左足)に装着されたセンサの検出値を解析して、予め規定したしきい値以上の速度で動いている部位を選択し、選択した部位のセンサ検出値をユーザ姿勢反映3次元アバター画像に利用するセンサ検出値として選択する。
 予め規定したしきい値以上の速度で動いている部位のセンサ検出値は姿勢反映3次元アバター画像生成部122に出力される。
 姿勢反映3次元アバター画像生成部122は、姿勢推定部102が生成したユーザ姿勢情報、またはこのユーザ姿勢情報と、利用対象センサ検出値選択部121から入力した予め規定したしきい値以上の速度で動いている部位のセンサ検出値を利用してユーザ姿勢反映アバター3次元画像を生成する。
 生成したユーザ姿勢反映アバター3次元画像は、姿勢反映3次元アバター画像描画処理部106に出力される。
 姿勢反映3次元アバター画像描画処理部106は、姿勢反映3次元アバター画像生成部122が姿勢情報やセンサ検出値を利用して生成したユーザ姿勢反映アバター3次元画像を入力し、MRグラスの表示部152に描画する処理を実行する。
  [9.情報処理装置のハードウェア構成例について]
 次に、上述した実施例に従った処理を実行するユーザ端末、MRグラス、サーバ等を構成する情報処理装置のハードウェア構成例について、図37を参照して説明する。
 図37に示すハードウェアは、本開示の情報処理装置、例えばPC、スマホ等のユーザ端末、MRグラス、サーバ等を構成する情報処理装置のハードウェア構成の一例である。
 図37に示すハードウェア構成について説明する。
 CPU(Central Processing Unit)501は、ROM(Read Only Memory)502、または記憶部508に記憶されているプログラムに従って各種の処理を実行するデータ処理部として機能する。例えば、上述した実施例において説明したシーケンスに従った処理を実行する。RAM(Random Access Memory)503には、CPU501が実行するプログラムやデータなどが記憶される。これらのCPU501、ROM502、およびRAM503は、バス504により相互に接続されている。
 CPU501はバス504を介して入出力インタフェース505に接続され、入出力インタフェース505には、各種センサ、カメラ、スイッチ、キーボード、マウス、マイクロホンなどよりなる入力部506、ディスプレイ、スピーカなどよりなる出力部507が接続されている。
 入出力インタフェース505に接続されている記憶部508は、例えばハードディスク等からなり、CPU501が実行するプログラムや各種のデータを記憶する。通信部509は、インターネットやローカルエリアネットワークなどのネットワークを介したデータ通信の送受信部として機能し、外部の装置と通信する。
 入出力インタフェース505に接続されているドライブ510は、磁気ディスク、光ディスク、光磁気ディスク、あるいはメモリカード等の半導体メモリなどのリムーバブルメディア511を駆動し、データの記録あるいは読み取りを実行する。
  [10.本開示の構成のまとめ]
 以上、特定の実施例を参照しながら、本開示の実施例について詳解してきた。しかしながら、本開示の要旨を逸脱しない範囲で当業者が実施例の修正や代用を成し得ることは自明である。すなわち、例示という形態で本発明を開示してきたのであり、限定的に解釈されるべきではない。本開示の要旨を判断するためには、特許請求の範囲の欄を参酌すべきである。
 なお、本明細書において開示した技術は、以下のような構成をとることができる。
 (1) ユーザの体の複数部位に装着した動きセンサのセンサ検出値を入力してユーザ姿勢を推定する姿勢推定部と、
 規定しきい値より動きの速い部位のセンサ検出値を選択的に取得するセンサ検出値選択部を有し、
 前記姿勢推定部が推定したユーザ姿勢と、前記センサ検出値選択部が選択したセンサ検出値を外部装置、または情報処理装置内の姿勢反映3次元アバター画像生成部に出力し、
 前記姿勢反映3次元アバター画像生成部がユーザ姿勢とセンサ検出値を利用して生成したユーザ姿勢反映3次元アバター画像を表示部に出力する情報処理装置。
 (2) 前記姿勢反映3次元アバター画像生成部が生成するユーザ姿勢反映3次元アバター画像は、
 (a)前記姿勢推定部が推定したユーザ姿勢、
 (b)前記姿勢推定部が前記ユーザ姿勢の生成に利用したセンサ検出値より新しいセンサ検出値、
 上記(a),(b)の各データを利用して生成した画像である(1)に記載の情報処理装置。
 (3) 前記姿勢反映3次元アバター画像生成部が生成するユーザ姿勢反映3次元アバター画像は、
 前記姿勢推定部が推定したユーザ姿勢に基づいて生成されるアバター画像に対して、前記センサ検出値選択部が選択したセンサ検出値に基いて推定されるユーザ部位位置を反映させる画像修正処理によって生成されるアバター画像である(1)または(2)に記載の情報処理装置。
 (4) 前記センサ検出値選択部は、
 前記外部装置からの指定情報に従って、規定しきい値より動きの速い部位のセンサ検出値を選択的に取得する(1)~(3)いずれかに記載の情報処理装置。
 (5) 前記センサ検出値選択部は、
 動きセンサのセンサ検出値を解析して、規定しきい値より動きの速い部位のセンサ検出値を選択的に取得する(1)~(4)いずれかに記載の情報処理装置。
 (6) 前記情報処理装置は、さらに、
 ユーザ姿勢とセンサ検出値を利用して生成したユーザ姿勢反映3次元アバター画像を、表示部に描画するアバター画像描画処理部を有する(1)~(5)いずれかに記載の情報処理装置。
 (7) 前記姿勢反映3次元アバター画像生成部は、
 前記情報処理装置と通信可能なサーバのデータ処理部であり、
 前記情報処理装置は、
 前記姿勢推定部が推定したユーザ姿勢と、前記センサ検出値選択部が選択したセンサ検出値を前記サーバに送信する処理と、
 前記サーバが生成したユーザ姿勢反映3次元アバター画像をサーバから受信する処理を実行する通信部を有する(1)~(6)いずれかに記載の情報処理装置。
 (8) 前記姿勢反映3次元アバター画像生成部は、
 前記情報処理装置内のデータ処理部であり、
 前記情報処理装置は、
 前記姿勢推定部が推定したユーザ姿勢と、前記センサ検出値選択部が選択したセンサ検出値を前記情報処理装置内の姿勢反映3次元アバター画像生成部に入力し、
 前記姿勢反映3次元アバター画像生成部がユーザ姿勢とセンサ検出値を利用して生成したユーザ姿勢反映3次元アバター画像を表示部に出力する(1)~(7)いずれかに記載の情報処理装置。
 (9) 前記姿勢推定部は、
 予め生成した学習モデルを利用してユーザ姿勢を推定する(1)~(8)いずれかに記載の情報処理装置。
 (10) 前記表示部は、MR(Mixed Reality)グラスの表示部である(1)~(9)いずれかに記載の情報処理装置。
 (11) 前記情報処理装置は、さらに、
 ユーザに装着したセンサのサンプリング周期を各部位の移動速度に応じて変更する処理を実行する(1)~(10)いずれかに記載の情報処理装置。
 (12) 前記情報処理装置は、
 規定しきい値より動きの速い部位のセンサ検出値を出力するセンサのサンプリング周期を高周期に設定し、規定しきい値未満の動き速度の部位のセンサ検出値を出力するセンサのサンプリング周期を低周期に設定する制御を行う(1)~(11)いずれかに記載の情報処理装置。
 (13) ユーザの体の部位に装着した動きセンサのセンサ検出値に基いて推定されるユーザ姿勢と、前記動きセンサのセンサ検出値を利用してユーザ姿勢反映3次元アバター画像を生成する姿勢反映3次元アバター画像生成部を有し、
 前記姿勢反映3次元アバター画像生成部は、
 前記ユーザ姿勢に基づいて生成される姿勢ベースアバター画像に対して、前記センサ検出値に基いて推定されるユーザ部位位置を反映させる画像修正処理を実行して、前記ユーザ姿勢反映3次元アバター画像を生成する情報処理装置。
 (14) 前記姿勢反映3次元アバター画像生成部が前記画像修正処理に利用するセンサ検出値は、前記ユーザ姿勢の推定処理に利用したセンサ検出値より新しいセンサ検出値である(13)に記載の情報処理装置。
 (15) ユーザ端末とサーバを有する情報処理システムであり、
 前記ユーザ端末は、
 ユーザの体の複数部位に装着した動きセンサのセンサ検出値を入力してユーザ姿勢を推定する姿勢推定部と、
 規定しきい値より動きの速い部位のセンサ検出値を選択的に取得するセンサ検出値選択部と、
 前記姿勢推定部が推定したユーザ姿勢と、前記センサ検出値選択部が選択したセンサ検出値を前記サーバに送信する通信部を有し、
 前記サーバは、
 前記ユーザ端末から受信するユーザ姿勢とセンサ検出値を利用してユーザ姿勢反映3次元アバター画像を生成し、生成したユーザ姿勢反映3次元アバター画像を前記ユーザ端末に送信し、
 前記ユーザ端末は、
 前記サーバから受信したユーザ姿勢反映3次元アバター画像を表示部に出力する情報処理装置システム。
 (16) 前記サーバは、
 (a)前記ユーザ端末の前記姿勢推定部が推定したユーザ姿勢、
 (b)前記ユーザ端末の前記姿勢推定部が前記ユーザ姿勢の生成に利用したセンサ検出値より新しいセンサ検出値、
 上記(a),(b)の各データを利用して前記ユーザ姿勢反映3次元アバター画像を生成する(15)に記載の情報処理システム。
 (17) 前記サーバが生成するユーザ姿勢反映3次元アバター画像は、
 前記ユーザ端末の姿勢推定部が推定したユーザ姿勢に基づいて生成されるアバター画像に対して、前記ユーザ端末のセンサ検出値選択部が選択したセンサ検出値に基いて推定されるユーザ部位位置を反映させる画像修正処理によって生成されるアバター画像である(15)または(16)に記載の情報処理システム。
 (18) 情報処理装置において実行する情報処理方法であり、
 姿勢推定部が、ユーザの体の複数部位に装着した動きセンサのセンサ検出値を入力してユーザ姿勢を推定する姿勢推定ステップと、
 センサ検出値選択部が、規定しきい値より動きの速い部位のセンサ検出値を選択的に取得するセンサ検出値選択ステップと、
 前記姿勢推定部が推定したユーザ姿勢と、前記センサ検出値選択部が選択したセンサ検出値を外部装置、または情報処理装置内の姿勢反映3次元アバター画像生成部に出力するステップと、
 前記姿勢反映3次元アバター画像生成部がユーザ姿勢とセンサ検出値を利用して生成したユーザ姿勢反映3次元アバター画像を表示部に出力するステップを実行する情報処理方法。
 (19) 情報処理装置において実行する情報処理方法であり、
 姿勢反映3次元アバター画像生成部が、ユーザの体の部位に装着した動きセンサのセンサ検出値に基いて推定されるユーザ姿勢と、前記動きセンサのセンサ検出値を利用してユーザ姿勢反映3次元アバター画像を生成する姿勢反映3次元アバター画像生成処理を実行し、
 前記姿勢反映3次元アバター画像生成部は、
 前記ユーザ姿勢に基づいて生成される姿勢ベースアバター画像に対して、前記センサ検出値に基いて推定されるユーザ部位位置を反映させる画像修正処理を実行して、前記ユーザ姿勢反映3次元アバター画像を生成する情報処理方法。
 明細書中において説明した一連の処理はハードウェア、またはソフトウェア、あるいは両者の複合構成によって実行することが可能である。ソフトウェアによる処理を実行する場合は、処理シーケンスを記録したプログラムを、専用のハードウェアに組み込まれたコンピュータ内のメモリにインストールして実行させるか、あるいは、各種処理が実行可能な汎用コンピュータにプログラムをインストールして実行させることが可能である。例えば、プログラムは記録媒体に予め記録しておくことができる。記録媒体からコンピュータにインストールする他、LAN(Local Area Network)、インターネットといったネットワークを介してプログラムを受信し、内蔵するハードディスク等の記録媒体にインストールすることができる。
 なお、明細書に記載された各種の処理は、記載に従って時系列に実行されるのみならず、処理を実行する装置の処理能力あるいは必要に応じて並列的にあるいは個別に実行されてもよい。また、本明細書においてシステムとは、複数の装置の論理的集合構成であり、各構成の装置が同一筐体内にあるものには限らない。
 以上、説明したように、本開示の一実施例の構成によれば、ユーザ動きに対する遅延の少ないユーザ姿勢反映3次元アバター画像を生成して表示する装置、方法が実現される。
 具体的には、例えば、ユーザ端末がユーザの体に装着した動きセンサの検出値を入力してユーザ姿勢を推定し、さらに動きの速い部位のセンサ検出値を選択してサーバに送信する。サーバは、ユーザ姿勢とセンサ検出値を利用してユーザ姿勢反映3次元アバター画像を生成しユーザ端末に送信する。ユーザ端末は受信したユーザ姿勢反映3次元アバター画像を表示部に出力する。サーバはユーザ姿勢に基づくアバター画像に対して、より新しいセンサ検出値に基いて推定されるユーザ部位位置を反映させる画像修正を行ってユーザ姿勢反映3次元アバター画像を生成する。
 本構成により、、ユーザ動きに対する遅延の少ないユーザ姿勢反映3次元アバター画像を生成して表示する装置、方法が実現される。
  10,20,30 ユーザ
  11,21,31 MRグラス
  12,22,32 ユーザ端末
  33 透過型MRグラス
  34 カメラ
  40 サーバ
  51~56 センサ(動きセンサ)
  58 カメラ
  61 センサ検出値送信対象選択部(移動速度解析部)
 100 情報処理装置
 101 センサIF
 102 姿勢推定部
 103 姿勢推定学習モデル
 104 通信部
 105 センサ検出値送信対象選択部
 106 姿勢反映3次元アバター画像描画処理部
 121 利用対象センサ検出値選択部
 122 姿勢反映3次元アバター画像生成部
 152 表示部
 200 サーバ
 201 通信部
 202 姿勢反映3次元アバター画像生成部
 203 ユーザ動き解析部
 204 センサ検出値送信対象選択部
 501 CPU
 502 ROM
 503 RAM
 504 バス
 505 入出力インタフェース
 506 入力部
 507 出力部
 508 記憶部
 509 通信部
 510 ドライブ
 511 リムーバブルメディア

Claims (19)

  1.  ユーザの体の複数部位に装着した動きセンサのセンサ検出値を入力してユーザ姿勢を推定する姿勢推定部と、
     規定しきい値より動きの速い部位のセンサ検出値を選択的に取得するセンサ検出値選択部を有し、
     前記姿勢推定部が推定したユーザ姿勢と、前記センサ検出値選択部が選択したセンサ検出値を外部装置、または情報処理装置内の姿勢反映3次元アバター画像生成部に出力し、
     前記姿勢反映3次元アバター画像生成部がユーザ姿勢とセンサ検出値を利用して生成したユーザ姿勢反映3次元アバター画像を表示部に出力する情報処理装置。
  2.  前記姿勢反映3次元アバター画像生成部が生成するユーザ姿勢反映3次元アバター画像は、
     (a)前記姿勢推定部が推定したユーザ姿勢、
     (b)前記姿勢推定部が前記ユーザ姿勢の生成に利用したセンサ検出値より新しいセンサ検出値、
     上記(a),(b)の各データを利用して生成した画像である請求項1に記載の情報処理装置。
  3.  前記姿勢反映3次元アバター画像生成部が生成するユーザ姿勢反映3次元アバター画像は、
     前記姿勢推定部が推定したユーザ姿勢に基づいて生成されるアバター画像に対して、前記センサ検出値選択部が選択したセンサ検出値に基いて推定されるユーザ部位位置を反映させる画像修正処理によって生成されるアバター画像である請求項1に記載の情報処理装置。
  4.  前記センサ検出値選択部は、
     前記外部装置からの指定情報に従って、規定しきい値より動きの速い部位のセンサ検出値を選択的に取得する請求項1に記載の情報処理装置。
  5.  前記センサ検出値選択部は、
     動きセンサのセンサ検出値を解析して、規定しきい値より動きの速い部位のセンサ検出値を選択的に取得する請求項1に記載の情報処理装置。
  6.  前記情報処理装置は、さらに、
     ユーザ姿勢とセンサ検出値を利用して生成したユーザ姿勢反映3次元アバター画像を、表示部に描画するアバター画像描画処理部を有する請求項1に記載の情報処理装置。
  7.  前記姿勢反映3次元アバター画像生成部は、
     前記情報処理装置と通信可能なサーバのデータ処理部であり、
     前記情報処理装置は、
     前記姿勢推定部が推定したユーザ姿勢と、前記センサ検出値選択部が選択したセンサ検出値を前記サーバに送信する処理と、
     前記サーバが生成したユーザ姿勢反映3次元アバター画像をサーバから受信する処理を実行する通信部を有する請求項1に記載の情報処理装置。
  8.  前記姿勢反映3次元アバター画像生成部は、
     前記情報処理装置内のデータ処理部であり、
     前記情報処理装置は、
     前記姿勢推定部が推定したユーザ姿勢と、前記センサ検出値選択部が選択したセンサ検出値を前記情報処理装置内の姿勢反映3次元アバター画像生成部に入力し、
     前記姿勢反映3次元アバター画像生成部がユーザ姿勢とセンサ検出値を利用して生成したユーザ姿勢反映3次元アバター画像を表示部に出力する請求項1に記載の情報処理装置。
  9.  前記姿勢推定部は、
     予め生成した学習モデルを利用してユーザ姿勢を推定する請求項1に記載の情報処理装置。
  10.  前記表示部は、MR(Mixed Reality)グラスの表示部である請求項1に記載の情報処理装置。
  11.  前記情報処理装置は、さらに、
     ユーザに装着したセンサのサンプリング周期を各部位の移動速度に応じて変更する処理を実行する請求項1に記載の情報処理装置。
  12.  前記情報処理装置は、
     規定しきい値より動きの速い部位のセンサ検出値を出力するセンサのサンプリング周期を高周期に設定し、規定しきい値未満の動き速度の部位のセンサ検出値を出力するセンサのサンプリング周期を低周期に設定する制御を行う請求項1に記載の情報処理装置。
  13.  ユーザの体の部位に装着した動きセンサのセンサ検出値に基いて推定されるユーザ姿勢と、前記動きセンサのセンサ検出値を利用してユーザ姿勢反映3次元アバター画像を生成する姿勢反映3次元アバター画像生成部を有し、
     前記姿勢反映3次元アバター画像生成部は、
     前記ユーザ姿勢に基づいて生成される姿勢ベースアバター画像に対して、前記センサ検出値に基いて推定されるユーザ部位位置を反映させる画像修正処理を実行して、前記ユーザ姿勢反映3次元アバター画像を生成する情報処理装置。
  14.  前記姿勢反映3次元アバター画像生成部が前記画像修正処理に利用するセンサ検出値は、前記ユーザ姿勢の推定処理に利用したセンサ検出値より新しいセンサ検出値である請求項13に記載の情報処理装置。
  15.  ユーザ端末とサーバを有する情報処理システムであり、
     前記ユーザ端末は、
     ユーザの体の複数部位に装着した動きセンサのセンサ検出値を入力してユーザ姿勢を推定する姿勢推定部と、
     規定しきい値より動きの速い部位のセンサ検出値を選択的に取得するセンサ検出値選択部と、
     前記姿勢推定部が推定したユーザ姿勢と、前記センサ検出値選択部が選択したセンサ検出値を前記サーバに送信する通信部を有し、
     前記サーバは、
     前記ユーザ端末から受信するユーザ姿勢とセンサ検出値を利用してユーザ姿勢反映3次元アバター画像を生成し、生成したユーザ姿勢反映3次元アバター画像を前記ユーザ端末に送信し、
     前記ユーザ端末は、
     前記サーバから受信したユーザ姿勢反映3次元アバター画像を表示部に出力する情報処理装置システム。
  16.  前記サーバは、
     (a)前記ユーザ端末の前記姿勢推定部が推定したユーザ姿勢、
     (b)前記ユーザ端末の前記姿勢推定部が前記ユーザ姿勢の生成に利用したセンサ検出値より新しいセンサ検出値、
     上記(a),(b)の各データを利用して前記ユーザ姿勢反映3次元アバター画像を生成する請求項15に記載の情報処理システム。
  17.  前記サーバが生成するユーザ姿勢反映3次元アバター画像は、
     前記ユーザ端末の姿勢推定部が推定したユーザ姿勢に基づいて生成されるアバター画像に対して、前記ユーザ端末のセンサ検出値選択部が選択したセンサ検出値に基いて推定されるユーザ部位位置を反映させる画像修正処理によって生成されるアバター画像である請求項15に記載の情報処理システム。
  18.  情報処理装置において実行する情報処理方法であり、
     姿勢推定部が、ユーザの体の複数部位に装着した動きセンサのセンサ検出値を入力してユーザ姿勢を推定する姿勢推定ステップと、
     センサ検出値選択部が、規定しきい値より動きの速い部位のセンサ検出値を選択的に取得するセンサ検出値選択ステップと、
     前記姿勢推定部が推定したユーザ姿勢と、前記センサ検出値選択部が選択したセンサ検出値を外部装置、または情報処理装置内の姿勢反映3次元アバター画像生成部に出力するステップと、
     前記姿勢反映3次元アバター画像生成部がユーザ姿勢とセンサ検出値を利用して生成したユーザ姿勢反映3次元アバター画像を表示部に出力するステップを実行する情報処理方法。
  19.  情報処理装置において実行する情報処理方法であり、
     姿勢反映3次元アバター画像生成部が、ユーザの体の部位に装着した動きセンサのセンサ検出値に基いて推定されるユーザ姿勢と、前記動きセンサのセンサ検出値を利用してユーザ姿勢反映3次元アバター画像を生成する姿勢反映3次元アバター画像生成処理を実行し、
     前記姿勢反映3次元アバター画像生成部は、
     前記ユーザ姿勢に基づいて生成される姿勢ベースアバター画像に対して、前記センサ検出値に基いて推定されるユーザ部位位置を反映させる画像修正処理を実行して、前記ユーザ姿勢反映3次元アバター画像を生成する情報処理方法。
PCT/JP2022/043224 2022-01-17 2022-11-22 情報処理装置、および情報処理システム、並びに情報処理方法 WO2023135941A1 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2022005302 2022-01-17
JP2022-005302 2022-01-17

Publications (1)

Publication Number Publication Date
WO2023135941A1 true WO2023135941A1 (ja) 2023-07-20

Family

ID=87278920

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2022/043224 WO2023135941A1 (ja) 2022-01-17 2022-11-22 情報処理装置、および情報処理システム、並びに情報処理方法

Country Status (1)

Country Link
WO (1) WO2023135941A1 (ja)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20100306716A1 (en) * 2009-05-29 2010-12-02 Microsoft Corporation Extending standard gestures
JP2018116684A (ja) * 2017-10-23 2018-07-26 株式会社コロプラ 仮想空間を介して通信するための方法、当該方法をコンピュータに実行させるためのプログラム、および当該プログラムを実行するための情報処理装置
JP2021507355A (ja) * 2017-12-14 2021-02-22 マジック リープ, インコーポレイテッドMagic Leap,Inc. 仮想アバタのコンテキストベースのレンダリング
JP2021135776A (ja) * 2020-02-27 2021-09-13 キヤノン株式会社 情報処理装置、情報処理方法、およびプログラム

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20100306716A1 (en) * 2009-05-29 2010-12-02 Microsoft Corporation Extending standard gestures
JP2018116684A (ja) * 2017-10-23 2018-07-26 株式会社コロプラ 仮想空間を介して通信するための方法、当該方法をコンピュータに実行させるためのプログラム、および当該プログラムを実行するための情報処理装置
JP2021507355A (ja) * 2017-12-14 2021-02-22 マジック リープ, インコーポレイテッドMagic Leap,Inc. 仮想アバタのコンテキストベースのレンダリング
JP2021135776A (ja) * 2020-02-27 2021-09-13 キヤノン株式会社 情報処理装置、情報処理方法、およびプログラム

Similar Documents

Publication Publication Date Title
JP7181316B2 (ja) Hmd環境での高速中心窩レンダリングのための予測及びgpuに対する最新の更新を伴う視線追跡
CN113892073B (zh) 具有优先化运动模型的多层人工现实控制器姿态跟踪架构
JP7164630B2 (ja) 予測サッカード着地点に基づく動的グラフィックスレンダリング
US11861059B2 (en) System and method for generating a virtual reality scene based on individual asynchronous motion capture recordings
JP6276882B1 (ja) 情報処理方法、装置、および当該情報処理方法をコンピュータに実行させるためのプログラム
JP5639646B2 (ja) スケルトン・データーのゲーム・アバターへのリアル・タイム・リターゲティング
CN102622774B (zh) 起居室电影创建
EP4248413A1 (en) Multiple device sensor input based avatar
US11380072B2 (en) Neutral avatars
CN109144252A (zh) 对象确定方法、装置、设备和存储介质
JP2020065229A (ja) 映像通信方法、映像通信装置及び映像通信プログラム
JP2022537817A (ja) 動的オクルージョンのための高速の手のメッシュ化
KR20230148239A (ko) 신경망을 사용하는 비디오로부터의 로버스트 얼굴 애니메이션
US20210256751A1 (en) Generating animations in an augmented reality environment
Fu et al. Real-time multimodal human–avatar interaction
WO2023135941A1 (ja) 情報処理装置、および情報処理システム、並びに情報処理方法
CN114385002B (zh) 智能设备控制方法、装置、服务器和存储介质
KR20240055025A (ko) 실용 3d 에셋을 위한 추론된 골격 구조
CN114296539B (zh) 方向预测方法、虚拟实境装置及非暂态计算机可读取媒体
EP3526771B1 (en) Held object stabilization in virtual reality
Akinjala et al. Animating human movement & gestures on an agent using Microsoft kinect
US12020359B2 (en) System and method for immersive telecommunications supported by AI analysis
CN113393561B (zh) 虚拟角色的肢体动作表情包生成方法、装置及存储介质
US20240078767A1 (en) Information processing apparatus and information processing method
JP2003058906A (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: 22920461

Country of ref document: EP

Kind code of ref document: A1

ENP Entry into the national phase

Ref document number: 2023573877

Country of ref document: JP

Kind code of ref document: A