WO2023079987A1 - 配信装置、配信方法、およびプログラム - Google Patents

配信装置、配信方法、およびプログラム Download PDF

Info

Publication number
WO2023079987A1
WO2023079987A1 PCT/JP2022/039360 JP2022039360W WO2023079987A1 WO 2023079987 A1 WO2023079987 A1 WO 2023079987A1 JP 2022039360 W JP2022039360 W JP 2022039360W WO 2023079987 A1 WO2023079987 A1 WO 2023079987A1
Authority
WO
WIPO (PCT)
Prior art keywords
avatar
information
motion information
distribution
user
Prior art date
Application number
PCT/JP2022/039360
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 WO2023079987A1 publication Critical patent/WO2023079987A1/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
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T13/00Animation
    • G06T13/203D [Three Dimensional] animation
    • G06T13/403D [Three Dimensional] animation of characters, e.g. humans, animals or virtual beings
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T19/00Manipulating 3D models or images for computer graphics
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/234Processing of video elementary streams, e.g. splicing of video streams, manipulating MPEG-4 scene graphs

Definitions

  • the present technology relates to a distribution device, a distribution method, and a program, and more particularly to a distribution device, a distribution method, and a program that can reduce the amount of communication while maintaining the natural movement of an avatar.
  • Patent Document 1 describes a technique for reducing the load on the system by varying the amount of information distributed per unit time by the distribution unit according to the distance between avatars in the virtual space.
  • the amount of motion information can be reduced by reducing the number of joints to which motion information is distributed.
  • FK Forward Kinematics
  • IK Inverse Kinematics
  • the method of varying the amount of motion information according to the distance may not be effective.
  • This technology has been developed in view of this situation, and it is possible to reduce the amount of communication while maintaining the natural movement of the avatar.
  • a distribution device includes a receiving unit that receives first motion information indicating a motion of a user, a terminal that displays the avatar, a receiving unit that receives second motion information that indicates the motion of an avatar corresponding to the user, and a terminal that displays the avatar. and an adjustment unit that adjusts the information amount of the second motion information delivered by the delivery unit according to the first motion information.
  • a distribution device receives first movement information indicating a movement of a user, and distributes the first movement information indicating the movement of the avatar corresponding to the user to a terminal that displays the avatar corresponding to the user. 2, and distributes the second motion information to the terminal.
  • a program receives, in a computer, first motion information indicating a motion of a user, and second motion information indicating a motion of the avatar that is distributed to a terminal that displays an avatar corresponding to the user.
  • a process of adjusting the amount of motion information and distributing the second motion information to the terminal is executed.
  • first motion information indicating a motion of a user is received, and information of second motion information indicating a motion of the avatar is distributed to a terminal displaying an avatar corresponding to the user. An amount is adjusted and the second motion information is delivered to the terminal.
  • FIG. 10 is a diagram showing an example of motion amounts of joints of an avatar
  • 4 is a flowchart for explaining application execution processing of a head-mounted display terminal
  • FIG. 10 is a flowchart for explaining distribution processing of a server
  • FIG. 11 is a block diagram showing a configuration example of a head mounted display terminal according to a first modified example
  • FIG. 11 is a block diagram showing a configuration example of a server according to a first modified example
  • FIG. 11 is a block diagram showing a configuration example of a server according to a second modified example;
  • FIG. 4 is a diagram showing an example of the importance of each part of the body;
  • FIG. 11 is a block diagram showing a configuration example of a server according to a third modified example;
  • FIG. 11 is a block diagram showing a configuration example of a head-mounted display terminal according to a third modified example;
  • FIG. 10 is a diagram showing an example of a method of obtaining support information indicating the presence or absence of a shield between the viewer's viewpoint and each joint of the avatar;
  • FIG. 10 is a diagram showing an example of a method of obtaining support information indicating the amount of light reaching an avatar;
  • FIG. 10 is a diagram showing an example of a method of obtaining support information indicating the display area of an avatar
  • FIG. 11 is a block diagram showing a configuration example of a head mounted display terminal according to a fourth modified example
  • FIG. 14 is a block diagram showing a configuration example of a server according to a fourth modified example
  • It is a figure which shows the example of the estimation method of an attention degree.
  • FIG. 10 is a diagram showing another example of a method of estimating the degree of attention
  • FIG. 10 is a diagram showing still another example of the attention degree estimation method
  • It is a block diagram which shows the structural example of the hardware of a computer.
  • FIG. 1 is a diagram illustrating a configuration example of an information processing system according to an embodiment of the present technology.
  • the information processing system in FIG. 1 is a system that implements an application that reflects the movements of multiple users on each avatar placed in a virtual space.
  • the information processing system is configured by connecting n head-mounted display terminals 1-1 to 1-n to a server 2 via a network.
  • the head mounted display terminals 1-1 to 1-n acquire motion information indicating the motion of the user wearing the head mounted display terminals 1-1 to 1-n and transmit it to the server 2.
  • the head mounted display terminals 1-1 to 1-n receive motion information indicating motions of avatars corresponding to other users distributed from the server 2, and convert the motion information of the avatars into a 3D model of the avatar. Apply.
  • a user moves the viewpoint in the virtual space, and displays images in the virtual space in which avatars acting to represent the movements of other users are arranged in the head-mounted display terminals 1-1 to 1-. It can be viewed using n.
  • the server 2 receives and holds user movement information transmitted from the head mounted display terminals 1-1 to 1-n.
  • the server 2 functions as a distribution device that adjusts the amount of avatar movement information based on the corresponding user movement information, and then distributes it to the head mounted display terminals 1-1 to 1-n.
  • the head mounted display terminals 1-1 to 1-n are simply referred to as the head mounted display terminal 1 when there is no need to distinguish them individually.
  • FIG. 2 is a block diagram showing a configuration example of the head-mounted display terminal 1. As shown in FIG.
  • the head-mounted display terminal 1 is composed of an input processing section 11, a transmission data processing section 12, a receiving section 13, a program processing section 14, a design data storage section 15, and a display section 16.
  • the input processing unit 11 performs processing with input of data from the controller and sensors.
  • the input processing section 11 includes a motion information processing section 21 and an operation section 22 .
  • the motion information processing unit 21 acquires bone position information indicating the user's posture by joint positions and joint angles as user motion information. For example, the motion information processing unit 21 estimates bone position information about the user's upper body based on the positions of the controller held by the user with both hands and the head-mounted display terminal 1 worn on the user's head. . The positions of the controller and the head-mounted display terminal 1 are detected, for example, by sensors provided in each device.
  • the motion information processing unit 21 can also acquire bone position information based on a photographed image obtained by photographing the user's whole body with a camera, for example.
  • the operation unit 22 receives input of operations using, for example, a cross key or operation buttons provided on the controller.
  • the movement direction and movement amount of the avatar corresponding to the user himself/herself in the virtual space are input using the cross key and operation buttons.
  • the transmission data processing unit 12 includes a bone position holding unit 31 and a user position acquisition unit 32.
  • the bone position holding unit 31 holds bone position information as user motion information acquired by the motion information processing unit 21 .
  • the user position acquisition unit 32 acquires position information indicating the position of the avatar corresponding to the user in the virtual space based on the operation accepted by the operation unit 22 . Also, the user position acquisition unit 32 may acquire position information based on the movement amount of the user calculated from the motion information acquired by the motion information processing unit 21 . This position in the virtual space also serves as the viewer's viewpoint.
  • the transmission data processing unit 12 generates transmission data by compressing, encrypting, and converting the user's movement information and position information into a data format for transmission via a network.
  • the transmission data processing unit 12 transmits transmission data to the server 2 via the network.
  • the receiving unit 13 receives distribution data distributed from the server 2 .
  • the receiving unit 13 decodes and decompresses the distribution data, and acquires the movement information and position information of the avatars corresponding to other users.
  • the program processing unit 14 includes a rendering unit 41.
  • the rendering unit 41 applies the avatar motion information acquired by the receiving unit 13 to each 3D model.
  • the rendering unit 41 performs rendering to generate a rendered image representing the virtual space seen from the user's viewpoint.
  • each avatar is arranged based on the position information of the avatars corresponding to other users.
  • Design data of avatars corresponding to objects in the virtual space and other users and 3D models of the avatars are read from the design data storage unit 15 and used for rendering.
  • the design data storage unit 15 stores 3D models of avatars and objects and design data.
  • the display unit 16 displays the rendered image generated by the rendering unit 41.
  • FIG. 3 is a block diagram showing a configuration example of the server 2. As shown in FIG. 3
  • the server 2 is composed of a receiving section 51, a user management section 52, a program processing section 53, a bone position holding section 54, and a distribution section 55.
  • the receiving unit 51 receives transmission data transmitted from the head mounted display terminal 1 .
  • the receiving unit 51 decodes and decompresses the transmission data, and acquires the motion information and position information of the user.
  • the user management unit 52 holds user login information and manages the scene (world) experienced by each user by viewing rendered video. For example, in an information processing system, avatar movement information corresponding to each user is mutually distributed to the head-mounted display terminals 1 used by users experiencing the same scene.
  • the program processing unit 53 includes an adjustment unit 61. Based on at least the motion information of the user, the adjustment unit 61 sets the distribution priority indicating the priority (value standard) regarding the distribution of the motion information of the avatar corresponding to the user. adjusts the amount of avatar movement information distributed to , according to the set distribution priority.
  • the avatar motion information is bone position information that indicates the posture of the avatar with the positions and angles of the joints of the avatar that correspond to the joints of the user.
  • the adjusting unit 61 adjusts the distribution frequency of the avatar motion information for each joint of the avatar according to the distribution priority set based on the motion amount of the user's joints indicated by the user's motion information.
  • the amount of joint motion includes the amount of change in joint position and the amount of change in joint angle.
  • the motion amount of the user's joints is calculated, for example, based on the history of the user's motion information held in the bone position holding unit 54 .
  • FIG. 4 is a diagram showing an example of the amount of movement of joints of an avatar.
  • avatar movement information is distributed such that an avatar raising its right arm as shown on the left side of FIG. 4 moves its right arm closer to the head as shown on the right side of FIG.
  • the adjustment unit 61 sets the distribution priority of the neck joint to be low, and sets the frame rate for distributing the bone position information of the neck joint to a value lower than the reference value.
  • the adjustment unit 61 sets the distribution priority of the right shoulder joint to be high, and sets the frame rate for distributing the bone position information of the right shoulder joint to a value higher than the reference value.
  • the adjustment unit 61 sets the distribution priority of the right elbow joint to medium, and sets the frame rate for distributing the bone position information of the right elbow joint to a reference value.
  • the adjustment unit 61 sets the distribution priority of the right hand joint to a higher priority, and sets the frame rate for distributing the bone position information of the right hand joint to a value higher than the reference value.
  • the delivery priority for that joint is set high, and at least one of the amount of change in the joint position and the amount of change in the joint angle is set. If the joint is medium, the distribution priority for that joint is set to medium. If both the amount of change in the joint position and the amount of change in the joint angle are small, the delivery priority for that joint is set low.
  • the amounts of change in joint positions and joint angles are divided into three levels: large, medium, and small.
  • a rate may be set.
  • the bone position holding unit 54 holds a history of bone position information as motion information of each user acquired by the receiving unit 51 .
  • the distribution unit 55 generates distribution data by compressing, encrypting, and converting the avatar movement information and position information corresponding to each user into a data format for transmission via a network.
  • the distribution unit 55 distributes the distribution data to the head mounted display terminal 1 via the network.
  • step S1 the motion information processing unit 21 acquires bone position information as user motion information.
  • step S2 the user position acquisition unit 32 acquires the position information of the avatar corresponding to the user based on the operation whose input is accepted by the operation unit 22.
  • step S3 the transmission data processing unit 12 performs compression, encryption, conversion, etc. of the user's movement information and position information to generate transmission data, and transmits the transmission data to the server 2 via the network.
  • step S4 the receiving unit 13 acquires avatar motion information corresponding to other users.
  • the avatar movement information is obtained by decoding and decompressing distribution data distributed from the server 2 .
  • step S5 the rendering unit 41 applies avatar motion information corresponding to other users to the 3D model.
  • step S6 the rendering unit 41 performs rendering to generate a rendered image showing the virtual space seen from the user's viewpoint.
  • step S7 the display unit 16 displays the rendered image.
  • step S11 the receiving unit 51 receives the transmission data transmitted from the head-mounted display terminal 1, and decodes and decompresses the transmission data to acquire user movement information.
  • step S12 the bone position holding unit 54 holds a history of bone position information as user motion information.
  • step S ⁇ b>13 the adjustment unit 61 adjusts the information amount of the avatar movement information distributed by the distribution unit 55 .
  • step S14 the distribution unit 55 generates distribution data by compressing, encrypting, converting, etc. the motion information and position information of the avatar, and distributes it to the head mounted display terminal 1 via the network.
  • the information amount of the avatar movement information is adjusted and distributed to the head mounted display terminal 1 at least according to the distribution priority set based on the user's movement information.
  • the avatar's behavior tends to be unnatural in parts with a large amount of movement. Even if the amount of overall motion information is reduced, the bone position information of parts where the avatar tends to behave unnaturally is distributed at a high frame rate. movement can be expressed naturally.
  • FIG. 7 is a block diagram showing a configuration example of the head mounted display terminal 1 according to the first modified example.
  • the same reference numerals are assigned to the same configurations as those in FIG. Duplicate explanations will be omitted as appropriate.
  • the configuration of the head mounted display terminal 1 shown in FIG. 7 differs from the configuration of the head mounted display terminal 1 shown in FIG. 2 in that an animation storage unit 101 is provided.
  • the receiving unit 13 decodes and decompresses the distribution data distributed from the server 2, and acquires the movement information and position information of the avatars corresponding to other users.
  • the avatar motion information is specific information that can specify the type of avatar motion.
  • the rendering unit 41 acquires animation data associated with the specific information acquired by the receiving unit 13 from the animation storage unit 101 and applies it to the 3D model of the avatar.
  • the animation storage unit 101 stores specific information in association with animation data created in advance for expressing the movement indicated by the specific information with an avatar.
  • FIG. 8 is a block diagram showing a configuration example of the server 2 according to the first modified example.
  • the same reference numerals are given to the same configurations as those in FIG. Duplicate explanations will be omitted as appropriate.
  • the configuration of the server 2 shown in FIG. 8 differs from the configuration of the server 2 shown in FIG. 3 in that a motion matching database 111 is provided.
  • the motion matching database 111 is created in advance by machine learning. For example, predefined types of motion such as jumping, walking, running, and waving are associated with feature amounts of motion information indicating the motion. registered.
  • the adjusting unit 61 collates the motion information of the user acquired by the receiving unit 51 with the feature amount of the motion information registered in the motion matching database 111, and estimates the type of motion indicated by the motion information of the user.
  • the adjustment unit 61 sets the specific information assigned to the type of motion corresponding to the feature amount that matches the motion information of the user as the avatar motion information distributed by the distribution unit 55 .
  • the motion matching database 111 may be provided in the head mounted display terminal 1 and specific information as user motion information may be transmitted from the head mounted display terminal 1 to the server 2 .
  • FIG. 9 is a diagram showing how the user and avatar move.
  • the specific information assigned to the jump action is delivered from the server 2 to the head mounted display terminal 1 .
  • the animation data for causing the avatar to perform a jump action is applied to the 3D model.
  • the avatar performs a jump action in the virtual space, for example, with both arms lowered.
  • the amount of avatar motion information is the product of the number of joints, the type of motion information (joint positions and joint angles), and the distribution frequency
  • the bone position information of each joint is used as the avatar motion information.
  • the amount of avatar movement information becomes bloated.
  • the server 2 significantly reduces the amount of avatar motion information to be delivered to the head-mounted display terminal 1 by delivering only specific information such as an ID that can specify the type of avatar motion. This makes it possible to reduce the load on the information processing system.
  • the motion information of the avatar adjusted according to the distribution priority set based on the motion information of the user is displayed. , is distributed by the distribution unit 55 .
  • FIG. 10 is a block diagram showing a configuration example of the server 2 according to the second modification.
  • the same reference numerals are given to the same configurations as those in FIG. Duplicate explanations will be omitted as appropriate.
  • the configuration of the server 2 shown in FIG. 10 differs from the configuration of the server 2 shown in FIG. 8 in that a site importance database 151 is provided.
  • the part importance database 151 registers the importance of each part of the body in the movement of the user.
  • the adjusting unit 61 collates the motion information of the user acquired by the receiving unit 51 with the feature amount of the motion information registered in the motion matching database 111, and estimates the type of motion indicated by the motion information of the user.
  • the adjusting unit 61 acquires from the part importance database 151 the importance of each part of the body in the type of motion corresponding to the feature quantity that matches the motion information of the user.
  • the adjustment unit 61 sets the distribution priority according to the importance of each part of the body, and adjusts the distribution frequency of the avatar movement information for each joint of the avatar according to the set distribution priority.
  • FIG. 11 is a diagram showing an example of the importance of each part of the body.
  • the lower body surrounded by ellipse #1 is defined as an important part for reproducing the jump action
  • the upper body surrounded by ellipse #2 is defined as an unimportant part for reproducing the jump action. be done.
  • the adjustment unit 61 sets a high distribution priority to the joints included in the avatar's lower body, and the distribution unit 55 distributes the bone position information of the joints at a high frame rate.
  • the adjusting unit 61 sets a low distribution priority to joints included in the avatar's upper body, and the distributing unit 55 distributes the bone position information of the joints at a low frame rate.
  • the amount of motion information to be delivered to the head-mounted display terminal 1 can be reduced and the load on the information processing system can be reduced. can be reduced.
  • the head-mounted display terminal 1 Since motion information about joints included in important parts for reproducing the user's motion in the avatar is distributed at a high frame rate, the head-mounted display terminal 1 naturally expresses the user's motion using the avatar. be able to.
  • FIG. 12 is a block diagram showing a configuration example of the server 2 according to the third modification.
  • the same reference numerals are assigned to the same configurations as those in FIG. Duplicate explanations will be omitted as appropriate.
  • the configuration of the server 2 shown in FIG. 12 differs from the configuration of the server 2 shown in FIG. 3 in that a rendering unit 201, a design data storage unit 202, and a support information storage unit 203 are provided.
  • the rendering unit 201 applies the user's motion information acquired by the receiving unit 13 to the 3D model of the avatar read from the design data storage unit 202 .
  • the rendering unit 201 performs rendering for obtaining support information that supports the rendering calculation (reduces the calculation load) in the head-mounted display terminal 1 .
  • the support information is obtained as information indicating the display mode of the avatar placed in the virtual space based on the position information of the avatar, specifically, the visibility of the avatar in the virtual space.
  • the rendering unit 201 displays on the head-mounted display terminal 1 information indicating the presence or absence of obstructions between the viewer's viewpoint and each joint of the avatar, information indicating the amount of light reaching the avatar, and information indicating the amount of light reaching the avatar. Any of the information indicating the display area of the avatar to be displayed is obtained.
  • the support information obtained by the rendering unit 201 is held in the support information holding unit 203 .
  • the adjustment unit 61 reads the support information from the support information holding unit 203 and sets distribution priority based on the support information. In other words, the adjustment unit 61 sets distribution priority based on the display mode of each avatar from the viewpoint of the viewer using the head mounted display terminal 1 . Then, the adjustment unit 61 adjusts the information amount of the avatar motion information according to the set distribution priority. For example, based on the support information, the adjustment unit 61 sets only the bone position information of joints that are easily visible to the viewer as the avatar movement information distributed by the distribution unit 55 . Also, the adjusting unit 61 sets, for example, a low frame rate for distributing joint bone position information that is easily visible to the viewer.
  • FIG. 13 is a block diagram showing a configuration example of the head mounted display terminal 1 according to the third modified example.
  • the same reference numerals are assigned to the same configurations as those in FIG. Duplicate explanations will be omitted as appropriate.
  • the configuration of the head-mounted display terminal 1 shown in FIG. 13 differs from the configuration of the head-mounted display terminal 1 shown in FIG.
  • the complementing unit 211 calculates the bone position information of other joints based on the bone position information of that joint. Complement.
  • FIG. 14 is a diagram showing an example of a method of obtaining support information indicating the presence or absence of shields between the viewer's viewpoint and each joint of the avatar.
  • Support information indicating the presence or absence of shields between the viewer's viewpoint and each joint of the avatar is obtained, for example, as a result of a Z test for each joint position of the avatar.
  • Z-testing determines the context of 3D models of avatars and objects.
  • the rendering unit 201 arranges in the virtual space all 3D models of avatars and 3D models of objects to which the user's motion information is applied.
  • the rendering unit 201 draws a line between the viewer's viewpoint C1, which is the reference for rendering, and the joint position indicated by the circle on the avatar A1 corresponding to the other user. , determines whether or not an avatar other than the avatar A1 or a 3D model of an object is placed.
  • the shield Sh1 is placed between the joints of the avatar A1 other than the joints of the right hand and left leg and the viewpoint C1.
  • the adjustment unit 61 sets a high distribution priority for the right hand and the left leg, which do not have the shield Sh1 between them and the viewpoint C1, and the distribution unit 55 distributes only the bone position information of the right hand and the left leg.
  • the rendering unit 201 will perform a Z-test on the viewpoint of one viewer for the joints of the avatars corresponding to all other users, and request support information.
  • the avatar motion information is not used for rendering performed by the head-mounted display terminal 1 used by the viewer. is wasted.
  • the information amount of avatar movement information to be distributed to the head-mounted display terminal 1 is increased by setting a high distribution priority for joints that have no obstruction between the viewer's viewpoint and distributing only the bone position information of the joints. can be reduced.
  • FIG. 15 is a diagram showing an example of a method of obtaining support information indicating the amount of light reaching the avatar.
  • Support information indicating the amount of light reaching the avatar is obtained, for example, as a result of ray tracing that determines whether light rays from the light pass through a rectangular parallelepiped indicating the area where the avatar exists.
  • the rendering unit 201 arranges all avatar 3D models and object 3D models to which the user's motion information is applied in the virtual space, and performs lighting processing.
  • the rendering unit 201 projects light from the lights L1 and L2 provided in the virtual space toward a cuboid B1 surrounding the entire avatar A1, and the light reaches the cuboid B1. Determine whether or not
  • the light from the light L1 is blocked by the shield Sh1 and does not reach the cuboid B1, and the light from the light L2 reaches the cuboid B1.
  • the rendering unit 201 obtains a value obtained by summing the amounts of light reaching the cuboid B1 as the amount of light reaching the avatar.
  • the adjustment unit 61 sets a low distribution priority for the avatar, reduces the number of joints for which bone position information is distributed, or lowers the bit rate for distributing movement information of the avatar. set.
  • the head-mounted display can be displayed while preventing the viewer from feeling unnatural. It is possible to reduce the amount of avatar motion information to be distributed to the terminal 1 .
  • one cuboid B1 surrounding the avatar A1 indicates the area where the avatar A1 exists. It is also possible to
  • FIG. 16 is a diagram showing an example of a method of obtaining support information indicating the display area of an avatar.
  • the support information indicating the display area of the avatar displayed on the head-mounted display terminal 1 is obtained, for example, as a result of processing for calculating the area when a rectangular parallelepiped indicating the area where the avatar exists is projected onto the image space.
  • the rendering unit 201 arranges, in the virtual space, rectangular parallelepipeds surrounding each of the 3D models of all the avatars to which the user's motion information has been applied.
  • a cuboid B1 surrounding the avatar A1 is arranged in the virtual space.
  • the rendering unit 201 transforms the virtual space in which the rectangular parallelepiped B1 is arranged into a normalized projection space, as indicated by arrow #11. After that, the rendering unit 201 transforms the normalized projection space into an image space viewed from the viewer's viewpoint C1, as indicated by arrow #12. The rendering unit 201 uses the area of the rectangular parallelepiped B1 projected onto the image space as support information.
  • the adjustment unit 61 sets a low distribution priority for the avatar, reduces the number of joints for which bone position information is distributed, and sets a low bit rate for distributing movement information of the avatar.
  • the motion information of the avatar that is difficult to see is reduced, the unnaturalness that the viewer feels about the avatar is less than when the motion information of the avatar that is easy to see is reduced.
  • the display area of the avatar is determined by the size and distance of the avatar, so if the avatar is large, the avatar may appear large in the rendered image even if the avatar is far away. For example, an avatar with a size of 50m placed 50m from the viewer's viewpoint and an avatar with a size of 2m placed 2m from the viewer's viewpoint are displayed in the same size in the rendered video. be done.
  • Patent Document 1 describes changing the amount of motion information according to the distance between the viewer's viewpoint and the avatar. Each piece of avatar motion information should have the same amount of information.
  • the server 2 of the present technology reduces the information amount of the avatar movement information according to the distribution priority set based on the display area, thereby preventing the viewer from feeling unnatural. It is possible to reduce the amount of motion information distributed to the display terminal 1 .
  • one cuboid B1 surrounding the avatar A1 indicates the area where the avatar A1 exists, but multiple cuboids surrounding each part of the avatar A1 indicate areas where the avatar A1 exists It is also possible to
  • FIG. 17 is a block diagram showing a configuration example of the head mounted display terminal 1 according to the fourth modification.
  • the same reference numerals are given to the same configurations as those in FIG. Duplicate explanations will be omitted as appropriate.
  • the configuration of the head-mounted display terminal 1 shown in FIG. 17 differs from the configuration of the head-mounted display terminal 1 shown in FIG.
  • the chat information acquisition unit 251 acquires chat information indicating user's remarks.
  • voice chat is performed between a user and another user
  • voice data is acquired as chat information from a microphone provided in the head-mounted display terminal 1 .
  • text chat is performed between a user and another user
  • text data based on an operation whose input is accepted by the operation unit 22 is acquired as chat information.
  • the transmission data processing unit 12 generates transmission data by compressing and encrypting the user's movement information, location information, and chat information, and converting them into data formats for transmission via a network.
  • the receiving unit 13 decodes and decompresses the distribution data, and acquires avatar movement information, position information, and chat information corresponding to other users.
  • the program processing unit 14 presents the chat information acquired by the receiving unit 13 to the user.
  • voice chat is performed between a user and another user
  • a speaker provided in the head-mounted display terminal 1 outputs voice based on voice data.
  • text based on text data is displayed on the display unit 16 .
  • FIG. 18 is a block diagram showing a configuration example of the server 2 according to the fourth modification.
  • the same reference numerals are assigned to the same configurations as those in FIG. Duplicate descriptions will be omitted as appropriate.
  • the configuration of the server 2 shown in FIG. 18 differs from the configuration of the server 2 shown in FIG. 3 in that a user relationship holding unit 261 is provided.
  • the receiving unit 51 decodes and decompresses the transmission data, and acquires the user's movement information, position information, and chat information.
  • multiple users may form a group and act together.
  • users with whom the user has a connection such as communicating or forming a group, are registered in a friend list.
  • the user relationship holding unit 261 holds the degree of association between users obtained by the server 2 based on the group to which each user belongs and the friend list indicating connections between users.
  • the server 2 obtains the number of times the users come into contact with each other or approaches each other, or the time elapsed since the users come into contact with each other, and the user relationship holding unit 261 holds the number.
  • the number of times users come into contact with each other or come close to each other and the time elapsed after the users come into contact with each other are one indicator of the relationship between users.
  • the adjusting unit 61 reads out the degree of association between users, the number of times the users have come into contact with each other, the time elapsed since the users came into contact with each other, and the time elapsed since the users came into contact with each other from the user relationship holding unit 261, and based on this information, determines the delivery priority. set.
  • the adjustment unit 61 adjusts the information amount of the avatar movement information according to the set distribution priority.
  • the adjustment unit 61 adjusts the movement of the avatar corresponding to the user who has a strong relationship with the viewer. Increase the frame rate at which information is delivered. On the other hand, the adjustment unit 61 reduces the amount of avatar motion information corresponding to a user who has a weak relationship with the viewer.
  • the adjustment unit 61 sets a high distribution priority for avatars corresponding to users belonging to the same group as the viewer.
  • the adjustment unit 61 can also adjust the amount of avatar movement information according to the distribution priority set based on the degree of attention given to each user by a plurality of viewers. For example, a user's attention level is estimated based on the number of viewers who have in view the avatar corresponding to the user.
  • FIG. 19 is a diagram showing an example of an attention level estimation method.
  • the avatars A11 to A13 are not included in the field of view of any user, so it is estimated that the avatars A11 to A13 have a low degree of attention. Therefore, the adjustment unit 61 sets low distribution priority for the avatars A11 to A13 with low attention.
  • the adjustment unit 61 sets the delivery priority of the avatar A14, which has a medium level of attention, to a medium level.
  • the adjustment unit 61 sets a high distribution priority for the avatar A15, which has a high degree of attention.
  • FIG. 20 is a diagram showing another example of the attention level estimation method.
  • the user's attention level may be estimated based on whether or not the user has made a statement using chat.
  • the adjustment unit 61 sets low distribution priority for the avatars A21 to A23 with low attention.
  • the adjustment unit 61 sets a high distribution priority for the avatars A24 and A25 with high attention.
  • FIG. 21 is a diagram showing still another example of the attention level estimation method.
  • the user's attention level may be estimated based on the paths or directions in which multiple avatars move in the virtual space.
  • avatars A31 to A36 corresponding to six users are moving in the virtual space.
  • Arrows directed to avatars A31 to A36 indicate movement paths of the respective avatars.
  • the server 2 stores the routes traveled by the avatars A31 to A36 within a certain period of time, and obtains the average travel route and travel direction of the group of avatars A31 to A36.
  • arrow #21 indicates the movement direction of the group.
  • the adjustment unit 61 estimates that the avatar A31 is positioned at the head of the group based on the movement route and movement direction of the group.
  • the avatar A31 positioned at the head of the group is likely to be included in the field of view of other users, that is, it is considered to have a high degree of attention. Therefore, the adjustment unit 61 sets a high distribution priority for the avatar A31.
  • a higher delivery priority may be set for each of the multiple avatars.
  • the adjustment unit 61 determines that there is no user with a high degree of attention, and the movement information information Do not make volume adjustments.
  • the amount of avatar movement information distributed to the head-mounted display terminal 1 is adjusted according to the relationship between users and the attention level of the users.
  • Viewers are less likely to see avatars corresponding to users who are of lesser value to them, such as users with whom they have weaker relationships or who are not paid attention to.
  • the avatar motion information is distributed to the head-mounted display terminal 1 while preventing the viewer from feeling unnatural. It is possible to reduce the amount of information.
  • VR Virtual Reality
  • AR Augmented Reality
  • the series of processes described above can be executed by hardware or by software.
  • a program that constitutes the software is installed from a program recording medium into a computer built into dedicated hardware or a general-purpose personal computer.
  • FIG. 22 is a block diagram showing a hardware configuration example of a computer that executes the series of processes described above by a program.
  • the server 2 is configured by, for example, a PC having a configuration similar to that shown in FIG.
  • a CPU (Central Processing Unit) 501 , a ROM (Read Only Memory) 502 and a RAM (Random Access Memory) 503 are interconnected by a bus 504 .
  • An input/output interface 505 is further connected to the bus 504 .
  • the input/output interface 505 is connected to an input unit 506 such as a keyboard and a mouse, and an output unit 507 such as a display and a speaker.
  • the input/output interface 505 is also connected to a storage unit 508 including a hard disk or nonvolatile memory, a communication unit 509 including a network interface, and a drive 510 for driving a removable medium 511 .
  • the CPU 501 loads, for example, a program stored in the storage unit 508 into the RAM 503 via the input/output interface 505 and the bus 504 and executes the above-described series of processes. is done.
  • Programs executed by the CPU 501 are, for example, recorded on the removable media 511, or provided via wired or wireless transmission media such as local area networks, the Internet, and digital broadcasting, and installed in the storage unit 508.
  • the program executed by the computer may be a program in which processing is performed in chronological order according to the order described in this specification, or a program in which processing is performed in parallel or at necessary timing such as when a call is made. It may be a program that is carried out.
  • a system means a set of multiple components (devices, modules (parts), etc.), and it does not matter whether all the components are in the same housing. Therefore, a plurality of devices housed in separate housings and connected via a network, and a single device housing a plurality of modules in one housing, are both systems. .
  • Embodiments of the present technology are not limited to the above-described embodiments, and various modifications are possible without departing from the gist of the present technology.
  • this technology can take the configuration of cloud computing in which one function is shared by multiple devices via a network and processed jointly.
  • each step described in the flowchart above can be executed by a single device, or can be shared by a plurality of devices.
  • one step includes multiple processes
  • the multiple processes included in the one step can be executed by one device or shared by multiple devices.
  • a receiving unit that receives first motion information indicating a motion of the user; a distribution unit that distributes second movement information indicating movement of an avatar corresponding to the user to a terminal that displays the avatar;
  • a distribution device comprising: an adjustment unit that adjusts the information amount of the second motion information distributed by the distribution unit according to the first motion information.
  • the adjusting unit adjusts the information amount of the second motion information according to a distribution priority set based on at least the first motion information.
  • the first motion information is information about the joint positions and angles of the user;
  • the adjustment unit adjusts the information amount of the second motion information according to the distribution priority set based on the amount of change in the position and angle of the user's joint indicated by the first motion information.
  • the delivery device according to (3) above.
  • the distribution device according to (4), wherein the adjustment unit adjusts the distribution frequency of the second motion information for each joint of the avatar according to the distribution priority.
  • the adjustment unit selects the motion information of the user as the second motion information distributed by the distribution unit.
  • the delivery device according to any one of (2) to (5) above, wherein specific information that allows the terminal to specify the type of movement of the avatar corresponding to the type is set.
  • the adjustment unit adjusts the distribution frequency of the second motion information for each joint of the avatar according to the distribution priority set based on the type of motion of the user indicated by the first motion information.
  • the delivery device according to any one of (3) to (5) above.
  • the adjustment unit adjusts the information amount of the second motion information according to the distribution priority set based on the display mode of the avatar from the viewpoint of the viewer using the terminal. ) to (7).
  • the adjustment unit adjusts the amount of information of the second motion information according to the distribution priority set based on the presence or absence of an obstacle between the viewer's viewpoint and the viewer's viewpoint. delivery equipment.
  • the distribution device (10) The distribution device according to (8) or (9), wherein the adjustment unit adjusts the information amount of the second motion information according to the distribution priority set based on the amount of light reaching the avatar. . (11) The adjustment unit adjusts the information amount of the second motion information according to the distribution priority set based on the display area of the avatar displayed on the terminal. (8) to (10) The distribution device according to any one of (12) The adjustment unit adjusts the information amount of the second motion information according to the distribution priority set based on the relationship between the user and the viewer using the terminal. (2) to (11) ). (13) The distribution device according to (12), wherein the adjustment unit adjusts the information amount of the second motion information according to the distribution priority set based on the group to which the viewer belongs.
  • the adjustment unit adjusts the information amount of the second motion information according to the distribution priority set based on the list indicating the connection between the user and the viewer. (12) or (13) ).
  • the distribution priority set based on the number of times the user and the viewer come into contact with each other or the time elapsed since the user and the viewer come into contact with each other in the virtual space.
  • the distribution device according to any one of (12) to (14), wherein the information amount of the second motion information is adjusted by (16)
  • the adjustment unit adjusts the information amount of the second motion information in accordance with the distribution priority set based on the number of the viewers including the avatar within sight. (12) to (15) ).
  • the adjustment unit adjusts the amount of information of the second motion information according to the distribution priority set based on the presence or absence of speech by the user. delivery equipment.
  • the adjustment unit adjusts the information amount of the second motion information in accordance with the distribution priority set based on the paths or directions in which the plurality of avatars move in the virtual space.
  • the distribution device according to any one of the above. (19) the delivery device receiving first motion information indicative of user motion; adjusting the amount of second motion information indicating the motion of the avatar, which is distributed to the terminal displaying the avatar corresponding to the user; A distribution method for distributing the second motion information to the terminal.

Abstract

本技術は、アバタの自然な動きを維持しつつ、通信量を削減することができるようにする配信装置、配信方法、およびプログラムに関する。 本技術の配信装置は、ユーザの動きを示す第1の動き情報を受信する受信部と、ユーザに対応するアバタの動きを示す第2の動き情報を、アバタを表示する端末に配信する配信部と、配信部により配信される第2の動き情報の情報量を、第1の動き情報に応じて調整する調整部とを備える。本技術は、例えば、ネットワークを介して接続された端末を使用するユーザの動きをバーチャル空間内のアバタに反映させるアプリケーションを提供する情報処理システムに適用することができる。

Description

配信装置、配信方法、およびプログラム
 本技術は、配信装置、配信方法、およびプログラムに関し、特に、アバタの自然な動きを維持しつつ、通信量を削減することができるようにした配信装置、配信方法、およびプログラムに関する。
 ネットワーク上のサーバを介して接続された複数の端末を利用して、バーチャル空間内に配置されたそれぞれのアバタに複数のユーザの動きを反映させるアプリケーションがある。
 アバタを自然に動かすためには、複数の端末が、アバタの動きを示す動き情報を相互に送信する必要がある。ユーザの人数が増えるほど、サーバにより送受信される動き情報の情報量は爆発的に大きくなる。
 特許文献1には、バーチャル空間内におけるアバタ間の距離に応じて、配信部が行う配信の単位時間あたりの情報量を変動させて、システムの負荷を低減する技術が記載されている。
 また、例えばアバタの関節位置などでアバタの動きが示される場合、動き情報が配信される関節の数を減らすことで、動き情報の情報量を削減することができる。この場合、FK(Forward Kinematics)やIK(Inverse Kinematics)と呼ばれる技術を用いることで、配信された関節の動き情報に基づいて、それ以外の関節の動き情報が推定される。
特開2020-91504号公報
 特許文献1に記載の技術においては、バーチャル空間内の遠くに位置するアバタの動き情報の情報量が削減されるため、そのアバタの挙動が不自然になることがある。遠くに位置するほどアバタの全身が表示されるため、端末を使用するユーザが、不自然な挙動のアバタを目にする可能性がある。
 また、コンサート会場のようにアバタの背後に他のアバタが配置される状況では、距離に応じて動き情報の情報量を変動させる手法が有効ではないことがある。
 FKやIKと呼ばれる技術においては、配信されない関節の動き情報の推定に失敗し、アバタの挙動が不自然になることがある。また、各端末に配信される情報量を削減するために動き情報の配信頻度をさらに減らすと、これらの技術においては、配信されない関節の動き情報の推定に失敗しやすくなることがある。
 したがって、アバタを自然に動作させつつ、サーバを介して送受信される動き情報の情報量を削減することは容易ではなかった。
 本技術はこのような状況に鑑みてなされたものであり、アバタの自然な動きを維持しつつ、通信量を削減することができるようにするものである。
 本技術の一側面の配信装置は、ユーザの動きを示す第1の動き情報を受信する受信部と、前記ユーザに対応するアバタの動きを示す第2の動き情報を、前記アバタを表示する端末に配信する配信部と、前記配信部により配信される前記第2の動き情報の情報量を、前記第1の動き情報に応じて調整する調整部とを備える。
 本技術の一側面の配信方法は、配信装置が、ユーザの動きを示す第1の動き情報を受信し、前記ユーザに対応するアバタを表示する端末に配信される、前記アバタの動きを示す第2の動き情報の情報量を調整し、前記第2の動き情報を前記端末に配信する。
 本技術の一側面のプログラムは、コンピュータに、ユーザの動きを示す第1の動き情報を受信し、前記ユーザに対応するアバタを表示する端末に配信される、前記アバタの動きを示す第2の動き情報の情報量を調整し、前記第2の動き情報を前記端末に配信する処理を実行させる。
 本技術の一側面においては、ユーザの動きを示す第1の動き情報が受信され、前記ユーザに対応するアバタを表示する端末に配信される、前記アバタの動きを示す第2の動き情報の情報量が調整され、前記第2の動き情報が前記端末に配信される。
本技術の一実施形態に係る情報処理システムの構成例を示す図である。 ヘッドマウントディスプレイ端末の構成例を示すブロック図である。 サーバの構成例を示すブロック図である。 アバタの関節の動き量の例を示す図である。 ヘッドマウントディスプレイ端末のアプリケーション実行処理について説明するフローチャートである。 サーバの配信処理について説明するフローチャートである。 第1の変形例に係るヘッドマウントディスプレイ端末の構成例を示すブロック図である。 第1の変形例に係るサーバの構成例を示すブロック図である。 ユーザとアバタの動きの様子を示す図である。 第2の変形例に係るサーバの構成例を示すブロック図である。 身体の各部位の重要度の例を示す図である。 第3の変形例に係るサーバの構成例を示すブロック図である。 第3の変形例に係るヘッドマウントディスプレイ端末の構成例を示すブロック図である。 視聴者の視点とアバタの各関節との間の遮蔽物の有無を示す支援情報を求める方法の例を示す図である。 アバタに到達する光量を示す支援情報を求める方法の例を示す図である。 アバタの表示面積を示す支援情報を求める方法の例を示す図である。 第4の変形例に係るヘッドマウントディスプレイ端末の構成例を示すブロック図である。 第4の変形例に係るサーバの構成例を示すブロック図である。 注目度の推定方法の例を示す図である。 注目度の推定方法の他の例を示す図である。 注目度の推定方法のさらに他の例を示す図である。 コンピュータのハードウェアの構成例を示すブロック図である。
 以下、本技術を実施するための形態について説明する。説明は以下の順序で行う。
 1.情報処理システムの構成
 2.各機器の動作
 3.変形例
<1.情報処理システムの構成>
 図1は、本技術の一実施形態に係る情報処理システムの構成例を示す図である。
 図1の情報処理システムは、バーチャル空間内に配置されたそれぞれのアバタに複数のユーザの動きを反映させるアプリケーションを実現するシステムである。
 図1に示すように、情報処理システムは、n台のヘッドマウントディスプレイ端末1-1乃至1-nがネットワークを介してサーバ2と接続されることにより構成される。
 ヘッドマウントディスプレイ端末1-1乃至1-nは、ヘッドマウントディスプレイ端末1-1乃至1-nを装着するユーザの動きを示す動き情報を取得し、サーバ2に送信する。また、ヘッドマウントディスプレイ端末1-1乃至1-nは、サーバ2から配信されてきた、他のユーザに対応するアバタの動きを示す動き情報を受信し、アバタの動き情報をアバタの3Dモデルに適用する。
 ユーザは、視聴者として、バーチャル空間内の視点を移動させながら、他のユーザの動きを表現して動作するアバタが配置されたバーチャル空間内の映像を、ヘッドマウントディスプレイ端末1-1乃至1-nを用いて視聴することができる。
 サーバ2は、ヘッドマウントディスプレイ端末1-1乃至1-nから送信されてきたユーザの動き情報を受信し、保持する。サーバ2は、アバタの動き情報の情報量を、それぞれ対応するユーザの動き情報に基づいて調整した後、ヘッドマウントディスプレイ端末1-1乃至1-nに配信する配信装置として機能する。
 なお、以下、ヘッドマウントディスプレイ端末1-1乃至1-nを個々に区別する必要がない場合、単に、ヘッドマウントディスプレイ端末1と称する。
 図2は、ヘッドマウントディスプレイ端末1の構成例を示すブロック図である。
 図2に示すように、ヘッドマウントディスプレイ端末1は、入力処理部11、送信データ処理部12、受信部13、プログラム処理部14、デザインデータ記憶部15、および表示部16により構成される。
 入力処理部11は、コントローラやセンサからのデータを入力とする処理を行う。入力処理部11は、動き情報処理部21と操作部22を備える。
 動き情報処理部21は、ユーザの姿勢を関節位置と関節角度で示すボーン位置情報をユーザの動き情報として取得する。例えば、動き情報処理部21は、ユーザが両手でそれぞれ把持しているコントローラとユーザの頭部に装着されたヘッドマウントディスプレイ端末1の位置に基づいて、ユーザの上半身についてのボーン位置情報を推定する。コントローラやヘッドマウントディスプレイ端末1の位置は、例えば、それぞれの機器に設けられたセンサにより検出される。
 また、動き情報処理部21は、例えばカメラでユーザの全身を撮影して得られた撮影画像に基づいてボーン位置情報を取得することも可能である。
 操作部22は、例えばコントローラに設けられた十字キーや操作ボタンを用いた操作の入力を受け付ける。バーチャル空間内でのユーザ自身に対応するアバタの移動方向や移動量などが十字キーや操作ボタンを用いて入力される。
 送信データ処理部12は、ボーン位置保持部31とユーザ位置取得部32を備える。
 ボーン位置保持部31は、動き情報処理部21により取得されたユーザの動き情報としてのボーン位置情報を保持する。
 ユーザ位置取得部32は、操作部22により入力が受け付けられた操作に基づいて、ユーザに対応するアバタのバーチャル空間内の位置を示す位置情報を取得する。また、ユーザ位置取得部32は、動き情報処理部21により取得された動き情報から算出されるユーザの移動量に基づいて、位置情報を取得してもよい。バーチャル空間内のこの位置が、視聴者としての視点ともなる。
 送信データ処理部12は、ユーザの動き情報と位置情報の圧縮、暗号化、ネットワークを介して送信するためのデータ形式への変換などを行い、送信データを生成する。送信データ処理部12は、送信データをネットワークを介してサーバ2に送信する。
 受信部13は、サーバ2から配信される配信データを受信する。受信部13は、配信データの復号、解凍などを行い、他のユーザに対応するアバタの動き情報と位置情報を取得する。
 プログラム処理部14は、レンダリング部41を備える。レンダリング部41は、受信部13により取得されたアバタの動き情報をそれぞれの3Dモデルに適用する。レンダリング部41は、レンダリングを行い、ユーザの視点から見たバーチャル空間を示すレンダリング映像を生成する。
 このバーチャル空間には、他のユーザに対応するアバタの位置情報に基づいてそれぞれのアバタが配置される。バーチャル空間内のオブジェクトや他のユーザに対応するアバタのデザインデータや当該アバタの3Dモデルは、デザインデータ記憶部15から読み出されて、レンダリングを行う際に用いられる。
 デザインデータ記憶部15には、アバタやオブジェクトの3Dモデルとデザインデータが記憶される。
 表示部16は、レンダリング部41により生成されたレンダリング映像を表示する。
 図3は、サーバ2の構成例を示すブロック図である。
 図3に示すように、サーバ2は、受信部51、ユーザ管理部52、プログラム処理部53、ボーン位置保持部54、および配信部55により構成される。
 受信部51は、ヘッドマウントディスプレイ端末1から送信されてきた送信データを受信する。受信部51は、送信データの復号、解凍などを行い、ユーザの動き情報と位置情報を取得する。
 ユーザ管理部52は、ユーザのログイン情報を保持し、各ユーザがレンダリング映像を視聴することで体験しているシーン(世界)を管理する。例えば、情報処理システムにおいては、同じシーンを体験しているユーザが使用しているヘッドマウントディスプレイ端末1に対して、各ユーザに対応するアバタの動き情報が相互に配信される。
 プログラム処理部53は、調整部61を備える。調整部61は、少なくともユーザの動き情報に基づいて、当該ユーザに対応するアバタの動き情報の配信に関する優先順位(価値基準)を示す配信優先度を設定し、配信部55によりヘッドマウントディスプレイ端末1に配信されるアバタの動き情報の情報量を、設定した配信優先度に応じて調整する。アバタの動き情報は、ユーザの関節に対応するアバタの関節の位置と角度でアバタの姿勢を示すボーン位置情報である。
 例えば、調整部61は、ユーザの動き情報で示されるユーザの関節の動き量に基づいて設定された配信優先度に応じて、アバタの動き情報の配信頻度をアバタの関節ごとに調整する。関節の動き量は、関節位置の変化量と関節角度の変化量を含む。ユーザの関節の動き量は、例えば、ボーン位置保持部54に保持されているユーザの動き情報の履歴に基づいて算出される。
 図4は、アバタの関節の動き量の例を示す図である。
 図4の左側に示すように右腕を挙げているアバタが、図4の右側に示すように、右腕を頭部に近づけるようなアバタの動き情報が配信されるものとする。
 この場合、例えば、首の関節位置の変化量は小さく、関節角度の変化量も小さい。したがって、調整部61は、首の関節の配信優先度を低く設定し、首の関節のボーン位置情報を配信するフレームレートを基準の値よりも低い値に設定する。
 右肩の関節位置の変化量は小さく、関節角度の変化量は大きい。したがって、調整部61は、右肩の関節の配信優先度を高く設定し、右肩の関節のボーン位置情報を配信するフレームレートを基準の値よりも高い値に設定する。
 右肘の関節位置の変化量は中程度であり、関節角度の変化量は小さい。したがって、調整部61は、右肘の関節の配信優先度を中程度に設定し、右肘の関節のボーン位置情報を配信するフレームレートを基準の値に設定する。
 右手の関節位置の変化量は大きく、関節角度の変化量も大きい。したがって、調整部61は、右手の関節の配信優先度を高く設定し、右手の関節のボーン位置情報を配信するフレームレートを基準の値よりも高い値に設定する。
 このように、例えば、関節位置の変化量と関節角度の変化量の少なくともいずれかが大きい場合、その関節に対する配信優先度が高く設定され、関節位置の変化量と関節角度の変化量の少なくともいずれかが中程度である場合、その関節に対する配信優先度が中程度に設定される。関節位置の変化量と関節角度の変化量のいずれも小さい場合、その関節に対する配信優先度が小さく設定される。
 なお、以上では、関節位置と関節角度の変化量を大きい、中程度、小さいの3つのレベルに分けて説明したが、関節位置と関節角度の変化量に比例してボーン位置情報を配信するフレームレートが設定されるようにしてもよい。
 図3に戻り、ボーン位置保持部54は、受信部51が取得した各ユーザの動き情報としてのボーン位置情報の履歴を保持する。
 配信部55は、各ユーザに対応するアバタの動き情報と位置情報の圧縮、暗号化、ネットワークを介して送信するためのデータ形式への変換などを行い、配信データを生成する。配信部55は、配信データをネットワークを介してヘッドマウントディスプレイ端末1に配信する。
<2.各機器の動作>
 図5のフローチャートを参照して、ヘッドマウントディスプレイ端末1のアプリケーション実行処理について説明する。
 ステップS1において、動き情報処理部21は、ユーザの動き情報としてのボーン位置情報を取得する。
 ステップS2において、ユーザ位置取得部32は、操作部22により入力が受け付けられた操作に基づいて、ユーザに対応するアバタの位置情報を取得する。
 ステップS3において、送信データ処理部12は、ユーザの動き情報と位置情報の圧縮、暗号化、変換などを行って送信データを生成し、ネットワークを介してサーバ2に送信する。
 ステップS4において、受信部13は、他のユーザに対応するアバタの動き情報を取得する。アバタの動き情報は、サーバ2から配信されてきた配信データの復号、解凍などを行うことで取得される。
 ステップS5において、レンダリング部41は、他のユーザに対応するアバタの動き情報を3Dモデルに適用する。
 ステップS6において、レンダリング部41は、レンダリングを行い、ユーザの視点から見たバーチャル空間を示すレンダリング映像を生成する。
 ステップS7において、表示部16は、レンダリング映像を表示する。
 次に、図6のフローチャートを参照して、サーバ2の配信処理について説明する。
 ステップS11において、受信部51は、ヘッドマウントディスプレイ端末1から送信されてきた送信データを受信し、送信データの復号、解凍などを行うことでユーザの動き情報を取得する。
 ステップS12において、ボーン位置保持部54は、ユーザの動き情報としてのボーン位置情報の履歴を保持する。
 ステップS13において、調整部61は、配信部55により配信されるアバタの動き情報の情報量を調整する。
 ステップS14において、配信部55は、アバタの動き情報と位置情報の圧縮、暗号化、変換などを行うことで配信データを生成し、ネットワークを介してヘッドマウントディスプレイ端末1に配信する。
 上述したサーバ2の配信処理においては、少なくともユーザの動き情報に基づいて設定された配信優先度に応じて、アバタの動き情報の情報量が調整されてヘッドマウントディスプレイ端末1に配信される。
 例えば関節の動き量に基づいて配信優先度が設定されることによって、動き量が大きい関節のボーン位置情報だけが高いフレームレートで配信されるといったように、ヘッドマウントディスプレイ端末1に配信するアバタの動き情報の情報量を削減し、情報処理システムの負荷を低減させることが可能となる。
 一般的に、動き量が大きい部位はアバタの挙動が不自然になりやすい。全体的な動き情報の情報量が削減されても、アバタの挙動が不自然になりやすい部位のボーン位置情報は高いフレームレートで配信されるため、ヘッドマウントディスプレイ端末1は、アバタを用いてユーザの動きを自然に表現することができる。
<3.変形例>
・第1の変形例(アバタの動きの種類を特定可能な特定情報を配信する例)
 図7は、第1の変形例に係るヘッドマウントディスプレイ端末1の構成例を示すブロック図である。図7において、図2の構成と同じ構成には同一の符号を付してある。重複する説明については適宜省略する。
 図7に示すヘッドマウントディスプレイ端末1の構成は、アニメーション記憶部101が設けられる点で、図2のヘッドマウントディスプレイ端末1の構成と異なる。
 受信部13は、サーバ2から配信されてきた配信データの復号、解凍などを行い、他のユーザに対応するアバタの動き情報と位置情報を取得する。ここでは、アバタの動き情報は、アバタの動きの種類を特定可能な特定情報である。
 レンダリング部41は、受信部13により取得された特定情報に対応付けられたアニメーションデータをアニメーション記憶部101から取得し、アバタの3Dモデルに適用する。
 アニメーション記憶部101には、特定情報と、特定情報で示される動きをアバタで表現するためにあらかじめ作成されたアニメーションデータが対応付けられて記憶される。
 図8は、第1の変形例に係るサーバ2の構成例を示すブロック図である。図8において、図3の構成と同じ構成には同一の符号を付してある。重複する説明については適宜省略する。
 図8に示すサーバ2の構成は、動きマッチングデータベース111が設けられる点で、図3のサーバ2の構成と異なる。
 動きマッチングデータベース111は、機械学習によってあらかじめ作成されたものであり、例えば、ジャンプ、歩く、走る、手を振るなどの定義済みの動きの種類と、その動きを示す動き情報の特徴量が対応付けられて登録される。
 調整部61は、受信部51が取得したユーザの動き情報と、動きマッチングデータベース111に登録された動き情報の特徴量とを照合し、ユーザの動き情報で示される動きの種類を推定する。調整部61は、ユーザの動き情報とマッチした特徴量に対応する動きの種類に割り当てられた特定情報を、配信部55により配信されるアバタの動き情報として設定する。
 なお、動きマッチングデータベース111がヘッドマウントディスプレイ端末1に設けられ、ユーザの動き情報としての特定情報が、ヘッドマウントディスプレイ端末1からサーバ2に送信されるようにしてもよい。
 図9は、ユーザとアバタの動きの様子を示す図である。
 図9の左側に示すように、両腕を上げた状態でユーザがジャンプをしているものとする。この場合、ジャンプのアクションに割り当てられている特定情報がサーバ2からヘッドマウントディスプレイ端末1に配信される。
 特定情報を含む配信データを受信したヘッドマウントディスプレイ端末1においては、アバタにジャンプのアクションをさせるためのアニメーションデータが3Dモデルに適用される。これにより、図9の右側に示すように、バーチャル空間においてアバタは、例えば両腕が下がった状態でジャンプのアクションを行う。
 アバタはあらかじめ作成されたアクションデータに基づいてアクションを行うため、ユーザの動きを正確に表現することはできないが、視聴者は他のユーザがどのようなアクションを行ったのかをおおよそ把握することができる。
 アバタの動き情報の情報量が、関節の数、動き情報の種類(関節位置と関節角度)、および配信頻度の積で求められることからわかるように、各関節のボーン位置情報をアバタの動き情報として配信すると、アバタの動き情報の情報量が肥大化してしまう。アバタの動き情報として、アバタの動きの種類が特定可能なIDなどの特定情報だけを配信することによって、サーバ2は、ヘッドマウントディスプレイ端末1に配信するアバタの動き情報の情報量を大幅に削減し、情報処理システムの負荷を低減させることが可能となる。
 なお、ユーザの動き情報に対応する動きの種類が動きマッチングデータベース111に登録されていない場合には、ユーザの動き情報に基づいて設定された配信優先度に応じて調整されたアバタの動き情報が、配信部55により配信される。
・第2の変形例(ユーザの動きの種類に応じて動き情報の情報量を調整する例)
 図10は、第2の変形例に係るサーバ2の構成例を示すブロック図である。図10において、図8の構成と同じ構成には同一の符号を付してある。重複する説明については適宜省略する。
 図10に示すサーバ2の構成は、部位重要度データベース151が設けられる点で、図8のサーバ2の構成と異なる。
 部位重要度データベース151には、ユーザの動きにおける身体の各部位の重要度が登録される。
 調整部61は、受信部51が取得したユーザの動き情報と、動きマッチングデータベース111に登録された動き情報の特徴量とを照合し、ユーザの動き情報で示される動きの種類を推定する。
 調整部61は、ユーザの動き情報とマッチした特徴量に対応する種類の動きにおける身体の各部位の重要度を部位重要度データベース151から取得する。調整部61は、身体の各部位の重要度に応じて配信優先度を設定し、設定した配信優先度に応じてアバタの動き情報の配信頻度をアバタの関節ごとに調整する。
 図11は、身体の各部位の重要度の例を示す図である。
 図11に示すように、ユーザがジャンプをしているものとする。例えば、楕円#1で囲んで示す下半身はジャンプのアクションを再現するために重要な部位であり、楕円#2で囲んで示す上半身はジャンプのアクションを再現するために重要ではない部位であると定義される。
 この場合、調整部61は、アバタの下半身に含まれる関節に対する配信優先度を高く設定し、配信部55は、当該関節のボーン位置情報を高いフレームレートで配信する。また、調整部61は、アバタの上半身に含まれる関節に対する配信優先度を低く設定し、配信部55は、当該関節のボーン位置情報を低いフレームレートで配信する。
 以上のように、ユーザの動きの種類に基づいてアバタの各関節に対する配信優先度が設定されることによって、ヘッドマウントディスプレイ端末1に配信する動き情報の情報量を削減し、情報処理システムの負荷を低減させることが可能となる。
 ユーザの動きをアバタで再現するために重要な部位に含まれる関節についての動き情報は高いフレームレートで配信されるため、ヘッドマウントディスプレイ端末1は、アバタを用いてユーザの動きを自然に表現することができる。
・第3の変形例(アバタの表示態様に応じて動き情報の情報量を調整する例)
 図12は、第3の変形例に係るサーバ2の構成例を示すブロック図である。図12において、図3の構成と同じ構成には同一の符号を付してある。重複する説明については適宜省略する。
 図12に示すサーバ2の構成は、レンダリング部201、デザインデータ記憶部202、および支援情報保持部203が設けられる点で、図3のサーバ2の構成と異なる。
 レンダリング部201は、受信部13により取得されたユーザの動き情報を、デザインデータ記憶部202から読み出したアバタの3Dモデルに適用する。レンダリング部201は、ヘッドマウントディスプレイ端末1におけるレンダリング演算を支援する(演算負荷を低減させる)支援情報を求めるためのレンダリングを行う。支援情報は、アバタの位置情報に基づいてバーチャル空間に配置されたアバタの表示態様、具体的には、バーチャル空間における当該アバタの視認しやすさを示す情報として求められる。
 例えば、レンダリング部201は、支援情報として、視聴者の視点とアバタの各関節との間の遮蔽物の有無を示す情報、アバタに到達する光量を示す情報、および、ヘッドマウントディスプレイ端末1に表示されるアバタの表示面積を示す情報のいずれかを求める。レンダリング部201により求められた支援情報は、支援情報保持部203に保持される。
 調整部61は、支援情報保持部203から支援情報を読み出し、支援情報に基づいて配信優先度を設定する。言い換えると、調整部61は、ヘッドマウントディスプレイ端末1を使用する視聴者の視点での各アバタの表示態様に基づいて、配信優先度を設定する。そして、調整部61は、設定した配信優先度に応じて、アバタの動き情報の情報量を調整する。調整部61は、例えば、支援情報に基づいて、視聴者から見えやすい関節のボーン位置情報だけを、配信部55により配信されるアバタの動き情報として設定する。また、調整部61は、例えば、視聴者が視認しやすい関節のボーン位置情報を配信するフレームレートを低く設定する。
 図13は、第3の変形例に係るヘッドマウントディスプレイ端末1の構成例を示すブロック図である。図13において、図2の構成と同じ構成には同一の符号を付してある。重複する説明については適宜省略する。
 図13に示すヘッドマウントディスプレイ端末1の構成は、プログラム処理部14に補完部211が設けられる点で、図2のヘッドマウントディスプレイ端末1の構成と異なる。
 視聴者が視認しやすい関節のボーン位置情報だけがアバタの動き情報としてサーバ2から配信されてきた場合、補完部211は、その関節のボーン位置情報に基づいて、他の関節のボーン位置情報の補完を行う。
 図14は、視聴者の視点とアバタの各関節との間の遮蔽物の有無を示す支援情報を求める方法の例を示す図である。
 視聴者の視点とアバタの各関節との間の遮蔽物の有無を示す支援情報は、例えば、アバタの各関節位置についてのZテストの結果として求められる。Zテストによって、アバタやオブジェクトの3Dモデルの前後関係が判別される。
 まず、レンダリング部201は、ユーザの動き情報が適用された全てのアバタの3Dモデルとオブジェクトの3Dモデルをバーチャル空間内に配置する。つぎに、図14に示すように、レンダリング部201は、レンダリングの基準となる視聴者の視点C1と、他のユーザに対応するアバタA1上の円で示される関節位置とを結んだ直線の間に、アバタA1以外のアバタまたはオブジェクトの3Dモデルが配置されているか否かを判定する。
 図14の例においては、アバタA1の右手および左足の関節以外の関節と視点C1との間に、遮蔽物Sh1が配置されている。この場合、調整部61は、視点C1との間に遮蔽物Sh1が存在しない右手と左足の配信優先度を高く設定し、配信部55は、右手と左足のボーン位置情報だけを配信する。
 レンダリング部201は、1人の視聴者の視点についてのZテストを全ての他のユーザに対応するアバタの関節を対象にして実施し、支援情報を求めることになる。
 視聴者の視点とアバタの間に遮蔽物があった場合、そのアバタの動き情報は、視聴者が使用するヘッドマウントディスプレイ端末1で行われるレンダリングに用いられないため、配信されたアバタの動き情報が無駄になる。視聴者の視点との間に遮蔽物がない関節の配信優先度を高く設定し、当該関節のボーン位置情報だけを配信することによって、ヘッドマウントディスプレイ端末1に配信するアバタの動き情報の情報量を削減することが可能となる。
 図15は、アバタに到達する光量を示す支援情報を求める方法の例を示す図である。
 アバタに到達する光量を示す支援情報は、例えば、アバタが存在する領域を示す直方体をライトからの光線が通過するかを判定するレイトレーシングの結果として求められる。
 まず、レンダリング部201は、ユーザの動き情報が適用された全てのアバタの3Dモデルとオブジェクトの3Dモデルをバーチャル空間内に配置し、ライティング処理を行う。つぎに、レンダリング部201は、図15に示すように、バーチャル空間に設けられたライトL1,L2からアバタA1全体を囲む直方体B1に向かって光を投射したときに、光が直方体B1に到達するか否かを判定する。
 図15の例においては、ライトL1からの光は遮蔽物Sh1に遮断されて直方体B1に到達せず、ライトL2からの光は直方体B1に到達している。
 レンダリング部201は、直方体B1に到達した光の光量を合算した値を、アバタに到達する光量として求める。調整部61は、アバタに到達する光量が小さい場合、当該アバタに対する配信優先度を低く設定し、ボーン位置情報を配信する関節の数を減らしたり、当該アバタの動き情報を配信するビットレートを低く設定したりする。
 視聴者は、ライトからの光が到達しないアバタを視認しにくい。視認しにくいアバタの動き情報を削減した場合に、視聴者がそのアバタに対して感じる不自然さは、視認しやすいアバタの動き情報を削減した場合に比べて少なくなる。
 したがって、到達する光量が小さいアバタに対して配信優先度を低く設定し、当該アバタの動き情報の情報量を削減することによって、視聴者が不自然さを感じることを防止しつつ、ヘッドマウントディスプレイ端末1に配信するアバタの動き情報の情報量を削減することが可能となる。
 なお、図15では、アバタA1を囲む1つの直方体B1が、アバタA1が存在する領域を示すものとして説明したが、アバタA1の各部位を囲む複数の直方体が、アバタA1が存在する領域を示すようにすることも可能である。
 図16は、アバタの表示面積を示す支援情報を求める方法の例を示す図である。
 ヘッドマウントディスプレイ端末1に表示されるアバタの表示面積を示す支援情報は、例えば、アバタが存在する領域を示す直方体を画像空間に投影したときの面積を演算する処理の結果として求められる。
 まず、レンダリング部201は、ユーザの動き情報が適用された全てのアバタの3Dモデルのそれぞれを囲む直方体をバーチャル空間内に配置する。図16の左側では、アバタA1を囲む直方体B1がバーチャル空間内に配置されている。
 レンダリング部201は、矢印#11の先に示すように、直方体B1が配置されたバーチャル空間を正規化投影空間に変換する。その後、レンダリング部201は、矢印#12の先に示すように、正規化投影空間を、視聴者の視点C1から見た画像空間に変換する。レンダリング部201は、この画像空間に投影された直方体B1の面積を支援情報とする。
 調整部61は、アバタの表示面積が小さい場合、当該アバタに対する配信優先度を低く設定し、ボーン位置情報を配信する関節の数を減らしたり、当該アバタの動き情報を配信するビットレートを低く設定したりする。
 視聴者は、表示面積が小さいほどアバタを視認しにくい。視認しにくいアバタの動き情報を削減した場合に、視聴者がそのアバタに対して感じる不自然さは、視認しやすいアバタの動き情報を削減した場合に比べて少なくなる。
 アバタの表示面積は、アバタの大きさと距離によって決まるため、アバタが大きい場合、アバタとの距離が離れていても、レンダリング映像ではアバタが大きく表示される可能性がある。例えば、視聴者の視点から50m先に配置されている50mの大きさのアバタと、視聴者の視点から2m先に配置されている2mの大きさのアバタは、レンダリング映像では同じ大きさで表示される。
 特許文献1には、視聴者の視点とアバタの距離に応じて動き情報の情報量を変動させることが記載されているが、レンダリング映像では同じ大きさで表示される上述した2mと50mの大きさのアバタの動き情報のそれぞれの情報量は同じ量であるべきである。
 本技術のサーバ2は、表示面積に基づいて設定された配信優先度に応じてアバタの動き情報の情報量を削減することによって、視聴者が不自然さを感じることを防止しつつ、ヘッドマウントディスプレイ端末1に配信する動き情報の情報量を削減することが可能となる。
 なお、図16では、アバタA1を囲む1つの直方体B1が、アバタA1が存在する領域を示すものとして説明したが、アバタA1の各部位を囲む複数の直方体が、アバタA1が存在する領域を示すようにすることも可能である。
・第4の変形例(視聴者とユーザの関係に応じて動き情報の情報量を調整する例)
 図17は、第4の変形例に係るヘッドマウントディスプレイ端末1の構成例を示すブロック図である。図17において、図13の構成と同じ構成には同一の符号を付してある。重複する説明については適宜省略する。
 図17に示すヘッドマウントディスプレイ端末1の構成は、送信データ処理部12にチャット情報取得部251が設けられる点で、図13のヘッドマウントディスプレイ端末1の構成と異なる。
 チャット情報取得部251は、ユーザの発言を示すチャット情報を取得する。ユーザと他のユーザの間でボイスチャットが行われる場合、ヘッドマウントディスプレイ端末1に設けられたマイクロフォンから音声データがチャット情報として取得される。ユーザと他のユーザの間でテキストチャットが行われる場合、操作部22により入力が受け付けられた操作に基づくテキストデータがチャット情報として取得される。
 送信データ処理部12は、ユーザの動き情報、位置情報、およびチャット情報の圧縮、暗号化、ネットワークを介して送信するためのデータ形式への変換などを行い、送信データを生成する。
 受信部13は、配信データの復号、解凍などを行い、他のユーザに対応するアバタの動き情報、位置情報、およびチャット情報を取得する。
 プログラム処理部14は、受信部13により取得されたチャット情報をユーザに提示する。ユーザと他のユーザの間でボイスチャットが行われる場合、ヘッドマウントディスプレイ端末1に設けられたスピーカから音声データに基づく音声が出力される。ユーザと他のユーザの間でテキストチャットが行われる場合、テキストデータに基づくテキストが表示部16に表示される。
 図18は、第4の変形例に係るサーバ2の構成例を示すブロック図である。図18において、図3の構成と同じ構成には同一の符号を付してある。重複する説明については適宜省略する。
 図18に示すサーバ2の構成は、ユーザ関係保持部261が設けられる点で、図3のサーバ2の構成と異なる。
 受信部51は、送信データの復号、解凍などを行い、ユーザの動き情報、位置情報、およびチャット情報を取得する。
 マルチプレイアプリケーションでは、複数のユーザがグループを組み、一緒に行動を行うことがある。また、マルチプレイアプリケーションでは、コミュニケーションを取ったり、グループを組んだりするといったようなつながりのあるユーザがフレンドリストに登録される。
 ユーザ関係保持部261には、各ユーザが所属するグループや、ユーザ間のつながりを示すフレンドリストに基づいてサーバ2により求められたユーザ間の関連度が保持される。
 また、バーチャル空間において、ユーザ同士が接触または近接した回数、もしくは、ユーザ同士が接触してから経過した時間がサーバ2により求められ、ユーザ関係保持部261により保持される。ユーザ同士が接触または近接した回数やユーザ同士が接触してから経過した時間は、ユーザ間の関係を示す1つの指標である。
 ユーザ関係保持部261にこれらの情報が所定の期間、保持されることにより、ユーザ間の関連度などをフレームごとに計算することを省くことができる。
 調整部61は、ユーザ間の関連度や、ユーザ同士が接触または近接した回数、ユーザ同士が接触してから経過した時間をユーザ関係保持部261から読み出し、これらの情報に基づいて配信優先度を設定する。調整部61は、設定した配信優先度に応じて、アバタの動き情報の情報量を調整する。
 具体的には、視聴者と関係が強いユーザに対応するアバタは視聴者の視界内に位置する可能性が高いため、調整部61は、視聴者との関係が強いユーザに対応するアバタの動き情報を配信するフレームレートを高くする。一方、調整部61は、視聴者との関係が弱いユーザに対応するアバタの動き情報の情報量を削減する。
 例えば、視聴者と同じグループに所属しているユーザに対応するアバタは視聴者の視界内に位置する可能性が高く、視聴者とそのユーザでコミュニケーションも頻繁に取られうる。そのため、調整部61は、視聴者と同じグループに所属しているユーザに対応するアバタの配信優先度を高く設定する。
 調整部61は、各ユーザに対する複数の視聴者からの注目度に基づいて設定された配信優先度に応じてアバタの動き情報の情報量を調整することも可能である。例えば、ユーザの注目度は、ユーザに対応するアバタを視界内に含む視聴者の数に基づいて推定される。
 図19は、注目度の推定方法の例を示す図である。
 図19に示すように、5人のユーザに対応するアバタA11乃至A15がバーチャル空間内に存在しているものとする。図19においては、アバタA11乃至A15のそれぞれの視界が破線の三角形で示されている。
 図19の例では、アバタA11乃至A13はいずれのユーザの視界内にも含まれていないため、アバタA11乃至A13の注目度は低いと推定される。したがって、調整部61は、注目度が低いアバタA11乃至A13の配信優先度を低く設定する。
 また、アバタA14は、アバタA13に対応するユーザの視界に含まれているため、アバタA14の注目度は中程度であると推定される。したがって、調整部61は、注目度が中程度のアバタA14の配信優先度を中程度に設定する。
 アバタA15は、アバタA11,A12,A14に対応するユーザの視界に含まれているため、アバタA15の注目度は高いと推定される。したがって、調整部61は、注目度が高いアバタA15の配信優先度を高く設定する。
 図20は、注目度の推定方法の他の例を示す図である。
 ユーザの注目度は、ユーザによるチャットを用いた発言の有無に基づいて推定されるようにしてもよい。
 図20に示すように、5人のユーザに対応するアバタA21乃至A25がバーチャル空間内に存在しているものとする。
 図20の例では、アバタA21乃至A23は、チャットを用いた発言をしていないため、他のユーザから見られる可能性が低く、アバタA21乃至A23の注目度は低いと推定される。したがって、調整部61は、注目度が低いアバタA21乃至A23の配信優先度を低く設定する。
 また、アバタA24,A25は、チャットを用いた発言をしているため、他のユーザから見られる可能性が高く、アバタA24,A25の注目度は高いと推定される。したがって、調整部61は、注目度が高いアバタA24,A25の配信優先度を高く設定する。
 図21は、注目度の推定方法のさらに他の例を示す図である。
 ユーザの注目度は、バーチャル空間において複数のアバタが移動する経路または方向に基づいて推定されるようにしてもよい。
 特定の場所へ行く、特定のオブジェクトを探す、特定のオブジェクトを追いかけるといったような共通の目的で、複数のユーザが行動する場合、各ユーザが所属するグループに関わらず、ある程度の集団行動が行われると考えられる。
 図21に示すように、6人のユーザに対応するアバタA31乃至A36がバーチャル空間内で移動しているものとする。アバタA31乃至A36に向かう矢印は、それぞれのアバタの移動経路を示す。
 サーバ2は、アバタA31乃至A36の一定期間内の移動した経路を保持しておき、アバタA31乃至A36からなる集団の平均の移動経路と移動方向を求める。図21の例では、矢印#21が集団の移動方向を示す。
 調整部61は、集団の移動経路と移動方向に基づいて、アバタA31が集団の先頭に位置することを推定する。ここで、集団の先頭に位置するアバタA31は他のユーザの視界内に含まれる可能性が高くなる、すなわち注目度が高いと考えられる。したがって、調整部61は、アバタA31の配信優先度を高く設定する。
 なお、集団の先頭付近に複数のアバタが位置する場合、複数のアバタのそれぞれの配信優先度が高く設定されるようにしてもよい。各ユーザがバラバラに行動している場合などの、アバタの集団の移動方向の平均が1つの方向に収束しない場合、調整部61は、注目度が高いユーザがいないと判断し、動き情報の情報量の調整を実施しない。
 以上のように、本技術のサーバ2においては、ユーザ間の関係やユーザの注目度に応じて、ヘッドマウントディスプレイ端末1に配信されるアバタの動き情報の情報量が調整される。
 関係が弱いユーザや注目されていないユーザなどの視聴者にとって価値が低いユーザに対応するアバタを視聴者が見る可能性は低くなる。視聴者にとって価値が低いユーザに対応するアバタの動き情報の情報量を削減することによって、視聴者が不自然さを感じることを防止しつつ、ヘッドマウントディスプレイ端末1に配信するアバタの動き情報の情報量を減らすことが可能となる。
・その他
 以上では、ヘッドマウントディスプレイ端末1において、他のユーザの動きを反映したアバタが配置されたバーチャル空間を示すレンダリング映像が表示されるといったようなVR(Virtual Reality)表示が行われる例について説明した。ヘッドマウントディスプレイ端末1において、他のユーザに対応するアバタが視聴者が実際にいる空間を撮影して得られた撮影映像に重畳されて表示されるといったようなAR(Augmented Reality)表示が行われるようにしてもよい。
・コンピュータについて
 上述した一連の処理は、ハードウェアにより実行することもできるし、ソフトウェアにより実行することもできる。一連の処理をソフトウェアにより実行する場合には、そのソフトウェアを構成するプログラムが、専用のハードウェアに組み込まれているコンピュータ、または汎用のパーソナルコンピュータなどに、プログラム記録媒体からインストールされる。
 図22は、上述した一連の処理をプログラムにより実行するコンピュータのハードウェアの構成例を示すブロック図である。サーバ2は、例えば、図22に示す構成と同様の構成を有するPCにより構成される。
 CPU(Central Processing Unit)501、ROM(Read Only Memory)502、RAM(Random Access Memory)503は、バス504により相互に接続されている。
 バス504には、さらに、入出力インタフェース505が接続される。入出力インタフェース505には、キーボード、マウスなどよりなる入力部506、ディスプレイ、スピーカなどよりなる出力部507が接続される。また、入出力インタフェース505には、ハードディスクや不揮発性のメモリなどよりなる記憶部508、ネットワークインタフェースなどよりなる通信部509、リムーバブルメディア511を駆動するドライブ510が接続される。
 以上のように構成されるコンピュータでは、CPU501が、例えば、記憶部508に記憶されているプログラムを入出力インタフェース505及びバス504を介してRAM503にロードして実行することにより、上述した一連の処理が行われる。
 CPU501が実行するプログラムは、例えばリムーバブルメディア511に記録して、あるいは、ローカルエリアネットワーク、インターネット、デジタル放送といった、有線または無線の伝送媒体を介して提供され、記憶部508にインストールされる。
 コンピュータが実行するプログラムは、本明細書で説明する順序に沿って時系列に処理が行われるプログラムであっても良いし、並列に、あるいは呼び出しが行われたとき等の必要なタイミングで処理が行われるプログラムであっても良い。
 なお、本明細書において、システムとは、複数の構成要素(装置、モジュール(部品)等)の集合を意味し、すべての構成要素が同一筐体中にあるか否かは問わない。したがって、別個の筐体に収納され、ネットワークを介して接続されている複数の装置、及び、1つの筐体の中に複数のモジュールが収納されている1つの装置は、いずれも、システムである。
 なお、本明細書に記載された効果はあくまで例示であって限定されるものでは無く、また他の効果があってもよい。
 本技術の実施の形態は、上述した実施の形態に限定されるものではなく、本技術の要旨を逸脱しない範囲において種々の変更が可能である。
 例えば、本技術は、1つの機能をネットワークを介して複数の装置で分担、共同して処理するクラウドコンピューティングの構成をとることができる。
 また、上述のフローチャートで説明した各ステップは、1つの装置で実行する他、複数の装置で分担して実行することができる。
 さらに、1つのステップに複数の処理が含まれる場合には、その1つのステップに含まれる複数の処理は、1つの装置で実行する他、複数の装置で分担して実行することができる。
<構成の組み合わせ例>
 本技術は、以下のような構成をとることもできる。
(1)
 ユーザの動きを示す第1の動き情報を受信する受信部と、
 前記ユーザに対応するアバタの動きを示す第2の動き情報を、前記アバタを表示する端末に配信する配信部と、
 前記配信部により配信される前記第2の動き情報の情報量を、前記第1の動き情報に応じて調整する調整部と
 を備える配信装置。
(2)
 前記調整部は、少なくとも前記第1の動き情報に基づいて設定された配信優先度に応じて前記第2の動き情報の情報量を調整する
 前記(1)に記載の配信装置。
(3)
 前記第1の動き情報は、前記ユーザの関節の位置と角度を情報であり、
 前記第2の動き情報は、前記ユーザの関節に対応する前記アバタの関節の位置と角度を示す情報を含む
 前記(2)に記載の配信装置。
(4)
 前記調整部は、前記第1の動き情報で示される前記ユーザの関節の位置と角度の変化量に基づいて設定された前記配信優先度に応じて、前記第2の動き情報の情報量を調整する 前記(3)に記載の配信装置。
(5)
 前記調整部は、前記配信優先度に応じて前記第2の動き情報の配信頻度を前記アバタの関節ごとに調整する
 前記(4)に記載の配信装置。
(6)
 前記調整部は、前記第1の動き情報で示される前記ユーザの動きの種類があらかじめ定義された種類である場合、前記配信部により配信される前記第2の動き情報として、前記ユーザの動きの種類に対応する前記アバタの動きの種類を前記端末が特定可能な特定情報を設定する
 前記(2)乃至(5)のいずれかに記載の配信装置。
(7)
 前記調整部は、前記第1の動き情報で示される前記ユーザの動きの種類に基づいて設定された前記配信優先度に応じて、前記第2の動き情報の配信頻度を前記アバタの関節ごとに調整する
 前記(3)乃至(5)のいずれかに記載の配信装置。
(8)
 前記調整部は、前記端末を使用する視聴者の視点での前記アバタの表示態様に基づいて設定された前記配信優先度に応じて、前記第2の動き情報の情報量を調整する
 前記(2)乃至(7)のいずれかに記載の配信装置。
(9)
 前記調整部は、前記視聴者の視点との間の遮蔽物の有無に基づいて設定された前記配信優先度に応じて、前記第2の動き情報の情報量を調整する
 前記(8)に記載の配信装置。
(10)
 前記調整部は、前記アバタに到達する光量に基づいて設定された前記配信優先度に応じて、前記第2の動き情報の情報量を調整する
 前記(8)または(9)に記載の配信装置。
(11)
 前記調整部は、前記端末に表示される前記アバタの表示面積に基づいて設定された前記配信優先度に応じて、前記第2の動き情報の情報量を調整する
 前記(8)乃至(10)のいずれかに記載の配信装置。
(12)
 前記調整部は、前記端末を使用する視聴者と前記ユーザの関係に基づいて設定された前記配信優先度に応じて、前記第2の動き情報の情報量を調整する
 前記(2)乃至(11)のいずれかに記載の配信装置。
(13)
 前記調整部は、前記視聴者が所属するグループに基づいて設定された前記配信優先度に応じて、前記第2の動き情報の情報量を調整する
 前記(12)に記載の配信装置。
(14)
 前記調整部は、前記ユーザと前記視聴者間のつながりを示すリストに基づいて設定された前記配信優先度に応じて、前記第2の動き情報の情報量を調整する
 前記(12)または(13)に記載の配信装置。
(15)
 前記調整部は、バーチャル空間において、前記ユーザと前記視聴者が接触または近接した回数、もしくは、前記ユーザと前記視聴者が接触してから経過した時間に基づいて設定された前記配信優先度に応じて、前記第2の動き情報の情報量を調整する
 前記(12)乃至(14)のいずれかに記載の配信装置。
(16)
 前記調整部は、前記アバタを視界内に含む前記視聴者の数に基づいて設定された前記配信優先度に応じて、前記第2の動き情報の情報量を調整する
 前記(12)乃至(15)のいずれかに記載の配信装置。
(17)
 前記調整部は、前記ユーザによる発言の有無に基づいて設定された前記配信優先度に応じて、前記第2の動き情報の情報量を調整する
 前記(12)乃至(16)のいずれかに記載の配信装置。
(18)
 前記調整部は、バーチャル空間において複数の前記アバタが移動する経路または方向に基づいて設定された前記配信優先度に応じて、前記第2の動き情報の情報量を調整する
 前記(12)乃至(17)のいずれかに記載の配信装置。
(19)
 配信装置が、
 ユーザの動きを示す第1の動き情報を受信し、
 前記ユーザに対応するアバタを表示する端末に配信される、前記アバタの動きを示す第2の動き情報の情報量を調整し、
 前記第2の動き情報を前記端末に配信する
 配信方法。
(20)
 コンピュータに、
 ユーザの動きを示す第1の動き情報を受信し、
 前記ユーザに対応するアバタを表示する端末に配信される、前記アバタの動きを示す第2の動き情報の情報量を調整し、
 前記第2の動き情報を前記端末に配信する
 処理を実行させるためのプログラム。
 1 ヘッドマウントディスプレイ端末, 2 サーバ, 11 入力処理部, 12 送信データ処理部, 13 受信部, 14 プログラム処理部, 15 デザインデータ記憶部, 16 表示部, 21 動き情報処理部, 22 操作部, 31 ボーン位置保持部, 32 ユーザ位置取得部, 41 レンダリング部, 51 受信部, 52 ユーザ管理部, 53 プログラム処理部, 54 ボーン位置保持部, 55 配信部, 101 アニメーション記憶部, 111 動きマッチングデータベース, 151 部位重要度データベース, 201 レンダリング部, 202 デザインデータ記憶部, 203 支援情報保持部, 211 補完部, 251 チャット情報取得部, 261 ユーザ関係保持部

Claims (20)

  1.  ユーザの動きを示す第1の動き情報を受信する受信部と、
     前記ユーザに対応するアバタの動きを示す第2の動き情報を、前記アバタを表示する端末に配信する配信部と、
     前記配信部により配信される前記第2の動き情報の情報量を、前記第1の動き情報に応じて調整する調整部と
     を備える配信装置。
  2.  前記調整部は、少なくとも前記第1の動き情報に基づいて設定された配信優先度に応じて前記第2の動き情報の情報量を調整する
     請求項1に記載の配信装置。
  3.  前記第1の動き情報は、前記ユーザの関節の位置と角度を示す情報であり、
     前記第2の動き情報は、前記ユーザの関節に対応する前記アバタの関節の位置と角度を示す情報を含む
     請求項2に記載の配信装置。
  4.  前記調整部は、前記第1の動き情報で示される前記ユーザの関節の位置と角度の変化量に基づいて設定された前記配信優先度に応じて、前記第2の動き情報の情報量を調整する
     請求項3に記載の配信装置。
  5.  前記調整部は、前記配信優先度に応じて前記第2の動き情報の配信頻度を前記アバタの関節ごとに調整する
     請求項4に記載の配信装置。
  6.  前記調整部は、前記第1の動き情報で示される前記ユーザの動きの種類があらかじめ定義された種類である場合、前記配信部により配信される前記第2の動き情報として、前記ユーザの動きの種類に対応する前記アバタの動きの種類を前記端末が特定可能な特定情報を設定する
     請求項2に記載の配信装置。
  7.  前記調整部は、前記第1の動き情報で示される前記ユーザの動きの種類に基づいて設定された前記配信優先度に応じて、前記第2の動き情報の配信頻度を前記アバタの関節ごとに調整する
     請求項3に記載の配信装置。
  8.  前記調整部は、前記端末を使用する視聴者の視点での前記アバタの表示態様に基づいて設定された前記配信優先度に応じて、前記第2の動き情報の情報量を調整する
     請求項2に記載の配信装置。
  9.  前記調整部は、前記視聴者の視点との間の遮蔽物の有無に基づいて設定された前記配信優先度に応じて、前記第2の動き情報の情報量を調整する
     請求項8に記載の配信装置。
  10.  前記調整部は、前記アバタに到達する光量に基づいて設定された前記配信優先度に応じて、前記第2の動き情報の情報量を調整する
     請求項8に記載の配信装置。
  11.  前記調整部は、前記端末に表示される前記アバタの表示面積に基づいて設定された前記配信優先度に応じて、前記第2の動き情報の情報量を調整する
     請求項8に記載の配信装置。
  12.  前記調整部は、前記端末を使用する視聴者と前記ユーザの関係に基づいて設定された前記配信優先度に応じて、前記第2の動き情報の情報量を調整する
     請求項2に記載の配信装置。
  13.  前記調整部は、前記視聴者が所属するグループに基づいて設定された前記配信優先度に応じて、前記第2の動き情報の情報量を調整する
     請求項12に記載の配信装置。
  14.  前記調整部は、前記ユーザと前記視聴者間のつながりを示すリストに基づいて設定された前記配信優先度に応じて、前記第2の動き情報の情報量を調整する
     請求項12に記載の配信装置。
  15.  前記調整部は、バーチャル空間において、前記ユーザと前記視聴者が接触または近接した回数、もしくは、前記ユーザと前記視聴者が接触してから経過した時間に基づいて設定された前記配信優先度に応じて、前記第2の動き情報の情報量を調整する
     請求項12に記載の配信装置。
  16.  前記調整部は、前記アバタを視界内に含む前記視聴者の数に基づいて設定された前記配信優先度に応じて、前記第2の動き情報の情報量を調整する
     請求項12に記載の配信装置。
  17.  前記調整部は、前記ユーザによる発言の有無に基づいて設定された前記配信優先度に応じて、前記第2の動き情報の情報量を調整する
     請求項12に記載の配信装置。
  18.  前記調整部は、バーチャル空間において複数の前記アバタが移動する経路または方向に基づいて設定された前記配信優先度に応じて、前記第2の動き情報の情報量を調整する
     請求項12に記載の配信装置。
  19.  配信装置が、
     ユーザの動きを示す第1の動き情報を受信し、
     前記ユーザに対応するアバタを表示する端末に配信される、前記アバタの動きを示す第2の動き情報の情報量を調整し、
     前記第2の動き情報を前記端末に配信する
     配信方法。
  20.  コンピュータに、
     ユーザの動きを示す第1の動き情報を受信し、
     前記ユーザに対応するアバタを表示する端末に配信される、前記アバタの動きを示す第2の動き情報の情報量を調整し、
     前記第2の動き情報を前記端末に配信する
     処理を実行させるためのプログラム。
PCT/JP2022/039360 2021-11-04 2022-10-21 配信装置、配信方法、およびプログラム WO2023079987A1 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2021179943 2021-11-04
JP2021-179943 2021-11-04

Publications (1)

Publication Number Publication Date
WO2023079987A1 true WO2023079987A1 (ja) 2023-05-11

Family

ID=86240943

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2022/039360 WO2023079987A1 (ja) 2021-11-04 2022-10-21 配信装置、配信方法、およびプログラム

Country Status (1)

Country Link
WO (1) WO2023079987A1 (ja)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20160216770A1 (en) * 2015-01-28 2016-07-28 Electronics And Telecommunications Research Institute Method and system for motion based interactive service
JP2020107123A (ja) * 2018-12-27 2020-07-09 株式会社コロプラ プログラム、情報処理装置、および方法
JP2021043611A (ja) * 2019-09-10 2021-03-18 株式会社バンダイナムコエンターテインメント 処理システム、情報処理装置、プログラム及び処理方法
JP2021524113A (ja) * 2019-01-18 2021-09-09 北京市商▲湯▼科技▲開▼▲發▼有限公司Beijing Sensetime Technology Development Co.,Ltd. 画像処理方法および装置、画像機器、ならびに記憶媒体

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20160216770A1 (en) * 2015-01-28 2016-07-28 Electronics And Telecommunications Research Institute Method and system for motion based interactive service
JP2020107123A (ja) * 2018-12-27 2020-07-09 株式会社コロプラ プログラム、情報処理装置、および方法
JP2021524113A (ja) * 2019-01-18 2021-09-09 北京市商▲湯▼科技▲開▼▲發▼有限公司Beijing Sensetime Technology Development Co.,Ltd. 画像処理方法および装置、画像機器、ならびに記憶媒体
JP2021043611A (ja) * 2019-09-10 2021-03-18 株式会社バンダイナムコエンターテインメント 処理システム、情報処理装置、プログラム及び処理方法

Similar Documents

Publication Publication Date Title
US10535181B2 (en) Virtual viewpoint for a participant in an online communication
US10171851B2 (en) Video content distribution system and content management server
US9654734B1 (en) Virtual conference room
EP3954111A1 (en) Multiuser asymmetric immersive teleconferencing
US10560724B2 (en) Video content distribution system and content management server
US20200120380A1 (en) Video transmission method, server and vr playback terminal
CN111627116A (zh) 图像渲染控制方法、装置及服务器
Joachimczak et al. Real-time mixed-reality telepresence via 3D reconstruction with HoloLens and commodity depth sensors
JP7200935B2 (ja) 画像処理装置および方法、ファイル生成装置および方法、並びにプログラム
US11539935B2 (en) Videotelephony with parallax effect
US11676330B2 (en) 3d conversations in an artificial reality environment
US20180336069A1 (en) Systems and methods for a hardware agnostic virtual experience
TW202240542A (zh) 在人工實境環境中產生且修改動態物件之表示
CN115529835A (zh) 用于新颖视图合成的神经混合
US11099392B2 (en) Stabilized and tracked enhanced reality images
WO2023079987A1 (ja) 配信装置、配信方法、およびプログラム
US20200193711A1 (en) Virtual and physical reality integration
JP2020162084A (ja) コンテンツ配信システム、コンテンツ配信方法、およびコンテンツ配信プログラム
WO2023073991A1 (ja) 情報処理システム、サーバ装置、情報処理方法およびプログラム
US11790588B2 (en) Display control device, display control method, and display system
CN116530078A (zh) 用于显示从多个视角采集的经立体渲染的图像数据的3d视频会议系统和方法
EP3564905A1 (en) Conversion of a volumetric object in a 3d scene into a simpler representation model
WO2022124047A1 (ja) 情報処理装置、情報処理システム及び情報処理方法
EP4030752A1 (en) Image generation system and method
WO2022249536A1 (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: 22889807

Country of ref document: EP

Kind code of ref document: A1

WWE Wipo information: entry into national phase

Ref document number: 2023557950

Country of ref document: JP