WO2024053178A1 - Dance practice system, dance practice method, and program - Google Patents

Dance practice system, dance practice method, and program Download PDF

Info

Publication number
WO2024053178A1
WO2024053178A1 PCT/JP2023/019957 JP2023019957W WO2024053178A1 WO 2024053178 A1 WO2024053178 A1 WO 2024053178A1 JP 2023019957 W JP2023019957 W JP 2023019957W WO 2024053178 A1 WO2024053178 A1 WO 2024053178A1
Authority
WO
WIPO (PCT)
Prior art keywords
image data
user
frame
display
performer
Prior art date
Application number
PCT/JP2023/019957
Other languages
French (fr)
Japanese (ja)
Inventor
力 五反田
毅 齋藤
Original Assignee
パナソニックIpマネジメント株式会社
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 パナソニックIpマネジメント株式会社 filed Critical パナソニックIpマネジメント株式会社
Publication of WO2024053178A1 publication Critical patent/WO2024053178A1/en

Links

Images

Classifications

    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63BAPPARATUS FOR PHYSICAL TRAINING, GYMNASTICS, SWIMMING, CLIMBING, OR FENCING; BALL GAMES; TRAINING EQUIPMENT
    • A63B69/00Training appliances or apparatus for special sports

Definitions

  • the present disclosure relates to a dance practice system and the like for supporting dance practice by a user.
  • Patent Document 1 discloses a video generation device that presents an ideal dance video to a dancing target as a virtual video of the target.
  • the video generation device disclosed in Patent Document 1 can present an ideal dance video to the user as a virtual video of the user himself/herself, but it is possible to present the ideal dance video to the user as a virtual video of the user himself/herself. However, this does not mean that the user can dance exactly as shown in the video. In other words, the video generation device disclosed in Patent Document 1 has a problem in that when a user practices dancing, an improvement in dance proficiency cannot be expected.
  • the present disclosure provides a dance practice system and the like that allows users to easily improve their dancing proficiency when practicing dancing.
  • a dance practice system includes a first input interface, a second input interface, a signal processing circuit, and an output interface.
  • the first input interface acquires user image data including a plurality of frames representing user actions based on image data generated by imaging with a camera.
  • the second input interface acquires model image data including a plurality of frames showing the movements of a performer serving as a dance model.
  • the signal processing circuit generates guide image data that instructs the user so that the user's movements approximate those of the performer.
  • the output interface displays the user image data, the model image data, and the guide image data on a display.
  • the signal processing circuit determines which frame among the plurality of frames of the model image data a specific frame acquired at a predetermined time point among the plurality of frames of the user image data corresponds to. .
  • the signal processing circuit determines that the larger the time difference between the determined frame and the specific frame, Control is performed to advance the timing at which the guide image data is displayed on the display.
  • a dance practice method user image data including a plurality of frames showing user movements is obtained based on image data captured and generated by a camera.
  • model image data including a plurality of frames showing the movements of a performer serving as a dance model is acquired.
  • guide image data is generated that instructs the user so that the user's movements approximate those of the performer.
  • the user image data, the model image data, and the guide image data are displayed on a display.
  • a specific frame acquired at a predetermined time point among the plurality of frames of the user image data corresponds to which frame among the plurality of frames of the model image data. to decide.
  • the specific frame lags behind the determined frame among the plurality of frames of the model image data, the time difference between the determined frame and the specific frame. The larger the value, the earlier the timing at which the guide image data is displayed on the display is controlled.
  • a program according to one aspect of the present disclosure causes one or more processors to execute the dance practice method.
  • FIG. 1 is a block diagram showing an example of the overall configuration including a dance practice system according to an embodiment.
  • FIG. 2 is a schematic diagram showing an example of use of the dance practice system according to the embodiment.
  • FIG. 3 is a schematic diagram showing an example of guide image data.
  • FIG. 4 is a flowchart illustrating a processing example of the analysis unit according to the embodiment.
  • FIG. 5 is an explanatory diagram of the operation in the analysis section according to the embodiment.
  • FIG. 6 is a flowchart illustrating an example of processing by the correction unit according to the embodiment.
  • FIG. 7 is an explanatory diagram of the operation in the correction section according to the embodiment.
  • FIG. 8 is a flowchart illustrating an example of processing by the generation unit according to the embodiment.
  • FIG. 9 is an explanatory diagram of a first specific example of the dance practice system according to the embodiment.
  • FIG. 10 is an explanatory diagram of a second specific example of the dance practice system according to the embodiment.
  • each figure is a schematic diagram and is not necessarily strictly illustrated. Further, in each figure, substantially the same configurations are denoted by the same reference numerals, and overlapping explanations may be omitted or simplified.
  • FIG. 1 is a block diagram showing an example of the overall configuration including a dance practice system according to an embodiment.
  • the dance practice system 100 is a system for supporting the user U1 (see FIG. 2) to imitate the movements of a performer who is a model for the dance when the user U1 (see FIG. 2) practices dancing.
  • dance refers to a series of movements performed to accompaniment, for example.
  • dance also includes non-musical dance in which body movements themselves function as accompaniment.
  • the dance practice system 100 is installed in a computer 3 such as a personal computer.
  • the dance practice system 100 includes the computer 3.
  • the dance practice system 100 may further include at least one of a camera 2, a display 31, and a server 4, which will be described later.
  • FIG. 2 is a schematic diagram showing an example of how the dance practice system 100 according to the embodiment is used.
  • the computer 3 displays model image data P1, user image data P2, and guide image data P3 on a display 31 provided separately from the computer 3.
  • a camera 2 is attached to the upper part of the bezel of the display 31 to take an image of the user U1 directly facing the display 31.
  • the camera 2 has an image sensor such as a CCD (Charge Coupled Device) sensor or a CMOS (Complementary Metal Oxide Semiconductor) sensor, and captures an image of the user U1 directly facing the display 31.
  • the camera 2 generates uncorrected image data by capturing an image of the user U1, and the generated uncorrected image data is used as a first input interface (hereinafter referred to as I/F (Interface)) 11 of a dance practice system 100, which will be described later.
  • I/F Interface
  • User image data P2 is generated by correcting this uncorrected image data by the processor 13 of the dance practice system 100, which will be described later.
  • the camera 2 is attached to the display 31 in advance, but it does not need to be attached in advance and may be attached afterwards.
  • the model image data P1 is image data showing the movements of a performer serving as a dance model, and is moving image data including a plurality of frames.
  • the model image data P1 is moving image data about one performer performing the above-mentioned model motion.
  • the model image data P1 is video content that is created in advance and includes a scene in which a performer performs the above-mentioned model motion.
  • the model image data P1 is moving image data obtained by capturing an image of the performer performing a horizontally reversed action of the above-mentioned model action from the front of the performer. .
  • the motion of raising the right hand in the above-mentioned model motion becomes the motion of raising the left hand in the model image data P1 displayed on the display 31.
  • the user U1 looks at the model image data P1 displayed on the display 31 and practices dancing by imitating the performer's movements (that is, performing movements that are mirror images of the above-mentioned model movements). do. For example, if the performer in the model image data P1 displayed on the display 31 is raising his left hand, that is, the performer is raising his right hand as seen from the user U1, the user U1 can imitate that movement and make his own. Raise your right hand.
  • the user image data P2 is obtained by capturing an image of the user U1 directly facing the display 31 with the camera 2, and displaying the captured uncorrected image data on the display 31 by inverting the left and right sides of the image data.
  • the performer in the model image data P1 and the user U1 in the user image data P2 are displayed on the display 31 as if they were performing the same action. For example, if the user U1 raises his right hand in imitation of the performer raising his right hand displayed on the display 31, in the user image data P2 displayed on the display 31, the user U1 also raises his right hand. I will raise my hand.
  • the model image data P1 is distributed from a server 4, which will be described later, via a network N1 such as the Internet.
  • the processor 13 of the dance practice system 100 obtains model image data P1 from the server 4 in advance, and analyzes the obtained model image data P1. Then, the processor 13 of the dance practice system 100 stores information including the acquired model image data P1 and the analysis result of the model image data P1 in the memory 15. Further, in the embodiment, the dance practice system 100 displays the model image data P1 stored in the memory 15 on the display 31 when the user practices dancing.
  • the processor 13 of the dance practice system 100 may By performing a process of inverting the left and right sides of the acquired moving image data, the inverted moving image data may be obtained as the model image data P1.
  • the model image data P1 is displayed on the display 31 at a frame rate of 30 fps (frames per second) or 60 fps. Note that the frame rate may be a value other than 30 fps and 60 fps. Further, in the embodiment, the model image data P1 is displayed on the lower right corner of the display 31 in a size smaller than the size of the user image data P2.
  • the area in which the model image data P1 is displayed on the display 31 will also be referred to as the "sub-screen 312."
  • the user image data P2 is image data showing the actions of the user U1 based on image data generated by capturing an image of the user U1 with the camera 2, and is moving image data composed of a plurality of frames.
  • user image data P2 is displayed on display 31 at the same frame rate as model image data P1.
  • the user image data P2 is displayed on the display 31 as a mirror image of the user U1 directly facing the display 31.
  • the user image data P2 is obtained by processing the left and right sides of the image data by the processor 13 of the dance practice system 100 with respect to the uncorrected image data input from the camera 2 to the first input I/F 11 of the dance practice system 100. Generated by performing inversion processing.
  • the user image data P2 is displayed at the center of the display 31 in a size larger than the size of the sub-screen 312.
  • the area on the display 31 where the user image data P2 and the guide image data P3 are displayed will also be referred to as the "main screen 311."
  • the guide image data P3 is image data that instructs the user U1 so that the user U1's movements approximate those of the performer, and is moving image data that includes a plurality of frames.
  • the guide image data P3 includes an arrow indicating the next action that the user U1 should perform, as shown in FIG. 2, for example.
  • the user U1 moves each of the right hand, right foot, left hand, and left foot according to the arrows located near each of the right hand, right foot, left hand, and left foot on the display 31.
  • the frame rate when the guide image data P3 is displayed on the display 31 is the same as the frame rate when the user image data P2 is displayed on the display 31. Further, the guide image data P3 is updated frame by frame and displayed on the display 31, similarly to the user image data P2. Further, in the embodiment, the guide image data P3 is displayed on the display 31 in a form superimposed on the user image data P2 on the main screen 311. Note that the guide image data P3 does not need to be updated every frame, and may be updated every several frames, for example.
  • FIG. 3 is a schematic diagram showing an example of guide image data P3.
  • the guide image data P3 is displayed on the main screen 311 so as to be superimposed on the user image data P2.
  • the guide image data P3 includes image data P31 corresponding to the left hand of the user U1 and image data P32 corresponding to the right hand of the user U1.
  • the image data P31 includes a destination point P312 indicating the next position to be reached by the user's U1's left hand, and an arrow P311 indicating the direction and amount of movement of the user's U1's left hand from the current position to the destination point.
  • the image data P32 also includes a destination point P322 that indicates the next position that the right hand of the user U1 should reach, and an arrow P321 that indicates the direction and amount of movement of the right hand of the user U1 from the current position to the destination point. include.
  • the guide image data P3 indicates a destination point indicating the next position that the user U1 should reach on the display 31, and a direction and movement amount from the current position of the user U1 to the destination point on the display 31.
  • An arrow is included for each part of the user U1.
  • the guide image data P3 may include reaching points and arrows for the entire body of the user U1 instead of for each part of the user U1.
  • the destination point and arrow in the guide image data P3 are displayed on the display 31 so that the larger the amount of movement of each part of the user U1 from the current position to the destination point is, the darker the color is, and the smaller the amount of movement is, the lighter the color is. Ru.
  • the arrow in the guide image data P3 is displayed on the display 31 in a larger size as the amount of movement is larger, and in a smaller size as the amount of movement is smaller.
  • the "arrow size" here includes the length of the arrow. That is, the arrow in the guide image data P3 is displayed on the display 31 so that the larger the amount of movement is, the longer the arrow is, and the smaller the amount of movement is, the shorter the arrow is. That is, the guide image data P3 changes at least one of its size and shading depending on the difference between the user U1's motion and the performer's motion.
  • the user U1 can practice dancing by imitating the dance model movements while looking at the model image data P1 displayed on the display 31. By further viewing the user image data P2 showing his own movements and the guide image data P3, the user U1 can easily bring his own movements closer to those of the performer, and can practice dancing more efficiently. It is.
  • the dance practice system 100 includes a first input I/F 11, a second input I/F 12, a processor 13, an output I/F 14, and a memory 15.
  • the first input I/F 11 is, for example, a wired communication interface, and is connected to the camera 2 using a cable such as a USB (Universal Serial Bus) cable.
  • the first input I/F 11 acquires uncorrected image data from the camera 2 by performing wired communication with the camera 2 .
  • the first input I/F 11 may be a wireless communication interface.
  • the first input I/F 11 communicates with the camera 2 via a network such as a LAN (Local Area Network) based on a wireless communication standard such as Wi-Fi (registered trademark). Obtain uncorrected image data from.
  • the processor 13 generates the user image data P2 by performing a process of inverting the left and right sides of the uncorrected image data acquired by the first input I/F 11. . That is, the first input I/F 11 indirectly acquires the user image data P2 by acquiring the uncorrected image data.
  • the second input I/F 12 is, for example, a wireless communication interface, and is based on a wireless communication standard such as Wi-Fi (registered trademark), and receives data from the server 4 that provides a video distribution service via a network N1 such as the Internet. Acquire main image data P1. Video distribution services include, for example, YouTube (registered trademark), Instagram (registered trademark), TikTok (registered trademark), and the like.
  • the second input I/F 12 may obtain the model image data P1 stored in an information terminal such as a smartphone owned by the user U1, or may obtain the model image data P1 stored in an information terminal such as a smartphone owned by the user U1, or a hard disk drive (HDD) owned by the user U1.
  • the model image data P1 stored in an external storage device such as the above may be acquired.
  • the second input I/F 12 performs wired communication with the information terminal or external storage device using a cable such as a USB cable.
  • the model image data P1 may also be acquired.
  • the processor 13 is, for example, a CPU (Central Processing Unit), and processes the user image data P2 acquired through the first input I/F 11 and the model image data P1 acquired through the second input I/F 12. Information processing, such as processing to generate guide image data P3, is performed based on the guide image data P3. The above information processing is realized by the processor 13 executing a computer program stored in the memory 15. Processor 13 is an example of a signal processing circuit of dance practice system 100.
  • CPU Central Processing Unit
  • the processor 13 executes the computer program stored in the memory 15 to perform the analysis section 131, the correction section 132, the generation section 133, the superimposition section 134, and the synthesis section 135. Function.
  • the analysis unit 131 analyzes the model image data P1 acquired by the second input I/F 12. In the embodiment, analysis of the model image data P1 by the analysis unit 131 is performed before displaying the model image data P1 on the display 31. That is, in the embodiment, the display of the model image data P1 on the display 31 is executed after the analysis of the model image data P1 by the analysis unit 131 is completed.
  • specific processing by the analysis unit 131 will be explained using FIGS. 4 and 5.
  • FIG. 4 is a flowchart illustrating a processing example of the analysis unit 131 according to the embodiment.
  • the analysis unit 131 divides the model image data P1 acquired by the second input I/F 12 into frames (S11). A frame number is assigned to each divided frame, with the frame at the start of the model image data P1 being the first frame.
  • N is a natural number
  • the nth frame to be processed (n is a natural number, 1 ⁇ n ⁇ N) will be referred to as "frame n”. .
  • the analysis unit 131 calculates coordinate data L1(n) of each part of the performer by analyzing each part of the performer for each frame (S12).
  • the "coordinate data” here is data representing coordinates on the XY plane (that is, coordinates on a two-dimensional orthogonal coordinate system) in the image data of the frame.
  • the coordinate data L1(n) of each part of the performer calculated by the analysis unit 131 is stored in the memory 15 for each frame (S13). That is, the memory 15 stores coordinate data L1(1), L1(2), . . . , L1(N).
  • the analysis unit 131 calculates the coordinate data L1(n) of each part of the performer using an appropriate algorithm that detects the skeletal coordinates of a human image included in image data such as Kinect (registered trademark). calculate.
  • the analysis unit 131 calculates coordinate data of each of the performer's head, neck, right shoulder, left shoulder, right hand, left hand, right foot, and left foot in each frame, and converts these coordinate data into coordinate data. Let it be L1(n).
  • each part of the performer listed above is an example, and the analysis unit 131 may calculate coordinate data of other parts of the performer.
  • the number of types of parts of the performer that the analysis unit 131 analyzes may be greater or less than the number of parts listed above.
  • the analysis unit 131 generates difference data D1 between the coordinate data L1(n) of each part of the performer in the frame and the coordinate data L1(n+1) of each part of the performer in the next frame. (n) is calculated (S14).
  • the difference data D1(n) is calculated by subtracting the coordinate data L1(n) from the coordinate data L1(n+1).
  • the difference data D1(n) calculated by the analysis unit 131 is stored in the memory 15 for each frame (S15). That is, the memory 15 stores difference data D1(1), D1(2), . . . , D1(N-1).
  • FIG. 5 is an explanatory diagram of the operation in the analysis unit 131 according to the embodiment.
  • (a) of FIG. 5 shows "frame 1" of the model image data P1
  • (b) of FIG. 5 shows the parts of the performer obtained by analyzing "frame 1" of the model image data P1.
  • Coordinate data L1(1) is shown.
  • (c) of FIG. 5 shows "frame 2" of the model image data P1
  • (d) of FIG. 5 shows the parts of the performer obtained by analyzing "frame 2" of the model image data P1.
  • Coordinate data L1(2) is shown.
  • (e) of FIG. 5 shows "frame 3" of the model image data P1
  • (f) of FIG. 5 shows each part of the performer obtained by analyzing "frame 3" of the model image data P1.
  • the difference data (a12, b12) of the performer's head in "frame 2" of the model image data P1 is the coordinate data (a12, b12) of the performer's head in "frame 2" of the model image data P1 ( x12, y12) and the coordinate data (x13, y13) of the performer's head in "frame 3" of the model image data P1.
  • the difference data D1(2) is derived from the coordinate data L1(3) of each part of the performer in "Frame 3" of the model image data P1, and the coordinate data L1(3) of each part of the performer in "Frame 2" of the model image data P1. It is calculated by subtracting the coordinate data L1(2).
  • Step S16 stores the model image data P1 in the memory 15 (S16).
  • Step S16 may be executed in parallel with steps S11 to S15, or may be executed before step S11.
  • the correction unit 132 generates a guide image in the generation unit 133 based on the user image data P2 acquired through the first input I/F 11 and the model image data P1 acquired through the second input I/F 12. A guide correction value used when correcting data P3 is calculated.
  • specific processing by the correction unit 132 will be explained using FIG. 6.
  • FIG. 6 is a flowchart showing an example of processing by the correction unit 132 according to the embodiment.
  • the correction unit 132 calculates coordinate data of each part of the user U1 in a specific frame acquired at a predetermined time point of the user image data P2 acquired via the first input I/F 11 (S21).
  • the coordinate data of each part of the user U1 calculated by the correction unit 132 is stored in the memory 15 in association with a specific frame.
  • the specific frame may be, for example, the latest frame of the user image data P2, or may be any frame. Note that it is preferable to use the latest frame of the user image data P2 as the specific frame because it is possible to calculate the guide correction value according to the latest state of the user U1.
  • the specific frame of the user image data P2 is "frame n". Therefore, the coordinate data L2(n) of each part of the user U1 in the specific frame is stored in the memory 15 in association with the specific frame.
  • step S21 similarly to the analysis unit 131, the correction unit 132 uses an appropriate algorithm for detecting the skeletal coordinates of a human image included in image data such as Kinect (registered trademark) to calculate each of user U1's points in a specific frame. Coordinate data L2(n) of the part is calculated.
  • the parts of the user U1 that are to be calculated by the correction unit 132 are the same as the parts of the performer that are to be calculated by the analysis unit 131. Therefore, here, the correction unit 132 calculates coordinate data of each of the head, neck, right shoulder, left shoulder, right hand, left hand, right foot, and left foot of the user U1 in the specific frame.
  • the correction unit 132 determines a corresponding frame corresponding to the specific frame by analyzing which frame of the plurality of frames of the model image data P1 the specific frame corresponds to (S22).
  • the corresponding frame is a frame in which the movement of the performer is closest to the movement of user U1 in the specific frame.
  • the correction unit 132 uses the coordinate data L2(n) of each part of the user U1 in a specific frame (here, "frame n" of the user image data P2) and the model stored in the memory 15. Difference data D12 (n+k) between coordinate data L1 (n+k) (- ⁇ k ⁇ , k is an integer) of each part of the performer in each of 2 ⁇ +1 ( ⁇ is a natural number) frames in the image data P1 is calculated. calculate.
  • the correction unit 132 calculates coordinate data L2(n) of each part of the user U1 in "frame n" of the user image data P2 and "frame (n)" in the model image data P1. Coordinate data L1(n-2), L1(n-1),..., L1( D12(n-2), D12(n-1), . . . , D12(n+2) are calculated.
  • the correction unit 132 determines the frame for which the calculated difference data D12(n+k) is the minimum as the corresponding frame corresponding to the specific frame.
  • the fact that the calculated difference data becomes the minimum corresponds to, for example, that the integrated value of the difference data of each part becomes the minimum.
  • the difference data of each part here is the length of a vector indicated by the difference data, or a value corresponding to the length. For example, when the vector indicated by the difference data of each part is (dx1, dy1), the value of the difference data is dx12+dy12.
  • FIG. 7 is an explanatory diagram of the operation in the correction unit 132 according to the embodiment.
  • (a) of FIG. 7 shows a specific frame (here, "frame n") of the user image data P2, and
  • (b) of FIG. 7 shows the coordinates of each part of the user U1 obtained by analyzing the specific frame.
  • Data L2(n) is shown.
  • the correction unit 132 calculates the guide correction value ⁇ 1 (S23).
  • “k1" is the value of "k” when the above-mentioned difference data D12 (n+k) is the minimum. In other words, "k1" is calculated by subtracting the number assigned to the frame corresponding to the acquisition time of the specific frame in the model image data P1 from the number assigned to the corresponding frame in the model image data P1. .
  • the guide correction value ⁇ 1 indicates the time difference between the determined frame (corresponding frame) among the plurality of frames of the model image data P1 and the specific frame in the user image data P2.
  • the guide correction value ⁇ 1 indicates the degree to which the movement of the user U1 follows the movement of the performer in the model image data P1. For example, when the guide correction value ⁇ 1 is zero, it indicates that the user U1 can move without delay with respect to the movement of the performer in the model image data P1. On the other hand, when the guide correction value ⁇ 1 is a positive value (that is, "k1 ⁇ 0"), it indicates that the movement of the user U1 lags behind the movement of the performer in the model image data P1.
  • the guide correction value ⁇ 1 is a negative value (that is, "k1>0"), it indicates that the movement of the user U1 precedes the movement of the performer in the model image data P1.
  • " ⁇ 0" represents the initial value of offset ⁇ .
  • the generation unit 133 generates guide image data P3 based on the guide correction value ⁇ 1 calculated by the correction unit 132.
  • specific processing by the generation unit 133 will be explained using FIG. 8.
  • FIG. 8 is a flowchart illustrating an example of processing by the generation unit 133 according to the embodiment.
  • the generation unit 133 calculates the offset ⁇ (S31).
  • the offset ⁇ calculated by the generation unit 133 is stored in the memory 15.
  • the offset ⁇ is calculated by adding the guide correction value ⁇ 1 calculated by analyzing a specific frame in the user image data P2 to the initial value ⁇ 0 of the offset ⁇ , and the unit is the number of frames.
  • the initial value ⁇ 0 of the offset ⁇ is two frames.
  • the generation unit 133 generates guide image data P3 based on the calculated offset ⁇ (S32). Specifically, the generation unit 133 generates a “frame ( n+1)'' (hereinafter referred to as the ⁇ previous frame''), and ⁇ frame (n+1+ ⁇ )'' (hereinafter referred to as the ⁇ later frame''), which is a frame of the model image data P1 after an offset ⁇ from the relevant frame. decide.
  • the generation unit 133 reads, from the memory 15, difference data D1(n+1), . Then, the generation unit 133 generates guide image data P3 based on the difference D obtained by adding all the read difference data D1(n+1), . . . D1(n+ ⁇ ).
  • the generation unit 133 generates an image of the arrival point in the guide image data P3 for each part of the user U1 based on the coordinate data L1 (n+1+ ⁇ ) of each part of the performer in "frame (n+1+ ⁇ )" which is the subsequent frame. to be generated. Furthermore, based on the difference D, the generation unit 133 generates an arrow image in the guide image data P3 for each part of the user U1. In this manner, in the embodiment, the generation unit 133 generates a frame (later frame) that is after a predetermined time point by a time corresponding to the time difference (guide correction value ⁇ 1), among the plurality of frames of the model image data P1. With reference to this, guide image data P3 is generated.
  • the generation unit 133 outputs the generated guide image data P3 (S33).
  • the generation unit 133 outputs the generated guide image data P3 to the superimposition unit 134.
  • the superimposing unit 134 generates image data for each frame by superimposing the guide image data P3 generated by the generating unit 133 on the user image data P2 acquired via the first input I/F 11.
  • the superimposing unit 134 outputs the superimposed image data to the combining unit 135.
  • the composition unit 135 generates image data for each frame by combining the image data superimposed by the superposition unit 134 and the model image data P1 read from the memory 15.
  • the combining unit 135 displays the image data (that is, user image data P2 and guide image data P3) superimposed by the superimposing unit 134 on the main screen 311 of the display 31, and the model image data P1 on the sub-screen 312 of the display 31. Combine these data so that they are displayed in
  • the combining unit 135 outputs the combined image data to the output I/F 14.
  • the output I/F 14 causes the display 31 to display the image data synthesized by the synthesis unit 135.
  • the user image data P2 and the guide image data P3 are displayed on the main screen 311 of the display 31, and the model image data P1 is displayed on the sub screen 312. That is, the output I/F 14 causes the display 31 to display the user image data P2, the model image data P1, and the guide image data P3.
  • the memory 15 is a storage device that stores various information necessary for the processor 13 to perform information processing, computer programs executed by the processor 13, and the like.
  • the memory 15 also stores user image data P2 acquired via the first input I/F 11, model image data P1 acquired via the second input I/F 12, and information on each part of the performer calculated by the analysis unit 131. Coordinate data, difference data, guide image data P3 generated by the generation unit 133, etc. are stored.
  • the memory 15 is realized, for example, by a semiconductor memory.
  • FIG. 9 is an explanatory diagram of a first specific example of the dance practice system 100 according to the embodiment.
  • FIG. 10 is an explanatory diagram of a second specific example of the dance practice system 100 according to the embodiment.
  • "frame 1", “frame 2", “frame 3", “frame 4", and "frame 4" of the model image data P1 displayed on the sub-screen 312 of the display 31 are shown in the upper row.
  • "Frame 5" and "Frame 6" are shown side by side in the horizontal direction with only the sub-screen 312 cut out.
  • FIGS. 9 is an explanatory diagram of a first specific example of the dance practice system 100 according to the embodiment.
  • FIG. 10 is an explanatory diagram of a second specific example of the dance practice system 100 according to the embodiment.
  • the generation unit 133 generates "Frame 3" of the model image data P1 corresponding to "Frame 3" which is the next frame of "Frame 2" of the user image data P2 displayed on the display 31 from the previous frame. decided on.
  • the generation unit 133 reads from the memory 15 the difference data D1(3) and D1(4) corresponding to each of all frames from the previous frame to the subsequent frame (excluding the subsequent frame). Then, the generation unit 133 generates guide image data P3 based on the difference D obtained by adding all the read difference data D1(3) and D1(4).
  • each destination point P332, P342, P352 in each image data P33, P34, P35 is generated with reference to "frame 5" of model image data P1, which is a subsequent frame.
  • the user U1 moves his right hand, left hand, and right foot according to the guide image data P3 while looking at the guide image data P3 shown in FIG. This makes it easier to maintain a state in which the user U1's movements can follow the performer's movements without delay.
  • the generation unit 133 generates "Frame 3" of the model image data P1 corresponding to "Frame 3" which is the next frame of "Frame 2" of the user image data P2 displayed on the display 31 from the previous frame. decided on.
  • the generation unit 133 generates difference data D1(3), D1(4), and D1(5) corresponding to each of all frames from the previous frame to the subsequent frame (excluding the subsequent frame) from the memory 15. read out. Then, the generation unit 133 generates guide image data P3 based on the difference D obtained by adding all the read difference data D1(3), D1(4), and D1(5).
  • each destination point P332, P342, P352 in each image data P33, P34, P35 is generated with reference to "frame 6" of the model image data P1, which is the subsequent frame.
  • the user U1 moves his right hand, left hand, and right foot according to the guide image data P3 while looking at the guide image data P3 shown in FIG. This makes it easier for the user U1's movements to follow the performer's movements without being delayed, even if the user U1's movements are behind the performer's movements at the current moment.
  • the processor 13 selects a specific frame of the user image data P2 for the determined frame (corresponding frame) out of the plurality of frames of the model image data P1. is delayed, the larger the time difference (guide correction value ⁇ 1) between the determined frame and the specific frame, the more the guide image data P3 is generated by referring to the model image data P1 that is earlier in time. That is, in the dance practice system 100 according to the embodiment, the processor 13 controls the display 31 to display the guide image data P3 earlier as the time difference becomes larger.
  • the dance practice system 100 even if the movement of the user U1 is delayed and cannot follow the movement of the performer, the user U1 can continue to watch the guide image data P3 optimized according to the delay. You can practice dancing. Therefore, the dance practice system 100 according to the embodiment has the advantage that when the user U1 practices dancing, it is easier to imitate the movements of the performer, and the dance proficiency level is easier to improve.
  • the reason why the generation unit 133 of the processor 13 determines "frame (n+1)", which is the next frame of "frame n", as the previous frame is as follows. That is, when the user image data P2 is displayed on the display 31, the guide image data P3 is displayed in a superimposed manner, but the guide image data P3 covers the entire range from the previous frame to the subsequent frame in the model image data P1. Generated with reference to the amount of change (amount of movement).
  • the previous frame is determined to be "frame n"
  • a process of generating guide image data P3 corresponding to "frame n” is performed. must be carried out. Therefore, in this case, a delay occurs from the time the camera 2 captures an image of the user U1 until the display 31 displays "frame n" of the user image data P2.
  • previous frame may be determined as “frame n” and the subsequent frame as “frame (n+ ⁇ )", but if the above delay is taken into account, the previous frame may be determined as “frame (n+1)” and the subsequent frame as “frame (n+ ⁇ )". It is preferable to determine "frame (n+ ⁇ +1)".
  • the model image data P1 may be streamed from the server 4.
  • the processor 13 of the dance practice system 100 each time the processor 13 of the dance practice system 100 acquires the model image data P1 from the server 4, it analyzes the model image data P1 that has been obtained, and displays the obtained model image data P1 on the display 31. You may also do this.
  • the analysis unit 131 of the processor 13 calculates, for each frame, the coordinate data L1(n) of each part of the performer in the frame, and the coordinate data L1(n-) of each part of the performer in the previous frame. What is necessary is to calculate the difference data D1(n) with respect to 1).
  • the user image data P2 may be displayed on the display 31 as a CG (Computer Graphics) model imitating the user U1 instead of the user U1.
  • the processor 13 of the dance practice system 100 analyzes the image data captured and generated by the camera 2, and generates data obtained by analyzing the posture of the user U1 (coordinates of each part of the user U1) in the image data.
  • the CG model may be generated based on the acquired data.
  • the processor 13 allows the user U1 to follow the movement of the performer, for example, when a predetermined condition is satisfied that the guide correction value ⁇ 1 continues to be zero for a predetermined period of time (a predetermined frame) or more. You may conclude that it has become so.
  • the processor 13 may cause the display 31 to display guide image data P3 that instructs the user U1 to make the user U1's movements closer to those of the performer.
  • the processor 13 transmits the guide image data P3 based on the performer's movement with high resolution via the output I/F 14. It may also be displayed on the display 31.
  • the processor 13 may generate and output guide image data P3 that instructs not only the movement of the right hand of the user U1 but also the movement of the fingers of the right hand of the user U1. good.
  • the model image data P1 is image data showing the movements of one performer, but is not limited to this.
  • the model image data may be image data showing the actions of a plurality of performers.
  • the processor 13 may extract one performer from among the plurality of performers using a suitable image analysis algorithm, and use image data representing the extracted one performer's movements as the model image data P1.
  • the analysis of the model image data P1 by the analysis unit 131 is completed before displaying the model image data P1 on the display 31, but the analysis is not limited to this.
  • the analysis of the model image data P1 by the analysis unit 131 may be performed in parallel with the process of displaying the model image data P1 on the display 31.
  • the destination point in the guide image data P3 is a star mark, but it is not limited to this, and may be a circle mark or another shape such as a shape imitating a human hand or foot.
  • the arrow in the guide image data P3 is not limited to this, and may have other shapes such as a triangular mark or a solid line or a broken line.
  • both the shading and the size of the reaching point and the arrow in the guide image data P3 are changed according to the amount of movement, but only one of them may be changed. Further, the reaching point and the arrow in the guide image data P3 may have constant shading and size regardless of the amount of movement.
  • the position of the sub-screen 312 is not limited to the lower right corner of the display 31, but may be located elsewhere on the display 31.
  • the shape of the sub-screen 312 is not limited to a rectangular shape, but may be any other shape.
  • the size of the sub-screen 312 may be larger or smaller than the size shown in FIG. 2.
  • the dance practice system 100 is installed in the computer 3, but the present invention is not limited to this.
  • the dance practice system 100 may be realized by a server that communicates with each of the camera 2 and the display 31 via a network N1 such as the Internet.
  • the server may be the same as or different from the video distribution server 4 in the embodiment.
  • the dance practice system 100 may be realized by a general-purpose information terminal such as a smartphone or a tablet terminal. In this case, by installing an application for the dance practice system 100 on the information terminal, it is possible to realize the dance practice system 100 on the information terminal.
  • the dance practice system 100 may be configured as a television receiver including the computer 3 and the display 31.
  • the dance practice system 100 is realized by a single device, but it may be realized by a plurality of devices.
  • the functional components included in the dance practice system 100 may be distributed to the plurality of devices in any manner.
  • the dance practice system 100 may be realized in a distributed manner over multiple servers.
  • the dance practice system 100 may be realized in a distributed manner between a server and a computer 3.
  • the communication method between devices in the above embodiment is not particularly limited.
  • a relay device (not shown) may be interposed between the two devices.
  • the order of processing described in the above embodiment is an example.
  • the order of multiple processes may be changed, and multiple processes may be executed in parallel.
  • the processing executed by a specific processing unit may be executed by another processing unit.
  • part of the digital signal processing described in the above embodiments may be realized by analog signal processing.
  • each component may be realized by executing a software program suitable for each component.
  • Each component may be realized by a program execution unit such as a CPU or a processor reading and executing a software program recorded on a recording medium such as a hard disk or a semiconductor memory.
  • each component may be realized by hardware.
  • each component may be a circuit (or integrated circuit). These circuits may constitute one circuit as a whole, or may be separate circuits. Further, each of these circuits may be a general-purpose circuit or a dedicated circuit.
  • the general or specific aspects of the present disclosure may be implemented in a system, device, method, integrated circuit, computer program, or computer-readable recording medium such as a CD-ROM.
  • the present invention may be realized by any combination of a system, an apparatus, a method, an integrated circuit, a computer program, and a recording medium.
  • the present disclosure may be implemented as a dance practice method executed by a computer, or may be realized as a program for causing a computer to execute such a dance practice method.
  • the present disclosure may be realized as a computer-readable non-transitory recording medium on which such a program is recorded.
  • the program here includes an application program for causing a general-purpose information terminal to function as the dance practice system of the above embodiment.
  • the dance practice system 100 includes the first input I/F 11, the second input I/F 12, the processor 13, and the output I/F 14.
  • Processor 13 is an example of a signal processing circuit.
  • the first input I/F 11 acquires user image data P2 including a plurality of frames indicating the user U1's actions based on image data generated by capturing an image with the camera 2.
  • the second input I/F 12 acquires model image data P1 including a plurality of frames showing the movements of a performer serving as a dance model.
  • the processor 13 generates guide image data P3 that instructs the user U1 so that the user U1's motions approximate those of the performer.
  • the output I/F 14 causes the display 31 to display the user image data P2, the model image data P1, and the guide image data P3.
  • the processor 13 determines which frame among the plurality of frames of the model image data P1 the specific frame acquired at a predetermined time point among the plurality of frames of the user image data P2 corresponds to.
  • the processor 13 displays the guide image data P3 on the display 31 as the time difference between the determined frame and the specific frame is larger. Controls the timing to display earlier.
  • the processor 13 selects a frame that is after the predetermined time point by a time corresponding to the time difference, among the plurality of frames of the model image data P1. With reference to this, guide image data P3 is generated.
  • the processor 13 outputs the model image data P1 to the display 31 via the I/F 14 at a timing that the user U1 wants to perform the operation.
  • the guide image data P3 is displayed on the display 31 via the output I/F 14 at a timing earlier than the timing.
  • the guide image data P3 is adjusted in size and size according to the difference between the user U1's motion and the performer's motion. Change at least one of the shades.
  • the processor 13 when the time difference is less than or equal to the threshold, the processor 13 performs a guide based on the performer's movement with high resolution.
  • the image data P3 is displayed on the display 31 via the output I/F 14.
  • the user U1 when the user U1 is able to follow the performer's movements, the user can be guided to imitate the performer's movements in more detail, which has the advantage of further improving dance proficiency. be.
  • the guide image data P3 is a destination point P312 indicating the next position that the user U1 should reach on the display 31. to P352, and arrows P311 to P351 indicating the direction and amount of movement from the current position of the user U1 to the destination points P312 to P352 on the display 31.
  • user image data P2 including a plurality of frames showing the movements of the user U1 based on image data captured and generated by the camera 2 is obtained, and a dance example is obtained.
  • the model image data P1 including a plurality of frames showing the movements of a performer is obtained, guide image data P3 is generated that instructs the user U1 to make the movements of the user U1 approximate those of the performer (S32), and the user
  • the image data P2, the model image data P1, and the guide image data P3 are displayed on the display 31.
  • program according to the eighth aspect causes one or more processors to execute the dance practice method according to the seventh aspect.
  • the present disclosure can be used in a system for supporting a user's dance practice.

Abstract

This dance practice system (100) comprises a first input interface (11), a second input interface (12), a processor (13), and an output interface (14). The processor (13) generates guide image data that provides instructions to a user such that the movement of the user becomes similar to that of a performer. The processor (13) determines to which frame, among a plurality of frames of model image data, a specific frame acquired at a specific time point from among a plurality of frames of user image data corresponds. When the specific frame is delayed with respect to the determined frame, the processor (13) performs control so as to expedite the timing at which the guide image data is to be displayed on a display (31) further when the time difference between the determined frame and the specific frame is greater.

Description

ダンス練習システム、ダンス練習方法、及びプログラムDance practice system, dance practice method, and program
 本開示は、ユーザによるダンスの練習を支援するためのダンス練習システム等に関する。 The present disclosure relates to a dance practice system and the like for supporting dance practice by a user.
 例えば、特許文献1には、ダンスを踊る対象者に対し、理想のダンス映像を対象者本人の仮想的な映像として提示する映像生成装置が開示されている。 For example, Patent Document 1 discloses a video generation device that presents an ideal dance video to a dancing target as a virtual video of the target.
国際公開第2021/039857号International Publication No. 2021/039857
 特許文献1に開示の映像生成装置では、ユーザに対して、理想のダンス映像をユーザ本人の仮想的な映像として提示することはできるが、ユーザがダンスを練習する際に当該映像を見たからといって当該映像の通りにユーザがダンスを踊れるわけではない。つまり、特許文献1に開示の映像生成装置では、ユーザがダンスを練習する際に、ダンスの習熟度の向上が期待できない、という課題がある。 The video generation device disclosed in Patent Document 1 can present an ideal dance video to the user as a virtual video of the user himself/herself, but it is possible to present the ideal dance video to the user as a virtual video of the user himself/herself. However, this does not mean that the user can dance exactly as shown in the video. In other words, the video generation device disclosed in Patent Document 1 has a problem in that when a user practices dancing, an improvement in dance proficiency cannot be expected.
 本開示は、ユーザがダンスを練習する際に、ダンスの習熟度が向上しやすいダンス練習システム等を提供する。 The present disclosure provides a dance practice system and the like that allows users to easily improve their dancing proficiency when practicing dancing.
 本開示の一態様に係るダンス練習システムは、第1入力インタフェースと、第2入力インタフェースと、信号処理回路と、出力インタフェースと、を備える。前記第1入力インタフェースは、カメラで撮像して生成された画像データに基づく、ユーザの動作を示す複数のフレームを含むユーザ画像データを取得する。前記第2入力インタフェースは、ダンスの手本となる演者の動作を示す複数のフレームを含む手本画像データを取得する。前記信号処理回路は、前記ユーザの動作が前記演者の動作に近づくように前記ユーザに指示するガイド画像データを生成する。前記出力インタフェースは、前記ユーザ画像データ、前記手本画像データ、及び前記ガイド画像データをディスプレイに表示させる。前記信号処理回路は、前記ユーザ画像データの前記複数のフレームのうちの所定時点に取得した特定フレームが、前記手本画像データの前記複数のフレームのうちのいずれのフレームに対応するかを決定する。前記信号処理回路は、前記手本画像データの前記複数のフレームのうちの前記決定したフレームに対して前記特定フレームが遅れている場合、前記決定したフレームと前記特定フレームとの時間差が大きい程、前記ディスプレイに前記ガイド画像データを表示させるタイミングを早めるように制御する。 A dance practice system according to one aspect of the present disclosure includes a first input interface, a second input interface, a signal processing circuit, and an output interface. The first input interface acquires user image data including a plurality of frames representing user actions based on image data generated by imaging with a camera. The second input interface acquires model image data including a plurality of frames showing the movements of a performer serving as a dance model. The signal processing circuit generates guide image data that instructs the user so that the user's movements approximate those of the performer. The output interface displays the user image data, the model image data, and the guide image data on a display. The signal processing circuit determines which frame among the plurality of frames of the model image data a specific frame acquired at a predetermined time point among the plurality of frames of the user image data corresponds to. . When the specific frame is delayed with respect to the determined frame among the plurality of frames of the model image data, the signal processing circuit determines that the larger the time difference between the determined frame and the specific frame, Control is performed to advance the timing at which the guide image data is displayed on the display.
 本開示の一態様に係るダンス練習方法では、カメラで撮像して生成された画像データに基づく、ユーザの動作を示す複数のフレームを含むユーザ画像データを取得する。前記ダンス練習方法では、ダンスの手本となる演者の動作を示す複数のフレームを含む手本画像データを取得する。前記ダンス練習方法では、前記ユーザの動作が前記演者の動作に近づくように前記ユーザに指示するガイド画像データを生成する。前記ダンス練習方法では、前記ユーザ画像データ、前記手本画像データ、及び前記ガイド画像データをディスプレイに表示させる。前記ガイド画像データを生成する過程において、前記ユーザ画像データの前記複数のフレームのうちの所定時点に取得した特定フレームが、前記手本画像データの前記複数のフレームのうちのいずれのフレームに対応するかを決定する。前記ガイド画像データを生成する過程において、前記手本画像データの前記複数のフレームのうちの前記決定したフレームに対して前記特定フレームが遅れている場合、前記決定したフレームと前記特定フレームとの時間差が大きい程、前記ディスプレイに前記ガイド画像データを表示させるタイミングを早めるように制御する。 In a dance practice method according to one aspect of the present disclosure, user image data including a plurality of frames showing user movements is obtained based on image data captured and generated by a camera. In the dance practice method, model image data including a plurality of frames showing the movements of a performer serving as a dance model is acquired. In the dance practice method, guide image data is generated that instructs the user so that the user's movements approximate those of the performer. In the dance practice method, the user image data, the model image data, and the guide image data are displayed on a display. In the process of generating the guide image data, a specific frame acquired at a predetermined time point among the plurality of frames of the user image data corresponds to which frame among the plurality of frames of the model image data. to decide. In the process of generating the guide image data, if the specific frame lags behind the determined frame among the plurality of frames of the model image data, the time difference between the determined frame and the specific frame. The larger the value, the earlier the timing at which the guide image data is displayed on the display is controlled.
 本開示の一態様に係るプログラムは、1以上のプロセッサに、前記ダンス練習方法を実行させる。 A program according to one aspect of the present disclosure causes one or more processors to execute the dance practice method.
 本開示におけるダンス練習システム等によれば、ユーザがダンスを練習する際に、ダンスの習熟度が向上しやすい、という利点がある。 According to the dance practice system and the like in the present disclosure, there is an advantage that when a user practices dance, it is easy to improve the user's dance proficiency.
図1は、実施の形態に係るダンス練習システムを含む全体構成の一例を示すブロック図である。FIG. 1 is a block diagram showing an example of the overall configuration including a dance practice system according to an embodiment. 図2は、実施の形態に係るダンス練習システムの使用例を示す概要図である。FIG. 2 is a schematic diagram showing an example of use of the dance practice system according to the embodiment. 図3は、ガイド画像データの一例を示す概要図である。FIG. 3 is a schematic diagram showing an example of guide image data. 図4は、実施の形態に係る解析部の処理例を示すフローチャートである。FIG. 4 is a flowchart illustrating a processing example of the analysis unit according to the embodiment. 図5は、実施の形態に係る解析部での動作の説明図である。FIG. 5 is an explanatory diagram of the operation in the analysis section according to the embodiment. 図6は、実施の形態に係る補正部の処理例を示すフローチャートである。FIG. 6 is a flowchart illustrating an example of processing by the correction unit according to the embodiment. 図7は、実施の形態に係る補正部での動作の説明図である。FIG. 7 is an explanatory diagram of the operation in the correction section according to the embodiment. 図8は、実施の形態に係る生成部の処理例を示すフローチャートである。FIG. 8 is a flowchart illustrating an example of processing by the generation unit according to the embodiment. 図9は、実施の形態に係るダンス練習システムの第1具体例の説明図である。FIG. 9 is an explanatory diagram of a first specific example of the dance practice system according to the embodiment. 図10は、実施の形態に係るダンス練習システムの第2具体例の説明図である。FIG. 10 is an explanatory diagram of a second specific example of the dance practice system according to the embodiment.
 以下、実施の形態について、図面を参照しながら具体的に説明する。なお、以下で説明する実施の形態は、いずれも包括的又は具体的な例を示すものである。以下の実施の形態で示される数値、形状、材料、構成要素、構成要素の配置位置及び接続形態、ステップ、ステップの順序等は、一例であり、本開示を限定する主旨ではない。また、以下の実施の形態における構成要素のうち、独立請求項に記載されていない構成要素については、任意の構成要素として説明される。 Hereinafter, embodiments will be specifically described with reference to the drawings. Note that the embodiments described below are all inclusive or specific examples. The numerical values, shapes, materials, components, arrangement positions and connection forms of the components, steps, order of steps, etc. shown in the following embodiments are examples, and do not limit the present disclosure. Further, among the constituent elements in the following embodiments, constituent elements that are not described in the independent claims will be described as arbitrary constituent elements.
 なお、各図は模式図であり、必ずしも厳密に図示されたものではない。また、各図において、実質的に同一の構成に対しては同一の符号を付し、重複する説明は省略又は簡略化される場合がある。 Note that each figure is a schematic diagram and is not necessarily strictly illustrated. Further, in each figure, substantially the same configurations are denoted by the same reference numerals, and overlapping explanations may be omitted or simplified.
 (実施の形態)
 [1.構成]
 [1-1.全体構成]
 まず、実施の形態に係るダンス練習システムを含む全体構成について図1を用いて説明する。図1は、実施の形態に係るダンス練習システムを含む全体構成の一例を示すブロック図である。ダンス練習システム100は、ユーザU1(図2参照)がダンスを練習する際に、ユーザU1が当該ダンスの手本となる演者の動作を模倣できるように支援するためのシステムである。ここで、ダンスは、例えば伴奏に合わせて演じられる一連の動作をいう。なお、ダンスには、身体の動き自体が伴奏として機能する無音楽舞踊も含まれる。実施の形態では、ダンス練習システム100は、パーソナルコンピュータ等のコンピュータ3に搭載されている。言い換えれば、実施の形態では、ダンス練習システム100は、コンピュータ3を備えている。なお、ダンス練習システム100は、コンピュータ3の他に、後述するカメラ2、ディスプレイ31、及びサーバ4の少なくとも一方を更に備えていてもよい。
(Embodiment)
[1. composition]
[1-1. overall structure]
First, the overall configuration including a dance practice system according to an embodiment will be described using FIG. 1. FIG. 1 is a block diagram showing an example of the overall configuration including a dance practice system according to an embodiment. The dance practice system 100 is a system for supporting the user U1 (see FIG. 2) to imitate the movements of a performer who is a model for the dance when the user U1 (see FIG. 2) practices dancing. Here, dance refers to a series of movements performed to accompaniment, for example. Note that dance also includes non-musical dance in which body movements themselves function as accompaniment. In the embodiment, the dance practice system 100 is installed in a computer 3 such as a personal computer. In other words, in the embodiment, the dance practice system 100 includes the computer 3. In addition to the computer 3, the dance practice system 100 may further include at least one of a camera 2, a display 31, and a server 4, which will be described later.
 図2は、実施の形態に係るダンス練習システム100の使用例を示す概要図である。図2に示すように、コンピュータ3は、手本画像データP1と、ユーザ画像データP2と、ガイド画像データP3と、をコンピュータ3とは別に設けられたディスプレイ31に表示する。ディスプレイ31のベゼル上部には、ディスプレイ31に正対するユーザU1を撮像するためのカメラ2が取り付けられている。 FIG. 2 is a schematic diagram showing an example of how the dance practice system 100 according to the embodiment is used. As shown in FIG. 2, the computer 3 displays model image data P1, user image data P2, and guide image data P3 on a display 31 provided separately from the computer 3. A camera 2 is attached to the upper part of the bezel of the display 31 to take an image of the user U1 directly facing the display 31.
 カメラ2は、例えばCCD(Charge Coupled Device)センサ又はCMOS(Complementary Metal Oxide Semiconductor)センサ等のイメージセンサを有しており、ディスプレイ31に正対するユーザU1を撮像する。カメラ2は、ユーザU1を撮像することで補正前画像データを生成し、生成した補正前画像データを後述するダンス練習システム100の第1入力インタフェース(以下、I/F(Interface)と記載)11へ出力する。この補正前画像データを、後述するダンス練習システム100のプロセッサ13が補正することにより、ユーザ画像データP2が生成される。また、実施の形態では、カメラ2はディスプレイ31にあらかじめ取り付けられているが、あらかじめ取り付けられていなくてもよく、後付けであってもよい。 The camera 2 has an image sensor such as a CCD (Charge Coupled Device) sensor or a CMOS (Complementary Metal Oxide Semiconductor) sensor, and captures an image of the user U1 directly facing the display 31. The camera 2 generates uncorrected image data by capturing an image of the user U1, and the generated uncorrected image data is used as a first input interface (hereinafter referred to as I/F (Interface)) 11 of a dance practice system 100, which will be described later. Output to. User image data P2 is generated by correcting this uncorrected image data by the processor 13 of the dance practice system 100, which will be described later. Further, in the embodiment, the camera 2 is attached to the display 31 in advance, but it does not need to be attached in advance and may be attached afterwards.
 手本画像データP1は、ダンスの手本となる演者の動作を示す画像データであって、複数のフレームを含む動画像データである。実施の形態では、手本画像データP1は、上記手本となる動作を行う1人の演者についての動画像データである。また、実施の形態では、手本画像データP1は、あらかじめ作成された、演者が上記手本となる動作を行っている様子を収めた映像コンテンツである。ここで、実施の形態では、手本画像データP1は、上記手本となる動作を左右反転させた動作を演者が行っている様子を、演者の正面から撮像して得られる動画像データである。例えば、上記手本となる動作における右手を挙げる動作は、ディスプレイ31に表示される手本画像データP1では左手を挙げる動作となる。 The model image data P1 is image data showing the movements of a performer serving as a dance model, and is moving image data including a plurality of frames. In the embodiment, the model image data P1 is moving image data about one performer performing the above-mentioned model motion. Furthermore, in the embodiment, the model image data P1 is video content that is created in advance and includes a scene in which a performer performs the above-mentioned model motion. Here, in the embodiment, the model image data P1 is moving image data obtained by capturing an image of the performer performing a horizontally reversed action of the above-mentioned model action from the front of the performer. . For example, the motion of raising the right hand in the above-mentioned model motion becomes the motion of raising the left hand in the model image data P1 displayed on the display 31.
 ユーザU1は、ディスプレイ31に表示される手本画像データP1を見て、演者の動作をそのまま真似る(つまり、上記手本となる動作と鏡像となるような動作を行う)ことで、ダンスを練習する。例えば、ディスプレイ31に表示される手本画像データP1における演者が左手を挙げている、つまりユーザU1から見て演者が右側の手を挙げている場合、ユーザU1は、その動きを真似て自身の右手を挙げる。ここで、後述するように、ユーザ画像データP2は、ディスプレイ31に正対するユーザU1をカメラ2で撮像し、撮像した補正前画像データの左右が反転されてディスプレイ31に表示される。したがって、ディスプレイ31には、手本画像データP1における演者と、ユーザ画像データP2におけるユーザU1とが同じ動作をしているように表示される。例えば、ユーザU1がディスプレイ31に表示される演者が右側の手を挙げているのを真似て自身の右手を挙げた場合、ディスプレイ31に表示されるユーザ画像データP2においても、ユーザU1は右側の手を挙げることになる。 The user U1 looks at the model image data P1 displayed on the display 31 and practices dancing by imitating the performer's movements (that is, performing movements that are mirror images of the above-mentioned model movements). do. For example, if the performer in the model image data P1 displayed on the display 31 is raising his left hand, that is, the performer is raising his right hand as seen from the user U1, the user U1 can imitate that movement and make his own. Raise your right hand. Here, as will be described later, the user image data P2 is obtained by capturing an image of the user U1 directly facing the display 31 with the camera 2, and displaying the captured uncorrected image data on the display 31 by inverting the left and right sides of the image data. Therefore, the performer in the model image data P1 and the user U1 in the user image data P2 are displayed on the display 31 as if they were performing the same action. For example, if the user U1 raises his right hand in imitation of the performer raising his right hand displayed on the display 31, in the user image data P2 displayed on the display 31, the user U1 also raises his right hand. I will raise my hand.
 実施の形態では、手本画像データP1は、インターネット等のネットワークN1を介して、後述するサーバ4から配信される。そして、実施の形態では、ダンス練習システム100のプロセッサ13は、あらかじめ手本画像データP1をサーバ4から取得し、取得した手本画像データP1を解析する。そして、ダンス練習システム100のプロセッサ13は、取得した手本画像データP1と、手本画像データP1の解析結果とを含む情報をメモリ15に記憶する。また、実施の形態では、ダンス練習システム100は、ユーザがダンスを練習する際に、メモリ15に記憶している手本画像データP1をディスプレイ31に表示する。 In the embodiment, the model image data P1 is distributed from a server 4, which will be described later, via a network N1 such as the Internet. In the embodiment, the processor 13 of the dance practice system 100 obtains model image data P1 from the server 4 in advance, and analyzes the obtained model image data P1. Then, the processor 13 of the dance practice system 100 stores information including the acquired model image data P1 and the analysis result of the model image data P1 in the memory 15. Further, in the embodiment, the dance practice system 100 displays the model image data P1 stored in the memory 15 on the display 31 when the user practices dancing.
 なお、上記手本となる動作をそのまま演者が行っている様子を、演者の正面から撮像して動画像データを得ている場合、ダンス練習システム100のプロセッサ13は、当該動画像データを取得すると、取得した動画像データの左右を反転させる処理を実行することで、反転後の動画像データを手本画像データP1として取得してもよい。 In addition, when the video data is obtained by capturing the image of the performer performing the above-mentioned model movements from the front, the processor 13 of the dance practice system 100 may By performing a process of inverting the left and right sides of the acquired moving image data, the inverted moving image data may be obtained as the model image data P1.
 また、実施の形態では、手本画像データP1は、30fps(frame per second)又は60fpsのフレームレートでディスプレイ31に表示される。なお、フレームレートは、30fps及び60fps以外の数値であってもよい。また、実施の形態では、手本画像データP1は、ディスプレイ31の右下隅であって、ユーザ画像データP2のサイズよりも小さいサイズでディスプレイ31に表示される。以下、ディスプレイ31において手本画像データP1が表示される領域を「副画面312」ともいう。 In the embodiment, the model image data P1 is displayed on the display 31 at a frame rate of 30 fps (frames per second) or 60 fps. Note that the frame rate may be a value other than 30 fps and 60 fps. Further, in the embodiment, the model image data P1 is displayed on the lower right corner of the display 31 in a size smaller than the size of the user image data P2. Hereinafter, the area in which the model image data P1 is displayed on the display 31 will also be referred to as the "sub-screen 312."
 ユーザ画像データP2は、カメラ2によりユーザU1を撮像して生成された画像データに基づく、ユーザU1の動作を示す画像データであって、複数のフレームにより構成される動画像データである。実施の形態では、ユーザ画像データP2は、手本画像データP1と同じフレームレートでディスプレイ31に表示される。 The user image data P2 is image data showing the actions of the user U1 based on image data generated by capturing an image of the user U1 with the camera 2, and is moving image data composed of a plurality of frames. In the embodiment, user image data P2 is displayed on display 31 at the same frame rate as model image data P1.
 また、実施の形態では、ユーザ画像データP2は、ディスプレイ31に正対するユーザU1の鏡像としてディスプレイ31に表示される。具体的には、ユーザ画像データP2は、カメラ2からダンス練習システム100の第1入力I/F11に入力された補正前画像データに対して、ダンス練習システム100のプロセッサ13が画像データの左右を反転させる処理を実行することにより生成される。 Furthermore, in the embodiment, the user image data P2 is displayed on the display 31 as a mirror image of the user U1 directly facing the display 31. Specifically, the user image data P2 is obtained by processing the left and right sides of the image data by the processor 13 of the dance practice system 100 with respect to the uncorrected image data input from the camera 2 to the first input I/F 11 of the dance practice system 100. Generated by performing inversion processing.
 また、実施の形態では、ユーザ画像データP2は、ディスプレイ31の中央であって、副画面312のサイズよりも大きいサイズでディスプレイ31に表示される。以下、ディスプレイ31においてユーザ画像データP2及びガイド画像データP3が表示される領域を「主画面311」ともいう。 Furthermore, in the embodiment, the user image data P2 is displayed at the center of the display 31 in a size larger than the size of the sub-screen 312. Hereinafter, the area on the display 31 where the user image data P2 and the guide image data P3 are displayed will also be referred to as the "main screen 311."
 ガイド画像データP3は、ユーザU1の動作が演者の動作に近づくようにユーザU1に指示する画像データであって、複数のフレームを含む動画像データである。ガイド画像データP3は、例えば図2に示すように、ユーザU1が次に行うべき動作を示す矢印を含む。図2に示す例では、ユーザU1は、ディスプレイ31において右手、右足、左手、及び左足それぞれの近傍に位置する矢印に従って、右手、右足、左手、及び左足それぞれを動かす。このように、ユーザU1は、演者の動作を覚えていなかったとしても、ガイド画像データP3を見ながら動作を行うことにより、次に行うべき動作を把握することができるので、自身の動作をダンスの手本となる動作に近づけることが可能である。 The guide image data P3 is image data that instructs the user U1 so that the user U1's movements approximate those of the performer, and is moving image data that includes a plurality of frames. The guide image data P3 includes an arrow indicating the next action that the user U1 should perform, as shown in FIG. 2, for example. In the example shown in FIG. 2, the user U1 moves each of the right hand, right foot, left hand, and left foot according to the arrows located near each of the right hand, right foot, left hand, and left foot on the display 31. In this way, even if the user U1 does not remember the performer's movements, by performing the movements while looking at the guide image data P3, the user U1 can understand the next movement to be performed, so that the user U1 can perform his/her own movements as a dancer. It is possible to approach the behavior that is a model.
 実施の形態では、ガイド画像データP3をディスプレイ31に表示する際のフレームレートは、ユーザ画像データP2をディスプレイ31に表示する際のフレームレートと同じである。また、ガイド画像データP3は、ユーザ画像データP2と同様に、フレームごとに更新されてディスプレイ31に表示される。また、実施の形態では、ガイド画像データP3は、主画面311においてユーザ画像データP2に重畳する形でディスプレイ31に表示される。なお、ガイド画像データP3は、フレームごとに更新されずともよく、例えば数フレームごとに更新されてもよい。 In the embodiment, the frame rate when the guide image data P3 is displayed on the display 31 is the same as the frame rate when the user image data P2 is displayed on the display 31. Further, the guide image data P3 is updated frame by frame and displayed on the display 31, similarly to the user image data P2. Further, in the embodiment, the guide image data P3 is displayed on the display 31 in a form superimposed on the user image data P2 on the main screen 311. Note that the guide image data P3 does not need to be updated every frame, and may be updated every several frames, for example.
 図3は、ガイド画像データP3の一例を示す概要図である。図3では、ディスプレイ31に表示される主画面311及び副画面312のうち、主画面311のみ図示している。図3に示すように、ガイド画像データP3は、主画面311においてユーザ画像データP2に重畳して表示される。図3に示す例では、ガイド画像データP3は、ユーザU1の左手に対応する画像データP31と、ユーザU1の右手に対応する画像データP32と、を含む。画像データP31は、ユーザU1の左手が次に到達すべき位置を示す到達点P312と、ユーザU1の左手を現在位置から到達点まで動かす際の向き及び移動量を示す矢印P311と、を含む。また、画像データP32は、ユーザU1の右手が次に到達すべき位置を示す到達点P322と、ユーザU1の右手を現在位置から到達点まで動かす際の向き及び移動量を示す矢印P321と、を含む。つまり、実施の形態では、ガイド画像データP3は、ディスプレイ31においてユーザU1が次に到達すべき位置を示す到達点と、ディスプレイ31においてユーザU1の現在位置から到達点までの向き及び移動量を示す矢印と、をユーザU1の部位ごとに、含む。なお、ガイド画像データP3は、ユーザU1の部位ごとではなく、ユーザU1の身体全体に対する到達点及び矢印を含んでいてもよい。 FIG. 3 is a schematic diagram showing an example of guide image data P3. In FIG. 3, only the main screen 311 of the main screen 311 and the sub-screen 312 displayed on the display 31 is illustrated. As shown in FIG. 3, the guide image data P3 is displayed on the main screen 311 so as to be superimposed on the user image data P2. In the example shown in FIG. 3, the guide image data P3 includes image data P31 corresponding to the left hand of the user U1 and image data P32 corresponding to the right hand of the user U1. The image data P31 includes a destination point P312 indicating the next position to be reached by the user's U1's left hand, and an arrow P311 indicating the direction and amount of movement of the user's U1's left hand from the current position to the destination point. The image data P32 also includes a destination point P322 that indicates the next position that the right hand of the user U1 should reach, and an arrow P321 that indicates the direction and amount of movement of the right hand of the user U1 from the current position to the destination point. include. That is, in the embodiment, the guide image data P3 indicates a destination point indicating the next position that the user U1 should reach on the display 31, and a direction and movement amount from the current position of the user U1 to the destination point on the display 31. An arrow is included for each part of the user U1. Note that the guide image data P3 may include reaching points and arrows for the entire body of the user U1 instead of for each part of the user U1.
 実施の形態では、ガイド画像データP3における到達点及び矢印は、ユーザU1の各部位を現在位置から到達点まで動かす際の移動量が大きい程濃く、移動量が小さい程薄く、ディスプレイ31に表示される。また、実施の形態では、ガイド画像データP3における矢印は、移動量が大きい程大きいサイズで、移動量が小さい程小さいサイズで、ディスプレイ31に表示される。ここでいう「矢印のサイズ」は、矢印の長さを含む。つまり、ガイド画像データP3における矢印は、移動量が大きい程長く、移動量が小さい程短く、ディスプレイ31に表示される。つまり、ガイド画像データP3は、ユーザU1の動作と演者の動作との差分に応じて、サイズ及び濃淡の少なくとも一方を変化させる。 In the embodiment, the destination point and arrow in the guide image data P3 are displayed on the display 31 so that the larger the amount of movement of each part of the user U1 from the current position to the destination point is, the darker the color is, and the smaller the amount of movement is, the lighter the color is. Ru. Further, in the embodiment, the arrow in the guide image data P3 is displayed on the display 31 in a larger size as the amount of movement is larger, and in a smaller size as the amount of movement is smaller. The "arrow size" here includes the length of the arrow. That is, the arrow in the guide image data P3 is displayed on the display 31 so that the larger the amount of movement is, the longer the arrow is, and the smaller the amount of movement is, the shorter the arrow is. That is, the guide image data P3 changes at least one of its size and shading depending on the difference between the user U1's motion and the performer's motion.
 ユーザU1は、ディスプレイ31に表示される手本画像データP1を見ながら、ダンスの手本となる動作を模倣することで、ダンスを練習することが可能である。そして、ユーザU1は、自身の動作を示すユーザ画像データP2と、ガイド画像データP3とを更に見ることで、自身の動作を演者の動作に近づけやすくなり、更に効率良くダンスを練習することが可能である。 The user U1 can practice dancing by imitating the dance model movements while looking at the model image data P1 displayed on the display 31. By further viewing the user image data P2 showing his own movements and the guide image data P3, the user U1 can easily bring his own movements closer to those of the performer, and can practice dancing more efficiently. It is.
 [1-2.ダンス練習システムの構成]
 次に、ダンス練習システム100の構成について具体的に説明する。図1に示すように、ダンス練習システム100は、第1入力I/F11と、第2入力I/F12と、プロセッサ13と、出力I/F14と、メモリ15と、を備えている。
[1-2. Dance practice system configuration]
Next, the configuration of the dance practice system 100 will be specifically explained. As shown in FIG. 1, the dance practice system 100 includes a first input I/F 11, a second input I/F 12, a processor 13, an output I/F 14, and a memory 15.
 第1入力I/F11は、例えば有線通信インタフェースであり、USB(Universal Serial Bus)ケーブル等のケーブルを用いてカメラ2と接続されている。第1入力I/F11は、カメラ2との間で有線通信を行うことにより、カメラ2から補正前画像データを取得する。なお、第1入力I/F11は、無線通信インタフェースであってもよい。この場合、第1入力I/F11は、Wi-Fi(登録商標)等の無線通信規格に基づいて、LAN(Local Area Network)等のネットワークを介してカメラ2と通信を行うことにより、カメラ2から補正前画像データを取得する。 The first input I/F 11 is, for example, a wired communication interface, and is connected to the camera 2 using a cable such as a USB (Universal Serial Bus) cable. The first input I/F 11 acquires uncorrected image data from the camera 2 by performing wired communication with the camera 2 . Note that the first input I/F 11 may be a wireless communication interface. In this case, the first input I/F 11 communicates with the camera 2 via a network such as a LAN (Local Area Network) based on a wireless communication standard such as Wi-Fi (registered trademark). Obtain uncorrected image data from.
 実施の形態では、プロセッサ13は、第1入力I/F11で取得した補正前画像データに対して、当該補正前画像データの左右を反転させる処理を実行することにより、ユーザ画像データP2を生成する。つまり、第1入力I/F11は、補正前画像データを取得することにより、ユーザ画像データP2を間接的に取得している。 In the embodiment, the processor 13 generates the user image data P2 by performing a process of inverting the left and right sides of the uncorrected image data acquired by the first input I/F 11. . That is, the first input I/F 11 indirectly acquires the user image data P2 by acquiring the uncorrected image data.
 第2入力I/F12は、例えば無線通信インタフェースであり、Wi-Fi(登録商標)等の無線通信規格に基づいて、インターネット等のネットワークN1を介して、動画配信サービスを提供するサーバ4から手本画像データP1を取得する。動画配信サービスは、例えばユーチューブ(YouTube(登録商標))、インスタグラム(Instagram、登録商標)、又はティックトック(TikTok、登録商標)等である。 The second input I/F 12 is, for example, a wireless communication interface, and is based on a wireless communication standard such as Wi-Fi (registered trademark), and receives data from the server 4 that provides a video distribution service via a network N1 such as the Internet. Acquire main image data P1. Video distribution services include, for example, YouTube (registered trademark), Instagram (registered trademark), TikTok (registered trademark), and the like.
 なお、第2入力I/F12は、例えばユーザU1が所持するスマートフォン等の情報端末に記憶されている手本画像データP1を取得してもよいし、ユーザU1が所持するHDD(Hard Disk Drive)等の外部記憶装置に記憶されている手本画像データP1を取得してもよい。第2入力I/F12は、情報端末又は外部記憶装置から手本画像データP1を取得する場合は、USBケーブル等のケーブルを用いて情報端末又は外部記憶装置との間で有線通信することにより、手本画像データP1を取得してもよい。 Note that the second input I/F 12 may obtain the model image data P1 stored in an information terminal such as a smartphone owned by the user U1, or may obtain the model image data P1 stored in an information terminal such as a smartphone owned by the user U1, or a hard disk drive (HDD) owned by the user U1. The model image data P1 stored in an external storage device such as the above may be acquired. When acquiring the model image data P1 from an information terminal or external storage device, the second input I/F 12 performs wired communication with the information terminal or external storage device using a cable such as a USB cable. The model image data P1 may also be acquired.
 プロセッサ13は、例えばCPU(Central Processing Unit)等であって、第1入力I/F11を介して取得したユーザ画像データP2、及び第2入力I/F12を介して取得した手本画像データP1に基づいてガイド画像データP3を生成する処理等の情報処理を行う。上述の情報処理は、プロセッサ13がメモリ15に記憶されたコンピュータプログラムを実行することにより実現される。プロセッサ13は、ダンス練習システム100の信号処理回路の一例である。 The processor 13 is, for example, a CPU (Central Processing Unit), and processes the user image data P2 acquired through the first input I/F 11 and the model image data P1 acquired through the second input I/F 12. Information processing, such as processing to generate guide image data P3, is performed based on the guide image data P3. The above information processing is realized by the processor 13 executing a computer program stored in the memory 15. Processor 13 is an example of a signal processing circuit of dance practice system 100.
 実施の形態では、プロセッサ13は、プロセッサ13がメモリ15に記憶されたコンピュータプログラムを実行することにより、解析部131と、補正部132と、生成部133と、重畳部134と、合成部135として機能する。 In the embodiment, the processor 13 executes the computer program stored in the memory 15 to perform the analysis section 131, the correction section 132, the generation section 133, the superimposition section 134, and the synthesis section 135. Function.
 解析部131は、第2入力I/F12で取得した手本画像データP1を解析する。実施の形態では、解析部131による手本画像データP1の解析は、手本画像データP1をディスプレイ31に表示する前に実行される。つまり、実施の形態では、手本画像データP1のディスプレイ31への表示は、解析部131による手本画像データP1の解析が完了してから実行される。以下、解析部131による具体的な処理について、図4及び図5を用いて説明する。 The analysis unit 131 analyzes the model image data P1 acquired by the second input I/F 12. In the embodiment, analysis of the model image data P1 by the analysis unit 131 is performed before displaying the model image data P1 on the display 31. That is, in the embodiment, the display of the model image data P1 on the display 31 is executed after the analysis of the model image data P1 by the analysis unit 131 is completed. Hereinafter, specific processing by the analysis unit 131 will be explained using FIGS. 4 and 5.
 図4は、実施の形態に係る解析部131の処理例を示すフローチャートである。まず、解析部131は、第2入力I/F12で取得した手本画像データP1をフレームごとに分割する(S11)。分割された各フレームには、手本画像データP1の開始時のフレームを1フレーム目として、フレーム番号が割り当てられる。以下、あらかじめ取得している手本画像データP1がN(Nは自然数)フレームであることとして、処理対象のn番目(nは自然数で、1≦n≦N)のフレームを「フレームn」という。 FIG. 4 is a flowchart illustrating a processing example of the analysis unit 131 according to the embodiment. First, the analysis unit 131 divides the model image data P1 acquired by the second input I/F 12 into frames (S11). A frame number is assigned to each divided frame, with the frame at the start of the model image data P1 being the first frame. Hereinafter, assuming that the model image data P1 obtained in advance is N frames (N is a natural number), the nth frame to be processed (n is a natural number, 1≦n≦N) will be referred to as "frame n". .
 次に、解析部131は、フレームごとに、演者の各部位を解析することにより、演者の各部位の座標データL1(n)を算出する(S12)。ここでいう「座標データ」は、当該フレームの画像データにおけるXY平面での座標(つまり、2次元直交座標系での座標)を表すデータである。解析部131が算出した演者の各部位の座標データL1(n)は、フレームごとにメモリ15に記憶される(S13)。つまり、メモリ15には、座標データL1(1)、L1(2)、…、L1(N)が記憶される。 Next, the analysis unit 131 calculates coordinate data L1(n) of each part of the performer by analyzing each part of the performer for each frame (S12). The "coordinate data" here is data representing coordinates on the XY plane (that is, coordinates on a two-dimensional orthogonal coordinate system) in the image data of the frame. The coordinate data L1(n) of each part of the performer calculated by the analysis unit 131 is stored in the memory 15 for each frame (S13). That is, the memory 15 stores coordinate data L1(1), L1(2), . . . , L1(N).
 ステップS12においては、解析部131は、例えばキネクト(Kinect、登録商標)等の画像データに含まれる人物像の骨格座標を検出する適宜のアルゴリズムにより、演者の各部位の座標データL1(n)を算出する。実施の形態では、解析部131は、各フレームにおいて、演者の頭部、首、右肩、左肩、右手、左手、右足、及び左足の各々の座標データを算出し、これらの座標データを座標データL1(n)とする。なお、上記に挙げた演者の各部位は一例であり、解析部131は、演者のその他の部位の座標データを算出してもよい。また、解析部131が解析する演者の部位の種類の数は、上記に挙げた部位数よりも多くてもよいし、少なくてもよい。 In step S12, the analysis unit 131 calculates the coordinate data L1(n) of each part of the performer using an appropriate algorithm that detects the skeletal coordinates of a human image included in image data such as Kinect (registered trademark). calculate. In the embodiment, the analysis unit 131 calculates coordinate data of each of the performer's head, neck, right shoulder, left shoulder, right hand, left hand, right foot, and left foot in each frame, and converts these coordinate data into coordinate data. Let it be L1(n). Note that each part of the performer listed above is an example, and the analysis unit 131 may calculate coordinate data of other parts of the performer. Furthermore, the number of types of parts of the performer that the analysis unit 131 analyzes may be greater or less than the number of parts listed above.
 次に、解析部131は、フレームごとに、当該フレームにおける演者の各部位の座標データL1(n)と、1つ後のフレームにおける演者の各部位の座標データL1(n+1)との差分データD1(n)を算出する(S14)。差分データD1(n)は、座標データL1(n+1)から座標データL1(n)を減算することにより算出される。解析部131が算出した差分データD1(n)は、フレームごとにメモリ15に記憶される(S15)。つまり、メモリ15には、差分データD1(1)、D1(2)、…、D1(N-1)が記憶される。 Next, for each frame, the analysis unit 131 generates difference data D1 between the coordinate data L1(n) of each part of the performer in the frame and the coordinate data L1(n+1) of each part of the performer in the next frame. (n) is calculated (S14). The difference data D1(n) is calculated by subtracting the coordinate data L1(n) from the coordinate data L1(n+1). The difference data D1(n) calculated by the analysis unit 131 is stored in the memory 15 for each frame (S15). That is, the memory 15 stores difference data D1(1), D1(2), . . . , D1(N-1).
 図5は、実施の形態に係る解析部131での動作の説明図である。図5の(a)は手本画像データP1の「フレーム1」を示し、図5の(b)は手本画像データP1の「フレーム1」を解析することで得られた演者の各部位の座標データL1(1)を示す。図5の(c)は手本画像データP1の「フレーム2」を示し、図5の(d)は手本画像データP1の「フレーム2」を解析することで得られた演者の各部位の座標データL1(2)を示す。図5の(e)は、手本画像データP1の「フレーム3」を示し、図5の(f)は手本画像データP1の「フレーム3」を解析することで得られた演者の各部位の座標データL1(3)を示す。図5の(b)、(d)、(f)の各々において、「部位」は演者の部位を示し、「XY座標」はフレームにおける演者の各部位の座標データを示し、「XY差分」はフレームにおける演者の各部位の座標データと、1つ後のフレームにおける演者の各部位の座標データとの差分を示す。なお、図5においては、演者を骨格のみで表している。以降に登場する図面においても、同様に演者を骨格のみで図示する。 FIG. 5 is an explanatory diagram of the operation in the analysis unit 131 according to the embodiment. (a) of FIG. 5 shows "frame 1" of the model image data P1, and (b) of FIG. 5 shows the parts of the performer obtained by analyzing "frame 1" of the model image data P1. Coordinate data L1(1) is shown. (c) of FIG. 5 shows "frame 2" of the model image data P1, and (d) of FIG. 5 shows the parts of the performer obtained by analyzing "frame 2" of the model image data P1. Coordinate data L1(2) is shown. (e) of FIG. 5 shows "frame 3" of the model image data P1, and (f) of FIG. 5 shows each part of the performer obtained by analyzing "frame 3" of the model image data P1. coordinate data L1(3) is shown. In each of FIGS. 5(b), (d), and (f), "part" indicates the part of the performer, "XY coordinates" indicates the coordinate data of each part of the performer in the frame, and "XY difference" The difference between the coordinate data of each part of the performer in a frame and the coordinate data of each part of the performer in the next frame is shown. Note that in FIG. 5, the performers are represented only by their skeletons. In subsequent drawings, the performers are similarly illustrated only with their skeletons.
 図5において、例えば、手本画像データP1の「フレーム2」における演者の頭部の差分データ(a12,b12)は、手本画像データP1の「フレーム2」における演者の頭部の座標データ(x12,y12)と、手本画像データP1の「フレーム3」における演者の頭部の座標データ(x13,y13)との差分である。つまり、差分データD1(2)は、手本画像データP1の「フレーム3」における演者の各部位の座標データL1(3)から、手本画像データP1の「フレーム2」における演者の各部位の座標データL1(2)を減算することにより算出される。 In FIG. 5, for example, the difference data (a12, b12) of the performer's head in "frame 2" of the model image data P1 is the coordinate data (a12, b12) of the performer's head in "frame 2" of the model image data P1 ( x12, y12) and the coordinate data (x13, y13) of the performer's head in "frame 3" of the model image data P1. In other words, the difference data D1(2) is derived from the coordinate data L1(3) of each part of the performer in "Frame 3" of the model image data P1, and the coordinate data L1(3) of each part of the performer in "Frame 2" of the model image data P1. It is calculated by subtracting the coordinate data L1(2).
 また、解析部131は、手本画像データP1をメモリ15に記憶させる(S16)。ステップS16は、ステップS11~S15と並行して実行されてもよいし、ステップS11よりも前に実行されてもよい。 Furthermore, the analysis unit 131 stores the model image data P1 in the memory 15 (S16). Step S16 may be executed in parallel with steps S11 to S15, or may be executed before step S11.
 補正部132は、第1入力I/F11を介して取得したユーザ画像データP2と、第2入力I/F12を介して取得した手本画像データP1とに基づいて、生成部133にてガイド画像データP3を補正する際に用いるガイド補正値を算出する。以下、補正部132による具体的な処理について、図6を用いて説明する。 The correction unit 132 generates a guide image in the generation unit 133 based on the user image data P2 acquired through the first input I/F 11 and the model image data P1 acquired through the second input I/F 12. A guide correction value used when correcting data P3 is calculated. Hereinafter, specific processing by the correction unit 132 will be explained using FIG. 6.
 図6は、実施の形態に係る補正部132の処理例を示すフローチャートである。まず、補正部132は、第1入力I/F11を介して取得したユーザ画像データP2のうちの所定時点で取得した特定フレームにおけるユーザU1の各部位の座標データを算出する(S21)。補正部132が算出したユーザU1の各部位の座標データは、特定フレームと紐づけられてメモリ15に記憶される。 FIG. 6 is a flowchart showing an example of processing by the correction unit 132 according to the embodiment. First, the correction unit 132 calculates coordinate data of each part of the user U1 in a specific frame acquired at a predetermined time point of the user image data P2 acquired via the first input I/F 11 (S21). The coordinate data of each part of the user U1 calculated by the correction unit 132 is stored in the memory 15 in association with a specific frame.
 ここで、特定フレームは、例えばユーザ画像データP2のうちの最新のフレームであってもよいし、任意のフレームであってもよい。なお、ユーザ画像データP2のうちの最新のフレームを特定フレームとして用いた方が、ユーザU1の最新の状態に応じたガイド補正値を算出することができるため、好ましい。以下では、ユーザ画像データP2の特定フレームが「フレームn」であることとして説明する。したがって、特定フレームにおけるユーザU1の各部位の座標データL2(n)が、特定フレームと紐づけられてメモリ15に記憶される。 Here, the specific frame may be, for example, the latest frame of the user image data P2, or may be any frame. Note that it is preferable to use the latest frame of the user image data P2 as the specific frame because it is possible to calculate the guide correction value according to the latest state of the user U1. In the following description, it is assumed that the specific frame of the user image data P2 is "frame n". Therefore, the coordinate data L2(n) of each part of the user U1 in the specific frame is stored in the memory 15 in association with the specific frame.
 ステップS21においては、補正部132は、解析部131と同様に、例えばキネクト(登録商標)等の画像データに含まれる人物像の骨格座標を検出する適宜のアルゴリズムにより、特定フレームにおけるユーザU1の各部位の座標データL2(n)を算出する。補正部132が算出対象とするユーザU1の各部位は、解析部131が算出対象とする演者の各部位と同じである。したがって、ここでは、補正部132は、特定フレームにおけるユーザU1の頭部、首、右肩、左肩、右手、左手、右足、及び左足の各々の座標データを算出する。 In step S21, similarly to the analysis unit 131, the correction unit 132 uses an appropriate algorithm for detecting the skeletal coordinates of a human image included in image data such as Kinect (registered trademark) to calculate each of user U1's points in a specific frame. Coordinate data L2(n) of the part is calculated. The parts of the user U1 that are to be calculated by the correction unit 132 are the same as the parts of the performer that are to be calculated by the analysis unit 131. Therefore, here, the correction unit 132 calculates coordinate data of each of the head, neck, right shoulder, left shoulder, right hand, left hand, right foot, and left foot of the user U1 in the specific frame.
 次に、補正部132は、特定フレームが手本画像データP1の複数のフレームのうちのいずれのフレームに対応するかを解析することで、特定フレームに対応する対応フレームを決定する(S22)。対応フレームは、演者の動きが特定フレームにおけるユーザU1の動きと最も近いフレームである。 Next, the correction unit 132 determines a corresponding frame corresponding to the specific frame by analyzing which frame of the plurality of frames of the model image data P1 the specific frame corresponds to (S22). The corresponding frame is a frame in which the movement of the performer is closest to the movement of user U1 in the specific frame.
 具体的には、補正部132は、特定フレーム(ここでは、ユーザ画像データP2の「フレームn」)におけるユーザU1の各部位の座標データL2(n)と、メモリ15に記憶されている手本画像データP1における2×α+1(αは自然数)個のフレームの各々における演者の各部位の座標データL1(n+k)(-α≦k≦α、kは整数)との差分データD12(n+k)を算出する。 Specifically, the correction unit 132 uses the coordinate data L2(n) of each part of the user U1 in a specific frame (here, "frame n" of the user image data P2) and the model stored in the memory 15. Difference data D12 (n+k) between coordinate data L1 (n+k) (-α≦k≦α, k is an integer) of each part of the performer in each of 2×α+1 (α is a natural number) frames in the image data P1 is calculated. calculate.
 具体例として、α=2である場合、補正部132は、ユーザ画像データP2の「フレームn」におけるユーザU1の各部位の座標データL2(n)と、手本画像データP1における「フレーム(n-2)」、「フレーム(n-1)」、…、「フレーム(n+2)」の各々における演者の各部位の座標データL1(n-2)、L1(n-1)、…、L1(n+2)との差分データD12(n-2)、D12(n-1)、…、D12(n+2)を算出する。 As a specific example, when α=2, the correction unit 132 calculates coordinate data L2(n) of each part of the user U1 in "frame n" of the user image data P2 and "frame (n)" in the model image data P1. Coordinate data L1(n-2), L1(n-1),..., L1( D12(n-2), D12(n-1), . . . , D12(n+2) are calculated.
 そして、補正部132は、算出した差分データD12(n+k)が最小となるフレームを、特定フレームに対応する対応フレームとして決定する。ここでは、算出した差分データが最小となることは、例えば各部位の差分データの積算値が最小となることに相当する。ここでいう各部位の差分データは、当該差分データで示されるベクトルの長さ、又は当該長さに相当する値である。例えば、各部位の差分データが示すベクトルが(dx1、dy1)である場合、差分データの値は、dx12+dy12となる。 Then, the correction unit 132 determines the frame for which the calculated difference data D12(n+k) is the minimum as the corresponding frame corresponding to the specific frame. Here, the fact that the calculated difference data becomes the minimum corresponds to, for example, that the integrated value of the difference data of each part becomes the minimum. The difference data of each part here is the length of a vector indicated by the difference data, or a value corresponding to the length. For example, when the vector indicated by the difference data of each part is (dx1, dy1), the value of the difference data is dx12+dy12.
 図7は、実施の形態に係る補正部132での動作の説明図である。図7の(a)はユーザ画像データP2の特定フレーム(ここでは、「フレームn」)を示し、図7の(b)は特定フレームを解析することで得られたユーザU1の各部位の座標データL2(n)を示す。図7の(c)、(e)、(g)、(i)、(k)は、それぞれ手本画像データP1の「フレーム(n-2)」(k=-2)、「フレーム(n-1)」(k=-1)、「フレームn」(k=0)、「フレーム(n+1)」(k=1)、及び「フレーム(n+2)」(k=2)を示す。 FIG. 7 is an explanatory diagram of the operation in the correction unit 132 according to the embodiment. (a) of FIG. 7 shows a specific frame (here, "frame n") of the user image data P2, and (b) of FIG. 7 shows the coordinates of each part of the user U1 obtained by analyzing the specific frame. Data L2(n) is shown. (c), (e), (g), (i), and (k) in FIG. 7 are "frame (n-2)" (k=-2) and "frame (n −1)” (k=−1), “frame n” (k=0), “frame (n+1)” (k=1), and “frame (n+2)” (k=2).
 図7の(b)において、「部位」はユーザU1の部位を示し、「XY座標」はフレームにおけるユーザU1の各部位の座標を示す。 In FIG. 7(b), "part" indicates the part of the user U1, and "XY coordinates" indicates the coordinates of each part of the user U1 in the frame.
 図7に示す例では、特定フレームにおけるユーザU1の各部位の座標データL2(n)と、手本画像データP1の「フレーム(n-1)」(k=-1)における演者の各部位の座標データL1(n-1)との差分が最小となる。このため、補正部132は、手本画像データP1の「フレーム(n-1)」(k=-1)を対応フレームとして決定する。 In the example shown in FIG. 7, coordinate data L2(n) of each part of the user U1 in a specific frame and coordinate data L2(n) of each part of the performer in "frame (n-1)" (k=-1) of the model image data P1 are shown. The difference from the coordinate data L1(n-1) is the minimum. Therefore, the correction unit 132 determines "frame (n-1)" (k=-1) of the model image data P1 as the corresponding frame.
 図6に戻り、補正部132は、ガイド補正値β1を算出する(S23)。補正部132が算出したガイド補正値β1は、メモリ15に記憶される。具体的には、補正部132は、「β1=-k1」の式に基づいて、ガイド補正値β1を算出する。ここで、「k1」は、上述の差分データD12(n+k)が最小となる場合の「k」の値である。言い換えれば、「k1」は、手本画像データP1における対応フレームに割り当てられた番号から、手本画像データP1における特定フレームの取得時点に対応するフレームに割り当てられた番号を減算することにより算出する。 Returning to FIG. 6, the correction unit 132 calculates the guide correction value β1 (S23). The guide correction value β1 calculated by the correction unit 132 is stored in the memory 15. Specifically, the correction unit 132 calculates the guide correction value β1 based on the formula “β1=−k1”. Here, "k1" is the value of "k" when the above-mentioned difference data D12 (n+k) is the minimum. In other words, "k1" is calculated by subtracting the number assigned to the frame corresponding to the acquisition time of the specific frame in the model image data P1 from the number assigned to the corresponding frame in the model image data P1. .
 ここで、ガイド補正値β1は、手本画像データP1の複数のフレームのうちの決定したフレーム(対応フレーム)と、ユーザ画像データP2における特定フレームとの時間差を示す。言い換えれば、ガイド補正値β1は、手本画像データP1における演者の動きに対する、ユーザU1の動きの追従の度合いを示す。例えば、ガイド補正値β1が零である場合、手本画像データP1における演者の動きに対して、ユーザU1が遅れることなく動けていることを示す。一方、ガイド補正値β1が正の値(つまり、「k1<0」)である場合、手本画像データP1における演者の動きに対して、ユーザU1の動きが遅れていることを示す。この場合、ガイド補正値β1の絶対値が大きい程、手本画像データP1における演者の動きに対してユーザU1の動きが遅れている。また、ガイド補正値β1が負の値(つまり、「k1>0」)である場合、手本画像データP1における演者の動きに対して、ユーザU1の動きが先行していることを示す。この場合、ガイド補正値β1の絶対値が大きい程、手本画像データP1における演者の動きに対してユーザU1の動きが先行している。 Here, the guide correction value β1 indicates the time difference between the determined frame (corresponding frame) among the plurality of frames of the model image data P1 and the specific frame in the user image data P2. In other words, the guide correction value β1 indicates the degree to which the movement of the user U1 follows the movement of the performer in the model image data P1. For example, when the guide correction value β1 is zero, it indicates that the user U1 can move without delay with respect to the movement of the performer in the model image data P1. On the other hand, when the guide correction value β1 is a positive value (that is, "k1<0"), it indicates that the movement of the user U1 lags behind the movement of the performer in the model image data P1. In this case, the larger the absolute value of the guide correction value β1 is, the more the user U1's movement lags behind the performer's movement in the model image data P1. Further, when the guide correction value β1 is a negative value (that is, "k1>0"), it indicates that the movement of the user U1 precedes the movement of the performer in the model image data P1. In this case, the larger the absolute value of the guide correction value β1 is, the more the user U1's movement precedes the performer's movement in the model image data P1.
 なお、補正部132は、後述するオフセットβが「β=β0+β1≧0」を満たすように、ガイド補正値β1の値を制限する。ここで、「β0」は、オフセットβの初期値を表している。例えば、「β0+β1≧0」、つまり「β0≧k1」である場合、ガイド補正値β1は「β1=k1」となる。一方、「β0+β1<0」、つまり「β0<k1」である場合、ガイド補正値β1は「β1=-β0」となる。具体例を挙げると、「β0=2」、「k1>2」である場合、ガイド補正値β1は「β1=-β0=-2」となる。 Note that the correction unit 132 limits the value of the guide correction value β1 so that the offset β, which will be described later, satisfies "β=β0+β1≧0". Here, "β0" represents the initial value of offset β. For example, when "β0+β1≧0", that is, "β0≧k1", the guide correction value β1 becomes "β1=k1". On the other hand, when "β0+β1<0", that is, "β0<k1", the guide correction value β1 becomes "β1=-β0". To give a specific example, when "β0=2" and "k1>2", the guide correction value β1 becomes "β1=-β0=-2".
 生成部133は、補正部132で算出したガイド補正値β1に基づいて、ガイド画像データP3を生成する。以下、生成部133による具体的な処理について、図8を用いて説明する。 The generation unit 133 generates guide image data P3 based on the guide correction value β1 calculated by the correction unit 132. Hereinafter, specific processing by the generation unit 133 will be explained using FIG. 8.
 図8は、実施の形態に係る生成部133の処理例を示すフローチャートである。まず、生成部133は、オフセットβを算出する(S31)。生成部133が算出したオフセットβは、メモリ15に記憶される。ここで、オフセットβは、オフセットβの初期値β0に、ユーザ画像データP2における特定フレームの解析により算出したガイド補正値β1を加算することで算出され、単位はフレーム数である。実施の形態では、オフセットβの初期値β0は、2フレームである。 FIG. 8 is a flowchart illustrating an example of processing by the generation unit 133 according to the embodiment. First, the generation unit 133 calculates the offset β (S31). The offset β calculated by the generation unit 133 is stored in the memory 15. Here, the offset β is calculated by adding the guide correction value β1 calculated by analyzing a specific frame in the user image data P2 to the initial value β0 of the offset β, and the unit is the number of frames. In the embodiment, the initial value β0 of the offset β is two frames.
 次に、生成部133は、算出したオフセットβに基づいて、ガイド画像データP3を生成する(S32)。具体的には、生成部133は、ディスプレイ31に表示されているユーザ画像データP2の「フレームn」の次のフレームである「フレーム(n+1)」に対応する手本画像データP1の「フレーム(n+1)」(以下、「前フレーム」という)と、当該フレームからオフセットβ分だけ後の手本画像データP1のフレームである「フレーム(n+1+β)」(以下、「後フレーム」という)と、を決定する。次に、生成部133は、前フレームから後フレームまでの全てのフレーム(後フレームを除く)の各々に対応する差分データD1(n+1)、…D1(n+β)を、メモリ15から読み出す。そして、生成部133は、読み出した全ての差分データD1(n+1)、…D1(n+β)を加算した差分Dに基づいて、ガイド画像データP3を生成する。差分Dは、「D=D1(n+1)+…+D1(n+β)」により表される。 Next, the generation unit 133 generates guide image data P3 based on the calculated offset β (S32). Specifically, the generation unit 133 generates a “frame ( n+1)'' (hereinafter referred to as the ``previous frame''), and ``frame (n+1+β)'' (hereinafter referred to as the ``later frame''), which is a frame of the model image data P1 after an offset β from the relevant frame. decide. Next, the generation unit 133 reads, from the memory 15, difference data D1(n+1), . Then, the generation unit 133 generates guide image data P3 based on the difference D obtained by adding all the read difference data D1(n+1), . . . D1(n+β). The difference D is represented by "D=D1(n+1)+...+D1(n+β)".
 この場合、生成部133は、後フレームである「フレーム(n+1+β)」における演者の各部位の座標データL1(n+1+β)に基づいて、ガイド画像データP3における到達点の画像を、ユーザU1の部位ごとに生成する。また、生成部133は、差分Dに基づいて、ガイド画像データP3における矢印の画像を、ユーザU1の部位ごとに生成する。このように、実施の形態では、生成部133は、手本画像データP1の複数のフレームのうち、所定時点よりも時間差(ガイド補正値β1)に応じた時間だけ後のフレーム(後フレーム)を参照して、ガイド画像データP3を生成する。 In this case, the generation unit 133 generates an image of the arrival point in the guide image data P3 for each part of the user U1 based on the coordinate data L1 (n+1+β) of each part of the performer in "frame (n+1+β)" which is the subsequent frame. to be generated. Furthermore, based on the difference D, the generation unit 133 generates an arrow image in the guide image data P3 for each part of the user U1. In this manner, in the embodiment, the generation unit 133 generates a frame (later frame) that is after a predetermined time point by a time corresponding to the time difference (guide correction value β1), among the plurality of frames of the model image data P1. With reference to this, guide image data P3 is generated.
 そして、生成部133は、生成したガイド画像データP3を出力する(S33)。ここでは、生成部133は、生成したガイド画像データP3を重畳部134に出力する。 Then, the generation unit 133 outputs the generated guide image data P3 (S33). Here, the generation unit 133 outputs the generated guide image data P3 to the superimposition unit 134.
 重畳部134は、第1入力I/F11を介して取得したユーザ画像データP2に、生成部133で生成したガイド画像データP3を重畳した画像データを、フレームごとに生成する。重畳部134は、重畳した画像データを合成部135に出力する。 The superimposing unit 134 generates image data for each frame by superimposing the guide image data P3 generated by the generating unit 133 on the user image data P2 acquired via the first input I/F 11. The superimposing unit 134 outputs the superimposed image data to the combining unit 135.
 合成部135は、重畳部134で重畳した画像データと、メモリ15から読み出した手本画像データP1とを合成した画像データを、フレームごとに生成する。ここで、合成部135は、重畳部134で重畳した画像データ(つまり、ユーザ画像データP2及びガイド画像データP3)がディスプレイ31の主画面311に、手本画像データP1がディスプレイ31の副画面312に表示されるように、これらのデータを合成する。合成部135は、合成した画像データを出力I/F14に出力する。 The composition unit 135 generates image data for each frame by combining the image data superimposed by the superposition unit 134 and the model image data P1 read from the memory 15. Here, the combining unit 135 displays the image data (that is, user image data P2 and guide image data P3) superimposed by the superimposing unit 134 on the main screen 311 of the display 31, and the model image data P1 on the sub-screen 312 of the display 31. Combine these data so that they are displayed in The combining unit 135 outputs the combined image data to the output I/F 14.
 出力I/F14は、合成部135で合成した画像データをディスプレイ31に表示させる。これにより、ディスプレイ31における主画面311にはユーザ画像データP2及びガイド画像データP3が、副画面312には手本画像データP1が表示される。つまり、出力I/F14は、ユーザ画像データP2、手本画像データP1、及びガイド画像データP3をディスプレイ31に表示させる。 The output I/F 14 causes the display 31 to display the image data synthesized by the synthesis unit 135. As a result, the user image data P2 and the guide image data P3 are displayed on the main screen 311 of the display 31, and the model image data P1 is displayed on the sub screen 312. That is, the output I/F 14 causes the display 31 to display the user image data P2, the model image data P1, and the guide image data P3.
 メモリ15は、プロセッサ13が情報処理を行うために必要な各種情報、及びプロセッサ13が実行するコンピュータプログラム等が記憶される記憶装置である。また、メモリ15は、第1入力I/F11を介して取得したユーザ画像データP2、第2入力I/F12を介して取得した手本画像データP1、解析部131で算出した演者の各部位の座標データ及び差分データ、並びに生成部133で生成したガイド画像データP3等を記憶する。メモリ15は、例えば半導体メモリによって実現される。 The memory 15 is a storage device that stores various information necessary for the processor 13 to perform information processing, computer programs executed by the processor 13, and the like. The memory 15 also stores user image data P2 acquired via the first input I/F 11, model image data P1 acquired via the second input I/F 12, and information on each part of the performer calculated by the analysis unit 131. Coordinate data, difference data, guide image data P3 generated by the generation unit 133, etc. are stored. The memory 15 is realized, for example, by a semiconductor memory.
 [2.具体例]
 以下、実施の形態に係るダンス練習システム100の具体例について、図9及び図10を用いて説明する。図9は、実施の形態に係るダンス練習システム100の第1具体例の説明図である。図10は、実施の形態に係るダンス練習システム100の第2具体例の説明図である。図9及び図10の各々において、上段には、ディスプレイ31の副画面312に表示される手本画像データP1の「フレーム1」、「フレーム2」、「フレーム3」、「フレーム4」、「フレーム5」、及び「フレーム6」を、副画面312のみを切り出して横方向に並べて示している。また、図9及び図10の各々において、下段には、ディスプレイ31の主画面311に表示されるユーザ画像データP2の「フレーム2」及び「フレーム3」を、主画面311のみを切り出して横方向に並べて示している。さらに、図9及び図10の各々において、「現在のフレーム」は、ディスプレイ31に表示されているフレームを表しており、「次のフレーム」は、現在のフレームの次にディスプレイ31に表示されるフレームを表している。
[2. Concrete example]
A specific example of the dance practice system 100 according to the embodiment will be described below with reference to FIGS. 9 and 10. FIG. 9 is an explanatory diagram of a first specific example of the dance practice system 100 according to the embodiment. FIG. 10 is an explanatory diagram of a second specific example of the dance practice system 100 according to the embodiment. In each of FIGS. 9 and 10, "frame 1", "frame 2", "frame 3", "frame 4", and "frame 4" of the model image data P1 displayed on the sub-screen 312 of the display 31 are shown in the upper row. "Frame 5" and "Frame 6" are shown side by side in the horizontal direction with only the sub-screen 312 cut out. In each of FIGS. 9 and 10, "frame 2" and "frame 3" of the user image data P2 displayed on the main screen 311 of the display 31 are shown in the horizontal direction by cutting out only the main screen 311. are shown side by side. Furthermore, in each of FIGS. 9 and 10, the "current frame" represents the frame displayed on the display 31, and the "next frame" represents the frame displayed on the display 31 after the current frame. represents a frame.
 図9に示す第1具体例では、ユーザ画像データP2の現在のフレーム(特定フレーム)である「フレーム2」と、手本画像データP1の現在のフレームである「フレーム2」とが一致している状況を示している。言い換えれば、第1具体例では、ユーザU1の動きが演者の動きに遅れずに追従できている。このため、第1具体例では、プロセッサ13の補正部132は、手本画像データP1の「フレーム2」を対応フレームに決定する。そして、補正部132は、「k1=0」を算出する。「k1」は、差分データD12(n+k)が最小となる場合の「k」の値である。これにより、補正部132は、ガイド補正値β1を「β1=-k1=0」と算出する。 In the first specific example shown in FIG. 9, "Frame 2", which is the current frame (specific frame) of user image data P2, and "Frame 2", which is the current frame of model image data P1, match. It shows the situation. In other words, in the first specific example, the movement of the user U1 is able to follow the movement of the performer without delay. Therefore, in the first specific example, the correction unit 132 of the processor 13 determines "frame 2" of the model image data P1 as the corresponding frame. Then, the correction unit 132 calculates "k1=0". "k1" is the value of "k" when the difference data D12 (n+k) is the minimum. Accordingly, the correction unit 132 calculates the guide correction value β1 as “β1=−k1=0”.
 次に、プロセッサ13の生成部133は、オフセットβを「β=β0+β1=2」と算出する。そして、生成部133は、算出したオフセットβに基づいて、ガイド画像データP3を生成する。ここでは、生成部133は、ディスプレイ31に表示されているユーザ画像データP2の「フレーム2」の次のフレームである「フレーム3」に対応する手本画像データP1の「フレーム3」を前フレームに決定する。また、生成部133は、手本画像データP1の前フレームからオフセットβ(ここでは、「β=2」)分だけ後のフレームである「フレーム5」を後フレームに決定する。 Next, the generation unit 133 of the processor 13 calculates the offset β as “β=β0+β1=2”. Then, the generation unit 133 generates guide image data P3 based on the calculated offset β. Here, the generation unit 133 generates "Frame 3" of the model image data P1 corresponding to "Frame 3" which is the next frame of "Frame 2" of the user image data P2 displayed on the display 31 from the previous frame. decided on. Furthermore, the generation unit 133 determines “frame 5”, which is a frame after the previous frame of the model image data P1 by an offset β (here, “β=2”), as the subsequent frame.
 次に、生成部133は、前フレームから後フレームまでの全てのフレーム(後フレームを除く)の各々に対応する差分データD1(3)、D1(4)を、メモリ15から読み出す。そして、生成部133は、読み出した全ての差分データD1(3)、D1(4)を加算した差分Dに基づいて、ガイド画像データP3を生成する。 Next, the generation unit 133 reads from the memory 15 the difference data D1(3) and D1(4) corresponding to each of all frames from the previous frame to the subsequent frame (excluding the subsequent frame). Then, the generation unit 133 generates guide image data P3 based on the difference D obtained by adding all the read difference data D1(3) and D1(4).
 第1具体例では、ユーザ画像データP2の次のフレームである「フレーム3」がディスプレイ31に表示される際に、ユーザU1の左手に対応する画像データP33と、ユーザU1の右手に対応する画像データP34と、ユーザU1の右足に対応する画像データP35と、を含むガイド画像データP3が重畳して表示される。そして、第1具体例では、各画像データP33、P34、P35における各矢印P331、P341、P351は、差分Dを参照して生成される。差分Dは、前フレームである手本画像データP1の「フレーム3」から後フレームである手本画像データP1の「フレーム5」までの全てのフレーム(後フレームを除く)の各々に対応する差分データD1(3)、D1(4)を参照して算出される。同様に、第1具体例では、各画像データP33、P34、P35における各到達点P332、P342、P352は、後フレームである手本画像データP1の「フレーム5」を参照して生成される。 In the first specific example, when "frame 3" which is the next frame of user image data P2 is displayed on the display 31, image data P33 corresponding to the left hand of user U1 and an image corresponding to the right hand of user U1 are displayed. Guide image data P3 including data P34 and image data P35 corresponding to the right foot of user U1 is displayed in a superimposed manner. In the first specific example, the arrows P331, P341, and P351 in the image data P33, P34, and P35 are generated with reference to the difference D. Difference D is a difference corresponding to each of all frames (excluding the subsequent frame) from "Frame 3" of model image data P1, which is the previous frame, to "Frame 5" of model image data P1, which is the subsequent frame. Calculated with reference to data D1(3) and D1(4). Similarly, in the first specific example, each destination point P332, P342, P352 in each image data P33, P34, P35 is generated with reference to "frame 5" of model image data P1, which is a subsequent frame.
 ユーザU1は、図9に示すガイド画像データP3を見ながら、自身の右手、左手、及び右足をガイド画像データP3に従って動かす。これにより、ユーザU1の動きが演者の動きに遅れずに追従できている状態を維持しやすくなる。 The user U1 moves his right hand, left hand, and right foot according to the guide image data P3 while looking at the guide image data P3 shown in FIG. This makes it easier to maintain a state in which the user U1's movements can follow the performer's movements without delay.
 一方、図10に示す第2具体例では、ユーザ画像データP2の現在のフレームである「フレーム2」と、手本画像データP1の現在のフレームよりも1つ前のフレームである「フレーム1」とが一致している状況を示している。言い換えれば、第2具体例では、ユーザU1の動きが演者の動きから1フレーム分だけ遅れている。このため、第2具体例では、プロセッサ13の補正部132は、手本画像データP1の「フレーム1」を対応フレームに決定する。そして、補正部132は、「k1=-1」を算出する。「k1」は、差分データD12(n+k)が最小となる場合の「k」の値である。これにより、補正部132は、ガイド補正値β1を「β1=-k1=1」と算出する。 On the other hand, in the second specific example shown in FIG. 10, "frame 2" is the current frame of the user image data P2, and "frame 1" is the previous frame of the model image data P1. This shows a situation in which the two are in agreement. In other words, in the second specific example, the movement of the user U1 lags behind the movement of the performer by one frame. Therefore, in the second specific example, the correction unit 132 of the processor 13 determines "frame 1" of the model image data P1 as the corresponding frame. Then, the correction unit 132 calculates "k1=-1". "k1" is the value of "k" when the difference data D12 (n+k) is the minimum. Accordingly, the correction unit 132 calculates the guide correction value β1 as “β1=−k1=1”.
 次に、プロセッサ13の生成部133は、オフセットβを「β=β0+β1=3」と算出する。そして、生成部133は、算出したオフセットβに基づいて、ガイド画像データP3を生成する。ここでは、生成部133は、ディスプレイ31に表示されているユーザ画像データP2の「フレーム2」の次のフレームである「フレーム3」に対応する手本画像データP1の「フレーム3」を前フレームに決定する。また、生成部133は、手本画像データP1の前フレームからオフセットβ(ここでは、「β=3」)分だけ後のフレームである「フレーム6」を後フレームに決定する。 Next, the generation unit 133 of the processor 13 calculates the offset β as “β=β0+β1=3”. Then, the generation unit 133 generates guide image data P3 based on the calculated offset β. Here, the generation unit 133 generates "Frame 3" of the model image data P1 corresponding to "Frame 3" which is the next frame of "Frame 2" of the user image data P2 displayed on the display 31 from the previous frame. decided on. Furthermore, the generation unit 133 determines "frame 6", which is a frame after the previous frame of the model image data P1 by an offset β (here, "β=3"), as the subsequent frame.
 次に、生成部133は、前フレームから後フレームまでの全てのフレーム(後フレームを除く)の各々に対応する差分データD1(3)、D1(4)、D1(5)を、メモリ15から読み出す。そして、生成部133は、読み出した全ての差分データD1(3)、D1(4)、D1(5)を加算した差分Dに基づいて、ガイド画像データP3を生成する。 Next, the generation unit 133 generates difference data D1(3), D1(4), and D1(5) corresponding to each of all frames from the previous frame to the subsequent frame (excluding the subsequent frame) from the memory 15. read out. Then, the generation unit 133 generates guide image data P3 based on the difference D obtained by adding all the read difference data D1(3), D1(4), and D1(5).
 第2具体例では、ユーザ画像データP2の次のフレームである「フレーム3」がディスプレイ31に表示される際に、ユーザU1の左手に対応する画像データP33と、ユーザU1の右手に対応する画像データP34と、ユーザU1の右足に対応する画像データP35と、を含むガイド画像データP3が重畳して表示される。そして、第2具体例では、各画像データP33、P34、P35における各矢印P331、P341、P351は、差分Dを参照して生成される。差分Dは、前フレームである手本画像データP1の「フレーム3」から後フレームである手本画像データP1の「フレーム6」までの全てのフレーム(後フレームを除く)の各々に対応する差分データD1(3)、D1(4)、D1(5)を参照して算出される。同様に、第2具体例では、各画像データP33、P34、P35における各到達点P332、P342、P352は、後フレームである手本画像データP1の「フレーム6」を参照して生成される。 In the second specific example, when "frame 3", which is the next frame of user image data P2, is displayed on the display 31, image data P33 corresponding to the left hand of user U1 and an image corresponding to the right hand of user U1 are displayed. Guide image data P3 including data P34 and image data P35 corresponding to the right foot of user U1 is displayed in a superimposed manner. In the second specific example, the arrows P331, P341, and P351 in the image data P33, P34, and P35 are generated with reference to the difference D. Difference D is a difference corresponding to each of all frames (excluding the subsequent frame) from "Frame 3" of model image data P1, which is the previous frame, to "Frame 6" of model image data P1, which is the subsequent frame. Calculated with reference to data D1(3), D1(4), and D1(5). Similarly, in the second specific example, each destination point P332, P342, P352 in each image data P33, P34, P35 is generated with reference to "frame 6" of the model image data P1, which is the subsequent frame.
 ユーザU1は、図10に示すガイド画像データP3を見ながら、自身の右手、左手、及び右足をガイド画像データP3に従って動かす。これにより、現時点でユーザU1の動きが演者の動きから遅れていたとしても、ユーザU1の動きが演者の動きに遅れずに追従しやすくなる。 The user U1 moves his right hand, left hand, and right foot according to the guide image data P3 while looking at the guide image data P3 shown in FIG. This makes it easier for the user U1's movements to follow the performer's movements without being delayed, even if the user U1's movements are behind the performer's movements at the current moment.
 上述のように、実施の形態に係るダンス練習システム100では、プロセッサ13は、手本画像データP1の複数のフレームのうちの決定したフレーム(対応フレーム)に対して、ユーザ画像データP2の特定フレームが遅れている場合、決定したフレームと特定フレームとの時間差(ガイド補正値β1)が大きい程、より時間的に先の手本画像データP1を参照してガイド画像データP3を生成している。つまり、実施の形態に係るダンス練習システム100では、プロセッサ13は、上記時間差が大きい程、ディスプレイ31にガイド画像データP3を表示させるタイミングを早めるように制御している。 As described above, in the dance practice system 100 according to the embodiment, the processor 13 selects a specific frame of the user image data P2 for the determined frame (corresponding frame) out of the plurality of frames of the model image data P1. is delayed, the larger the time difference (guide correction value β1) between the determined frame and the specific frame, the more the guide image data P3 is generated by referring to the model image data P1 that is earlier in time. That is, in the dance practice system 100 according to the embodiment, the processor 13 controls the display 31 to display the guide image data P3 earlier as the time difference becomes larger.
 このため、実施の形態に係るダンス練習システム100では、ユーザU1の動きが演者の動きに遅れて追従できていない場合でも、ユーザU1は遅れに応じて最適化されたガイド画像データP3を見ながらダンスを練習することができる。したがって、実施の形態に係るダンス練習システム100では、ユーザU1がダンスを練習する際に、演者の動きを模倣しやすくなり、ダンスの習熟度が向上しやすい、という利点がある。 Therefore, in the dance practice system 100 according to the embodiment, even if the movement of the user U1 is delayed and cannot follow the movement of the performer, the user U1 can continue to watch the guide image data P3 optimized according to the delay. You can practice dancing. Therefore, the dance practice system 100 according to the embodiment has the advantage that when the user U1 practices dancing, it is easier to imitate the movements of the performer, and the dance proficiency level is easier to improve.
 ところで、実施の形態において、プロセッサ13の生成部133が「フレームn」の次のフレームである「フレーム(n+1)」を前フレームに決定する理由は、以下の通りである。すなわち、ディスプレイ31にユーザ画像データP2が表示される際には、ガイド画像データP3が重畳して表示されるが、当該ガイド画像データP3は、手本画像データP1における前フレームから後フレームまでの変化量(動き量)を参照して生成される。ここで、仮に前フレームを「フレームn」に決定した場合、ユーザ画像データP2の「フレームn」をディスプレイ31に表示する前に、「フレームn」に対応するガイド画像データP3を生成する処理を実行しなければならない。したがって、この場合、カメラ2でユーザU1を撮像した時点から、ディスプレイ31にユーザ画像データP2の「フレームn」を表示するまでに遅延が生じる。 By the way, in the embodiment, the reason why the generation unit 133 of the processor 13 determines "frame (n+1)", which is the next frame of "frame n", as the previous frame is as follows. That is, when the user image data P2 is displayed on the display 31, the guide image data P3 is displayed in a superimposed manner, but the guide image data P3 covers the entire range from the previous frame to the subsequent frame in the model image data P1. Generated with reference to the amount of change (amount of movement). Here, if the previous frame is determined to be "frame n", before displaying "frame n" of the user image data P2 on the display 31, a process of generating guide image data P3 corresponding to "frame n" is performed. must be carried out. Therefore, in this case, a delay occurs from the time the camera 2 captures an image of the user U1 until the display 31 displays "frame n" of the user image data P2.
 これに対して、実施の形態では、ディスプレイ31にユーザ画像データP2の「フレームn」を表示する際には、「フレームn」の前のフレームである「フレーム(n-1)」をディスプレイ31に表示する時点で生成した「フレームn」に対応するガイド画像データP3を重畳して表示する。これにより、実施の形態では、カメラ2でユーザU1を撮像した時点から、ディスプレイ31にユーザ画像データP2の「フレームn」を表示するまでの遅延を低減することができる。ここで、ユーザ画像データP2の「フレームn」をディスプレイ31に表示しつつ、次のフレームである「フレーム(n+1)」に対応するガイド画像データP3を生成するため、「フレーム(n+1)」を前フレームに決定している。そして、ユーザ画像データP2の「フレーム(n+1)」が表示されるタイミングで、「フレーム(n+1)」に対応するガイド画像データP3をディスプレイ31に表示することができる。 On the other hand, in the embodiment, when displaying "frame n" of the user image data P2 on the display 31, "frame (n-1)" which is the frame before "frame n" is displayed on the display 31. The guide image data P3 corresponding to "frame n" generated at the time of display is superimposed and displayed. Thereby, in the embodiment, it is possible to reduce the delay from the time when the user U1 is imaged by the camera 2 to the time when "frame n" of the user image data P2 is displayed on the display 31. Here, while displaying "frame n" of the user image data P2 on the display 31, "frame (n+1)" is displayed in order to generate guide image data P3 corresponding to the next frame "frame (n+1)". It is set to the previous frame. Then, guide image data P3 corresponding to "frame (n+1)" can be displayed on the display 31 at the timing when "frame (n+1)" of user image data P2 is displayed.
 なお、前フレームを「フレームn」、後フレームを「フレーム(n+β)」に決定してもよいが、上記の遅延を考慮するのであれば、前フレームを「フレーム(n+1)」、後フレームを「フレーム(n+β+1)」に決定するのが好ましい。 Note that the previous frame may be determined as "frame n" and the subsequent frame as "frame (n+β)", but if the above delay is taken into account, the previous frame may be determined as "frame (n+1)" and the subsequent frame as "frame (n+β)". It is preferable to determine "frame (n+β+1)".
 [3.その他の実施の形態]
 以上、実施の形態について説明したが、本開示は、上記実施の形態に限定されるものではない。
[3. Other embodiments]
Although the embodiments have been described above, the present disclosure is not limited to the above embodiments.
 上記実施の形態において、手本画像データP1は、サーバ4からストリーミング配信されてもよい。この場合、ダンス練習システム100のプロセッサ13は、サーバ4から手本画像データP1を取得するごとに、取得した手本画像データP1の解析と、取得した手本画像データP1のディスプレイ31への表示と、を行ってもよい。また、この場合、プロセッサ13の解析部131は、フレームごとに、当該フレームにおける演者の各部位の座標データL1(n)と、1つ前のフレームにおける演者の各部位の座標データL1(n-1)との差分データD1(n)を算出すればよい。 In the above embodiment, the model image data P1 may be streamed from the server 4. In this case, each time the processor 13 of the dance practice system 100 acquires the model image data P1 from the server 4, it analyzes the model image data P1 that has been obtained, and displays the obtained model image data P1 on the display 31. You may also do this. In addition, in this case, the analysis unit 131 of the processor 13 calculates, for each frame, the coordinate data L1(n) of each part of the performer in the frame, and the coordinate data L1(n-) of each part of the performer in the previous frame. What is necessary is to calculate the difference data D1(n) with respect to 1).
 上記実施の形態において、ユーザ画像データP2は、ユーザU1の代わりに、ユーザU1を模したCG(Computer Graphics)モデルとしてディスプレイ31に表示されてもよい。この場合、ダンス練習システム100のプロセッサ13は、カメラ2で撮像して生成された画像データを解析することで、当該画像データにおけるユーザU1の姿勢(ユーザU1の各部位の座標)を解析したデータを取得し、取得したデータに基づいて上記CGモデルを生成してもよい。 In the above embodiment, the user image data P2 may be displayed on the display 31 as a CG (Computer Graphics) model imitating the user U1 instead of the user U1. In this case, the processor 13 of the dance practice system 100 analyzes the image data captured and generated by the camera 2, and generates data obtained by analyzing the posture of the user U1 (coordinates of each part of the user U1) in the image data. The CG model may be generated based on the acquired data.
 上記実施の形態において、プロセッサ13は、例えばガイド補正値β1が零になった状態が所定時間(所定フレーム)以上継続したという所定の条件を満たした場合に、ユーザU1が演者の動きに追従できるようになったと判断してもよい。そして、この場合、プロセッサ13は、ユーザU1の動作が、より細やかな演者の動作に近づくようにユーザU1に指示するガイド画像データP3をディスプレイ31に表示させてもよい。言い換えれば、プロセッサ13は、上記時間差が閾値以下となる(ここでは、ガイド補正値β1が零となる)場合、分解能を高くした演者の動作に基づくガイド画像データP3を、出力I/F14を介してディスプレイ31に表示させてもよい。 In the embodiment described above, the processor 13 allows the user U1 to follow the movement of the performer, for example, when a predetermined condition is satisfied that the guide correction value β1 continues to be zero for a predetermined period of time (a predetermined frame) or more. You may conclude that it has become so. In this case, the processor 13 may cause the display 31 to display guide image data P3 that instructs the user U1 to make the user U1's movements closer to those of the performer. In other words, when the time difference is less than or equal to the threshold value (here, the guide correction value β1 is zero), the processor 13 transmits the guide image data P3 based on the performer's movement with high resolution via the output I/F 14. It may also be displayed on the display 31.
 例えば、所定の条件を満たす前においては、プロセッサ13は、ユーザU1の右手の動きを指示するガイド画像データP3を生成して出力していた、と仮定する。この場合、所定の条件を満たした後においては、プロセッサ13は、ユーザU1の右手の動きのみならず、ユーザU1の右手の指の動きを指示するガイド画像データP3を生成して出力してもよい。 For example, assume that before a predetermined condition is met, the processor 13 has generated and outputted guide image data P3 that instructs the movement of the right hand of the user U1. In this case, after the predetermined conditions are met, the processor 13 may generate and output guide image data P3 that instructs not only the movement of the right hand of the user U1 but also the movement of the fingers of the right hand of the user U1. good.
 上記実施の形態では、手本画像データP1は、1人の演者の動作を示す画像データであるが、これに限られない。例えば、手本画像データは、複数の演者の動作を示す画像データであってもよい。この場合、プロセッサ13は、適宜の画像解析アルゴリズムにより、複数の演者のうちから1人の演者を抽出し、抽出した1人の演者の動作を示す画像データを手本画像データP1としてもよい。 In the above embodiment, the model image data P1 is image data showing the movements of one performer, but is not limited to this. For example, the model image data may be image data showing the actions of a plurality of performers. In this case, the processor 13 may extract one performer from among the plurality of performers using a suitable image analysis algorithm, and use image data representing the extracted one performer's movements as the model image data P1.
 上記実施の形態では、解析部131による手本画像データP1の解析は、手本画像データP1をディスプレイ31に表示する前に完了しているが、これに限られない。例えば、解析部131による手本画像データP1の解析は、手本画像データP1をディスプレイ31に表示する処理と並行して実行されてもよい。 In the above embodiment, the analysis of the model image data P1 by the analysis unit 131 is completed before displaying the model image data P1 on the display 31, but the analysis is not limited to this. For example, the analysis of the model image data P1 by the analysis unit 131 may be performed in parallel with the process of displaying the model image data P1 on the display 31.
 上記実施の形態では、ガイド画像データP3における到達点は星印であるが、これに限られず、例えば丸印、又は人の手若しくは足を模した形状等の他の形状であってもよい。また、ガイド画像データP3における矢印は、これに限られず、例えば三角印、又は実線若しくは破線等の他の形状であってもよい。また、実施の形態では、ガイド画像データP3における到達点及び矢印は、移動量に応じて濃淡及びサイズの両方を変化させているが、いずれか一方のみを変化させてもよい。また、ガイド画像データP3における到達点及び矢印は、いずれも移動量に依らず濃淡及びサイズが一定であってもよい。 In the above embodiment, the destination point in the guide image data P3 is a star mark, but it is not limited to this, and may be a circle mark or another shape such as a shape imitating a human hand or foot. Further, the arrow in the guide image data P3 is not limited to this, and may have other shapes such as a triangular mark or a solid line or a broken line. Further, in the embodiment, both the shading and the size of the reaching point and the arrow in the guide image data P3 are changed according to the amount of movement, but only one of them may be changed. Further, the reaching point and the arrow in the guide image data P3 may have constant shading and size regardless of the amount of movement.
 上記実施の形態において、副画面312の位置は、ディスプレイ31の右下隅に限らず、ディスプレイ31の他の場所であってもよい。また、副画面312の形状は、矩形状に限らず、他の形状であってもよい。さらに、副画面312のサイズは、図2に示すサイズよりも大きくてもよいし、小さくてもよい。 In the embodiments described above, the position of the sub-screen 312 is not limited to the lower right corner of the display 31, but may be located elsewhere on the display 31. Furthermore, the shape of the sub-screen 312 is not limited to a rectangular shape, but may be any other shape. Further, the size of the sub-screen 312 may be larger or smaller than the size shown in FIG. 2.
 また、上記実施の形態において、ダンス練習システム100は、コンピュータ3に搭載されているが、これに限定されない。例えば、ダンス練習システム100は、例えばカメラ2及びディスプレイ31の各々とインターネット等のネットワークN1を介して通信するサーバにより実現されてもよい。当該サーバは、実施の形態における動画配信用のサーバ4と同じであってもよいし、異なっていてもよい。また、例えば、ダンス練習システム100は、例えばスマートフォン又はタブレット端末等の汎用の情報端末で実現されてもよい。この場合、ダンス練習システム100用のアプリケーションを情報端末にインストールすることで、当該情報端末にてダンス練習システム100を実現することが可能である。また、例えば、ダンス練習システム100は、コンピュータ3とディスプレイ31とを備えたテレビジョン受像機として構成されていてもよい。 Furthermore, in the embodiment described above, the dance practice system 100 is installed in the computer 3, but the present invention is not limited to this. For example, the dance practice system 100 may be realized by a server that communicates with each of the camera 2 and the display 31 via a network N1 such as the Internet. The server may be the same as or different from the video distribution server 4 in the embodiment. Further, for example, the dance practice system 100 may be realized by a general-purpose information terminal such as a smartphone or a tablet terminal. In this case, by installing an application for the dance practice system 100 on the information terminal, it is possible to realize the dance practice system 100 on the information terminal. Further, for example, the dance practice system 100 may be configured as a television receiver including the computer 3 and the display 31.
 また、上記実施の形態において、ダンス練習システム100は、単一の装置によって実現されたが、複数の装置として実現されてもよい。ダンス練習システム100が複数の装置によって実現される場合、ダンス練習システム100が備える機能的な構成要素は、複数の装置にどのように振り分けられてもよい。例えば、ダンス練習システム100は、複数のサーバに分散して実現されてもよい。また、例えば、ダンス練習システム100は、サーバと、コンピュータ3とに分散して実現されてもよい。 Furthermore, in the above embodiment, the dance practice system 100 is realized by a single device, but it may be realized by a plurality of devices. When the dance practice system 100 is realized by a plurality of devices, the functional components included in the dance practice system 100 may be distributed to the plurality of devices in any manner. For example, the dance practice system 100 may be realized in a distributed manner over multiple servers. Further, for example, the dance practice system 100 may be realized in a distributed manner between a server and a computer 3.
 また、上記実施の形態における装置間の通信方法については特に限定されるものではない。上記実施の形態において2つの装置が通信を行う場合、2つの装置間には図示されない中継装置が介在してもよい。 Furthermore, the communication method between devices in the above embodiment is not particularly limited. In the above embodiment, when two devices communicate, a relay device (not shown) may be interposed between the two devices.
 また、上記実施の形態で説明された処理の順序は、一例である。複数の処理の順序は変更されてもよいし、複数の処理は並行して実行されてもよい。また、特定の処理部が実行する処理を別の処理部が実行してもよい。また、上記実施の形態で説明されたデジタル信号処理の一部がアナログ信号処理によって実現されてもよい。 Furthermore, the order of processing described in the above embodiment is an example. The order of multiple processes may be changed, and multiple processes may be executed in parallel. Further, the processing executed by a specific processing unit may be executed by another processing unit. Furthermore, part of the digital signal processing described in the above embodiments may be realized by analog signal processing.
 また、上記実施の形態において、各構成要素は、各構成要素に適したソフトウェアプログラムを実行することによって実現されてもよい。各構成要素は、CPU又はプロセッサ等のプログラム実行部が、ハードディスク又は半導体メモリ等の記録媒体に記録されたソフトウェアプログラムを読み出して実行することによって実現されてもよい。 Furthermore, in the above embodiments, each component may be realized by executing a software program suitable for each component. Each component may be realized by a program execution unit such as a CPU or a processor reading and executing a software program recorded on a recording medium such as a hard disk or a semiconductor memory.
 また、各構成要素は、ハードウェアによって実現されてもよい。例えば、各構成要素は、回路(又は集積回路)でもよい。これらの回路は、全体として1つの回路を構成してもよいし、それぞれ別々の回路でもよい。また、これらの回路は、それぞれ、汎用的な回路でもよいし、専用の回路でもよい。 Additionally, each component may be realized by hardware. For example, each component may be a circuit (or integrated circuit). These circuits may constitute one circuit as a whole, or may be separate circuits. Further, each of these circuits may be a general-purpose circuit or a dedicated circuit.
 また、本開示の全般的又は具体的な態様は、システム、装置、方法、集積回路、コンピュータプログラム又はコンピュータ読み取り可能なCD-ROM等の記録媒体で実現されてもよい。また、システム、装置、方法、集積回路、コンピュータプログラム及び記録媒体の任意な組み合わせで実現されてもよい。例えば、本開示は、コンピュータが実行するダンス練習方法として実行されてもよいし、このようなダンス練習方法をコンピュータに実行させるためのプログラムとして実現されてもよい。また、本開示は、このようなプログラムが記録されたコンピュータ読み取り可能な非一時的な記録媒体として実現されてもよい。なお、ここでのプログラムには、汎用の情報端末を上記実施の形態のダンス練習システムとして機能させるためのアプリケーションプログラムが含まれる。 Furthermore, the general or specific aspects of the present disclosure may be implemented in a system, device, method, integrated circuit, computer program, or computer-readable recording medium such as a CD-ROM. Further, the present invention may be realized by any combination of a system, an apparatus, a method, an integrated circuit, a computer program, and a recording medium. For example, the present disclosure may be implemented as a dance practice method executed by a computer, or may be realized as a program for causing a computer to execute such a dance practice method. Further, the present disclosure may be realized as a computer-readable non-transitory recording medium on which such a program is recorded. Note that the program here includes an application program for causing a general-purpose information terminal to function as the dance practice system of the above embodiment.
 その他、各実施の形態に対して当業者が思いつく各種変形を施して得られる形態、又は、本開示の趣旨を逸脱しない範囲で各実施の形態における構成要素及び機能を任意に組み合わせることで実現される形態も本開示に含まれる。 Other embodiments may be obtained by making various modifications to each embodiment that a person skilled in the art would think of, or may be realized by arbitrarily combining the components and functions of each embodiment without departing from the spirit of the present disclosure. These forms are also included in the present disclosure.
 (まとめ)
 以上述べたように、第1の態様に係るダンス練習システム100は、第1入力I/F11と、第2入力I/F12と、プロセッサ13と、出力I/F14と、を備える。プロセッサ13は、信号処理回路の一例である。第1入力I/F11は、カメラ2で撮像して生成された画像データに基づく、ユーザU1の動作を示す複数のフレームを含むユーザ画像データP2を取得する。第2入力I/F12は、ダンスの手本となる演者の動作を示す複数のフレームを含む手本画像データP1を取得する。プロセッサ13は、ユーザU1の動作が演者の動作に近づくようにユーザU1に指示するガイド画像データP3を生成する。出力I/F14は、ユーザ画像データP2、手本画像データP1、及びガイド画像データP3をディスプレイ31に表示させる。プロセッサ13は、ユーザ画像データP2の複数のフレームのうちの所定時点に取得した特定フレームが、手本画像データP1の複数のフレームのうちのいずれのフレームに対応するかを決定する。プロセッサ13は、手本画像データP1の複数のフレームのうちの決定したフレームに対して特定フレームが遅れている場合、決定したフレームと特定フレームとの時間差が大きい程、ディスプレイ31にガイド画像データP3を表示させるタイミングを早めるように制御する。
(summary)
As described above, the dance practice system 100 according to the first aspect includes the first input I/F 11, the second input I/F 12, the processor 13, and the output I/F 14. Processor 13 is an example of a signal processing circuit. The first input I/F 11 acquires user image data P2 including a plurality of frames indicating the user U1's actions based on image data generated by capturing an image with the camera 2. The second input I/F 12 acquires model image data P1 including a plurality of frames showing the movements of a performer serving as a dance model. The processor 13 generates guide image data P3 that instructs the user U1 so that the user U1's motions approximate those of the performer. The output I/F 14 causes the display 31 to display the user image data P2, the model image data P1, and the guide image data P3. The processor 13 determines which frame among the plurality of frames of the model image data P1 the specific frame acquired at a predetermined time point among the plurality of frames of the user image data P2 corresponds to. When the specific frame is delayed with respect to the determined frame among the plurality of frames of the model image data P1, the processor 13 displays the guide image data P3 on the display 31 as the time difference between the determined frame and the specific frame is larger. Controls the timing to display earlier.
 これによれば、ユーザU1がダンスを練習する際に、ダンスの習熟度が向上しやすい、という利点がある。 According to this, there is an advantage that when the user U1 practices dancing, it is easy to improve the dance proficiency level.
 また、第2の態様に係るダンス練習システム100では、第1の態様において、プロセッサ13は、手本画像データP1の複数のフレームのうち、所定時点よりも時間差に応じた時間だけ後のフレームを参照して、ガイド画像データP3を生成する。 Furthermore, in the dance practice system 100 according to the second aspect, in the first aspect, the processor 13 selects a frame that is after the predetermined time point by a time corresponding to the time difference, among the plurality of frames of the model image data P1. With reference to this, guide image data P3 is generated.
 これによれば、ユーザU1がダンスを練習する際に、ダンスの習熟度が向上しやすい、という利点がある。 According to this, there is an advantage that when the user U1 practices dancing, it is easy to improve the dance proficiency level.
 また、第3の態様に係るダンス練習システム100では、第1又は第2の態様において、プロセッサ13は、ユーザU1に動作させたいタイミングで手本画像データP1を出力I/F14を介してディスプレイ31に表示させ、当該タイミングよりも早いタイミングでガイド画像データP3を出力I/F14を介してディスプレイ31に表示させる。 Further, in the dance practice system 100 according to the third aspect, in the first or second aspect, the processor 13 outputs the model image data P1 to the display 31 via the I/F 14 at a timing that the user U1 wants to perform the operation. The guide image data P3 is displayed on the display 31 via the output I/F 14 at a timing earlier than the timing.
 これによれば、ユーザU1がガイド画像データP3を見ることで、自身の動作を演者の動作に追従させやすくなる、という利点がある。 According to this, there is an advantage that by viewing the guide image data P3, the user U1 can easily make his own movements follow the movements of the performer.
 また、第4の態様に係るダンス練習システム100では、第1~第3のいずれか1つの態様において、ガイド画像データP3は、ユーザU1の動作と演者の動作との差分に応じて、サイズ及び濃淡の少なくとも一方を変化させる。 Further, in the dance practice system 100 according to the fourth aspect, in any one of the first to third aspects, the guide image data P3 is adjusted in size and size according to the difference between the user U1's motion and the performer's motion. Change at least one of the shades.
 これによれば、ユーザU1がガイド画像データP3を見ることで、次の動作を行うのにどれだけ動かせばいいかを視覚的に把握しやすくなる、という利点がある。 According to this, there is an advantage that by viewing the guide image data P3, the user U1 can easily grasp visually how much movement is required to perform the next action.
 また、第5の態様に係るダンス練習システム100では、第1~第4のいずれか1つの態様において、プロセッサ13は、上記時間差が閾値以下となる場合、分解能を高くした演者の動作に基づくガイド画像データP3を、出力I/F14を介してディスプレイ31に表示させる。 Furthermore, in the dance practice system 100 according to the fifth aspect, in any one of the first to fourth aspects, when the time difference is less than or equal to the threshold, the processor 13 performs a guide based on the performer's movement with high resolution. The image data P3 is displayed on the display 31 via the output I/F 14.
 これによれば、ユーザU1が演者の動作に追従できている場合に、より細やかに演者の動作を模倣するように誘導することができるので、ダンスの習熟度が更に向上しやすい、という利点がある。 According to this, when the user U1 is able to follow the performer's movements, the user can be guided to imitate the performer's movements in more detail, which has the advantage of further improving dance proficiency. be.
 また、第6の態様に係るダンス練習システム100では、第1~第5のいずれか1つの態様において、ガイド画像データP3は、ディスプレイ31においてユーザU1が次に到達すべき位置を示す到達点P312~P352と、ディスプレイ31においてユーザU1の現在位置から到達点P312~P352までの向き及び移動量を示す矢印P311~P351と、を含む。 Further, in the dance practice system 100 according to the sixth aspect, in any one of the first to fifth aspects, the guide image data P3 is a destination point P312 indicating the next position that the user U1 should reach on the display 31. to P352, and arrows P311 to P351 indicating the direction and amount of movement from the current position of the user U1 to the destination points P312 to P352 on the display 31.
 これによれば、ユーザU1がガイド画像データP3を見ることで、次の動作をどのように行えばいいかを視覚的に把握しやすくなる、という利点がある。 According to this, there is an advantage that by viewing the guide image data P3, the user U1 can easily understand visually how to perform the next operation.
 また、第7の態様に係るダンス練習方法では、カメラ2で撮像して生成された画像データに基づく、ユーザU1の動作を示す複数のフレームを含むユーザ画像データP2を取得し、ダンスの手本となる演者の動作を示す複数のフレームを含む手本画像データP1を取得し、ユーザU1の動作が演者の動作に近づくようにユーザU1に指示するガイド画像データP3を生成し(S32)、ユーザ画像データP2、手本画像データP1、及びガイド画像データP3をディスプレイ31に表示させる。ガイド画像データP3を生成する過程において、ユーザ画像データP2の複数のフレームのうちの所定時点に取得した特定フレームが、手本画像データP1の複数のフレームのうちのいずれのフレームに対応するかを決定する(S21,S22)。そして、上記過程において、手本画像データP1の複数のフレームのうちの決定したフレーム(対応フレーム)に対して特定フレームが遅れている場合、決定したフレームと特定フレームとの時間差が大きい程、ディスプレイ31にガイド画像データP3を表示させるタイミングを早めるように制御する(S23,S31,S32)。 Further, in the dance practice method according to the seventh aspect, user image data P2 including a plurality of frames showing the movements of the user U1 based on image data captured and generated by the camera 2 is obtained, and a dance example is obtained. The model image data P1 including a plurality of frames showing the movements of a performer is obtained, guide image data P3 is generated that instructs the user U1 to make the movements of the user U1 approximate those of the performer (S32), and the user The image data P2, the model image data P1, and the guide image data P3 are displayed on the display 31. In the process of generating the guide image data P3, it is determined which frame among the plurality of frames of the model image data P1 a specific frame acquired at a predetermined time point among the plurality of frames of the user image data P2 corresponds to. Determine (S21, S22). In the above process, if the specific frame is delayed with respect to the determined frame (corresponding frame) among the plurality of frames of the model image data P1, the larger the time difference between the determined frame and the specific frame, the more the display 31 to display the guide image data P3 earlier (S23, S31, S32).
 これによれば、ユーザU1がダンスを練習する際に、ダンスの習熟度が向上しやすい、という利点がある。 According to this, there is an advantage that when the user U1 practices dancing, it is easy to improve the dance proficiency level.
 また、第8の態様に係るプログラムは、1以上のプロセッサに、第7の態様に係るダンス練習方法を実行させる。 Furthermore, the program according to the eighth aspect causes one or more processors to execute the dance practice method according to the seventh aspect.
 これによれば、ユーザU1がダンスを練習する際に、ダンスの習熟度が向上しやすい、という利点がある。 According to this, there is an advantage that when the user U1 practices dancing, it is easy to improve the dance proficiency level.
 本開示は、ユーザによるダンスの練習を支援するためのシステム等に利用可能である。 The present disclosure can be used in a system for supporting a user's dance practice.
 100 ダンス練習システム
 11 第1入力I/F
 12 第2入力I/F
 13 プロセッサ(信号処理回路)
 131 解析部
 132 補正部
 133 生成部
 134 重畳部
 135 合成部
 14 出力I/F
 15 メモリ
 2 カメラ
 3 コンピュータ
 31 ディスプレイ
 311 主画面
 312 副画面
 4 サーバ
 N1 ネットワーク
 P1 手本画像データ
 P2 ユーザ画像データ
 P3 ガイド画像データ
 P31、P32、P33、P34、P35 画像データ
 P311、P321、P331、P341、P351 矢印
 P312、P322、P332、P342、P352 到達点
 U1 ユーザ
100 Dance practice system 11 1st input I/F
12 2nd input I/F
13 Processor (signal processing circuit)
131 Analysis section 132 Correction section 133 Generation section 134 Superposition section 135 Synthesis section 14 Output I/F
15 Memory 2 Camera 3 Computer 31 Display 311 Main screen 312 Sub-screen 4 Server N1 Network P1 Model image data P2 User image data P3 Guide image data P31, P32, P33, P34, P35 Image data P311, P321, P331, P341, P351 Arrow P312, P322, P332, P342, P352 Achievement point U1 User

Claims (8)

  1.  カメラで撮像して生成された画像データに基づく、ユーザの動作を示す複数のフレームを含むユーザ画像データを取得する第1入力インタフェースと、
     ダンスの手本となる演者の動作を示す複数のフレームを含む手本画像データを取得する第2入力インタフェースと、
     前記ユーザの動作が前記演者の動作に近づくように前記ユーザに指示するガイド画像データを生成する信号処理回路と、
     前記ユーザ画像データ、前記手本画像データ、及び前記ガイド画像データをディスプレイに表示させる出力インタフェースと、を備え、
     前記信号処理回路は、
     前記ユーザ画像データの前記複数のフレームのうちの所定時点に取得した特定フレームが、前記手本画像データの前記複数のフレームのうちのいずれのフレームに対応するかを決定し、
     前記手本画像データの前記複数のフレームのうちの前記決定したフレームに対して前記特定フレームが遅れている場合、前記決定したフレームと前記特定フレームとの時間差が大きい程、前記ディスプレイに前記ガイド画像データを表示させるタイミングを早めるように制御する、
     ダンス練習システム。
    a first input interface that acquires user image data including a plurality of frames indicating user actions based on image data captured and generated by a camera;
    a second input interface for acquiring model image data including a plurality of frames showing movements of a performer serving as a dance model;
    a signal processing circuit that generates guide image data that instructs the user so that the user's movements approach those of the performer;
    an output interface for displaying the user image data, the model image data, and the guide image data on a display,
    The signal processing circuit includes:
    determining which frame of the plurality of frames of the model image data a specific frame acquired at a predetermined time point among the plurality of frames of the user image data corresponds to;
    When the specific frame lags behind the determined frame among the plurality of frames of the model image data, the larger the time difference between the determined frame and the specific frame, the more the guide image appears on the display. Control the timing of displaying data earlier,
    Dance practice system.
  2.  前記信号処理回路は、
     前記手本画像データの前記複数のフレームのうち、前記所定時点よりも前記時間差に応じた時間だけ後のフレームを参照して、前記ガイド画像データを生成する、
     請求項1に記載のダンス練習システム。
    The signal processing circuit includes:
    generating the guide image data by referring to a frame after the predetermined time point by a time corresponding to the time difference among the plurality of frames of the model image data;
    The dance practice system according to claim 1.
  3.  前記信号処理回路は、
     前記ユーザに動作させたいタイミングで前記手本画像データを前記出力インタフェースを介して前記ディスプレイに表示させ、
     当該タイミングよりも早いタイミングで前記ガイド画像データを前記出力インタフェースを介して前記ディスプレイに表示させる、
     請求項1又は2に記載のダンス練習システム。
    The signal processing circuit includes:
    displaying the model image data on the display via the output interface at a timing when the user wants the user to perform the operation;
    displaying the guide image data on the display via the output interface at a timing earlier than the timing;
    The dance practice system according to claim 1 or 2.
  4.  前記ガイド画像データは、前記ユーザの動作と前記演者の動作との差分に応じて、サイズ及び濃淡の少なくとも一方を変化させる、
     請求項1又は2に記載のダンス練習システム。
    The guide image data changes at least one of size and shading according to a difference between the user's motion and the performer's motion.
    The dance practice system according to claim 1 or 2.
  5.  前記信号処理回路は、前記時間差が閾値以下となる場合、分解能を高くした前記演者の動作に基づく前記ガイド画像データを、前記出力インタフェースを介して前記ディスプレイに表示させる、
     請求項1又は2に記載のダンス練習システム。
    When the time difference is less than or equal to a threshold, the signal processing circuit causes the guide image data based on the performer's movements with increased resolution to be displayed on the display via the output interface.
    The dance practice system according to claim 1 or 2.
  6.  前記ガイド画像データは、
     前記ディスプレイにおいて前記ユーザが次に到達すべき位置を示す到達点と、
     前記ディスプレイにおいて前記ユーザの現在位置から前記到達点までの向き及び移動量を示す矢印と、を含む。
     請求項1又は2に記載のダンス練習システム。
    The guide image data is
    a destination point indicating a next location for the user to reach on the display;
    and an arrow indicating the direction and amount of movement from the user's current position to the destination point on the display.
    The dance practice system according to claim 1 or 2.
  7.  カメラで撮像して生成された画像データに基づく、ユーザの動作を示す複数のフレームを含むユーザ画像データを取得し、
     ダンスの手本となる演者の動作を示す複数のフレームを含む手本画像データを取得し、
     前記ユーザの動作が前記演者の動作に近づくように前記ユーザに指示するガイド画像データを生成し、
     前記ユーザ画像データ、前記手本画像データ、及び前記ガイド画像データをディスプレイに表示させ、
     前記ガイド画像データを生成する過程において、
     前記ユーザ画像データの前記複数のフレームのうちの所定時点に取得した特定フレームが、前記手本画像データの前記複数のフレームのうちのいずれのフレームに対応するかを決定し、
     前記手本画像データの前記複数のフレームのうちの前記決定したフレームに対して前記特定フレームが遅れている場合、前記決定したフレームと前記特定フレームとの時間差が大きい程、前記ディスプレイに前記ガイド画像データを表示させるタイミングを早めるように制御する、
     ダンス練習方法。
    Obtaining user image data including a plurality of frames indicating user actions based on image data captured and generated by a camera,
    Acquire model image data containing multiple frames showing the performer's movements as a dance model,
    generating guide image data that instructs the user so that the user's movements approach those of the performer;
    displaying the user image data, the model image data, and the guide image data on a display;
    In the process of generating the guide image data,
    determining which frame of the plurality of frames of the model image data a specific frame acquired at a predetermined time point among the plurality of frames of the user image data corresponds to;
    When the specific frame lags behind the determined frame among the plurality of frames of the model image data, the larger the time difference between the determined frame and the specific frame, the more the guide image appears on the display. Control the timing of displaying data earlier,
    How to practice dancing.
  8.  1以上のプロセッサに、
     請求項7に記載のダンス練習方法を実行させる、
     プログラム。
    one or more processors,
    carrying out the dance practice method according to claim 7;
    program.
PCT/JP2023/019957 2022-09-07 2023-05-29 Dance practice system, dance practice method, and program WO2024053178A1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2022-142557 2022-09-07
JP2022142557 2022-09-07

Publications (1)

Publication Number Publication Date
WO2024053178A1 true WO2024053178A1 (en) 2024-03-14

Family

ID=90192276

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2023/019957 WO2024053178A1 (en) 2022-09-07 2023-05-29 Dance practice system, dance practice method, and program

Country Status (1)

Country Link
WO (1) WO2024053178A1 (en)

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011139728A (en) * 2010-01-05 2011-07-21 Nippon Telegr & Teleph Corp <Ntt> Motion learning support device and method
JP2015146980A (en) * 2014-02-07 2015-08-20 セイコーエプソン株式会社 Exercise support system, exercise support apparatus, and exercise support method
JP2017064120A (en) * 2015-09-30 2017-04-06 株式会社リコー Information processor and system
WO2018123293A1 (en) * 2016-12-27 2018-07-05 ソニー株式会社 Output control device, output control method, and program
KR101980378B1 (en) * 2019-02-22 2019-08-28 (주)대우루컴즈 Exercise motion guidance system using dynamic motion and body balance
KR102259011B1 (en) * 2020-11-10 2021-06-01 주식회사 조이펀 user interface service system and method for user motion correction direction
WO2022070199A1 (en) * 2020-10-01 2022-04-07 Agt International Gmbh A computerized method for facilitating motor learning of motor skills and system thereof

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011139728A (en) * 2010-01-05 2011-07-21 Nippon Telegr & Teleph Corp <Ntt> Motion learning support device and method
JP2015146980A (en) * 2014-02-07 2015-08-20 セイコーエプソン株式会社 Exercise support system, exercise support apparatus, and exercise support method
JP2017064120A (en) * 2015-09-30 2017-04-06 株式会社リコー Information processor and system
WO2018123293A1 (en) * 2016-12-27 2018-07-05 ソニー株式会社 Output control device, output control method, and program
KR101980378B1 (en) * 2019-02-22 2019-08-28 (주)대우루컴즈 Exercise motion guidance system using dynamic motion and body balance
WO2022070199A1 (en) * 2020-10-01 2022-04-07 Agt International Gmbh A computerized method for facilitating motor learning of motor skills and system thereof
KR102259011B1 (en) * 2020-11-10 2021-06-01 주식회사 조이펀 user interface service system and method for user motion correction direction

Similar Documents

Publication Publication Date Title
US9390535B2 (en) Image processing device and method, and program
JP5652037B2 (en) Simulated video generation device, method, and program
JP5645450B2 (en) Image processing apparatus and method
JP6218787B2 (en) Imaging apparatus, information processing apparatus, display apparatus, information processing system, image data transmission method, and image display method
JP2012099876A (en) Image processing device, imaging device, image processing method, and program
US20120237186A1 (en) Moving image generating method, moving image generating apparatus, and storage medium
US10362266B2 (en) Video processing apparatus, video processing system, and video processing method
US20170278288A1 (en) Image processing apparatus, image processing method, and computer-readable recording medium
JP7134060B2 (en) Image generation device and image generation method
JP6525740B2 (en) INFORMATION PROCESSING APPARATUS, CONTROL METHOD FOR INFORMATION PROCESSING APPARATUS, IMAGE PROCESSING SYSTEM, AND PROGRAM
WO2024053178A1 (en) Dance practice system, dance practice method, and program
JP6949475B2 (en) Image processing equipment, image processing methods and programs
JP6082304B2 (en) Image processing apparatus and processing method thereof
JP7058946B2 (en) Information processing equipment, information processing system, information processing method and program
WO2019073925A1 (en) Image generation device and image generation method
JP6410062B2 (en) Imaging device and display method of captured image
JP6426594B2 (en) Image processing apparatus, image processing method and image processing program
JP2009076984A (en) Image processor, image processing method, program, and recording medium
JP2009088850A (en) Moving image distribution system and moving image distributing method
JP4130176B2 (en) Image processing method and image composition apparatus
JP7240258B2 (en) IMAGE PROCESSING DEVICE, CONTROL METHOD AND PROGRAM OF IMAGE PROCESSING DEVICE
JP6218220B2 (en) Captured image processing apparatus and method, captured image processing program, and captured image processing system
JP6632134B2 (en) Image processing apparatus, image processing method, and computer program
JP2016042661A (en) Information processing unit, system, information processing method, and program
JP5085762B2 (en) Image processing apparatus and image processing method

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: 23862723

Country of ref document: EP

Kind code of ref document: A1