Position Calculation Device

The position calculation device addresses the issue of inaccurate avatar motion by employing skeleton correspondence and size-based calculations, achieving precise body part positioning in virtual space.

JP7784956B2Active Publication Date: 2025-12-12NTT DOCOMO INC
View PDF 6 Cites 0 Cited by

Patent Information

Application Number
JP2022097260
Authority / Receiving Office
JP · JP
Patent Type
Patents
Current Assignee / Owner
Filing Date
2022-06-16
Publication Date
2025-12-12
Estimated Expiration
2042-06-16

AI Technical Summary

Technical Problem

Existing systems fail to accurately reflect the positions of an avatar's body parts due to discrepancies between the body shapes of the subject in real space and the avatar in virtual space, leading to inaccuracies in motion synchronization.

Method used

A position calculation device that calculates the position of an avatar's body parts in virtual space by using a first method based on the correspondence between user and avatar skeletons, and a second method based on the positional and size relationships between a target part and a reference part on both the user and avatar, with weighted calculations to enhance accuracy.

Benefits of technology

The device accurately reflects the positions of the avatar's body parts, even when the body shapes of the user and avatar differ, ensuring precise motion synchronization.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 0007784956000001
    Figure 0007784956000001
  • Figure 0007784956000002
    Figure 0007784956000002
  • Figure 0007784956000003
    Figure 0007784956000003
Patent Text Reader

Abstract

To reflect a position of a section of the body of an avatar more accurately.SOLUTION: A position calculation apparatus 1 includes a calculation unit 12 which calculates a position of a target section of the body of an avatar in a virtual space from a position of the target section of the body of a user in a real space, on the basis of: a first method for the calculation on the basis of a correspondence relationship between a skeleton of the body of the user and a skeleton of the body of the avatar; and a second method for the calculation on the basis of a positional relationship between the target section and a reference section which is a section other than the target section of the body of the user, and a magnitude relationship between the reference section of the body of the user and the reference section of the body of the avatar. The second method may multiply a ratio of a magnitude between the reference section of the body of the user and the reference section of the body of the avatar by a relative position of the target section with respect to the reference section of the body of the user, in the calculation. The calculation unit 12 may assign weights to the position of the target section of the body of the avatar calculated through the first method and to the position of the target section of the body of the avatar calculated through the second method, in the calculation.SELECTED DRAWING: Figure 1
Need to check novelty before this filing date? Find Prior Art

Description

[Technical Field]

[0001] One aspect of the present disclosure relates to a position calculation device that calculates the position of a target part of an avatar's body in a virtual space from the position of a target part of a user's body in real space. [Background technology]

[0002] Patent Document 1 listed below discloses a program that dynamically controls the motion of an avatar in a virtual space so that the motion of an avatar reflects the motions of multiple actors in the real space. [Prior art documents] [Patent documents]

[0003] [Patent Document 1] International Publication No. 2019 / 203190 Summary of the Invention [Problem to be solved by the invention]

[0004] The above program does not take into account the correspondence between the body of the subject of the action in real space and the body of the avatar in virtual space. Therefore, if the body shapes of the subject and the avatar are significantly different, for example, even if the subject of the action makes a motion of touching their head with their hand, the avatar will not also make a motion of touching their head with their hand, but will instead be reflected as the avatar raising their hand in the air, and the positions of the avatar's body parts will not be accurately reflected.

[0005] Therefore, it is desirable to more accurately reflect the positions of the body parts of an avatar. [Means for solving the problem]

[0006] A position calculation device according to one aspect of the present disclosure includes a calculation unit that, when calculating the position of a target part of an avatar's body in a virtual space from the position of a target part of a user's body in real space, calculates based on a first method of calculation based on a correspondence between the skeleton of the user's body and the skeleton of the avatar's body, and a second method of calculation based on a positional relationship between the target part and a reference part, which is a part of the user's body other than the target part, and a size relationship between the reference part of the user's body and the reference part of the avatar's body.

[0007] In this aspect, the position of the target body part of the avatar is calculated based on the correspondence between the skeleton of the user's body and the skeleton of the avatar's body, and the size relationship between the reference body part of the user and the reference body part of the avatar, thereby more accurately reflecting the position of the body part of the avatar. [Effects of the Invention]

[0008] According to one aspect of the present disclosure, the positions of the body parts of an avatar can be reflected more accurately. [Brief explanation of the drawings]

[0009] [Figure 1] FIG. 2 is a diagram illustrating an example of a functional configuration of a position calculation device according to an embodiment. [Figure 2] FIG. 10 is a diagram illustrating application of motion data to an avatar. [Figure 3] FIG. 10 is a diagram illustrating an example of a problem in retargeting. [Figure 4] FIG. 10 is a diagram illustrating another example of a problem in retargeting. [Figure 5] FIG. 10 is a diagram illustrating the application of motion data to an avatar by retargeting. [Figure 6] FIG. 10 is a diagram illustrating an application source model in the second method. [Figure 7] FIG. 10 is a diagram illustrating a model to which the second method is applied. [Figure 8] FIG. 10 is a diagram for explaining an image of weighting. [Figure 9]10 is a flowchart illustrating an example of processing executed by a position calculation device according to an embodiment. [Figure 10] 10A and 10B are diagrams illustrating application of motion data to an avatar by a position calculation device according to an embodiment. [Figure 11] FIG. 2 is a diagram illustrating an example of a hardware configuration of a computer used in the position calculation device according to the embodiment. DETAILED DESCRIPTION OF THE INVENTION

[0010] Hereinafter, embodiments of the present disclosure will be described in detail with reference to the drawings. In the description of the drawings, the same elements are designated by the same reference numerals, and duplicate explanations will be omitted. Furthermore, the embodiments of the present disclosure in the following description are specific examples of the present invention, and the present invention is not limited to these embodiments unless otherwise specified to limit the present invention.

[0011] FIG. 1 is a diagram showing an example of the functional configuration of a position calculation device 1 according to an embodiment. The position calculation device 1 is a computer device that calculates the position of a target part of an avatar's body in a virtual space from the position of a target part of a user's body in real space. The user is assumed to be a human, but may also be a moving object such as an animal or a robot. The target part may be a hand. In this embodiment, the target part is assumed to be a hand, but it may also be any other body part such as a foot.

[0012] The technical field of the position calculation device 1 relates to a method and device for controlling the movement of an avatar (avatar movement control) rendered in a virtual space using motion data (motion capture data / animation data) obtained by motion capture as input. FIG. 2 is a diagram illustrating the application of motion data to an avatar. The left diagram in FIG. 2 shows a scene in which motion capture is being performed on a camera image of a user (the user's body) in real space on a computer application. The right diagram in FIG. 2 shows an avatar obtained by applying motion data including data obtained by motion capture to an avatar in a virtual space. As a result, when the user raises both hands, the avatar also raises both hands, as shown in FIG. 2, because the positions of each part of the user's body are reflected in the positions of each part of the avatar's body. In other words, the position calculation device 1 can control the movement of the avatar based on the motion data.

[0013] As shown in FIG. 1, the position calculation device 1 includes a storage unit 10, an input unit 11, a calculation unit 12 (calculation unit), and an output unit 13 as functional blocks.

[0014] Each functional block of the position calculation device 1 is assumed to function within the position calculation device 1, but is not limited to this. For example, some of the functional blocks of the position calculation device 1 may function within a computer device different from the position calculation device 1 and connected to the position calculation device 1 via a network, while appropriately sending and receiving information with the position calculation device 1. Also, some functional blocks of the position calculation device 1 may be omitted, multiple functional blocks may be integrated into one functional block, or one functional block may be separated into multiple functional blocks.

[0015] Hereinafter, each function of the position calculation device 1 shown in FIG. 1 will be described.

[0016] The storage unit 10 may store any information used in calculations in the position calculation device 1 and the results of calculations in the position calculation device 1. The information stored by the storage unit 10 may be referred to by each function of the position calculation device 1 as appropriate.

[0017] The input unit 11 inputs input data that is data to be input to the position calculation device 1. The input unit 11 may input the input data from another device via a network or via an input device 1005 described below. The input unit 11 may store the input data in the storage unit 10, or may output the input data to the calculation unit 12 and the output unit 13.

[0018] The input data includes any data necessary for controlling the movement of the avatar by applying the motion data to the avatar. For example, the input data may include the motion data, the position and size of each body part of the source model (user) (e.g., the vertical and horizontal sizes of the head, shoulder width, etc.), the position and size of each body part of the destination model (avatar) (e.g., the vertical and horizontal sizes of the head, shoulder width, etc.), and other information (parameters) related to the destination model.

[0019] The calculation unit 12 calculates the position of the target part of the avatar's body in the virtual space from the position of the target part of the user's body in the real space. More specifically, the calculation unit 12 calculates the position of the target part of the avatar's body in the virtual space from the position of the target part of the user's body in the real space based on the input data stored by the storage unit 10 or input from the input unit 11, and causes the storage unit 10 to store the calculation result or outputs it to the output unit 13.

[0020] When calculating the position of a target part of an avatar's body in a virtual space from the position of a target part of a user's body in a real space, the calculation unit 12 may perform the calculation based on a first method of performing the calculation based on the correspondence between the skeleton of the user's body and the skeleton of the avatar's body, and a second method of performing the calculation based on the positional relationship between the target part and a reference part, which is a part of the user's body other than the target part, and the size relationship between the reference part of the user's body and the reference part of the avatar's body.

[0021] The reference part may be the head, chest, or waist. In this embodiment, the head is assumed to be the reference part, but it may be any other body part such as the chest or waist. In this embodiment, the head and the face are treated on the same level. In this embodiment, the term "head" may be appropriately read as "face," and the term "face" may be appropriately read as "head."

[0022] The first technique may be retargeting, which is an existing technique. Retargeting will be described below.

[0023] When applying motion data (skeletal movement data) to a character (avatar), it is not possible to apply it directly due to differences in the character's physique. For example, there is a case where motion data captured from an adult performer is applied to a 3D model of a child. In such cases, there is a technique called retargeting (character animation retargeting) that takes into account the differences in the skeletal structure between the motion data and the character, and makes the movements of the motion data closer to the character.

[0024] One issue with retargeting is that the retargeting process is performed based on the correspondence between skeletons, and does not take into account the shape (mesh) of the character's skin or clothing. As a result, when skin comes into contact with skin or clothing comes into contact, retargeting may not be able to express the actual sense of distance. As a specific example, if the size of the person's face when creating the motion data differs from the size of the character's face, the positional relationship between the hands and face may differ. A specific example will be explained using Figures 3 to 5.

[0025] Figure 3 is a diagram illustrating an example of a problem with retargeting. The left diagram in Figure 3 shows the motion data of a user in real space. In the motion data, the user is touching their head (at "15") with their hand (corresponding to the line "12"-"11"-"13"-"15" in the diagram). The right diagram in Figure 3 shows an avatar obtained by retargeting the motion data and applying it to an avatar in virtual space. The avatar in Figure 3 has a smaller face than the user. The avatar with a smaller face does not touch their head with their hand (corresponding to the line "12"-"11"-"13"-"15" in the diagram). In other words, the positional relationship between the hand and face is different between the motion data and the avatar shown in Figure 3.

[0026] FIG. 4 is a diagram illustrating another example of a problem with retargeting. The difference from FIG. 3 will be explained. The avatar in FIG. 4 has a larger head than the user. In the avatar with a larger head, the hands (corresponding to the line "12"-"11"-"13" in the diagram) are recessed into the face ("15" which should be after "13" is recessed into the face). In other words, the positional relationship between the hands and face is different between the motion data and the avatar shown in FIG. 4.

[0027] Figure 5 is a diagram illustrating the application of motion data to an avatar through retargeting. The differences from Figure 2 will be explained below. In the left diagram of Figure 5, the user's hands are touching their head. The right diagram of Figure 5 shows an avatar to which motion data has been applied through retargeting. The avatar's hands are not touching their head, and it is shown as if they are raising their arms in a cheer. In other words, the positional relationship between the hands and face is different between the motion data and the avatar. From another perspective, the arm lengths of the source model and the target model are different, so the target model is unable to touch its head.

[0028] Retargeting has been explained above.

[0029] The second method may calculate the relative position of the target part with respect to the reference part on the user's body by multiplying the ratio of the size of the reference part on the user's body to the size of the reference part on the avatar's body. A specific example of calculation by the second method will be described with reference to FIGS. 6 and 7.

[0030] FIG. 6 is a diagram illustrating a source model in the second method. In the coordinate system (relative coordinate system) shown in FIG. 6, the origin (0,0) is the center and the head (reference part) of the source model (user) is located at the coordinate (x 手 ,y 手 ) in hand (p 手 In the second method, the center of the head of the source model is set as the origin, and the relative coordinates of the wrist p 手 Calculate p 手 =(x 手 ,y 手 ) is. p 手 is the scale of the applied model. The vertical width of the head of the applied model is h O (This can be calculated from the motion data), and the width of the head of the model to which it is applied is w O (This can be calculated from the motion data).

[0031] FIG. 7 is a diagram illustrating a target model in the second method. In the coordinates (relative coordinates) shown in FIG. 7, the head (reference part) of the target model (avatar) is located with the origin (0,0) as the center. The vertical width of the head of the target model is h d (input as a parameter), and the head width of the target model is w d (Input as a parameter). In the second method, p of the applied model is calculated based on the head size of the applied model and the head size of the applied model. 手 More specifically, the coordinates of p are corrected using the width and height ratios of the head. 手 For example, in the second method, the corrected p 手 p' is 手 to "p' 手 =(x' 手 ,y' 手 )', where 'x' 手 =x 手 ·w d / w O " and "y' 手 =y 手 h d / h O " Corrected p' 手 is the scale of the applied model. In the second method, the calculated p' 手 is converted into the absolute coordinates of the hand of the target model by adding it to the center coordinates of the head of the target model.

[0032] As described above, in the second method by the calculation unit 12, the face center coordinates are calculated, the relative coordinates of the hand are calculated, and the relative coordinates of the hand are converted into absolute coordinates.

[0033] The above is the second method for calculating the hand position using the center of the head as the origin.

[0034] The calculation unit 12 may weight the position of the target part of the avatar's body calculated by the first method and the position of the target part of the avatar's body calculated by the second method. For example, the calculation unit 12 may weight the position of the hand calculated by the first method (retargeting) as p 手 rtand sets the position of the hand calculated by the second method (with the center of the head as the origin) as p 手 poi When this is the case, the calculation unit 12 calculates the coordinates p of the hand after applying the motion data as the weighted sum (coordinate weighted sum) of the above two coordinates p 手 rt and p 手 poi by the following formula 1. Here, w is a weight. [Formula 1] p = w · p 手 rt + (1 - w) · p 手 poi

[0035] The weighting may be based on the distance between the reference part and the target part on the user's body. The weighting may increase the weight of the first method as the distance becomes longer (as the distance is longer than a predetermined reference). The weighting may increase the weight of the second method as the distance becomes shorter (as the distance is shorter than a predetermined reference). When applied to the above formula 1, the weight w in formula 1 is closer to "0" as the distance r between the head and the center of the hand in the motion data is smaller (the result p 手 poi calculated with the center of the head as the origin is emphasized), and gives a value closer to "1" as the distance is farther (the result p 手 rt of the retargeting is emphasized).

[0036] Details of the weight w will be described. Fig. 8 is a diagram for explaining the image of the weighting. In the motion data of the source model, when the position of the hand is inside circle 1 in Fig. 8 (w = 0), only the result calculated by the first method (with the center of the head as the origin) is considered. Also, when the position of the hand is outside circle 2 in Fig. 8 (w = 1), only the result calculated by the second method (retargeting) is considered. Also, when the position of the hand is outside circle 1 and inside circle 2 in Fig. 8 (0 < w < 1), both the result calculated by the first method (with the center of the head as the origin) and the result calculated by the second method (retargeting) are considered.

[0037] As an example of the calculation of the weight w, the following formula 2 can be given. [Formula 2] w=min(max(0,(r-height head ) / (width shoulder -height head )),1)

[0038] In the above formula 2, r is the height head When w=0, width shoulder In the above cases, w=1 is set, but this is just one example, and other values ​​may be used.

[0039] The output unit 13 outputs output data, which is data output from the position calculation device 1. More specifically, the output unit 13 outputs the calculation result itself stored by the storage unit 10 or input from the calculation unit 12, or information on the result of performing a predetermined process (for example, control related to an avatar (target model)) based on the calculation result, as output data. The output unit 13 may transmit the output data to another device via a network, or may output (display) the output data via an output device 1006 described below.

[0040] Next, an example of processing executed by the position calculation device 1 will be described with reference to Fig. 9. Fig. 9 is a flowchart showing an example of processing executed by the position calculation device 1 according to the embodiment.

[0041] First, the input unit 11 inputs input data (step S1). Next, the calculation unit 12 calculates the position of the target part of the avatar's body using a first method (step S2). Next, the calculation unit 12 calculates the position of the target part of the avatar's body using a second method (step S3). Next, the calculation unit 12 performs calculations by weighting the calculation results of S2 and S3 (step S4). Next, the output unit 13 outputs output data based on the calculation result of S4 (step S5). Note that the order of S2 and S3 may be reversed.

[0042] 10 is a diagram illustrating application of motion data to an avatar by the position calculation device 1 according to the embodiment. As is clear from comparison with FIG. 5, both hands of the avatar are touching the avatar's head in the same way as both hands of a user are touching the user's head. That is, the position calculation device 1 can achieve the effect of allowing the avatar to touch parts of the body with its hands, even when the body shapes of the application source model and the application destination model are different.

[0043] Next, the effects of the position calculation device 1 according to the embodiment will be described.

[0044] According to the position calculation device 1, the calculation unit 12 calculates the position of the target part of the avatar's body in the virtual space from the position of the target part of the user's body in the real space using two methods: a first method that calculates based on the correspondence between the skeleton of the user's body and the skeleton of the avatar's body; and a second method that calculates based on the positional relationship between the target part and a reference part, which is a part of the user's body other than the target part, and the size relationship between the reference part of the user's body and the reference part of the avatar's body. With this configuration, the position of the target part of the avatar's body is calculated based on the correspondence between the skeleton of the user's body and the skeleton of the avatar's body, and the size relationship between the reference part of the user's body and the reference part of the avatar's body. This allows the position of the avatar's body part to be more accurately reflected.

[0045] Furthermore, in the position calculation device 1, the second method may calculate the relative position of the target part with respect to the reference part on the user's body by multiplying the ratio of the size of the reference part on the user's body to the size of the reference part on the avatar's body. This configuration allows for more accurate calculations that take into account the size of the reference part on the user's body and the size of the reference part on the avatar's body.

[0046] Furthermore, in the position calculation device 1, the calculation unit 12 may perform calculations by weighting the position of the target part of the avatar's body calculated by the first method and the position of the target part of the avatar's body calculated by the second method. This configuration makes it possible to perform more accurate calculations by taking advantage of the respective advantages of the first and second methods.

[0047] Furthermore, in the position calculation device 1, weighting may be based on the distance between the reference part and the target part on the user's body. With this configuration, the weighting of the first method and the second method can be changed based on the distance, thereby enabling more accurate calculation according to the state of the user's body.

[0048] Furthermore, in the position calculation device 1, the weighting may be such that the weight of the first method increases as the distance increases. With this configuration, the calculation results of the first method, which has the advantage of increasing as the distance increases, can be reflected, resulting in more accurate calculations.

[0049] Furthermore, in the position calculation device 1, the weighting may be such that the shorter the distance, the greater the weight of the second method. With this configuration, the calculation results of the second method, which has the advantage of being more effective as the distance becomes shorter, can be reflected, thereby enabling more accurate calculations.

[0050] Furthermore, the target part may be a hand in the position calculation device 1. This configuration allows the position of the avatar's hand to be reflected more accurately.

[0051] Furthermore, the reference part may be the head, chest, or waist in the position calculation device 1. With this configuration, the position of the target part can be more accurately reflected using the avatar's head, chest, or waist as the reference.

[0052] As mentioned above, the problem of retargeting was explained using Figures 3 to 5. The reason for this problem is that retargeting does not take into account the size of the shape (mesh) of the skin or clothing that is linked to the skeleton. The position calculation device 1 can reproduce an animation in which an avatar touches a part of the body even if the body shapes of the model (user) from which motion data is applied and the model (avatar) to which it is applied are different. In the computer graphics industry, a mesh refers to data that represents a 3D shape.

[0053] The position calculation device 1 calculates the weighted sum of the wrist coordinate (A) calculated by retargeting and the wrist coordinate (B) calculated with the center of the head as the origin, and calculates the hand position p after applying the motion. (A) and (B) have the following advantages. By combining these two with appropriate weights, it becomes possible to enjoy the benefits of each. That is, one advantage of (A) is that it is highly expressive of large movements such as extending the arm. Another advantage of (B) is that it is highly expressive of small movements such as touching a part of the body.

[0054] The position calculation device 1 of the present disclosure has the following configuration.

[0055] [1] When calculating the position of a target part of an avatar's body in a virtual space from the position of the target part of a user's body in a real space, a first method of calculating based on a correspondence relationship between the user's body skeleton and the avatar's body skeleton; a second method of calculating the target region based on a positional relationship between the target region and a reference region that is a region of the user's body other than the target region, and a size relationship between the reference region of the user's body and the reference region of the avatar's body; A position calculation device having a calculation unit that calculates based on the above.

[0056] [2] The second method calculates the relative position of the target part with respect to the reference part on the user's body by multiplying the relative position of the target part with respect to the reference part on the user's body by a ratio of sizes of the reference part on the user's body and the reference part on the avatar's body. [1] The position calculation device according to [1].

[0057] [3] the calculation unit performs calculations by weighting the position of the target part of the avatar's body calculated by the first method and the position of the target part of the avatar's body calculated by the second method, [1] or [2].

[0058] [4] The weighting is based on a distance between the reference portion and the target portion on the user's body. [3] The position calculation device according to [3].

[0059] [5] The weighting is such that the weight of the first method is increased as the distance is longer. [4] The position calculation device according to [4].

[0060] [6] The weighting is such that the shorter the distance is, the greater the weight of the second method is. [4] or [5].

[0061] [7] The target site is a hand. The position calculation device according to any one of [1] to [6].

[0062] [8] The reference site is the head, chest, or waist. The position calculation device according to any one of [1] to [7].

[0063] The block diagrams used to explain the above embodiments show functional blocks. These functional blocks (components) are realized by any combination of at least one of hardware and software. Furthermore, the method for realizing each functional block is not particularly limited. That is, each functional block may be realized using a single device that is physically or logically coupled, or may be realized using two or more physically or logically separated devices that are directly or indirectly connected (for example, using wires, wirelessly, etc.) and these multiple devices. The functional block may also be realized by combining the single device or multiple devices with software.

[0064] Functions include, but are not limited to, judgment, determination, judgment, calculation, computation, processing, derivation, investigation, search, confirmation, reception, transmission, output, access, resolution, selection, election, establishment, comparison, assumption, expectation, consideration, broadcasting, notifying, communicating, forwarding, configuring, reconfiguring, allocation, mapping, and assignment. For example, a functional block (component) that performs transmission is called a transmitting unit or transmitter. As mentioned above, there are no particular limitations on how these functions are implemented.

[0065] For example, the position calculation device 1 according to an embodiment of the present disclosure may function as a computer that performs processing of the position calculation method of the present disclosure. Fig. 11 is a diagram showing an example of the hardware configuration of the position calculation device 1 according to an embodiment of the present disclosure. The position calculation device 1 described above may be physically configured as a computer device including a processor 1001, a memory 1002, a storage 1003, a communication device 1004, an input device 1005, an output device 1006, a bus 1007, etc.

[0066] In the following description, the term "apparatus" can be interpreted as a circuit, a device, a unit, etc. The hardware configuration of the position calculation apparatus 1 may be configured to include one or more of the apparatuses shown in the drawings, or may be configured to exclude some of the apparatuses.

[0067] Each function of the position calculation device 1 is realized by loading predetermined software (programs) onto hardware such as the processor 1001 and memory 1002, causing the processor 1001 to perform calculations, control communication via the communication device 1004, and control at least one of reading and writing data from and to the memory 1002 and storage 1003.

[0068] The processor 1001 controls the entire computer by running, for example, an operating system. The processor 1001 may be configured by a central processing unit (CPU) including an interface with peripheral devices, a control device, an arithmetic unit, a register, etc. For example, the input unit 11, the calculation unit 12, and the output unit 13 described above may be realized by the processor 1001.

[0069] The processor 1001 also reads programs (program codes), software modules, data, etc. from at least one of the storage 1003 and the communication device 1004 into the memory 1002 and executes various processes in accordance with these. The programs used are those that cause a computer to execute at least some of the operations described in the above-described embodiments. For example, the input unit 11, the calculation unit 12, and the output unit 13 may be implemented by a control program stored in the memory 1002 and running on the processor 1001, and similar implementations may be made for other functional blocks. While the above-described various processes have been described as being executed by one processor 1001, they may also be executed simultaneously or sequentially by two or more processors 1001. The processor 1001 may be implemented by one or more chips. The programs may also be transmitted from a network via a telecommunications line.

[0070] The memory 1002 is a computer-readable recording medium and may be configured, for example, by at least one of a read-only memory (ROM), an erasable programmable ROM (EPROM), an electrically erasable programmable ROM (EEPROM), a random access memory (RAM), etc. The memory 1002 may also be called a register, a cache, a main memory (primary storage device), etc. The memory 1002 can store executable programs (program codes), software modules, etc. for implementing a wireless communication method according to an embodiment of the present disclosure.

[0071] Storage 1003 is a computer-readable recording medium, and may be composed of at least one of, for example, an optical disk such as a CD-ROM (Compact Disc ROM), a hard disk drive, a flexible disk, a magneto-optical disk (e.g., a compact disk, a digital versatile disk, a Blu-ray disc), a smart card, a flash memory (e.g., a card, a stick, a key drive), a floppy disk, a magnetic strip, etc. Storage 1003 may also be referred to as an auxiliary storage device. The above-mentioned storage medium may be, for example, a database, a server, or other appropriate medium including at least one of memory 1002 and storage 1003.

[0072] The communication device 1004 is hardware (transmission / reception device) for communicating between computers via at least one of a wired network and a wireless network, and is also referred to as, for example, a network device, a network controller, a network card, a communication module, etc. The communication device 1004 may be configured to include a high-frequency switch, a duplexer, a filter, a frequency synthesizer, etc., to realize at least one of, for example, Frequency Division Duplex (FDD) and Time Division Duplex (TDD).

[0073] The input device 1005 is an input device (for example, a keyboard, a mouse, a microphone, a switch, a button, a sensor, etc.) that receives input from the outside. The output device 1006 is an output device (for example, a display, a speaker, an LED lamp, etc.) that outputs to the outside. The input device 1005 and the output device 1006 may be integrated into one device (for example, a touch panel).

[0074] Furthermore, each device, such as the processor 1001 and the memory 1002, is connected by a bus 1007 for communicating information. The bus 1007 may be configured using a single bus, or may be configured using different buses between each device.

[0075] The position calculation device 1 may also be configured to include hardware such as a microprocessor, a digital signal processor (DSP), an application specific integrated circuit (ASIC), a programmable logic device (PLD), or a field programmable gate array (FPGA), and some or all of the functional blocks may be realized by the hardware. For example, the processor 1001 may be implemented using at least one of these pieces of hardware.

[0076] Notification of information is not limited to the aspects / embodiments described in this disclosure, and may be performed using other methods.

[0077] Each aspect / embodiment described in the present disclosure may be applied to at least one of systems using LTE (Long Term Evolution), LTE-Advanced (LTE-A), SUPER 3G, IMT-Advanced, 4G (4th generation mobile communication system), 5G (5th generation mobile communication system), FRA (Future Radio Access), NR (New Radio), W-CDMA (registered trademark), GSM (registered trademark), CDMA2000, UMB (Ultra Mobile Broadband), IEEE 802.11 (Wi-Fi (registered trademark)), IEEE 802.16 (WiMAX (registered trademark), IEEE 802.20, UWB (Ultra-Wideband), Bluetooth (registered trademark), or other appropriate systems, and next-generation systems extended based on these. Furthermore, a combination of multiple systems (e.g., a combination of at least one of LTE and LTE-A with 5G, etc.) may also be applied.

[0078] The order of the procedures, sequences, flowcharts, etc. of each aspect / embodiment described in this disclosure may be changed unless it is consistent. For example, the methods described in this disclosure present elements of various steps using an example order, and are not limited to the particular order presented.

[0079] Input and output information may be stored in a specific location (for example, memory) or may be managed using a management table. Input and output information may be overwritten, updated, or added to. Output information may be deleted. Input information may be sent to another device.

[0080] The determination may be made based on a value represented by one bit (0 or 1), a Boolean value (true or false), or a numerical comparison (e.g., comparison with a predetermined value).

[0081] Each aspect / embodiment described in this disclosure may be used alone, in combination, or switched depending on the implementation. Furthermore, notification of predetermined information (e.g., notification that "X is true") is not limited to being done explicitly, but may be done implicitly (e.g., by not notifying the predetermined information).

[0082] Although the present disclosure has been described in detail above, it is clear to those skilled in the art that the present disclosure is not limited to the embodiments described herein. The present disclosure can be implemented in modified and altered forms without departing from the spirit and scope of the present disclosure as defined by the claims. Therefore, the description of the present disclosure is intended to be illustrative and does not have any limiting meaning on the present disclosure.

[0083] Software shall be construed broadly to mean instructions, instruction sets, code, code segments, program code, programs, subprograms, software modules, applications, software applications, software packages, routines, subroutines, objects, executable files, threads of execution, procedures, functions, etc., whether referred to as software, firmware, middleware, microcode, hardware description language, or otherwise.

[0084] Software, instructions, information, etc. may also be transmitted or received over a transmission medium. For example, if software is transmitted from a website, server, or other remote source using wired technologies (such as coaxial cable, fiber optic cable, twisted pair, Digital Subscriber Line (DSL)), and / or wireless technologies (such as infrared, microwave), then these wired and / or wireless technologies are included within the definition of transmission media.

[0085] The information, signals, etc. described in this disclosure may be represented using any of a variety of different technologies. For example, data, instructions, commands, information, signals, bits, symbols, chips, etc. that may be referred to throughout the above description may be represented by voltages, currents, electromagnetic waves, magnetic fields or magnetic particles, optical fields or photons, or any combination thereof.

[0086] In addition, terms explained in this disclosure and terms necessary for understanding this disclosure may be replaced with terms having the same or similar meanings.

[0087] As used in this disclosure, the terms "system" and "network" are used interchangeably.

[0088] Furthermore, the information, parameters, etc. described in this disclosure may be expressed using absolute values, may be expressed using relative values ​​from a predetermined value, or may be expressed using other corresponding information.

[0089] The names used for the above parameters are not limiting in any way, and furthermore, the mathematical formulas etc. using these parameters may differ from those explicitly disclosed in this disclosure.

[0090] As used in this disclosure, the terms "determining" and "determining" may encompass a wide variety of actions. "Determining" and "determining" may include, for example, judging, calculating, computing, processing, deriving, investigating, looking up, searching, inquiring (e.g., searching in a table, database, or other data structure), ascertaining, and the like. "Determining" and "determining" may also include receiving (e.g., receiving information), transmitting (e.g., sending information), input, output, accessing (e.g., accessing data in memory), and the like. Furthermore, "judgment" and "decision" can include regarding resolving, selecting, choosing, establishing, comparing, etc. as having been "judged" or "decided." In other words, "judgment" and "decision" can include regarding some action as having been "judged" or "decided." Furthermore, "judgment (decision)" can be interpreted as "assuming," "expecting," "considering," etc.

[0091] The terms "connected," "coupled," or any variation thereof, refer to any direct or indirect connection or coupling between two or more elements, and may include the presence of one or more intermediate elements between two elements that are "connected" or "coupled" to each other. The coupling or connection between elements may be physical, logical, or a combination thereof. For example, "connected" may be read as "access." As used in this disclosure, two elements may be considered to be "connected" or "coupled" to each other using one or more wires, cables, and / or printed electrical connections, as well as electromagnetic energy having wavelengths in the radio frequency range, microwave range, and optical (both visible and invisible) range, as some non-limiting and non-exhaustive examples.

[0092] As used in this disclosure, the phrase "based on" does not mean "based only on," unless expressly stated otherwise. In other words, the phrase "based on" means both "based only on" and "based at least on."

[0093] As used in this disclosure, any reference to an element using a designation such as "first," "second," etc. does not generally limit the quantity or order of those elements. These designations may be used in this disclosure as a convenient method of distinguishing between two or more elements. Thus, a reference to a first and a second element does not imply that only two elements may be employed or that the first element must in some way precede the second element.

[0094] The "means" in the configuration of each of the above devices may be replaced with "part," "circuit," "device," etc.

[0095] When used in this disclosure, the terms "include," "including," and variations thereof are intended to be inclusive, similar to the term "comprising." Furthermore, when used in this disclosure, the term "or" is not intended to be an exclusive or.

[0096] In this disclosure, where articles are added by translation, such as a, an, and the in English, the disclosure may include that the nouns following these articles are in the plural form.

[0097] In the present disclosure, the term "A and B are different" may mean "A and B are different from each other." The term may also mean "A and B are each different from C." Terms such as "separate" and "coupled" may also be interpreted in the same way as "different." [Explanation of symbols]

[0098] 1...position calculation device, 10...storage unit, 11...input unit, 12...calculation unit, 13...output unit, 1001...processor, 1002...memory, 1003...storage, 1004...communication device, 1005...input device, 1006...output device, 1007...bus.

Claims

1. When calculating the position of a target part of an avatar's body in a virtual space from the position of the target part of a user's body in a real space, a first method of calculating based on a correspondence relationship between the user's body skeleton and the avatar's body skeleton; a second method of calculating the target region based on a positional relationship between the target region and a reference region that is a region of the user's body other than the target region, and a size relationship between the reference region of the user's body and the reference region of the avatar's body; A position calculation device having a calculation unit that calculates based on the above.

2. The second method calculates the relative position of the target part with respect to the reference part on the user's body by multiplying the relative position of the target part with respect to the reference part on the user's body by a ratio of sizes of the reference part on the user's body and the reference part on the avatar's body. The position calculation device according to claim 1 .

3. the calculation unit performs calculations by weighting the position of the target part of the avatar's body calculated by the first method and the position of the target part of the avatar's body calculated by the second method, The position calculation device according to claim 1 .

4. The weighting is based on a distance between the reference portion and the target portion on the user's body. The position calculation device according to claim 3 .

5. The weighting is such that the weight of the first method is increased as the distance is longer.

5. The position calculation device according to claim 4.

6. The weighting is such that the shorter the distance is, the greater the weight of the second method is.

5. The position calculation device according to claim 4.

7. The target site is a hand. The position calculation device according to claim 1 .

8. The reference site is the head, chest, or waist. The position calculation device according to claim 1 .

Citation Information

Patent Citations

  • Movement converter for three-dimensional skeleton structure

    JP1997330424A

  • Position data processor and program

    JP2020135845A

  • Processing system, information processing device, program and processing method

    JP2021043611A

  • Method and system for providing avatar service

    JP2021157800A

  • Constraint scenarios for retargeting actor motion

    US9001132B1