Video playback device and video playback program

The video playback device and program facilitate customizable playback by allowing simultaneous display of reference and practice videos, addressing the challenge of personalized practice and improving learning efficiency and user engagement.

JP2026088755AActive Publication Date: 2026-05-29ALPHATHETA CORP

Patent Information

Authority / Receiving Office
JP · JP
Patent Type
Applications
Current Assignee / Owner
ALPHATHETA CORP
Filing Date
2024-11-19
Publication Date
2026-05-29

AI Technical Summary

Technical Problem

Existing video playback systems lack the ability for users to customize the playback state according to their individual needs, particularly for personal practice, making it difficult to effectively learn and prepare for lessons.

Method used

A video playback device and program that allows users to set parameters for controlling the playback state, enabling simultaneous display of a reference and practice video, with features like playback speed adjustment, loop settings, and marker placement for personalized practice.

Benefits of technology

Enables easy customization of video playback for improved learning efficiency, allowing users to prepare for lessons independently and increase their chances of participation in activities like dance lessons, thereby enhancing user satisfaction and motivation.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 2026088755000001_ABST
    Figure 2026088755000001_ABST
Patent Text Reader

Abstract

The challenge is to enable video playback by easily customizing the video playback state. [Solution] The video playback device includes a setting unit that sets parameters relating to the playback state of a first video, and a playback control unit that controls the playback state of a second video in a display mode that includes a mode in which the first video and a second video different from the first video are displayed simultaneously, based on the parameter settings.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present invention relates to a video playback device and a video playback program.

Background Art

[0002] In various sports, the motions performed in the sport are practiced. For example, in the case of dance, practice is carried out using the choreography of the dance performed by an instructor as a model.

[0003] For practicing motions, from the aspect that memorization of the motion to be used as a model and practice of the motion by the individual are required, practice is carried out by trial and error while playing a reference video in which the reference motion is photographed or a practice video in which the individual's motion is photographed on a media player.

[0004] When playing a video on a media player in this way, functions for controlling the playback state such as tempo change for changing the playback speed of the video and repeat playback for repeating the video are utilized.

Prior Art Documents

Patent Documents

[0005]

Patent Document 1

Summary of the Invention

Problems to be Solved by the Invention

[0006] However, with the functions provided by the above media players and the like, it is difficult for the user to customize the playback state of the video according to the application, such as for personal practice, and there is room for improvement.

[0007] One aspect is to provide a video playback device and a video playback program that can easily customize the playback state of a video and realize video playback.

Means for Solving the Problems

[0008] A video playback device relating to one side includes a setting unit for setting parameters relating to the playback state of a first video, and a playback control unit for controlling the playback state of the second video in a display mode that includes a mode for simultaneously displaying the first video and a second video different from the first video, based on the setting of the parameters. [Effects of the Invention]

[0009] According to one embodiment, video playback can be easily customized to achieve video playback. [Brief explanation of the drawing]

[0010] [Figure 1] Figure 1 shows an example of the configuration of a video delivery system. [Figure 2] Figure 2 illustrates an example of the flow of a dance lesson. [Figure 3] Figure 3 shows an example of a dance school business model. [Figure 4] Figure 4 shows one aspect of a problem-solving approach. [Figure 5] Figure 5 shows one aspect of another problem-solving approach. [Figure 6] Figure 6 shows an example of user story mapping. [Figure 7] Figure 7 is a block diagram showing an example of the functional configuration of each device. [Figure 8] Figure 8 is a schematic diagram illustrating an example of how to record a demonstration video. [Figure 9] Figure 9 shows an example of a lesson selection screen. [Figure 10] Figure 10 is a schematic diagram illustrating an example of a method for recording student videos. [Figure 11] Figure 11 is a schematic diagram (1) showing an example of the transitions in the playback control screen. [Figure 12] Figure 12 is a schematic diagram (2) showing an example of the transitions in the playback control screen. [Figure 13] FIG. 13 is a schematic diagram (3) showing an example of transition of a playback control screen. [Figure 14] FIG. 14 is a schematic diagram showing an example of a display mode of a video. [Figure 15] FIG. 15 is a diagram showing an example of a reference video. [Figure 16] FIG. 16 is a diagram showing an example of a student video. [Figure 17] FIG. 17 is a diagram showing an example of user setting of opacity. [Figure 18] FIG. 18 is a diagram showing an example of size change. [Figure 19] FIG. 19 is a diagram showing an example of the relationship between a dance practice procedure and functions. [Figure 20] FIG. 20 is a diagram showing a use case for confirming choreography timing. [Figure 21] FIG. 21 is a flowchart showing the procedure of a recording process. [Figure 22] FIG. 22 is a sequence diagram showing the procedure of a reservation process. [Figure 23] FIG. 23 is a flowchart showing the procedure of a video playback process. [Figure 24] FIG. 24 is a diagram showing an example of a hardware configuration.

Mode for Carrying Out the Invention

[0011] Hereinafter, a mode for implementing a video playback apparatus and a video playback program according to the present disclosure (hereinafter referred to as "embodiment") will be described with reference to the accompanying drawings. Note that this embodiment merely shows one example or aspect, and the structure, operation, function, nature, characteristics, method, use, etc. according to the present disclosure are not limited by such an exemplification.

[0012] <Embodiment 1> <System Configuration> Figure 1 shows an example of the configuration of a video provision system. Figure 1 shows video provision system 1, which provides students with example videos of the content that the instructor will teach in the lesson before the lesson begins. For example, when video provision system 1 is applied to a dance school, students are provided with example videos of the dance choreography that the instructor will teach in the lesson.

[0013] As shown in Figure 1, the video delivery system 1 may include a server device 10, instructor terminals 20A to 20M, and student terminals 30A to 30N. Hereafter, when it is not necessary to distinguish between individual instructor terminals 20A to 20M, they may be referred to as "instructor terminal 20." Similarly, when it is not necessary to distinguish between individual student terminals 30A to 30N, they may be referred to as "student terminal 30."

[0014] These server devices 10, instructor terminals 20, and student terminals 30 may be connected to each other via any network NW. The network NW may be implemented using any type of communication network, such as the Internet or a LAN (Local Area Network), whether wired or wireless.

[0015] Server device 10 is an example of a computer that provides ICT (Information and Communication Technology) services related to dance schools. For example, server device 10 may be implemented by a supplier of the above-mentioned ICT services, with dance schools, dance studios, and other businesses that provide lessons as a service as its customers, and students who take lessons as its end users.

[0016] In one embodiment, the server device 10 can provide the above-mentioned video provision function as a cloud service by running a PaaS (Platform as a Service) type middleware or a SaaS (Software as a Service) type application.

[0017] Such ICT services may include various functions packaged together, such as a reservation function for accepting lesson bookings and a video provision function that provides the above-mentioned example videos before the start of a lesson.

[0018] The instructor terminal 20 is a terminal device used by instructors belonging to dance schools, etc. The student terminal 30 is a terminal device used by students participating in lessons offered by dance schools, etc. Note that the instructor terminal 20 and student terminal 30 are examples of video playback devices.

[0019] These instructor terminals 20 and student terminals 30 may be implemented using any computer, including smart devices such as smartphones, tablets, and wearable devices, as well as personal computers.

[0020] For example, the instructor terminal 20 and the student terminal 30 may have dancer-oriented applications installed that provide various functions such as music editing, video playback, and photography. Hereafter, dancer-oriented applications may be referred to as "dancer-oriented apps."

[0021] One aspect of this is that the content that the instructor teaches in the lesson, such as a video of dance choreography, may be uploaded from the instructor terminal 20 to the server device 10. Another aspect is that the video of the example that has been uploaded from the instructor terminal 20 to the server device 10 may be downloaded from the server device 10 to the student terminal 30.

[0022] In the following explanation, we will use an example of a use case in which the instructor terminal 20 and student terminal 30 are implemented using smart devices such as smartphones.

[0023] While the above examples of ICT services being provided as cloud services are given here, they are not limited to this. For example, the above ICT services may also be provided on-premises.

[0024] <Featured> Figure 2 illustrates an example of a dance lesson flow. It shows a chronological list of what might be included in a lesson on a given day. For example, in the example shown in Figure 2, the dance lesson might proceed in the following order: "Stretching" and "Isolation," "Choreography," "Dancing to the Music," "Pick-up Filming," and "SNS Posting." SNS stands for "Social Networking Service."

[0025] Of these, "pickup" refers to a situation where, at the end of a lesson, the instructor selects a student from among those taking the lesson and dances with the instructor in front of everyone. The dance between the selected student and the instructor may be filmed and posted on social media afterward.

[0026] In this way, "Pickup" provides students with a simulated experience of standing on the same stage as a teacher they admire and respect, making it one of the motivations for students taking dance lessons.

[0027] <One aspect of the problem> However, it is common for students with relatively higher skills to be selected for the pick-up program, while students with relatively lower skills are less likely to be selected. Even if such students are highly motivated to be selected, if they are repeatedly not selected, their motivation to participate in dance lessons will decrease.

[0028] Figure 3 illustrates an example of a dance school business model. Figure 3 shows an example of a business model carried out by a traditional dance school. As shown in Figure 3, the stakeholders in a dance school business model may include the dance school, instructors, and students.

[0029] One aspect of this is that students book lessons offered by the dance school and pay for the lessons they take. Another aspect is that the dance school provides a space for instructors to conduct offline lessons for students and pays the instructors for the lessons they conduct. In this way, a business model has been established in which instructors affiliated with the dance school conduct offline lessons in studios provided by the dance school for students recruited by the dance school.

[0030] In this type of business model, from the students' perspective, the following points 1) to 4) are factors that reduce students' motivation to participate in dance lessons. 1) Because the content of the lesson is not known in advance, it is not possible to know whether it is the content you want to take until you actually take the lesson. 2) Even if the content is something I want to take, it's difficult to memorize the choreography during the lesson. 3) I feel embarrassed to have the teacher and other students see my shortcomings, so I have no choice but to sit at the back of the class. 4) As a result of 1) to 3) above, it is not selected for the pickup.

[0031] Due to the factors described in 1) to 4) above, students may not be able to fully enjoy the lessons, resulting in low student satisfaction and a decrease in the added value of the dance lessons.

[0032] <One aspect of a problem-solving approach> Therefore, in the video provision system 1 according to this embodiment, the instructor provides the student terminal 30 with a sample video of the content to be taught in the lesson, such as dance choreography, before the start of the lesson, thereby enabling students to prepare for or learn in advance any lesson content they have not yet learned.

[0033] Figure 4 shows one aspect of the problem-solving approach. As shown in Figure 4, the instructor terminal 20 records the content that the instructor teaches in the lesson, such as dance choreography, as a demonstration video (Step S1). The demonstration video thus recorded is uploaded from the instructor terminal 20 to the server device 10 (Step S2).

[0034] Furthermore, the example video uploaded from the instructor terminal 20 to the server device 10 is downloaded from the server device 10 to the student terminal 30 before the start of the lesson (Step S3). Then, the student terminal 30 plays the example video downloaded from the server device 10 (Step S4).

[0035] In this way, by providing example videos before the start of the lesson, it is possible to prepare for and learn in advance the content of the actual lesson.

[0036] <Another aspect of a potentially independent issue> Here, when students use the example videos mentioned above, as well as student videos they have filmed, to prepare for lessons, conventional technologies such as media players make it difficult for users to customize the video playback state according to their needs, such as for individual practice, and there is room for improvement.

[0037] For example, in the case of dance, different people will have different difficulties with certain parts of the choreography, and the number and extent of those difficulties will also differ. Furthermore, the playback speed at which people check the choreography in videos will also differ. Even if one tries to customize the playback settings of the media player mentioned above to suit individual practice needs, the media player may lack the features and settings desired for individual practice.

[0038] <An aspect of other problem-solving approaches that can be independent> Therefore, the dancer app according to this embodiment has a playback control function that controls the playback state of the example video in a display mode that simultaneously displays student videos and example videos, based on the setting of parameters related to the playback state of the example video, as part of the video playback function described above.

[0039] The "parameters related to playback state" referred to here may include, as an example, playback speed, playback position (playback time), loop, and other parameters that define the playback state.

[0040] Figure 5 shows one aspect of another problem-solving approach. As merely an example, Figure 5 shows a playback control screen 300 displayed on the display unit 32 of a student terminal 30, which is merely an example of a user interface that provides the playback control function described above.

[0041] As shown in Figure 5, the playback control screen 300 may include a video display area 310 where the video to be played is displayed, and a playback state setting area 320 where the user can set parameters related to the playback state of the example video.

[0042] In the video display area 310, simultaneous playback of student videos and example videos is possible. "Simultaneous playback" here may include "overlay display," which displays the two videos, the student video and the example video, superimposed on each other, and "two-screen display," which displays the two videos, the student video and the example video, side by side. These display modes, such as "overlay display" and "two-screen display," make it possible to compare the two videos, the student video and the example video.

[0043] The playback state setting area 320 may, as an example, include a tempo change tab 321 for changing the playback speed of the video, a loop setting tab 322 for specifying a loop within the video's playback time, and a marker setting tab 323 for specifying the playback position of the video.

[0044] These tabs—tempo change tab 321, loop setting tab 322, and marker setting tab 323—allow users to access the playback speed change function, loop function, and marker function.

[0045] For example, even if the number and extent of difficult parts in a dance choreography vary from person to person, the marker function can be invoked to play each difficult part from the beginning, or the loop function can be invoked to repeatedly play the difficult section. Also, even if the playback speed of the video for checking the dance choreography varies from person to person, the playback speed change function can be invoked to play the video at a speed that allows for checking the difficult parts.

[0046] Therefore, the video playback function described above allows for easy customization of video playback. This enables improved learning efficiency by utilizing the video playback function for pre-studying or getting a head start on the content of actual lessons.

[0047] As just one example, the video playback function described above can be used to support users who practice lesson content independently before attending a lesson. This can, for example, increase the chances of being selected for a dance lesson.

[0048] For example, as shown in Figure 4, the factors causing decreased motivation described in 1) to 4) above in Figure 3 can be overcome. 1A) By sharing the lesson content in advance, students can take the lessons they want to take, when they want to take them. 2A) By using the video playback function mentioned above, students can prepare to a certain level in advance, and they can also practice the parts they find difficult at their own pace. 3A) Individual practice, or self-practice, allows students to prepare in advance without hesitation about making mistakes in choreography, and without losing their enthusiasm. As a result, they can participate in lessons with confidence without worrying about what others think, increasing their chances of being selected for the pickup. 4A) By having fun and improving their dance skills, dancers will want to continue taking dance lessons.

[0049] As a result of the above 1A) to 4A), student satisfaction increases and the added value of dance lessons is enhanced, leading to the realization of the user story mapping shown in Figure 6.

[0050] Figure 6 shows an example of user story mapping. As shown in Figure 6, traditionally, students with relatively low skill levels tend to fall into a cycle of booking a lesson, attending the lesson, looking at the pickup list, and booking the next lesson. As this cycle repeats, only students with relatively high skill levels continue to be selected for pickup, and the expectation that other students will be selected for pickup is constantly diminished. As a result, the motivation of students who are not frequently selected for pickup to participate in dance lessons continues to decline.

[0051] On the other hand, according to the video provision function of this embodiment, students can increase their chances of being selected for pickup by booking a lesson and preparing for it before taking the lesson. This creates a cycle in which students are highly motivated to participate in dance lessons and book their next lesson. Not only students with relatively high skill levels, but all students participating in the lesson can increase their expectation of being selected for pickup, and as a result, their motivation to participate in dance lessons can also be improved.

[0052] It should be noted that while the above examples illustrate the use of both the video provision function and the video playback function in combination, it is also possible to provide only one of these functions. For example, the video playback function can be applied to use cases other than advance learning or preparation for lessons. In other words, the example video does not necessarily have to be a video of a dance choreography filmed by an instructor at a lesson school; it goes without saying that the video playback function can be used to play any example video that is publicly available on the internet.

[0053] Furthermore, while the above example of a model video and student video uses a dance video showing dance choreography as an example, it is not limited to this. For example, motions from sports other than dance, such as baseball or golf, may also be filmed as model videos and student videos.

[0054] <Configuration of each device> Next, the configuration of each device included in the video provision system 1 according to this embodiment will be described. Figure 7 is a block diagram showing an example of the functional configuration of each device. Figure 7 schematically illustrates the blocks related to the functions of the server device 10, the instructor terminal 20, and the student terminal 30. Note that Figure 7 only shows a selection of functional parts related to the ICT service and the video playback function described above, and each device may be equipped with functional parts other than those shown.

[0055] <Configuration of the Instructor Terminal> First, an example of the functional configuration of the instructor terminal 20 according to this embodiment will be described. As shown in Figure 7, the instructor terminal 20 has an input unit 21, a display unit 22, an imaging unit 23, a recording unit 24, an output control unit 25, and a request unit 26. Of course, this does not preclude the inclusion of functional units other than those shown in Figure 7, such as a communication control unit that provides a communication interface or a storage unit realized by storage.

[0056] The input unit 21 has the function of receiving various instruction inputs. For example, the input unit 21 may be implemented by an OS (Operating System) or application running on the instructor terminal 20, such as a GUI (Graphical User Interface) provided by a dancer-oriented app.

[0057] The display unit 22 has the function of displaying various types of information. In one embodiment, the display unit 22 may be implemented using a liquid crystal display or an organic EL (Electro-Luminescence) display, etc.

[0058] These input units 21 and display units 22 can be integrated as a display input unit implemented by a touch panel or the like.

[0059] The imaging unit 23 has an imaging function for capturing images. The "image" referred to here may be either a still image or a video. For example, if the instructor terminal 20 is implemented by a smart device, the imaging unit 23 may be implemented by a camera unit such as a front camera positioned in the same orientation as the screen surface of the display unit 22, or a rear camera positioned behind the screen of the display unit 22.

[0060] The recording unit 24 has a recording function that records images captured by the imaging unit 23. In one embodiment, the recording unit 24 can record the content that an instructor teaches in a lesson, for example, a video of a dance choreography being filmed.

[0061] Such a recording function could, as an example, be implemented as one of the modules packaged in a dancer-oriented app. For instance, the recording function could be activated by accepting a video recording request from the main menu screen provided by the dancer-oriented app.

[0062] When the recording function is activated in this way, the user transitions from the main menu screen to a music selection screen where they can select the music to be embedded in the example video. For example, the music selection screen may include music files downloaded and purchased using the instructor's account as music options. In addition, music files provided by streaming services subscribed to using the instructor's account, or music files generated from project files edited using the music editing function described above, may also be included. Once the music to be embedded in the example video is selected via the input unit 21 on the music selection screen, the user transitions from the music selection screen to the recording screen.

[0063] Figure 8 is a schematic diagram showing an example of how to record a demonstration video. Figure 8 schematically illustrates, from left to right, how the recording screen 400 displayed on the display unit 22 of the instructor terminal 20 transitions according to the operation procedure. As shown in Figure 8, the recording screen 400 may include a live video display area 410 and a settings window 420.

[0064] Of these, the live video display area 410 displays live video captured in real time by the imaging unit 23. The setting window 420 is a window that accepts settings for the playback time at which recording should begin within the playback time of the music to be embedded in the example video. For example, the setting window 420 may be displayed superimposed on the live video display area 410.

[0065] This settings window 420 may include a slider bar (seek bar) 421, a slider 421A, a play button 422, and a record button 423. For example, the slider bar 421 corresponds to the playback time range of the song selected on the song selection screen, and the slider 421A indicates the playback position, i.e., the playback time. This slider 421A can be moved by dragging, or by playing the song by pressing the play button 422.

[0066] When the slider 421A is set to the desired playback time for recording to begin, and the record button 423 is pressed, the record start button 430 will appear on the recording screen 400. The display of the record start button 430 may be linked to the hiding of the settings window 420.

[0067] If the recording start button 430 is pressed, the recording of the live video captured in real time by the imaging unit 23 begins. At this time, the recording of the live video can also begin after a predetermined countdown display, such as 3 seconds or 5 seconds. Once recording has started in this way, the recording start button 430 switches to the recording stop button 440.

[0068] Then, until recording ends due to the end of the song's playback time, or when recording is stopped by the recording stop button 440, the recording unit 24 continues the following recording process. For example, the recording unit 24 sets the timecode (HH:MM:SS:FF) of the playback time of the song being played in the nth frame of the video captured by the imaging unit 23. Then, the recording unit 24 records the video with the timecode set. As a result, the song's timecode is embedded in each frame of the video included in the example video.

[0069] Subsequently, when recording ends due to the end of music playback or when recording is stopped by the recording stop button 440, the recording unit 24 saves the video captured during the period from the playback time corresponding to the start of recording to the playback time corresponding to the end of music playback or recording stop as a sample video 40 to storage or the like (not shown).

[0070] The recorded example video may be uploaded from the instructor terminal 20 to the server device 10. At this time, the example video uploaded to the server device 10 is registered in the example video DB 12 with the identification information of the instructor who created it and the identification information of the lesson associated with it.

[0071] The output control unit 25 has a function to control the output of various types of information. "Output" here may include display output and audio output. As one aspect, the output control unit 25 can display a student video viewing screen on the display unit 22, which includes GUI components that accept instruction input requesting viewing of student videos uploaded from student terminals 30 to the server device 10, and input of comments regarding the student videos. For example, viewing of student videos may be achieved by the server device 10 accessing a link to which the student video and a media player for playing the student video are embedded. Alternatively, viewing of student videos may be achieved by playing student videos downloaded from the server device 10 using the video playback function of the dancer app. Furthermore, input of comments regarding student videos may be achieved using GUI elements such as text boxes.

[0072] The request unit 26 has the function of sending requests to the server device 10. One aspect of this is that when the request unit 26 receives input of comments on a student video via the student video viewing screen, it can request the server device 10 to register the input comments. Comments for which registration has been requested from the instructor terminal 20 to the server device 10 are registered in the comment DB 14 described later, associated with the identification information of the instructor who will reply and the identification information of the student to whom the reply will be sent.

[0073] <Server configuration> Next, an example of the functional configuration of the server device 10 according to this embodiment will be described. As shown in Figure 7, the server device 10 includes a program DB (Database) 11, a model video DB 12, a student video DB 13, a comment DB 14, a first provisioning unit 15, and a second provisioning unit 26. Of course, this does not preclude the inclusion of functional units other than those shown in Figure 7, such as a communication control unit that provides a communication interface or a storage unit realized by storage.

[0074] Program DB11 is a database that stores lesson programs. A "lesson program" here refers to a program that defines the schedules of multiple lessons. In one embodiment, Program DB11 may be data that associates identification information of lessons offered during a given time period.

[0075] The example video DB12 is a database that stores a collection of example videos. In one embodiment, the example videos stored in the example video DB12 may be associated with metadata such as the identification information of the instructor who created them and the identification information of the lesson.

[0076] Student video DB13 is a database that stores a collection of student videos. In one embodiment, the student videos stored in Student Video DB13 may be associated with metadata such as the account information of the student who created the video, identification information of the lesson the student is participating in, and identification information of the instructor in charge of the lesson.

[0077] Comment DB14 is a database that stores a collection of comments. In one configuration, comments stored in Comment DB14 may be associated with metadata such as the identification information of the instructor who sent the reply and the identification information of the student to whom the reply was received.

[0078] The first service unit 15 has the function of providing ICT services to the student terminal 30. As shown in Figure 7, the first service unit 15 includes a reservation unit 15A, a video provision unit 15B, and a calculation unit 15C.

[0079] The reservation unit 15A has a reservation function that accepts lesson reservations. In one embodiment, when the reservation unit 15A receives a request from the student terminal 30 to view a lesson program, it reads the lesson program for the date and time and time slot specified in the request from the program DB 11. The reservation unit 15A then provides the student terminal 30 with a lesson selection screen that accepts instruction input for each lesson included in the lesson program, requesting to watch a sample video, and instruction input for the lesson to be taken.

[0080] Figure 9 shows an example of the lesson selection screen 500. As shown in Figure 9, the lesson selection screen includes day selection buttons 511-517 and a lesson display area 520. These day selection buttons 511-517 correspond to each day of the week from Monday to Sunday. Here, as an example, only the days of the week are shown, but other calendar information such as the year, month, and day may also be displayed along with the days of the week. The lesson display area 520 contains the lessons held on the day of the week corresponding to the selected day selection button 511-517. For example, in the example shown in Figure 9, the lesson display area 520 shows excerpts of lessons held on Wednesday, corresponding to day selection button 514, specifically the lesson information 530 held at 13:00 and the lesson information 540 held at 15:00.

[0081] Of these, the lesson information 530 includes a display area 531 for the example video and a display area 532 for detailed lesson information. Furthermore, the display area 531 for the example video includes a play button 531A and a download button 531B. Playback and downloading of the example video using these play buttons 531A and 531B may be restricted or prohibited before the lesson is booked. For example, playback and downloading of the example video may be completely prohibited until the lesson is booked, or playback of only a portion of the example video may be permitted. The portion that is permitted to be played may be specified by the instructor terminal 20, or it may be automatically set to a specific section of the song played in the example video, such as a chorus. However, restricting or prohibiting playback and downloading before the lesson is booked is merely an example, and playback and downloading of the entire example video may be permitted before the lesson is booked.

[0082] If a lesson has been booked, pressing the play button 531A will allow the example video to be played using the media player embedded in the lesson information 531. Furthermore, pressing the download button 531B will allow the example video to be provided to the student terminal 30 by the video provision unit 15B described later. As a result of the example video being downloaded to the student terminal 30, the video playback function described above becomes available.

[0083] Furthermore, the display area 532 for detailed lesson information shows details such as the time slot in which the lesson will be held, the name of the instructor, the genre of the lesson, and the name of the lesson, and also includes a reservation button 532A for accepting reservations for the lesson. For example, when the reservation button 532A is pressed, the reservation unit 15A registers the account information assigned to the student, who is the user of the student terminal 30, such as the student's identification information, in the participation slot for the lesson. Note that there is no difference in function for the lesson information 540, even if the target lesson is different.

[0084] The video provision unit 15B has the function of providing example videos. As an example, when the video provision unit 15B receives a request to download an example video, for example, when the download button included in the lesson selection screen 500 shown in Figure 9 is pressed, it provides the example video for the lesson specified in the request from the example video DB 12 to the student terminal 30.

[0085] The calculation unit 15C has a function to calculate an evaluation index for the dance between the example video and the student video. As an example of such an evaluation index, the dance synchronization rate is taken as an example. The higher the synchronization rate, the more the movements of the instructor in the example video and the movements of the student in the student video match. The term "movement" here may refer, for example, to the time-series changes in posture corresponding to the choreography of the dance. In one embodiment, when the calculation unit 15C receives a request from the student terminal 30 to calculate the synchronization rate, it reads the example video for the lesson specified in the request from the example video DB 12 and reads the student video for the lesson specified in the request from the student video DB 13. Then, the calculation unit 15C calculates the synchronization rate of the dance in the student video with respect to the example video. For example, the synchronization rate may be calculated from the degree of agreement of the angles of specific joints, such as arms, elbows, wrists, feet, knees, and ankles, by comparing the frames of the example video and the frames of the student video. To calculate this synchronization rate, a machine learning model framework can be used that performs object detection, which detects the position of the bounding box of objects in the image and classifies the objects for each frame of the example video and the student video; skeletal detection, which detects the position of each joint from the bounding box image corresponding to the object that has been labeled "person" as a result of the classification; and scoring, which calculates the synchronization rate from the degree of agreement of the joint angles. The synchronization rate calculated in this way is output as a response to the student terminal 30.

[0086] The second service unit 16 has the function of providing ICT services to the instructor terminal 20. In one embodiment, when a student video is uploaded from the student terminal 30, the second service unit 16 provides the instructor terminal 20, used by the instructor in charge of the lesson corresponding to the student video, with a student video viewing screen that includes GUI components that accept an instruction input requesting to view the student video and an input of comments on the student video.

[0087] <Student terminal configuration> Next, an example of the functional configuration of the student terminal 30 according to this embodiment will be described. As shown in Figure 7, the student terminal 30 has an input unit 31, a display unit 32, an imaging unit 33, a student video database 34, a recording unit 35, a request unit 36, an UL (Upload) unit 37, a setting unit 38, and an output control unit 39. Of course, this does not preclude the inclusion of functional units other than those shown in Figure 7, such as a communication control unit that provides a communication interface or a storage unit realized by storage.

[0088] The input unit 31 has the function of receiving various instruction inputs. For example, the input unit 31 may be implemented by an OS or application running on the student terminal 30, such as a GUI provided by a dancer-oriented app.

[0089] The display unit 32 has the function of displaying various types of information. In one embodiment, the display unit 32 may be implemented using a liquid crystal display or an organic EL display.

[0090] These input units 31 and display units 32 can be integrated as a display input unit implemented by a touch panel or the like.

[0091] The imaging unit 33 has an imaging function for capturing images. The "image" referred to here may be either a still image or a video. For example, if the student terminal 30 is implemented as a smart device, the imaging unit 33 may be implemented as a camera unit such as a front camera positioned in the same orientation as the screen surface of the display unit 32, or a rear camera positioned behind the screen of the display unit 32.

[0092] The Student Video DB34 is a database that stores a collection of student videos. In one embodiment, the student videos stored in the Student Video DB34 may be associated with metadata such as the account information of the student who created the video, identification information of the lesson the student is participating in, and identification information of the instructor in charge of the lesson.

[0093] The recording unit 35 has a recording function that records images captured by the imaging unit 33. In one embodiment, the recording unit 35 can record student videos of students dancing while the video is being played back using the video player function.

[0094] Such video player functionality could, as an example, be implemented as one of the modules packaged within a dancer-oriented app. For instance, the video player functionality could be activated by accepting input from the video player button on the main menu screen provided by the dancer-oriented app.

[0095] When the video player function is activated in this way, the user transitions from the main menu screen to a video selection screen where they can select the video to be played. For example, the video selection screen may display a list of videos, and the list of videos may include a sample video as an option. When the sample video is selected via the input unit 31 on the video selection screen, the user transitions from the video selection screen to the recording screen. Alternatively, the user can transition from the main menu screen to a music selection screen where they can select the music to be embedded as background music (BGM) for the student video, so that only the music from the sample video is played when the student video is recorded.

[0096] Figure 10 is a schematic diagram illustrating an example of a method for recording student videos. Figure 10 schematically shows, from left to right, how the recording screen 600 displayed on the display unit 32 of the student terminal 30 transitions according to the operating procedure. As shown in Figure 10, the recording screen 600 may include a video display area 610 and a settings window 620.

[0097] Of these, the video display area 610 displays live video captured in real time by the imaging unit 33. As will be explained in detail later with reference to Figure 14, the video display area 610 may display live video or a demonstration video, or simultaneously display live video and a demonstration video, in any display mode from the first to fourth modes described later. The setting window 620 is a window that accepts the setting of the playback time at which recording begins within the playback time of the demonstration video. For example, the setting window 620 may be displayed overlaid on top of the video display area 610.

[0098] This settings window 620 may include a slider bar (seek bar) 621, a slider 621A, a play button 622, and a record button 623. For example, the slider bar 621 corresponds to the playback time range of the example video selected on the video selection screen, and the slider 621A indicates the playback position, i.e., the playback time. This slider 621A can be moved by dragging, or by playing the example video by pressing the play button 622.

[0099] When the slider 621A is set to the desired playback time for recording to begin, and the record button 623 is pressed, the record start button 630 will appear on the recording screen 600. The display of the record start button 630 may be linked to the hiding of the settings window 620.

[0100] When the recording start button 630 is pressed, the recording of the live video captured in real time by the imaging unit 33 begins. At this time, the recording of the live video can also begin after a predetermined countdown display, such as 3 seconds or 5 seconds. Once recording has started in this manner, the recording start button 630 switches to the recording stop button 640.

[0101] Then, until recording ends when the playback time of the example video ends, or when recording is stopped by the recording stop button 640, the recording unit 35 continues the following recording process. For example, the recording unit 35 sets the time code (HH:MM:SS:FF) of the playback time of the example video being played in the nth frame of the video captured by the imaging unit 33. Then, the recording unit 35 records the video with the time code set. As a result, the time code of the example video, and by extension the time code of the music embedded in the example video, is embedded in each frame of the video included in the student video. This makes it possible to synchronize the example video and the student video by time code, as the playback times of the example video and the student video can be identified by the time code of the same music and played simultaneously.

[0102] Subsequently, when recording ends due to the end of playback of the example video, or when recording is stopped by the recording stop button 640, the recording unit 35 saves the student video 60 captured during the period from the playback time corresponding to the start of recording to the playback time corresponding to the end of music playback or the stop of recording to the student video DB 34. At this time, the student video may be associated with metadata such as the account information of the student who created it, identification information of the lesson corresponding to the example video played by the video player function at the time of recording the student video, and identification information of the instructor in charge of the lesson.

[0103] Here, we have given an example in which the instructor terminal 20 has a video recording function that plays music while recording live video from the imaging unit 23, and the student terminal 30 has a function that plays video such as an example video using a video player function while recording live video from the imaging unit 33, but we are not limited to this. For example, the instructor terminal 20 may have a function that plays video using the above video player function while recording live video from the imaging unit 33, or the student terminal 30 may have the above video recording function.

[0104] The request unit 36 ​​has the function of sending requests to the server device 10. In one aspect, when the request unit 36 ​​receives a request to view the synchronization rate via the input unit 31, it sends a request to view the synchronization rate to the server device 10, which includes the identification information of the student video and the example video specified in the viewing request. In response to such a viewing request, the result of the synchronization rate calculation by the calculation unit 15C of the server device 10 may be displayed on the display unit 32.

[0105] The UL unit 37 has a function for uploading data to the server device 10. In one embodiment, when the UL unit 37 receives an instruction to upload a student video to the server device 10 via the input unit 31, it uploads the student video along with its metadata to the server device 10. Such metadata may include identification information of the student video, identification information of the lesson corresponding to the example video played by the video player function at the time the student video was recorded, and identification information of the instructor in charge of the lesson. The student videos uploaded in this manner are stored in the student video DB 13.

[0106] The setting unit 38 has a function to set parameters related to the playback state of the video. In one embodiment, when parameters related to the playback state of the example video are specified via the playback control screen 300, the setting unit 38 sets said parameters to the playback control unit 39B, which will be described later.

[0107] The output control unit 39 has the function of controlling the output of various types of information. The term "output" here may include display output and audio output. As shown in Figure 7, the output control unit 39 has a GUI control unit 39A and a playback control unit 39B.

[0108] The GUI control unit 39A has the function of controlling the display of the GUI screen shown on the display unit 32. In one aspect, when the GUI control unit 39A receives a playback instruction for the example video, a playback instruction for the student video, or a playback instruction for both the example video and the student video via the input unit 31, it displays the playback control screen 300 shown in Figure 11 on the display unit 32.

[0109] Figure 11 is a schematic diagram (1) showing an example of the transitions of the playback control screen 300. Figure 11 schematically illustrates, from left to right, how the playback control screen 300 displayed on the display unit 32 of the student terminal 30 transitions according to the operation procedure. As shown in Figure 11, the playback control screen 300 may include a thumbnail bar display area 330 and a controller display area 340, in addition to the video display area 310 and playback state setting area 320 explained earlier using Figure 3.

[0110] The thumbnail bar display area 330 displays a thumbnail bar 331 as a preview of the example video, in which thumbnail images of the example video are arranged horizontally, for example, left to right, or in rows, in order of playback time. By sliding the slider 331A on this thumbnail bar 331, it is possible to specify the playback position of the example video while visualizing the playback content in the example video corresponding to the playback position.

[0111] The controller display area 340 may include a first rewind button 341, a second rewind button 342, a play / pause button 343, a second fast-forward button 344, and a second fast-forward button 345.

[0112] The first rewind button 341 and the second rewind button 342 are both buttons that rewind the playback position of the video, but their rewind periods are different. For example, in the example shown in Figure 11, the rewind period for one tap of the first rewind button 341 is set to 5 seconds, and the rewind period for one tap of the second rewind button 342 is set to 0.3 seconds. When the first rewind button 341 is tapped, the playback position is rewound by 5 seconds, while when the second rewind button 342 is tapped, the playback position is rewound by 0.3 seconds. These rewind periods for the first rewind button 341 and the second rewind button 342 are merely examples, and users can set any period they wish.

[0113] The play / pause button 343 is a button that instructs the video to play or pause. For example, while the video is playing, the play / pause button 343 is displayed as an icon corresponding to pause, while while the video is stopped, the play / pause button 343 is displayed as an icon corresponding to play.

[0114] The second fast-forward button 344 and the first fast-forward button 345 are both buttons that fast-forward the playback position of the video, but their fast-forward durations are different. For example, in the example shown in Figure 11, the fast-forward duration for one tap of the first fast-forward button 345 is set to 5 seconds, and the fast-forward duration for one tap of the second fast-forward button 344 is set to 0.3 seconds. When the first fast-forward button 345 is tapped, the playback position is fast-forwarded by 5 seconds, while when the second fast-forward button 344 is tapped, the playback position is fast-forwarded by 0.3 seconds. These fast-forward durations for the first fast-forward button 345 and the second fast-forward button 344 are merely examples, and users can set any desired duration.

[0115] The reason for separating the rewind and fast-forward GUI components into two types is that the user's intended use also falls into two categories. Specifically, when a user wants to perform a rough rewind or fast-forward, for example, to recall a specific scene around the playback position during playback, they should use the first rewind button 341 and the first fast-forward button 345. On the other hand, when a user wants to perform a fine rewind or fast-forward, for example, to closely examine a dance frame by frame while stopped, they should use the second rewind button 342 and the second fast-forward button 344.

[0116] One aspect of the playback control screen 300 is that the marker function can be accessed through operations on the marker setting tab 323. For example, when the marker setting tab 323 is tapped, the display in the playback state setting area 320 changes from the tab display of the tempo change tab 321, loop setting tab 322, and marker setting tab 323 to the display of buttons for marker settings. That is, the playback state setting area 320 displays marker buttons 321A to 321D, a back button 321E, and a trash can button 321F.

[0117] These marker buttons 321A to 321D are all buttons that instruct playback to start from the playback position where a marker has been set. Here, Figure 11 shows, as an example, a situation where no markers have been set on any of the marker buttons 321A to 321D, and a marker is set on marker button 321C. For example, by moving the slider 331A left or right on the thumbnail bar 331, the user can specify the playback position where they want to set a marker. Then, when marker button 321C is tapped after the playback position has been specified, the marker on marker button 321C is set to the playback position corresponding to the position on slider 331A. Thus, to distinguish the marker button 321C, which has a marker already set, from the marker buttons 321A, 321B, and 321D, which do not have a marker set, the marker button 321C is changed to a different display format from the marker buttons 321A, 321B, and 321D, for example, a different display color (hatching display in Figure 11).

[0118] The back button 321E returns the display of the playback state setting area 320 to the tab display of the tempo change tab 321, loop setting tab 322, and marker setting tab 323. The trash can button 321F deletes the marker settings. For example, if a marker button that already has a marker set is tapped after the trash can button 321F is tapped, the marker set on that marker button will be deleted.

[0119] Another aspect is that the loop function can be invoked on the playback control screen 300 through operations on the loop setting tab 322. Figure 12 is a schematic diagram (2) showing an example of the transitions on the playback control screen 300. Figure 12 also schematically illustrates, from left to right, how the playback control screen 300 displayed on the display unit 32 of the student terminal 30 transitions according to the operation procedure.

[0120] As shown in Figure 12, when the loop setting tab 322 is tapped, the display in the playback state setting area 320 transitions from the tab display of the tempo change tab 321, loop setting tab 322, and marker setting tab 323 to the display of buttons for loop settings. Specifically, the playback state setting area 320 displays the start position specification button 322A, the loop switch 322B, the end position specification button 322C, the back button 322D, and the trash can button 322E.

[0121] The start position button 322A is used to specify the playback position where loop playback begins. The end position button 322C is used to specify the playback position where loop playback ends. The loop switch 322B is used to switch loop playback ON or OFF.

[0122] For example, by moving the slider 331A left or right on the thumbnail bar 331, the user can specify the playback position where they want to set the start or end of loop playback. In the example shown in Figure 12, if the start position specification button 322A is tapped, the loop playback start position pointer is set to the playback position specified on the thumbnail bar 331, i.e., the position marked "A". Furthermore, by tapping the end position specification button 322C, the loop playback end position pointer is set to the playback position specified on the thumbnail bar 331, i.e., the position marked "B". After setting these start and end position pointers, if the loop switch 322B is tapped, loop playback is set to the ON state. In this case, loop playback begins for the section between the start and end position pointers, i.e., the hatched section on the thumbnail bar 331 shown in Figure 12. In this way, to notify that loop playback has been switched to the ON state, the loop switch 322B can be highlighted when loop playback is ON.

[0123] The back button 322D returns the display of the playback state setting area 320 to the tab display of the tempo change tab 321, loop setting tab 322, and marker setting tab 323. The trash can button 322E deletes the loop playback setting. For example, if a loop switch 322B that already has loop playback set is tapped after the trash can button 322E is tapped, the loop playback set for that loop switch 322B will be deleted.

[0124] As a further aspect, the playback control screen 300 allows access to the tempo change function through operations on the tempo change tab 321. Figure 13 is a schematic diagram (3) showing an example of the transitions of the playback control screen 300. Figure 13 also schematically illustrates, from left to right, how the playback control screen 300 displayed on the display unit 32 of the student terminal 30 transitions according to the operation procedure.

[0125] As shown in Figure 13, when the tempo change tab 321 is tapped, the display in the playback state setting area 320 transitions from the tab display of the tempo change tab 321, loop setting tab 322, and marker setting tab 323 to the display of GUI components for tempo change. Specifically, the playback state setting area 320 displays the slider bar 321A, the slider 321B, the initialization button 321C, and the back button 321E.

[0126] For example, the user can specify the desired playback speed by moving the slider 331A left or right on the slider bar 321A, which corresponds to a range from a minimum of 0.20x to a maximum of 2.00x. Also, if the initialization button 321C is tapped, the playback speed is initialized to 1.00x. Furthermore, if the back button 322D is tapped, the display of the playback state setting area 320 returns to the tab display of the tempo change tab 321, loop setting tab 322, and marker setting tab 323. Note that although an example of specifying the playback speed multiplier has been given here, the playback speed may also be specified in BPM (Beats Per Minute).

[0127] As a further aspect, the playback control screen 300 allows switching between multiple display modes to display a video in the video display area 310. Such display modes may include, as just one example, a first mode for displaying a model video, a second mode for displaying the model video and student video as an overlay, a third mode for displaying the model video and student video side by side, and a fourth mode for displaying only the student video.

[0128] Figure 14 is a schematic diagram showing an example of video display modes. In Figure 14, examples of video display corresponding to the first mode, second mode, third mode, and fourth mode are shown in order from the top left to the top right, bottom left, and bottom right.

[0129] In these first to fourth modes, it is possible to freely switch between any two modes. Here, in all modes, an example is shown where the original video is played back in a horizontally flipped state, for example, left to right.

[0130] Figure 15 shows an example of a demonstration video. Figure 16 shows an example of a student video. Hereafter, when a horizontally flipped video is playing in the video display area 310, the word "mirror" will be displayed in mirrored letters in the upper right position of the video display area 310 to indicate that it is being flipped. As shown in Figures 15 and 16, the demonstration video 40 and student video 60 displayed in the video display area 310 will be flipped symmetrically when the flip button 311 is tapped. Hereafter, to distinguish between the original demonstration video and the horizontally flipped demonstration video, the horizontally flipped demonstration video may be referred to as the "flipped demonstration image." Similarly, the horizontally flipped student video may be referred to as the "flipped student image." As a result, the flipped demonstration video 40A or the flipped student video 60A will be displayed in the video display area 310. The advantage of reversing the original example video and original student video in this way is that it prevents students from learning the dance choreography as it appears, thus preventing them from learning a mirror image of the choreography with left and right reversed. If the flip button 311 is tapped again, the reversed example video 40A and reversed student video 60A will revert to the original example video 40 and original student video 60. In this way, by operating the flip button 311, it is possible to freely switch between displaying the original example video 40 and original student video 60, and the reversed example video 40A and reversed student video 60A.

[0131] Returning to the explanation of Figure 14, in the first mode, only the inverted example video 40A is displayed in the video display area 310. In the second mode, an overlay display is performed, where the inverted example video 40A is superimposed on the inverted student video 60A, and both the inverted example video 40A and the inverted student video 60A are displayed in the video display area 310. In the third mode, a two-screen display is performed, where the two videos, the inverted example image 40A and the inverted student video 60A, are displayed side by side in the video display area 310, either horizontally or vertically. In the fourth mode, only the inverted student video 60A is displayed in the video display area 310. Note that here, examples have been given where the two videos, the inverted example image 40A and the inverted student video 60A, are displayed side by side in the horizontal or vertical direction, but the arrangement of the two videos is not limited to this, and the inverted example image 40A and the inverted student video 60A may be displayed side by side diagonally.

[0132] In the second mode, as an example, the opacity of the inverted example video 40A is displayed with the default setting of 50%, but it is also possible to set the opacity of the inverted example video 40A to the user's preference.

[0133] Figure 17 shows an example of user-defined opacity settings. Figure 17 shows three examples: when the opacity of the inverted example video 40A is set to 0%, when the opacity of the inverted example video 40A is set to 50%, and when the opacity of the inverted example video 40A is set to 100%. As shown in Figure 17, the video display area 310 may be provided with a slider bar 312 for setting the opacity of the inverted example video 40A. This slider bar 312 is assigned a numerical range of opacity from a minimum of 0% to a maximum of 100%. By moving the slider 312A to any position on such a slider bar 312, the user can set any opacity. For example, when the opacity of the inverted example video 40A is set to 0%, only the inverted student image 60 is displayed in the video display area 310, while when the opacity of the inverted example video 40A is set to 100%, only the inverted example image 40 is displayed in the video display area 310. In addition to these minimum and maximum opacity levels, users can be allowed to set any desired opacity. This makes it possible to create an overlay display that matches the students' visual characteristics.

[0134] Furthermore, in each of the first to fourth modes, the position and size of the inverted example image 40A and the inverted student video 60A can be changed. Figure 18 shows an example of size change. Figure 18 shows an example where the position of the inverted student video 60A is moved to the right and the size of the inverted student video 60A is reduced, as shown in the third mode of Figure 14. Thus, the position and size can be arbitrarily changed by user settings. For example, the display size can be reduced by accepting a pinch-in operation on the inverted example image 40A or the inverted student video 60A, or enlarged by accepting a pinch-out operation. In addition, the display position of the inverted example image 40A or the inverted student video 60A can be moved by accepting a drag operation on the inverted example image 40A or the inverted student video 60A, and the movement of the display position can be ended by a drop operation. While Figure 18 shows an example where the position and size are changed, it is also possible to rotate the inverted example image 40A and the inverted student video 60A.

[0135] Students can freely switch between these four modes, from the first to the fourth, to customize the video playback state according to their needs when learning dance choreography. Figure 19 shows an example of the relationship between dance practice procedures and functions. As shown in Figure 19, changing the playback speed, looping, and flipping (reversing) the video can be effectively used at all steps in practicing dance choreography. Furthermore, 1) the first mode, i.e., "playback of the example video," is highly effective when learning the flow of the choreography. Also, 2) the second mode, i.e., "overlay playback," is highly effective when learning the angles of the choreography. In addition, 3) the third mode, i.e., "parallel playback," is highly effective when learning the timing of the choreography. Finally, 4) the fourth mode, i.e., "playback of the student video," is highly effective when checking whether one can dance by oneself.

[0136] Figure 20 shows a use case for checking choreography timing. Figure 20 shows an example where a mirrored example video 40A and a mirrored student video 60A are displayed side by side in the video display area 310. For example, in the example shown in Figure 20, by comparing the mirrored example video 40A and the mirrored student video 60A, it is possible to confirm that there is a discrepancy in poses between the instructor and the student. Specifically, there is a discrepancy between the orientation of the instructor's right wrist 41 and right elbow 42 and the orientation of the student's right wrist 61 and right elbow 62, and there is also a discrepancy between the orientation of the instructor's right hip 43 and right knee 44 and the orientation of the student's right hip 63 and right knee 64. Such pose discrepancies may be output as the result of the synchronization rate calculation by the calculation unit 15C. A student who has confirmed such a pose discrepancy can determine that the cause of the pose discrepancy is that the timing of the student's choreography is one beat behind the timing of the instructor's choreography.

[0137] Returning to the explanation of Figure 7, the playback control unit 39B has the function of controlling the playback of the video displayed in the video display area 310. In one embodiment, the playback control unit 39B plays a video corresponding to the display mode of the video display area 310 according to the playback state parameter settings set by the setting unit 38, for example, the setting of the playback speed multiplier, the setting of the loop playback interval, and the setting of markers. At this time, if the second mode or the third mode is selected as the display mode of the video display area 310, the playback control unit 39B plays the example video and the student video according to the time code of the example video. Note that when the second mode or the third mode is selected, the same parameters are used for playing the example video and the student video.

[0138] <Processing flow> Next, the processing flow of the video provision system according to this embodiment will be described. Here, the process will be described in the following order: (1) recording process performed by the instructor terminal 20, (2) reservation process performed by the server device 10 and student terminal 30, and (3) video playback process performed by the student terminal 30.

[0139] (1) Recording process Figure 21 is a flowchart showing the recording process. This process can be started, as an example, when the video recording button, which accepts recording requests from the main menu screen provided by the dancer app, is pressed.

[0140] As shown in Figure 21, the recording unit 24 receives a specification of the music to be embedded in the example video that the instructor will now film (step S101). Next, the recording unit 24 receives a setting of the playback time to start recording from the playback time of the music specified in step S101 (step S102). Then, the recording unit 24 receives a recording start operation (step S103).

[0141] Subsequently, the recording unit 24 executes a loop process 1 that repeats the processes of steps S104 and S105 below until the recording ends when the playback time of the song specified in step S101 ends, or when the recording is stopped.

[0142] In other words, the recording unit 24 sets the time code (HH:MM:SS:FF) of the playback time of the currently playing song to the nth frame of video captured by the imaging unit 23 (step S104). Then, the recording unit 24 records the video with the time code set in step S104 (step S105).

[0143] As this loop process 1 is repeated, a sample video is recorded in which the timecode of the song specified by the instructor is embedded in each frame of the video captured by the imaging unit 23.

[0144] Subsequently, the recording unit 24 uploads the video file of the example video recorded through the repetition of the above loop process 1 to the server device 10 (step S106), and terminates the process.

[0145] In this way, the example video uploaded to the server device 10 in step S106 is saved in the example video DB 12 of the server device 10. Of course, the example video may also be saved in the storage of the instructor terminal 20.

[0146] (2) Reservation processing Figure 22 is a sequence diagram showing the reservation process. As shown in Figure 22, the reservation unit 15A of the server device 10 receives a request from the student terminal 30 to view the lesson program (step S301). Subsequently, the reservation unit 15A of the server device 10 reads the lesson program for the date and time and time slot specified in the request from the program DB 11 (step S302).

[0147] Then, the reservation unit 15A of the server device 10 provides the student terminal 30 with a lesson selection screen that accepts instruction inputs for each lesson included in the lesson program, requesting to watch a sample video, and instruction inputs for the lesson to be taken (step S303).

[0148] Meanwhile, when a reservation acceptance button assigned to any of the lessons included in the lesson selection screen is selected (step S304), the request unit 36 ​​of the student terminal 30 sends a request to the server device 10 to register a reservation for the lesson to which the reservation acceptance button is assigned (step S305).

[0149] Then, the reservation unit 15A registers the account information assigned to the student who is the user of the student terminal 30, such as the student's identification information, in the participation slot for the lesson (step S306), and notifies the student terminal 30 of the completion of the reservation (step S307).

[0150] Once the lesson reservation is complete, the student device 30 will be authorized to access features such as playing and downloading example videos.

[0151] After the reservation is completed, the student terminal 30 accepts the operation of the play button for the example video from the lesson selection screen provided in step S303 (step S308). Then, the request unit of the student terminal 30 sends a request to the server device 10 to download the example video for which the play button operation was accepted (step S309).

[0152] When a request is made to download a sample video, the video provision unit 15B of the server device 10 reads the sample video for the lesson specified in the request from the sample video DB 12 and provides it to the student terminal 30 (steps S310 and S311).

[0153] Then, the playback control unit 39B of the student terminal 30 executes video playback processing using the example video provided in step S307 (step S312), and terminates the process.

[0154] These steps S308 through S312 can be repeated any number of times until the display on the student terminal 30's display unit 32 transitions from the lesson selection screen to another screen. The example video downloaded in step S311 can still be played using the dancer's app even after transitioning from the lesson selection screen to another screen.

[0155] (3) Video playback processing Figure 23 is a flowchart showing the procedure for video playback processing. This process may continue even while the video is playing. Note that each step described in this flowchart is applicable regardless of whether the display mode of the video display area 310 is in the first to fourth modes.

[0156] As shown in Figure 23, the playback control unit 39B displays the video of the frame for which a time code corresponding to the playback position is set in the video display area 310, and outputs the audio of the frame for which the time code is set from an audio output unit (not shown) (step S501).

[0157] Next, if the playback speed is changed via the tempo change tab 321 (step S502 Yes), the setting unit 38 changes the playback speed parameter set by the playback control unit 39B to the playback speed corresponding to the position of the slider 323B on the slider bar 323A (step S503).

[0158] If a marker is specified via the marker setting tab 323 (step S504 Yes), the playback control unit 39B shifts the playback position to the timecode in which the marker is set (step S505).

[0159] If a fast-forward or rewind operation is performed (step S504 No and step S506 Yes), the playback control unit 39B performs fast-forward or rewind for the duration of the fast-forward period or rewind period (step S507).

[0160] If neither a marker is specified nor a fast-forward or rewind operation is performed (step S504No and step S506No), the playback control unit 39B shifts to the next timecode by adding the time width corresponding to the frame rate to the timecode corresponding to the playback position (step S508).

[0161] Subsequently, if loop playback is ON (step S509 Yes), the playback control unit 39B determines whether the playback position has exceeded the end position of the loop-set section (step S510).

[0162] At this point, if the playback position exceeds the end position of the looped section (step S510 Yes), the playback control unit 39B sets the playback position to the start position of the loop (step S511) and returns to the process of step S501.

[0163] If loop playback is OFF (step S509No), or if the playback position does not exceed the end position of the looped section (step S510No), the process in step S511 is not executed, and the process proceeds to step S501.

[0164] <Summary> As described above, the video provision system 1 according to this embodiment provides the student terminal 30 with a sample video of the content that the instructor will teach in the lesson, such as dance choreography, before the lesson begins. Therefore, the video provision system 1 according to this embodiment can support users who practice the lesson content on their own before attending the lesson.

[0165] Furthermore, the student terminal 30 according to this embodiment controls the playback state of the example video in a display mode that simultaneously displays student videos and example videos, based on the settings of parameters related to the playback state of the example video. Therefore, with the student terminal 30 according to this embodiment, the video playback state can be easily customized to achieve video playback.

[0166] <Exhibiting creative abilities> The details described in the above embodiment, such as the number of instructor terminals 20 and student terminals 30, and specific examples of various screens, are merely examples and can be changed. Furthermore, the flowchart described in the embodiment can also be modified in terms of processing order, provided it is consistent with the original design.

[0167] <System> The processing procedures, control procedures, specific names, and various data and parameters shown in the above documents and drawings may be changed at will unless otherwise specified. For example, one or more of the first supply unit 15A and the second supply unit 16 of the server device 10 may be composed of separate devices.

[0168] Furthermore, the components of each illustrated device are functionally conceptual and do not necessarily need to be physically configured as shown. In other words, the specific forms of distribution and integration of each device are not limited to those shown. That is, all or part of them can be functionally or physically distributed and integrated in any units according to various loads and usage conditions. Note that each configuration may also be a physical configuration.

[0169] Furthermore, each processing function performed by each device may be implemented, in whole or in part, by a CPU (Central Processing Unit) and a program executed by that CPU, or by wired logic hardware.

[0170] <Hardware> Next, an example of the hardware configuration of the computer described in the above embodiment will be explained. Figure 24 is a diagram showing an example of the hardware configuration. As shown in Figure 24, the student terminal 30 has a communication device 30a, a storage device 30b, memory 30c, and a processor 30d. Note that the parts shown in Figure 24 may be interconnected by a bus or the like. Although Figure 24 shows an example of the hardware configuration of the student terminal 30, the server device 10 and the instructor terminal 20 may be implemented with a similar hardware configuration.

[0171] The communication device 30a is a network interface card, etc. The storage device 30b is a storage device such as an HDD (Hard Disk Drive) or SSD (Solid State Drive). For example, the storage device 30b stores programs and databases that operate the functions shown in Figure 7.

[0172] The processor 30d operates a process that performs the functions described in Figure 7 by reading a program that performs the same processing as the processing unit shown in Figure 7 from the storage device 30b or the like and loading it into memory 30c.

[0173] Such a process implements the same functions as the processing unit of the student terminal 30. For example, the processor 30d reads a program having the same functions as the recording unit 35, request unit 36, UL unit 37, setting unit 38, and output control unit 39 from the storage device 30b, etc. Then, the processor 30d executes a process that performs the same processing as the recording unit 35, request unit 36, UL unit 37, setting unit 38, and output control unit 39, etc.

[0174] Thus, the student terminal 30 operates as an information processing device that executes a video playback method by reading and executing a program. Furthermore, the student terminal 30 can also achieve the same functionality as the embodiment described above by reading the program from a recording medium using a media reader and executing the read program.

[0175] Furthermore, the program referred to in these other embodiments is not limited to being executed by the student terminal 30. For example, the present invention can be similarly applied when another computer or server executes the program, or when they collaborate to execute the program. As merely one example, the video playback function may be provided by the execution of the above program by the instructor terminal 20. As another example, the video provision service corresponding to the above video playback function may be provided from the server device 10 to the instructor terminal 20 and the student terminal 30 by the execution of the above program by the server device 10.

[0176] The above program can be distributed via a network such as the Internet. Furthermore, the program can be recorded on any storage medium and executed by reading it from the medium by a computer. For example, the storage medium can be a hard disk, flexible disk (FD), CD-ROM, MO (Magneto-Optical disk), DVD (Digital Versatile Disc), etc. [Explanation of symbols]

[0177] 1. Video delivery system 10 Server devices 11 Program DB 12 Example Video Database 13 Student Video Database 14 Comments Database 15. First Supply Section 15A Reservation Department 15B Video Provider 15C calculation section 16. Second Supply Section 20 Instructor Terminals 21 Input section 22 Display section 23 Imaging Unit 24 Recording Department 25 Output control unit 26 Request Section 30 Student terminals 31 Input section 32 Display section 33 Imaging Unit 34 Student Video Database 35 Recording Section 36 Request Section 37 UL section 38 Settings Section 39 Output Control Unit 39A GUI Control Unit 39B Playback control section

Claims

1. A setting unit for setting parameters related to the playback state of the first video, A playback control unit that controls the playback state of the second video in a display mode that includes a mode in which the first video and a second video different from the first video are displayed simultaneously, based on the setting of the parameters, A video playback device characterized by having the following features.

2. The video playback device according to claim 1, characterized in that the second video is a recording.

3. The video playback device according to claim 1, characterized in that the second video is live video captured in real time.

4. The video playback device according to claim 1, characterized in that the first video or the second video is displayed in a horizontally inverted state.

5. The video playback device according to claim 1, characterized in that the playback times of the first video and the second video are identified by the time code of the same song.

6. The video playback device according to claim 1, characterized in that the display mode can be switched between a first mode for displaying the first video, a second mode for displaying the first video and the second video as an overlay, a third mode for displaying the first video and the second video side by side, and a fourth mode for displaying the second video.

7. The video playback device according to claim 1, further comprising an imaging unit for capturing video.

8. The video playback device according to claim 7, further comprising a recording unit for recording a second video captured by the imaging unit.

9. The setting unit sets a marker to specify the playback position on the playback time of the first video, The video playback device according to claim 1, characterized in that the playback control unit plays the first video and the second video from the playback position where the marker is set within the playback time of the first video.

10. The setting unit sets a section in the playback time of the first video that specifies a loop, The video playback device according to claim 1, characterized in that the playback control unit repeats the playback of the first video and the second video with the playback range being the section in which the loop is specified within the playback time of the first video.

11. The video playback device according to claim 1, characterized in that the playback control unit performs fast forwarding or rewinding for a first period of time, or fast forwarding or rewinding for a second period of time shorter than the first period.

12. The video playback device according to claim 11, characterized in that the first period and the second period are set by the user.

13. The video playback device according to any one of claims 1 to 12, characterized in that the first video is a model video in which dance choreography is filmed.

14. Set parameters related to the playback state of the first video, The playback state of the second video in a display mode that includes a mode in which the first video and a second video different from the first video are displayed simultaneously is controlled based on the setting of the parameter. A video playback program characterized by having a computer perform the processing.