KR102457450B1 - Device and method for measuring and sharing excercise record of exercise video - Google Patents

Device and method for measuring and sharing excercise record of exercise video Download PDF

Info

Publication number
KR102457450B1
KR102457450B1 KR1020210087061A KR20210087061A KR102457450B1 KR 102457450 B1 KR102457450 B1 KR 102457450B1 KR 1020210087061 A KR1020210087061 A KR 1020210087061A KR 20210087061 A KR20210087061 A KR 20210087061A KR 102457450 B1 KR102457450 B1 KR 102457450B1
Authority
KR
South Korea
Prior art keywords
exercise
image
frame
frames
processor
Prior art date
Application number
KR1020210087061A
Other languages
Korean (ko)
Inventor
김대수
정동명
박광호
Original Assignee
주식회사 아워스포츠네이션
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 주식회사 아워스포츠네이션 filed Critical 주식회사 아워스포츠네이션
Priority to KR1020210087061A priority Critical patent/KR102457450B1/en
Application granted granted Critical
Publication of KR102457450B1 publication Critical patent/KR102457450B1/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q50/00Systems or methods specially adapted for specific business sectors, e.g. utilities or tourism
    • G06Q50/10Services
    • G06Q50/22Social work
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63BAPPARATUS FOR PHYSICAL TRAINING, GYMNASTICS, SWIMMING, CLIMBING, OR FENCING; BALL GAMES; TRAINING EQUIPMENT
    • A63B24/00Electric or electronic controls for exercising apparatus of preceding groups; Controlling or monitoring of exercises, sportive games, training or athletic performances
    • A63B24/0003Analysing the course of a movement or motion sequences during an exercise or trainings sequence, e.g. swing for golf or tennis
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63BAPPARATUS FOR PHYSICAL TRAINING, GYMNASTICS, SWIMMING, CLIMBING, OR FENCING; BALL GAMES; TRAINING EQUIPMENT
    • A63B24/00Electric or electronic controls for exercising apparatus of preceding groups; Controlling or monitoring of exercises, sportive games, training or athletic performances
    • A63B24/0062Monitoring athletic performances, e.g. for determining the work of a user on an exercise apparatus, the completed jogging or cycling distance
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q50/00Systems or methods specially adapted for specific business sectors, e.g. utilities or tourism
    • G06Q50/10Services
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q50/00Systems or methods specially adapted for specific business sectors, e.g. utilities or tourism
    • G06Q50/10Services
    • G06Q50/20Education
    • G06Q50/205Education administration or guidance
    • G06Q50/2057Career enhancement or continuing education service
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V40/00Recognition of biometric, human-related or animal-related patterns in image or video data
    • G06V40/20Movements or behaviour, e.g. gesture recognition
    • G06V40/23Recognition of whole body movements, e.g. for sport training

Abstract

A method according to various embodiments of the present disclosure is a method performed in a server device including a communication circuit, a first memory, a second memory, and a processor. The method may comprise the following steps of: receiving, through the communication circuit, an exercise video of a first user's exercise activity from a first user terminal; storing, by the processor, the exercise video received through the communication circuit in the first memory; calculating, by the processor, an exercise record for the exercise activity by accessing the first memory and analyzing the exercise video; and in response to completion of receiving the exercise video, storing, by the processor, the exercise video and the exercise record in the second memory. In addition, the step of calculating the exercise record may include a step of analyzing frames of the exercise video based on a preset algorithm according to a type of the exercise activity and calculating at least one of a performance time, number of performances, and performance distance of the exercise activity. Additionally, the step of storing the exercise video in the first memory may be executed simultaneously with the step of calculating the exercise record. According to the present invention, users can check and improve the exercise records by oneself, thereby enabling self-directed learning.

Description

운동 영상의 운동 기록 측정 및 공유를 위한 장치 및 방법 {DEVICE AND METHOD FOR MEASURING AND SHARING EXCERCISE RECORD OF EXERCISE VIDEO}Device and method for measuring and sharing exercise record of exercise video {DEVICE AND METHOD FOR MEASURING AND SHARING EXCERCISE RECORD OF EXERCISE VIDEO}

본 개시의 실시예들은 서버 장치를 이용한 운동 영상의 운동 기록 측정 및 공유 방법과 그 서버 장치에 관한 것으로, 상세하게는 사용자로부터 수신한 운동 영상에서 운동 기록을 측정하고 운동 영상 및/또는 운동 기록을 공유하는 방법 및 장치에 관한 것이다.Embodiments of the present disclosure relate to a method for measuring and sharing an exercise record of an exercise image using a server device and a server device therefor, and more particularly, to a method of measuring and sharing an exercise record in an exercise image received from a user, and measuring the exercise record in an exercise image received from a user and recording the exercise image and/or exercise record It relates to a method and apparatus for sharing.

최근 비대면 활동이 활성화됨에 따라 각 개인들은 체육관과 같은 별도의 공용 공간에 가지 않고 각자의 독립된 공간에서 개별적으로 운동하는 경우가 늘고 있다. 학교에서도 온라인 수업 및 평가가 불가피한 상황이 증가하고 있으며 신체 움직임이 요구되는 체육 과목도 예외가 아니다. 그러나, 각 개인들이 비대면으로 운동 활동을 수행하는 경우에는 수행한 활동에 대한 정확한 운동 기록을 확인하고 평가하는 것이 어렵다는 문제가 있다.Recently, as non-face-to-face activities are active, individuals are increasingly exercising in their own independent space without going to a separate public space such as a gym. Online classes and assessments are increasingly unavoidable in schools, and physical education subjects that require physical movement are no exception. However, when each individual performs an exercise activity non-face-to-face, there is a problem in that it is difficult to check and evaluate an accurate exercise record of the performed activity.

개개인이 스스로 수행한 운동 활동을 영상으로 촬영한 후 개인 코치 또는 교사에게 운동 영상 전송함으로써 기록 확인 및 평가를 요청할 수 있다. 그러나, 개인 코치나 교사가 일일이 운동 영상을 재생하여 운동 기록을 측정하는 것은 많은 시간이 소요될 뿐만 아니라 정확한 기록 측정이 어려울 수 있다. 특히, 학교 현장에서는 다수의 학생에 대해 객관적인 성적 평가가 요구되므로, 운동 영상을 통한 비대면 평가에 어려움이 있다.After recording a video of an exercise activity performed by an individual, it is possible to request a record check and evaluation by transmitting the exercise video to a personal coach or teacher. However, it takes a lot of time for a personal coach or teacher to measure an exercise record by individually reproducing the exercise video, and it may be difficult to accurately measure the record. In particular, since objective grade evaluation is required for a large number of students in the school field, there is a difficulty in non-face-to-face evaluation through exercise video.

본 개시의 다양한 실시예에 따른 방법은, 통신 회로, 제1 메모리, 제2 메모리 및 프로세서를 포함하는 서버 장치에서 수행되는 방법으로서, 상기 통신 회로를 통해, 제1 사용자 단말로부터 제1 사용자의 운동 활동을 촬영한 운동 영상을 수신하는 단계, 상기 프로세서에 의해, 상기 통신 회로를 통해 수신하는 상기 운동 영상을 상기 제1 메모리에 저장하는 단계, 상기 프로세서에 의해, 상기 제1 메모리에 액세스하고 상기 운동 영상을 분석하여 상기 운동 활동에 대한 운동 기록을 산출하는 단계를 포함할 수 있다. 상기 운동 기록을 산출하는 단계는 상기 운동 활동의 종류에 따라 기설정된 알고리즘을 기초로 상기 운동 영상의 프레임들을 분석하여 상기 운동 활동의 수행 시간, 수행 횟수, 및 수행 거리 중 적어도 하나를 산출하는 단계를 포함할 수 있다. 아울러, 상기 방법은 상기 프로세서에 의해, 상기 운동 영상의 수신이 완료되는 것에 응답하여, 상기 운동 영상 및 상기 운동 기록을 상기 제2 메모리에 저장하는 단계를 포함하고, 상기 운동 영상을 상기 제1 메모리에 저장하는 단계는 상기 운동 기록을 산출하는 단계와 동시에 실행될 수 있다.A method according to various embodiments of the present disclosure is a method performed in a server device including a communication circuit, a first memory, a second memory, and a processor, wherein the movement of the first user from the first user terminal through the communication circuit Receiving, by the processor, the exercise image received through the communication circuit, in the first memory, accessing, by the processor, the first memory and performing the exercise Analyzing the image may include calculating an exercise record for the exercise activity. The step of calculating the exercise record comprises the steps of analyzing the frames of the exercise image based on a preset algorithm according to the type of the exercise activity and calculating at least one of the execution time, the number of times, and the execution distance of the exercise activity. may include In addition, the method includes, by the processor, in response to the completion of the reception of the exercise image, storing the exercise image and the exercise record in the second memory, and storing the exercise image in the first memory The step of storing the exercise record may be executed simultaneously with the step of calculating the exercise record.

본 개시의 다양한 실시예에 따른 서버 장치는, 데이터를 송수신하도록 구성되는 통신 회로, 제1 메모리 및 제2 메모리, 및 프로세서를 포함하고, 상기 프로세서는, 상기 통신 회로를 통해, 제1 사용자 단말로부터 제1 사용자의 운동 활동을 촬영한 운동 영상을 수신하고, 상기 프로세서에 의해, 상기 통신 회로를 통해 수신하는 상기 운동 영상을 상기 제1 메모리에 저장하고, 상기 프로세서에 의해, 상기 제1 메모리에 액세스하고 상기 운동 영상을 분석하여 상기 운동 활동에 대한 운동 기록을 산출할 수 있다. 상기 운동 기록을 산출하는 것은 상기 운동 활동의 종류에 따라 기설정된 알고리즘을 기초로 상기 운동 영상의 프레임들을 분석하여 상기 운동 활동의 수행 시간, 수행 횟수, 및 수행 거리 중 적어도 하나를 산출하는 것을 포함할 수 있다. 또한, 상기 프로세서는, 상기 운동 영상의 수신이 완료되는 것에 응답하여, 상기 운동 영상 및 상기 운동 기록을 상기 제2 메모리에 저장하도록 구성되고, 상기 운동 영상을 상기 제1 메모리에 저장하는 것은 상기 운동 기록을 산출하는 것과 동시에 실행될 수 있다.A server device according to various embodiments of the present disclosure includes a communication circuit configured to transmit and receive data, a first memory and a second memory, and a processor, wherein the processor is configured to transmit and receive data from a first user terminal through the communication circuit Receive an exercise image captured by a first user's exercise activity, store the exercise image received through the communication circuit by the processor in the first memory, and access the first memory by the processor and analyze the exercise image to calculate an exercise record for the exercise activity. Calculating the exercise record may include analyzing the frames of the exercise image based on a preset algorithm according to the type of exercise activity to calculate at least one of the exercise time, the number of times, and the distance to be performed. can In addition, the processor is configured to store the exercise image and the exercise record in the second memory in response to completion of the reception of the exercise image, and the storing of the exercise image in the first memory includes the exercise It can be executed at the same time as producing the record.

본 개시의 실시예들에 의하면, 서버 장치가 사용자 단말로부터 수신하는 운동 영상을 토대로 운동 기록을 측정하여 제공하므로, 사용자들이 스스로 자신의 운동 기록을 확인하고 개선할 수 있는 자기주도적 학습이 가능해진다. 또한, 교사나 코치들은 학생들의 운동 기록 확인을 위해 학생들이 촬영한 운동 영상을 일일이 재생하여 확인할 필요가 없으므로, 학생들의 평가 시간을 단축할 수 있다. According to embodiments of the present disclosure, since the server device measures and provides an exercise record based on an exercise image received from the user terminal, self-directed learning in which users can check and improve their own exercise record is possible. In addition, teachers or coaches do not need to replay and check the exercise videos recorded by the students in order to check the exercise records of the students, so it is possible to shorten the evaluation time of the students.

본 개시의 실시예들에 의하면, 서버 장치가 권한이 있는 다양한 사용자 단말로 운동 기록이나 운동 영상을 공유할 수 있다. 따라서, 학생의 운동 영상이나 운동 기록을 학부모에게도 공유함으로써 학부모들이 자녀들의 성취 정도를 파악하고 자녀들에게 동기 부여를 제공할 수 있다.According to the embodiments of the present disclosure, a server device may share an exercise record or an exercise image with various user terminals having authority. Therefore, by sharing a student's exercise video or exercise record with parents, parents can understand the level of achievement of their children and provide motivation to their children.

도 1은 본 개시의 실시예들에 따른 서버 장치 및 네트워크를 통해 서버 장치와 통신하는 사용자 단말들 간의 관계를 도시한 도면이다.
도 2a는 본 개시의 다양한 실시예에 따른 제1 사용자 단말의 블록도이다.
도 2b는 제1 사용자 단말이 서버 장치의 운동 기록 측정 서비스를 제공받기 위해 전용 애플리케이션을 실행한 경우 디스플레이에 표시되는 화면들의 예시를 보여주는 도면이다.
도 3은 본 개시의 다양한 실시예에 따른 서버 장치의 블록도이다.
도 4a는 본 개시의 다양한 실시예에 따른 제2 사용자 단말의 블록도이다.
도 4b 내지 도 4d는 제2 사용자 단말이 서버 장치로부터 수신한 운동 영상 및 기록 측정 결과를 디스플레이에 표시한 예시적인 화면들이다.
도 5a는 본 개시의 다양한 실시예에 따른 제3 사용자 단말의 블록도이다.
도 5b는 서버 장치의 서비스를 제공하기 위해 제3 사용자 단말의 디스플레이에 표시하는 예시적인 화면들이다.
도 6은 제1 사용자 단말이 운동 영상을 서버 장치로 업로드하기 위해 프로세서에 의해 수행되는 방법의 흐름도이다.
도 7은 제1 사용자 단말로부터 수신하는 운동 활동에 대한 운동 영상을 저장하고 운동 기록을 산출하기 위해 서버 장치의 프로세서에 의해 수행되는 방법의 흐름도이다.
도 8a는 서버 장치의 프로세서가 분석 모듈을 통해 수행하는 다양한 실시예에 따른 운동 기록 산출 방법을 도시한다.
도 8b는 프로세서에 의해 검출된 객체의 위치들을 예시적으로 도시한다.
도 9a는 서버 장치의 프로세서가 분석 모듈을 통해 수행하는 또 다른 다양한 실시예에 따른 운동 기록 산출 방법을 도시한다.
도 9b는 도 9a에 도시된 방법을 사용하여 운동 기록을 산출할 수 있는 운동 활동의 일 예시로서, 윗몸 말아올리기 운동을 예시적으로 도시한다.
도 10a는 서버 장치의 프로세서가 분석 모듈을 통해 수행하는 또 다른 다양한 실시예에 따른 운동 기록 산출 방법을 도시한다.
도 10b는 도 10a에 도시된 방법을 사용하여 운동 기록을 산출할 수 있는 운동 활동의 일 예시로서, 제자리 멀리뛰기 운동을 예시적으로 도시한다.
도 11은 서버 장치의 프로세서가 분석 모듈을 통해 수행하는 또 다른 다양한 실시예에 따른 운동 기록 산출 방법을 도시한다.
도 12a는 서버 장치의 프로세서가 분석 모듈을 통해 수행하는 또 다른 다양한 실시예에 따른 운동 기록 산출 방법을 도시한다.
도 12b는 도 12a에 도시된 방법을 사용하여 운동 기록을 산출할 수 있는 운동 활동의 일 예시로서, 달리기 운동을 예시적으로 도시한다.
1 is a diagram illustrating a relationship between a server device and user terminals communicating with the server device through a network according to embodiments of the present disclosure.
2A is a block diagram of a first user terminal according to various embodiments of the present disclosure;
2B is a diagram illustrating examples of screens displayed on a display when a first user terminal executes a dedicated application to receive an exercise record measurement service of a server device.
3 is a block diagram of a server device according to various embodiments of the present disclosure.
4A is a block diagram of a second user terminal according to various embodiments of the present disclosure;
4B to 4D are exemplary screens in which a second user terminal displays an exercise image received from a server device and a recorded measurement result on a display.
5A is a block diagram of a third user terminal according to various embodiments of the present disclosure;
5B are exemplary screens displayed on a display of a third user terminal to provide a service of a server device.
6 is a flowchart of a method performed by a processor to upload an exercise video to a server device by a first user terminal.
7 is a flowchart of a method performed by a processor of a server device to store an exercise image for an exercise activity received from a first user terminal and to calculate an exercise record.
8A illustrates a method of calculating an exercise record according to various embodiments performed by a processor of a server device through an analysis module.
8B exemplarily shows positions of objects detected by the processor.
FIG. 9A illustrates a method of calculating an exercise record according to another various exemplary embodiments performed by a processor of a server device through an analysis module.
FIG. 9B illustrates an example of an exercise activity for which an exercise record may be calculated using the method illustrated in FIG. 9A , exemplarily illustrating a sit-up exercise.
10A illustrates a method of calculating an exercise record according to another various exemplary embodiments performed by a processor of a server device through an analysis module.
FIG. 10B exemplarily illustrates an in-place long jump exercise as an example of an athletic activity for which an exercise record may be calculated using the method illustrated in FIG. 10A .
11 is a diagram illustrating a method of calculating an exercise record according to another various exemplary embodiments performed by a processor of a server device through an analysis module.
12A illustrates a method of calculating an exercise record according to another various exemplary embodiments performed by a processor of a server device through an analysis module.
12B exemplarily illustrates a running exercise as an example of an exercise activity for which an exercise record may be calculated using the method illustrated in FIG. 12A .

본 개시의 실시예들은 본 개시의 기술적 사상을 설명하기 위한 목적으로 예시된 것이다. 본 개시에 따른 권리범위가 이하에 제시되는 실시예들이나 이들 실시예들에 대한 구체적 설명으로 한정되는 것은 아니다.Embodiments of the present disclosure are exemplified for the purpose of explaining the technical spirit of the present disclosure. The scope of the rights according to the present disclosure is not limited to the embodiments presented below or specific descriptions of these embodiments.

본 개시에 사용되는 모든 기술적 용어들 및 과학적 용어들은, 달리 정의되지 않는 한, 본 개시가 속하는 기술 분야에서 통상의 지식을 가진 자에게 일반적으로 이해되는 의미를 갖는다. 본 개시에 사용되는 모든 용어들은 본 개시를 더욱 명확히 설명하기 위한 목적으로 선택된 것이며 본 개시에 따른 권리범위를 제한하기 위해 선택된 것이 아니다.All technical and scientific terms used in this disclosure, unless otherwise defined, have the meanings commonly understood by one of ordinary skill in the art to which this disclosure belongs. All terms used in the present disclosure are selected for the purpose of more clearly describing the present disclosure and not to limit the scope of the present disclosure.

본 개시에서 사용되는 "포함하는", "구비하는", "갖는" 등과 같은 표현은, 해당 표현이 포함되는 어구 또는 문장에서 달리 언급되지 않는 한, 다른 실시예를 포함할 가능성을 내포하는 개방형 용어(open-ended terms)로 이해되어야 한다.As used in this disclosure, expressions such as "comprising", "including", "having", etc. are open-ended terms connoting the possibility of including other embodiments, unless otherwise stated in the phrase or sentence in which the expression is included. (open-ended terms).

본 개시에서 기술된 단수형의 표현은 달리 언급하지 않는 한 복수형의 의미를 포함할 수 있으며, 이는 청구범위에 기재된 단수형의 표현에도 마찬가지로 적용된다.Expressions in the singular described in this disclosure may include the meaning of the plural unless otherwise stated, and the same applies to expressions in the singular in the claims.

본 개시에서 사용되는 "제1", "제2" 등의 표현들은 복수의 구성요소들을 상호 구분하기 위해 사용되며, 해당 구성요소들의 순서 또는 중요도를 한정하는 것은 아니다.Expressions such as “first” and “second” used in the present disclosure are used to distinguish a plurality of components from each other, and do not limit the order or importance of the corresponding components.

본 개시에서 사용되는 "~에 기초하여"라는 표현은, 해당 표현이 포함되는 어구 또는 문장에서 기술되는, 결정, 판단의 행위 또는 동작에 영향을 주는 하나 이상의 인자를 기술하는데 사용되며, 이 표현은 결정, 판단의 행위 또는 동작에 영향을 주는 추가적인 인자를 배제하지 않는다.As used in this disclosure, the expression "based on" is used to describe one or more factors affecting the act or action of a decision, judgment, or action described in a phrase or sentence in which the expression is included, the expression being It does not exclude additional factors influencing the actions or actions of decisions, judgments or actions.

본 개시에서, 어떤 구성요소가 다른 구성요소에 "연결되어" 있다거나 "접속되어" 있다고 언급된 경우, 상기 어떤 구성요소가 상기 다른 구성요소에 직접적으로 연결될 수 있거나 접속될 수 있는 것으로, 또는 새로운 다른 구성요소를 매개로 하여 연결될 수 있거나 접속될 수 있는 것으로 이해되어야 한다.In the present disclosure, when a component is referred to as being “connected” or “connected” to another component, the component can be directly connected or connectable to the other component, or a new component It should be understood that other components may be connected or may be connected via other components.

본 개시의 기술적 사상은, 본 문서에 기재된 각 실시예의 다양한 변경(modifications), 균등물(equivalents), 대체물(alternatives) 및 각 실시예의 전부 또는 일부로부터 선택적으로 조합된 실시예를 포함한다. 또한 본 개시의 기술적 사상의 권리 범위는 이하에 제시되는 다양한 실시예들이나 이에 대한 구체적 설명으로 한정되지 않는다.The technical spirit of the present disclosure includes various modifications, equivalents, and alternatives of each embodiment described in this document, and embodiments selectively combined from all or part of each embodiment. In addition, the scope of the rights of the technical idea of the present disclosure is not limited to the various embodiments presented below or specific descriptions thereof.

도면의 설명과 관련하여, 유사한 또는 관련된 구성요소에 대해서는 유사한 참조 부호가 사용될 수 있다. 아이템에 대응하는 명사의 단수 형은 관련된 문맥상 명백하게 다르게 지시하지 않는 한, 상기 아이템 한 개 또는 복수 개를 포함할 수 있다. 본 문서에서, "A 또는 B", "A 및 B 중 적어도 하나","A 또는 B 중 적어도 하나", "A, B 또는 C", "A, B 및 C 중 적어도 하나" 및 "A, B, 또는 C 중 적어도 하나"와 같은 문구들 각각은 그 문구들 중 해당하는 문구에 함께 나열된 항목들 중 어느 하나, 또는 그들의 모든 가능한 조합을 포함할 수 있다. "제 1", "제 2", 또는 "첫째" 또는 "둘째"와 같은 용어들은 단순히 해당 구성요소를 다른 해당 구성요소와 구분하기 위해 사용될 수 있으며, 해당 구성요소들을 다른 측면(예: 중요성 또는 순서)에서 한정하지 않는다. In connection with the description of the drawings, like reference numerals may be used for similar or related components. The singular form of the noun corresponding to the item may include one or more of the item, unless the relevant context clearly dictates otherwise. As used herein, "A or B", "at least one of A and B", "at least one of A or B", "A, B or C", "at least one of A, B and C" and "A; Each of the phrases "at least one of B, or C" may include any one of, or all possible combinations of, items listed together in the corresponding one of the phrases. Terms such as "first", "second", or "first" or "second" may simply be used to distinguish an element from other elements in question, and may refer elements to other aspects (e.g., importance or order) is not limited.

본 문서에서 사용된 표현 "~하도록 구성된(configured to)"은 문맥에 따라, "~하도록 설정된", "~하는 능력을 가지는", "~하도록 변경된", "~하도록 만들어진", "~를 할 수 있는" 등의 의미를 가질 수 있다. 해당 표현은, "하드웨어적으로 특별히 설계된"의 의미로 제한되지 않으며, 예를 들어 특정 동작을 수행하도록 구성된 프로세서(111)란, 소프트웨어를 실행함으로써 그 특정 동작을 수행할 수 있는 범용 프로세서(111)(generic-purpose processor)를 의미할 수 있다.As used in this document, the expression "configured to" means "configured to", "having the ability to", "modified to", "made to", "to do", depending on the context. It can have the meaning of "can be". The expression is not limited to the meaning of "specially designed in terms of hardware", and for example, the processor 111 configured to perform a specific operation is a general-purpose processor 111 capable of performing the specific operation by executing software. (generic-purpose processor).

이하, 첨부된 도면들을 참조하여, 본 개시의 다양한 실시예들을 설명한다. 첨부된 도면 및 도면에 대한 설명에서, 동일하거나 실질적으로 동등한(substantially equivalent) 구성요소에는 동일한 참조부호가 부여될 수 있다. 또한, 이하 다양한 실시예들의 설명에 있어서, 동일하거나 대응하는 구성요소를 중복하여 기술하는 것이 생략될 수 있으나, 이는 해당 구성요소가 그 실시예에 포함되지 않는 것을 의미하지는 않는다.Hereinafter, various embodiments of the present disclosure will be described with reference to the accompanying drawings. In the accompanying drawings and the description of the drawings, the same reference numerals may be assigned to the same or substantially equivalent elements. In addition, in the following description of various embodiments, description of the same or corresponding components may be omitted, but this does not mean that the corresponding components are not included in the embodiments.

도 1은 본 개시의 실시예들에 따른 서버 장치(110) 및 네트워크를 통해 서버 장치(110)와 통신하는 사용자 단말들(120,130,140) 간의 관계를 도시한 도면이다. 1 is a diagram illustrating a relationship between a server device 110 and user terminals 120 , 130 , and 140 communicating with the server device 110 through a network according to embodiments of the present disclosure.

도 1을 참조하면, 다양한 실시예에 따른 서버 장치(110)는 복수의 사용자 단말(120,130,140)과 네트워크를 통해서 서로 연결되어 다양한 데이터를 송수신할 수 있다. 다양한 실시예에 따른 서버 장치(110)는 복수의 사용자 단말 (120,130,140)과 운동 영상 및 운동 기록을 측정 및 공유하는 서비스를 제공할 수 있다. 예를 들어, 서버 장치(110)는 학생으로부터 운동 영상을 제공받아 운동 기록을 산출해주는 서비스를 제공할 수 있다. 또한, 서버 장치(110)는 학생이 수행한 체육 활동을 교사 및 학부모와 공유하는 서비스를 제공할 수 있다. 이러한 실시예에서, 제1 사용자 단말(120)은 학생과 연관된 단말일 수 있으며, 제2 사용자 단말(130)은 교사와 연관된 단말일 수 있다. 또한, 제3 사용자 단말(140)은 학부모와 연관된 단말일 수 있다.Referring to FIG. 1 , a server device 110 according to various embodiments may be connected to a plurality of user terminals 120 , 130 , and 140 through a network to transmit/receive various data. The server device 110 according to various embodiments may provide a service for measuring and sharing an exercise image and an exercise record with a plurality of user terminals 120 , 130 , and 140 . For example, the server device 110 may provide a service for calculating an exercise record by receiving an exercise image from a student. In addition, the server device 110 may provide a service for sharing the physical activity performed by the student with teachers and parents. In this embodiment, the first user terminal 120 may be a terminal associated with a student, and the second user terminal 130 may be a terminal associated with a teacher. Also, the third user terminal 140 may be a terminal associated with a parent.

다양한 실시예에 따른 제1 사용자 단말(120)은 서버 장치(110)에 사용자 정보를 제공한 후 등록 절차를 진행할 수 있다. 일 실시예에 따르면, 학생은 제1 사용자 단말(120)을 이용하여 자신의 사용자 정보를 서버 장치(110)에 제공함으로써 등록 절차를 진행할 수 있다. 사용자 정보는, 예를 들어, 사용자 아이디, 비밀번호 등의 사용자 식별 정보를 포함할 수 있다. 또한, 예시적으로 학생의 경우 사용자 정보는 학교명, 학급명, 출석 번호 등의 소속 정보를 추가적으로 포함할 수 있다. The first user terminal 120 according to various embodiments may provide user information to the server device 110 and then perform a registration procedure. According to an embodiment, the student may proceed with the registration procedure by providing his/her user information to the server device 110 using the first user terminal 120 . The user information may include, for example, user identification information such as a user ID and password. Also, for example, in the case of a student, the user information may additionally include affiliation information such as a school name, a class name, and an attendance number.

다양한 실시예에 따르면, 제1 사용자 단말(120)은 등록된 사용자 식별 정보를 서버 장치(110)에 제공함으로써 서비스 로그인 절차를 수행할 수 있다. 다양한 실시예에 따르면, 제1 사용자 단말(120)은 사용자의 운동 영상을 촬영할 수 있으며, 운동 기록 측정을 요청하기 위해 운동 영상을 서버 장치(110)에 전송할 수 있다. According to various embodiments, the first user terminal 120 may perform a service login procedure by providing registered user identification information to the server device 110 . According to various embodiments, the first user terminal 120 may capture an exercise image of the user and transmit the exercise image to the server device 110 in order to request an exercise record measurement.

다양한 실시예에서, 상술한 제1 사용자 단말(120)의 등록 절차, 로그인 절차 및 영상 전송 등의 동작은 제1 사용자 단말(120)에 설치된 전용 애플리케이션을 통해 수행될 수 있다. In various embodiments, operations such as the registration procedure, login procedure, and image transmission of the first user terminal 120 described above may be performed through a dedicated application installed in the first user terminal 120 .

다양한 실시예에 따른 서버 장치(110)는 제1 사용자 단말(120)로부터 운동 영상을 수신할 수 있다. 다양한 실시예에서, 서버 장치(110)는 제1 사용자 단말(120)이 촬영하는 운동 영상을 실시간으로 수신하면서 동시에 수신하는 운동 영상을 메모리에 저장할 수 있다. 다양한 실시예에서, 서버 장치(110)는 제1 사용자 단말(120)로부터 수신되는 운동 영상을 저장하면서, 동시에 수신되는 운동 영상의 프레임들을 실시간으로 분석하여 운동 기록을 산출할 수 있다. The server device 110 according to various embodiments may receive an exercise image from the first user terminal 120 . In various embodiments, the server device 110 may receive an exercise image captured by the first user terminal 120 in real time and simultaneously store the received exercise image in a memory. In various embodiments, the server device 110 may calculate an exercise record by analyzing the frames of the simultaneously received exercise image in real time while storing the exercise image received from the first user terminal 120 .

일 실시예에서, 서버 장치(110)는, 제1 사용자 단말(120)로부터 수신된 운동 영상에 대해 운동 기록 산출을 완료하면, 산출된 운동 기록을 운동 영상과 함께 저장할 수 있다. 다양한 실시예에서, 서버 장치(110)는 상기 제1 사용자 단말(120)로부터 수신한 운동 영상의 저장을 완료하면 상기 제1 사용자 단말(120)에 업로드 완료 통지를 전송할 수 있다. 이 때 서버 장치(110)는 산출된 운동 기록이 포함된 업로드 완료 통지를 제1 사용자 단말(120)로 전송함으로써 제1 사용자 단말(120)의 사용자가 자신의 운동 기록을 확인하도록 할 수 있다.In an embodiment, when the server device 110 completes calculating the exercise record for the exercise image received from the first user terminal 120 , the server device 110 may store the calculated exercise record together with the exercise image. In various embodiments, the server device 110 may transmit an upload completion notification to the first user terminal 120 when the storage of the exercise image received from the first user terminal 120 is completed. In this case, the server device 110 transmits an upload completion notification including the calculated exercise record to the first user terminal 120 so that the user of the first user terminal 120 can check his/her exercise record.

본 개시의 다양한 실시예에 따른 제2 사용자 단말(130)은 서버 장치(110)에 액세스하여 다른 사용자(예컨대, 제1 사용자 단말(120)과 관련된 사용자)의 운동 영상 및/또는 운동 기록을 수신할 수 있다. 예시적으로, 제2 사용자 단말(130)은 서버 장치(110)에서 제공되는 SaaS (Software as a Service) 기반 서비스 통해 웹 상에서 운동 영상 및/또는 운동 기록을 확인할 수 있다.The second user terminal 130 according to various embodiments of the present disclosure accesses the server device 110 to receive an exercise video and/or an exercise record of another user (eg, a user related to the first user terminal 120 ). can do. For example, the second user terminal 130 may check an exercise video and/or an exercise record on the web through a SaaS (Software as a Service)-based service provided by the server device 110 .

본 개시의 다양한 실시예에 따른 제2 사용자 단말(130)은 서버 장치(110)에 사용자 정보를 제공함으로써 등록 절차를 진행할 수 있다. 일 실시예에 따르면, 제2 사용자 단말(130)과 연관된 사용자 (예컨대, 교사)는 제2 사용자 단말(130)을 이용하여 자신의 사용자 정보를 서버 장치(110)에 제공함으로써 등록 절차를 진행할 수 있다. 사용자 정보는, 예를 들어 사용자 아이디, 비밀번호 등의 사용자 식별 정보를 포함할 수 있다. 또한, 예시적으로 제2 사용자 단말(130)과 연관된 사용자가 교사인 경우, 사용자 정보는 학교명 및/또는 담당 학급명 등의 소속 정보를 추가적으로 포함할 수 있다.The second user terminal 130 according to various embodiments of the present disclosure may perform a registration procedure by providing user information to the server device 110 . According to an embodiment, a user (eg, a teacher) associated with the second user terminal 130 may perform a registration procedure by providing their user information to the server device 110 using the second user terminal 130 . have. The user information may include, for example, user identification information such as a user ID and password. Also, for example, when the user associated with the second user terminal 130 is a teacher, the user information may additionally include affiliation information such as a school name and/or a class name in charge.

다양한 실시예에 따르면, 제2 사용자 단말(130)은 서버 장치(110)에 등록된 사용자 식별 정보를 제공하면서 서버 장치(110)로의 액세스를 요청할 수 있다. 일 실시예에서, 제2 사용자 단말(130)은 서버 장치(110)에 다른 사용자들의 운동 영상 및/또는 운동 기록의 전송을 요청할 수 있다. 이 경우, 제2 사용자 단말(130)은 예를 들어 운동 영상 및/또는 운동 기록의 전송을 요청할 다른 사용자의 사용자 정보 중 적어도 일부를 제공할 수 있다. 예를 들어, 제2 사용자 단말(130)은 특정 학생들에 대한 학교명, 학급명, 출석 번호 등의 소속 정보를 서버 장치(110)에 제공함으로써 해당 학생들에 대한 운동 영상 및 운동 기록을 요청할 수 있다.According to various embodiments, the second user terminal 130 may request access to the server device 110 while providing user identification information registered to the server device 110 . In an embodiment, the second user terminal 130 may request the server device 110 to transmit other users' exercise images and/or exercise records. In this case, the second user terminal 130 may provide, for example, at least a portion of user information of another user who will request transmission of an exercise video and/or an exercise record. For example, the second user terminal 130 may request an exercise video and an exercise record for the specific students by providing affiliation information such as a school name, class name, and attendance number for the specific students to the server device 110 . .

일 실시예에서, 제2 사용자 단말(130)은 다른 사용자의 운동 영상 및/또는 운동 기록을 서버 장치(110)로부터 수신할 수 있다. 일 실시예에서, 제2 사용자 단말(130)은 특정 사용자에 대해 복수의 운동 영상 및/또는 운동 기록을 수신할 수 있다. 따라서, 제2 사용자 단말(130)의 사용자는 특정 다른 사용자의 운동 기록의 이력을 확인할 수 있다. 또한, 일 실시예에서, 제2 사용자 단말(130)은 복수의 사용자에 대한 운동 영상 및/또는 운동 기록를 수신할 수 있다. 따라서, 제2 사용자 단말(130)의 사용자는 다수의 사용자들에 대한 운동 기록 통계를 확인할 수 있다.In an embodiment, the second user terminal 130 may receive another user's exercise image and/or exercise record from the server device 110 . In an embodiment, the second user terminal 130 may receive a plurality of exercise images and/or exercise records for a specific user. Accordingly, the user of the second user terminal 130 may check the history of the exercise record of a specific other user. Also, in an embodiment, the second user terminal 130 may receive an exercise video and/or an exercise record for a plurality of users. Accordingly, the user of the second user terminal 130 may check the exercise record statistics for a plurality of users.

일 실시예에서, 제3 사용자 단말(140)도 특정 사용자의 운동 영상 및/또는 운동 기록을 서버 장치(110)로부터 수신할 수 있다. 제2 사용자 단말(130)과의 차이점은, 제3 사용자 단말(140)은 제3자 애플리케이션을 통해 운동 영상 및/또는 운동 기록을 수신한다는 점이다. 일 실시예에서, 제3자 애플리케이션은 서버 장치(110)로부터 API를 제공받아 서버 장치(110) 내의 운동 영상 및/또는 운동 기록을 공유하도록 허용된 애플리케이션일 수 있다. 예를 들어, 금융 기관의 애플리케이션이나, 쇼핑 애플리케이션 등 제3 엔티티에 의해 관리되는 다양한 애플리케이션이 제3자 애플리케이션으로 사용될 수 있다.In an embodiment, the third user terminal 140 may also receive an exercise video and/or an exercise record of a specific user from the server device 110 . The difference from the second user terminal 130 is that the third user terminal 140 receives an exercise video and/or an exercise record through a third-party application. In an embodiment, the third-party application may be an application that receives an API from the server device 110 and is allowed to share an exercise video and/or an exercise record in the server device 110 . For example, various applications managed by a third entity, such as an application of a financial institution or a shopping application, may be used as the third-party application.

도 2a는 본 개시의 다양한 실시예에 따른 제1 사용자 단말(200)의 블록도이다. 사용자 단말(200)은 상술한 제1 사용자 단말(120)에 대응되는 장치이다. 도 2a를 참조하면, 다양한 실시예에 따른 제1 사용자 단말(200)은 프로세서(210), 메모리(220), 통신 회로(230), 디스플레이(240), 카메라(250), 및 센서(260)를 포함할 수 있다. 그러나, 본 개시에서 설명하는 다양한 실시예를 구현가능하다면 도 2a에 도시된 구성 중 일부를 생략 또는 치환하는 것도 가능하다.2A is a block diagram of a first user terminal 200 according to various embodiments of the present disclosure. The user terminal 200 is a device corresponding to the first user terminal 120 described above. Referring to FIG. 2A , the first user terminal 200 according to various embodiments includes a processor 210 , a memory 220 , a communication circuit 230 , a display 240 , a camera 250 , and a sensor 260 . may include. However, if various embodiments described in the present disclosure can be implemented, it is also possible to omit or substitute some of the components illustrated in FIG. 2A .

다양한 실시예에 따르면, 제1 사용자 단말(200)의 프로세서(210)는 제1 사용자 단말(200)의 각 구성요소들의 제어 및/또는 통신에 관한 연산이나 데이터 처리를 수행할 수 있는 구성일 수 있다. 프로세서(210)는, 예를 들어, 제1 사용자 단말(200)의 구성 요소들과 작동적으로 연결될 수 있다. 프로세서(210)는 제1 사용자 단말(200)의 다른 구성 요소로부터 수신된 명령 또는 데이터를 메모리(220)에 로드하고, 메모리(220)에 저장된 명령 또는 데이터를 처리하고, 결과 데이터를 저장할 수 있다.According to various embodiments, the processor 210 of the first user terminal 200 may be a configuration capable of performing an operation or data processing related to control and/or communication of each component of the first user terminal 200 . have. The processor 210 may, for example, be operatively connected to components of the first user terminal 200 . The processor 210 may load a command or data received from other components of the first user terminal 200 into the memory 220 , process the command or data stored in the memory 220 , and store the result data. .

다양한 실시예에 따른 제1 사용자 단말(200)의 적어도 하나의 통신 회로(230)는 외부 장치와 통신 채널을 설립하고, 외부 장치와 다양한 데이터를 송수신할 수 있다. 다양한 실시예에 따르면, 적어도 하나의 통신 회로(230)는 셀룰러 통신 모듈을 포함하여 셀룰러 네트워크(예: 3G, LTE, 5G, Wibro 또는 Wimax)에 연결되도록 구성할 수 있다. 다양한 실시예에 따른 프로세서(210)는 적어도 하나의 통신 회로(230)를 통하여 서버 장치(110), 및/또는 다른 사용자 단말들(예컨대, 사용자 단말(130,140))과 다양한 데이터를 송수신할 수 있다.At least one communication circuit 230 of the first user terminal 200 according to various embodiments may establish a communication channel with an external device and transmit/receive various data to and from the external device. According to various embodiments, the at least one communication circuit 230 may include a cellular communication module to be configured to be connected to a cellular network (eg, 3G, LTE, 5G, Wibro, or Wimax). The processor 210 according to various embodiments may transmit/receive various data to and from the server device 110 and/or other user terminals (eg, user terminals 130 and 140 ) through at least one communication circuit 230 . .

다양한 실시예에 따른 제1 사용자 단말(200)의 메모리(220)는 프로세서(210)의 동작에 대한 명령들을 저장할 수 있다. 다양한 실시예에 따른 메모리(220)는 다양한 데이터들을 저장할 수 있다. 일 실시예에서, 제1 사용자 단말(200)의 메모리(220)는 서버 장치(110)의 서비스를 제공하기 위한 전용 애플리케이션을 저장할 수 있다.The memory 220 of the first user terminal 200 according to various embodiments may store instructions for the operation of the processor 210 . The memory 220 according to various embodiments may store various data. In an embodiment, the memory 220 of the first user terminal 200 may store a dedicated application for providing a service of the server device 110 .

다양한 실시예에 따른 제1 사용자 단말(200)은 프로세서(210)의 명령에 따라 데이터를 표시하기 위한 디스플레이(240)을 포함할 수 있다. 예를 들어, 제1 사용자 단말(200)은 프로세서(210)에 의해 실행 시 애플리케이션에서 제공되는 다양한 사용자 인터페이스들을 디스플레이(240)에 표시할 수 있다.The first user terminal 200 according to various embodiments may include a display 240 for displaying data according to a command of the processor 210 . For example, the first user terminal 200 may display various user interfaces provided by the application on the display 240 when executed by the processor 210 .

다양한 실시예에 따른 제1 사용자 단말(200)은 동영상 촬영이 가능한 카메라(250)를 포함할 수 있다. 일 실시예에서, 카메라(250)는 제1 사용자 단말(200)에 설치된 애플리케이션에 의해 호출될 수 있으며, 그에 따라 애플리케이션 내에서 동영상 촬영이 가능할 수 있다. The first user terminal 200 according to various embodiments may include a camera 250 capable of capturing a video. In an embodiment, the camera 250 may be called by an application installed in the first user terminal 200, and accordingly, video recording may be possible within the application.

다양한 실시예에 따른 제1 사용자 단말(200)은 하나 이상의 센서(260)를 포함할 수 있다. 일 실시예에서, 센서(260)는 제1 사용자 단말(200)과 대상 객체와의 거리 정보의 측정이 가능하도록 구성된 거리 측정 센서를 포함할 수 있다. 제1 실시예에서, 거리 측정 센서는 적외선 파장을 통해 대상 객체로 발사한 광이 반사되어 돌아오는 시간을 통해 대상 객체의 3차원 위치를 측정하도록 구성되는 ToF (Time of Flight) 센서일 수 있다. 그러나, 제1 사용자 단말(200)에서 사용되는 센서는 이에 한정되는 것은 아니며, 대상 객체의 거리를 산출하는데 사용할 수 있는 데이터의 측정이 가능한 다양한 종류의 센서가 제1 사용자 단말(200)에 탑재될 수 있다. The first user terminal 200 according to various embodiments may include one or more sensors 260 . In an embodiment, the sensor 260 may include a distance measuring sensor configured to measure distance information between the first user terminal 200 and the target object. In the first embodiment, the distance measuring sensor may be a Time of Flight (ToF) sensor configured to measure a three-dimensional position of the target object through a time when light emitted to the target object through an infrared wavelength is reflected and returned. However, the sensor used in the first user terminal 200 is not limited thereto, and various types of sensors capable of measuring data that can be used to calculate the distance of the target object may be mounted on the first user terminal 200 . can

다양한 실시예에서, 프로세서(210)는 특정 객체의 동영상을 카메라(250)를 이용하여 촬영함과 동시에 센서(260)를 이용하여 해당 객체와의 거리를 산출하도록 카메라(250) 및 센서(260)를 제어할 수 있다. 일 실시예에서, 센서(260)를 이용하여 측정한 거리 정보는 촬영된 영상의 각각의 프레임과 함께 저장될 수 있으며, 통신 회로(230)를 통해 외부 장치로 전송될 수도 있다. 일 실시예에서, 프로세서(210)는 카메라(250)에 의해 촬영되는 운동 영상의 프레임들 중 일정 시간 간격의 프레임들에 대해서만 거리 측정 정보가 측정되고 저장되도록 제어할 수 있다.In various embodiments, the processor 210 captures a video of a specific object using the camera 250 and at the same time uses the sensor 260 to calculate a distance to the object using the camera 250 and the sensor 260 . can control In an embodiment, distance information measured using the sensor 260 may be stored together with each frame of the captured image, and may be transmitted to an external device through the communication circuit 230 . In an embodiment, the processor 210 may control the distance measurement information to be measured and stored only for frames at a predetermined time interval among the frames of the motion image captured by the camera 250 .

다양한 실시예에서, 프로세서(210)는 애플리케이션을 통해 카메라(250)로 촬영되는 영상이 실시간 스트리밍 방식으로 서버 장치(110)에 전송되도록 통신 회로(230)를 제어할 수 있다. 또 다른 실시예에서, 프로세서(210)는 전용 애플리케이션을 통해 사용자가 선택한 영상을 메모리(230)로부터 판독하여 통신 회로(230)를 통해 서버 장치(110)로 전송할 수 있다.In various embodiments, the processor 210 may control the communication circuit 230 so that an image captured by the camera 250 is transmitted to the server device 110 in a real-time streaming manner through an application. In another embodiment, the processor 210 may read the image selected by the user through the dedicated application from the memory 230 and transmit it to the server device 110 through the communication circuit 230 .

도 2b는 제1 사용자 단말(120)이 서버 장치(110)의 운동 기록 측정 서비스를 제공받기 위해 전용 애플리케이션을 실행한 경우 디스플레이(240)에 표시되는 화면들의 예시를 보여준다. 도 2b를 참고하면, 제1 사용자 단말(120)에서 실행되는 애플리케이션은 운동 활동의 종류 선택 화면(270a), 기록 측정 시작 화면(270b), 업로드 완료 통지 화면(270c)을 표시할 수 있다. FIG. 2B shows examples of screens displayed on the display 240 when the first user terminal 120 executes a dedicated application to receive the exercise record measurement service of the server device 110 . Referring to FIG. 2B , the application executed in the first user terminal 120 may display a screen for selecting a type of exercise 270a , a recording measurement start screen 270b , and an upload completion notification screen 270c .

일 실시예에서, 운동 활동의 종류 선택 화면(270a)은 사용자에게 측정 가능한 운동 활동의 종류의 리스트를 제공하고 사용자가 원하는 운동 활동의 종류를 선택하도록 하기 위해 제공되는 화면이다. 일 실시예에서, 운동 활동의 종류 선택 화면(270a)은 선택 가능한 운동 활동의 종류 리스트를 포함할 수 있다. 일 실시예에서, 운동 활동의 종류 선택 화면(270a)은 사용자로부터 원하는 운동 활동의 종류의 선택을 입력 받도록 구성될 수 있다. 예를 들어, 도 2b에 도시된 운동 활동의 종류 선택 화면(270a)에서 사용자는 측정을 희망하는 운동 활동의 종류에 표시된 "기록 측정" 아이콘을 선택함으로써 운동 활동의 종류의 선택을 입력할 수 있다. 선택 가능한 운동 활동의 종류 리스트는, 예를 들어, 줄넘기, 윗몸 말아올리기, 제자리멀리뛰기, 달리기 등의 운동 활동의 종류를 포함할 수 있으나, 이에 한정되는 것은 아니며 다양한 운동 활동의 종류가 포함될 수 있다.In an embodiment, the exercise activity type selection screen 270a is a screen provided to provide a list of measurable types of exercise activity to the user and to allow the user to select a desired exercise activity type. In an embodiment, the exercise activity type selection screen 270a may include a list of selectable types of exercise activity. In an embodiment, the exercise activity type selection screen 270a may be configured to receive a selection of a desired exercise activity type from the user. For example, in the exercise activity type selection screen 270a shown in FIG. 2B , the user may input selection of the exercise activity type by selecting a “record measurement” icon displayed on the type of exercise activity desired to be measured. . The list of selectable types of exercise activities may include, but is not limited to, types of exercise activities such as jumping rope, sit-up, standing long jump, and running, and may include various types of exercise activities.

일 실시예에서, 기록 측정 시작 화면(270b)은 사용자로부터 운동 기록 측정 요청을 수신하기 위한 화면이다. 일 실시예에서, 제1 사용자 단말(200)은 사용자가 기록 측정 시작 화면(270b)에 표시되는 "영상으로 측정하기" 아이콘을 선택하는 경우, 운동 영상을 획득하기 위한 다음의 단계로 넘어갈 수 있다. 예를 들어, 제1 사용자 단말(200)은 기록 측정 시작 화면(270b)에 표시되는 "영상으로 측정하기"의 선택 입력을 수신하는 경우 영상 촬영을 개시하기 위해 카메라(250)를 호출할 수 있다. 또한, 제1 사용자 단말(200)은 기록 측정 시작 화면(270b)에 표시되는 "영상으로 측정하기"의 선택 입력을 수신하는 경우 메모리(230)에 저장된 영상들로부터 사용자의 선택을 수신하기 위한 사용자 인터페이스를 표시할 수 있다. 일 실시예에서, 제1 사용자 단말(200)은, 기록 측정 시작 화면(270b)에 표시되는 "영상으로 측정하기" 아이콘의 선택 입력을 수신하면, 영상 촬영을 개시하는 옵션과 이미 촬영된 영상을 선택하는 옵션을 모두 제시하는 화면을 표시함으로써 사용자가 영상 획득 방법을 선택하도록 할 수 있다.In one embodiment, the record measurement start screen 270b is a screen for receiving a request for measuring an exercise record from a user. In an embodiment, the first user terminal 200 may proceed to the next step for acquiring an exercise image when the user selects the "measure by image" icon displayed on the recording measurement start screen 270b. . For example, the first user terminal 200 may call the camera 250 to start image capturing when receiving a selection input of “measuring by image” displayed on the recording measurement start screen 270b. . In addition, the first user terminal 200 is a user for receiving the user's selection from the images stored in the memory 230 when receiving a selection input of "measure by image" displayed on the recording measurement start screen 270b interface can be displayed. In one embodiment, the first user terminal 200, when receiving a selection input of the "measure by image" icon displayed on the recording measurement start screen 270b, an option to start image capturing and an already captured image By displaying a screen presenting all of the options to be selected, the user may select an image acquisition method.

일 실시예에서 기록 측정 시작 화면(270b)은 사용자가 운동 영상 촬영 시 참고해야 하는 지시 사항들을 담은 영상 및/또는 텍스트를 포함할 수 있다. 따라서, 사용자는 기록 측정 시작 화면(270b)에 표시된 지시사항들을 통해 해당 운동 활동의 촬영 시 주의사항을 숙지한 후 운동 영상 촬영에 임할 수 있다. 예시로서, 촬영 시 주의사항은 해당 운동 활동에 있어 서버 장치(110)가 운동 영상을 통해 운동 기록을 측정하기 위해 필요한 사용자 요구사항(예를 들어 운동 자세, 촬영 환경 등)을 포함할 수 있다. 일 예시로서, 제자리 멀리뛰기 운동의 경우 사용자에게 레퍼런스 객체(예컨대, A4 용지)를 출발선에 놓고 촬영을 시작할 것을 지시할 수 있다.In an embodiment, the recording measurement start screen 270b may include an image and/or text containing instructions that a user should refer to when shooting an exercise video. Accordingly, the user can start shooting an exercise video after being familiar with the precautions when shooting the corresponding exercise activity through the instructions displayed on the recording measurement start screen 270b. As an example, the precautions when shooting may include user requirements (eg, exercise posture, shooting environment, etc.) required for the server device 110 to measure an exercise record through an exercise image in the corresponding exercise activity. As an example, in the case of a long jump exercise in place, the user may instruct the user to place a reference object (eg, A4 paper) on a starting line and start shooting.

일 실시예에서, 업로드 완료 통지 화면(270c)은 업로드 완료한 영상을 표시할 수 있다. 또한, 일 실시예에서 업로드 완료 통지 화면(270c)은 서버 장치(110)에서 산출된 운동 기록을 함께 표시할 수 있다. 따라서, 사용자는 업로드 완료 통지 화면(270c)을 통해 업로드가 완료되었음을 확인할 수 있을 뿐만 아니라, 업로드한 운동 영상과 자신의 운동 기록을 확인할 수 있다.In an embodiment, the upload completion notification screen 270c may display an uploaded image. Also, according to an embodiment, the upload completion notification screen 270c may display the exercise record calculated by the server device 110 together. Accordingly, the user can not only confirm that the upload is complete through the upload completion notification screen 270c, but also check the uploaded exercise video and his or her exercise record.

도 3은 본 개시의 다양한 실시예에 따른 서버 장치(300)의 블록도이다. 서버 장치(300)는 상술한 서버 장치(110)에 대응되는 장치이다. 본 개시에서 설명하는 다양한 실시예를 구현가능하다면 도 3에 도시된 구성 중 일부를 생략 또는 치환하는 것도 가능하다. 도 3을 참조하면, 다양한 실시예에 따른 서버 장치(300)는 프로세서(310), 제1 메모리(320), 통신 회로(330), 분석 모듈(340) 및 제2 메모리(350)를 포함할 수 있다. 그러나, 본 개시에서 설명하는 다양한 실시예를 구현가능하다면 도 3에 도시된 구성 중 일부를 생략 또는 치환하는 것도 가능하다. 또한, 본 개시에서는, 설명의 편의를 위해 분석 모듈(340)과 프로세서(310)가 별도로 구성된 실시예를 기초로 설명하였으나, 본 개시는 이에 한정되지 않고, 분석 모듈(340)의 일부 또는 전체 구성이 프로세서(310)와 통합 구현될 수도 있다.3 is a block diagram of a server device 300 according to various embodiments of the present disclosure. The server device 300 is a device corresponding to the above-described server device 110 . If various embodiments described in the present disclosure can be implemented, it is also possible to omit or substitute some of the components illustrated in FIG. 3 . Referring to FIG. 3 , the server device 300 according to various embodiments may include a processor 310 , a first memory 320 , a communication circuit 330 , an analysis module 340 , and a second memory 350 . can However, if various embodiments described in the present disclosure can be implemented, it is also possible to omit or substitute some of the components shown in FIG. 3 . In addition, in the present disclosure, for convenience of description, the analysis module 340 and the processor 310 have been described based on an embodiment configured separately, but the present disclosure is not limited thereto, and a part or the entire configuration of the analysis module 340 is not limited thereto. It may be implemented integrally with the processor 310 .

다양한 실시예에 따르면, 서버 장치(300)의 프로세서(310)는 서버 장치(300)의 각 구성요소들의 제어 및/또는 통신에 관한 연산이나 데이터 처리를 수행할 수 있는 구성일 수 있다. 프로세서(310)는, 예를 들어, 서버 장치(300)의 의 구성 요소들과 작동적으로 연결될 수 있다. 프로세서(310)는 서버 장치(300)의 다른 구성 요소로부터 수신된 명령 또는 데이터를 제1 메모리(320)에 로드하고, 제1 메모리(320)에 저장된 명령 또는 데이터를 처리하고, 결과 데이터를 저장할 수 있다.According to various embodiments, the processor 310 of the server device 300 may be a configuration capable of performing an operation or data processing related to control and/or communication of each component of the server device 300 . The processor 310 may, for example, be operatively connected to components of the server device 300 . The processor 310 loads a command or data received from other components of the server device 300 into the first memory 320 , processes the command or data stored in the first memory 320 , and stores the result data. can

다양한 실시예에 따른 서버 장치(300)의 적어도 하나의 통신 회로(330)는 외부 장치와 통신 채널을 설립하고, 외부 장치와 다양한 데이터를 송수신할 수 있다. 다양한 실시예에 따르면, 적어도 하나의 통신 회로(330)는 셀룰러 통신 모듈을 포함하여 셀룰러 네트워크(예: 3G, LTE, 5G, Wibro 또는 Wimax)에 연결되도록 구성할 수 있다. 다양한 실시예에 따른 프로세서(310)는 적어도 하나의 통신 회로(330)를 통하여 다른 장치들 (예컨대, 사용자 단말(120,130,140))과 다양한 데이터를 송수신할 수 있다.At least one communication circuit 330 of the server device 300 according to various embodiments may establish a communication channel with an external device, and may transmit/receive various data to and from the external device. According to various embodiments, the at least one communication circuit 330 may include a cellular communication module to be connected to a cellular network (eg, 3G, LTE, 5G, Wibro, or Wimax). The processor 310 according to various embodiments may transmit/receive various data to and from other devices (eg, the user terminals 120 , 130 , and 140 ) through at least one communication circuit 330 .

다양한 실시예에 따른 서버 장치(300)의 제1 메모리(320)는 프로세서(310)의 동작에 대한 명령들을 저장할 수 있다. 다양한 실시예에 따른 제1 메모리(320)는 다양한 데이터들을 저장할 수 있다. 일 실시예에서, 서버 장치(300)의 제1 메모리(320)는 제1 사용자 단말(200)로부터 수신된 영상 입력을 저장하기 위한 낮은 레이턴시를 가진 메모리 영역을 포함할 수 있다. The first memory 320 of the server device 300 according to various embodiments may store instructions for the operation of the processor 310 . The first memory 320 according to various embodiments may store various data. In an embodiment, the first memory 320 of the server device 300 may include a memory area having a low latency for storing an image input received from the first user terminal 200 .

다양한 실시예에서, 서버 장치(300)는 수신하는 영상 입력을 분석하여 운동 기록을 산출하기 위한 분석 모듈(340)을 포함할 수 있다. 일 실시예에서, 분석 모듈(340)은, 프로세서(310)에 의해 실행되는 경우, 운동 영상의 각 프레임을 분석하여 운동 기록을 산출하도록 구성될 수 있다. 일 실시예에서, 운동 기록은 운동의 수행 시간, 수행 횟수, 수행 거리 중 적어도 하나를 포함할 수 있다. 예를 들어, 운동 활동의 종류가 줄넘기 또는 윗몸 말아올리기인 경우 운동 기록은 줄넘기 또는 윗몸 말아올리기의 수행 횟수를 포함할 수 있다. 또 다른 예시로서, 운동 활동의 종류가 제자리 멀리뛰기인 경우 운동 기록은 멀리뛰기 수행 거리를 포함할 수 있다. 또 다른 예시로서, 운동 활동의 종류가 달리기인 경우 운동 기록은 수행 시간을 포함할 수 있다. 분석 모듈(340)에서 수행하는 구체적인 분석 프로세스는 이하에서 자세히 설명될 것이다.In various embodiments, the server device 300 may include an analysis module 340 for calculating an exercise record by analyzing a received image input. In one embodiment, the analysis module 340, when executed by the processor 310, may be configured to analyze each frame of the exercise image to calculate an exercise record. In an embodiment, the exercise record may include at least one of a time of performing the exercise, the number of times of performing the exercise, and a distance of performing the exercise. For example, when the type of exercise activity is skipping rope or roll up the sit-up, the exercise record may include the number of times the jump rope or roll-up is performed. As another example, when the type of exercise activity is a long jump in place, the exercise record may include a distance performed by the long jump. As another example, when the type of exercise activity is running, the exercise record may include execution time. A specific analysis process performed by the analysis module 340 will be described in detail below.

다양한 실시예에서, 서버 장치(300)는 운동 영상 및 운동 기록을 위한 제2 메모리(350)에 연결될 수 있다. 서버 장치(300)의 프로세서(310)는, 수신한 운동 영상에 대해 운동 기록 산출이 완료되면, 수신한 운동 영상과 산출한 운동 기록을 제2 메모리(350)에 저장할 수 있다. 일 실시예에서, 제2 메모리(350)는 장기 저장이 가능한 대용량 저장소일 수 있다. 일 실시예에서, 프로세서(310)는 제2 메모리(350)로의 저장이 완료된 영상에 대해서는, 제1 메모리(320)에 저장되어 있는 동일한 영상을 삭제할 수 있다.In various embodiments, the server device 300 may be connected to the second memory 350 for recording an exercise image and exercise. When the exercise record calculation for the received exercise image is completed, the processor 310 of the server device 300 may store the received exercise image and the calculated exercise record in the second memory 350 . In an embodiment, the second memory 350 may be a mass storage capable of long-term storage. In an embodiment, the processor 310 may delete the same image stored in the first memory 320 with respect to the image that has been stored in the second memory 350 .

일 실시예에서 서버 장치(300)는 제1 사용자 단말(120)로부터 수신된 운동 영상의 제2 메모리(350)로의 저장이 완료되면 제1 사용자 단말(120)로 업로드 완료 통지를 전송할 수 있다. 다양한 실시예에서, 업로드 완료 통지는 서버 장치(300)의 분석 모듈(340)에서 산출한 운동 기록을 포함할 수 있다. 일 실시예에서, 서버 장치(300)는 웹 애플리케이션 서버를 영상 업로드 완료 통지를 제1 사용자 단말(120)로 전송할 수 있다.In an embodiment, when the storage of the exercise image received from the first user terminal 120 in the second memory 350 is completed, the server device 300 may transmit an upload completion notification to the first user terminal 120 . In various embodiments, the upload completion notification may include an exercise record calculated by the analysis module 340 of the server device 300 . In an embodiment, the server device 300 may transmit an image upload completion notification to the web application server to the first user terminal 120 .

도 4a는 본 개시의 다양한 실시예에 따른 제2 사용자 단말(400)의 블록도이다. 제2 사용자 단말(400)은 상술한 제2 사용자 단말(130)에 대응되는 장치이다. 도 4a를 참조하면, 다양한 실시예에 따른 제2 사용자 단말(400)은 프로세서(410), 메모리(420), 통신 회로(430), 디스플레이(440)를 포함할 수 있다. 그러나, 본 개시에서 설명하는 다양한 실시예를 구현가능하다면 도 4a에 도시된 구성 중 일부를 생략 또는 치환하는 것도 가능하다. 다양한 실시예에서, 제2 사용자 단말(400)의 프로세서(410), 메모리(420), 통신 회로(430), 디스플레이(440)는 각각 상술한 제2 사용자 단말(200)의 프로세서(210), 메모리(220), 통신 회로(230), 디스플레이(240)와 동일 및/또는 유사한 기능을 수행하도록 구성될 수 있다.4A is a block diagram of a second user terminal 400 according to various embodiments of the present disclosure. The second user terminal 400 is a device corresponding to the above-described second user terminal 130 . Referring to FIG. 4A , the second user terminal 400 according to various embodiments may include a processor 410 , a memory 420 , a communication circuit 430 , and a display 440 . However, if various embodiments described in the present disclosure can be implemented, it is also possible to omit or substitute some of the components illustrated in FIG. 4A . In various embodiments, the processor 410, the memory 420, the communication circuit 430, and the display 440 of the second user terminal 400 of the second user terminal 400 are the processor 210 of the above-described second user terminal 200, respectively; The memory 220 , the communication circuit 230 , and the display 240 may be configured to perform the same and/or similar functions.

다양한 실시예에서, 제2 사용자 단말(400)의 통신 회로(430)는 서버 장치(110)와 통신하여 운동 영상 및/또는 운동 기록을 수신하도록 구성될 수 있다. 일 실시예에서, 제2 사용자 단말(400)은 수신된 운동 영상 및/또는 운동 기록을 디스플레이(440)에 표시될 수 있다. 다양한 실시예에서, 운동 영상 및/또는 운동 기록은 서버 장치(110)에서 제공되는 SaaS 기반 서비스 통해 웹 상에서 제공될 수 있다. 예를 들어, 제2 사용자 단말(400)의 사용자는 통신 회로(430)를 이용하여 네트워크를 통해 서버 장치(110)의 웹에 접속함으로써 서버 장치(110)로부터 운동 영상 및/또는 운동 기록을 제공받을 수 있다.In various embodiments, the communication circuit 430 of the second user terminal 400 may be configured to communicate with the server device 110 to receive an exercise image and/or an exercise record. In an embodiment, the second user terminal 400 may display the received exercise image and/or exercise record on the display 440 . In various embodiments, the exercise video and/or the exercise record may be provided on the web through a SaaS-based service provided by the server device 110 . For example, the user of the second user terminal 400 provides an exercise video and/or exercise record from the server device 110 by accessing the web of the server device 110 through a network using the communication circuit 430 . can receive

다양한 실시예에서, 제2 사용자 단말(400)은 각각의 사용자(예컨대, 학생) 별로 운동 내역을 서버 장치(110)로부터 수신할 수 있다. 예를 들어, 제2 사용자 단말(130)은 동일한 학생이 수행한 복수의 종류의 운동 활동들(예컨대, 줄넘기, 윗몸 말아올리기 등)에 대한 운동 기록을 서버 장치(110)로부터 수신할 수 있다. 따라서, 제2 사용자 단말(400)과 연관된 교사는 동일 학생에 대해 여러 종류의 운동 활동들에 대한 종합적인 평가를 내릴 수 있다. 또 다른 예시로서, 제2 사용자 단말(400)은 동일한 학생이 복수 회에 걸쳐 수행한 동일 운동 활동에 대한 운동 기록을 서버 장치(110)로부터 수신할 수 있다. 따라서, 제2 사용자 단말(400)이 사용자는 해당 운동 활동에 대한 운동 기록 이력을 한눈에 확인할 수 있다.In various embodiments, the second user terminal 400 may receive the exercise details for each user (eg, a student) from the server device 110 . For example, the second user terminal 130 may receive from the server device 110 an exercise record for a plurality of types of exercise activities (eg, jump rope, sit-up, etc.) performed by the same student. Accordingly, the teacher associated with the second user terminal 400 may make a comprehensive evaluation of various types of exercise activities for the same student. As another example, the second user terminal 400 may receive an exercise record for the same exercise activity performed by the same student multiple times from the server device 110 . Accordingly, the second user terminal 400 allows the user to check the exercise record history for the corresponding exercise activity at a glance.

다양한 실시예에서, 제2 사용자 단말(400)은 서버 장치(110)로부터 운동 영상을 추가적으로 수신할 수 있다. 따라서, 제2 사용자 단말(400)과 연관된 사용자(예컨대, 교사)는 운동 영상의 확인을 통해 서버 장치(110)로부터 제공된 운동 기록 측정 결과를 재확인할 수 있다.In various embodiments, the second user terminal 400 may additionally receive an exercise image from the server device 110 . Accordingly, a user (eg, a teacher) associated with the second user terminal 400 may reconfirm the exercise record measurement result provided from the server device 110 through the confirmation of the exercise image.

도 4b 내지 도 4d는 제2 사용자 단말(400)이 서버 장치(110)로부터 수신한 운동 영상 및 기록 측정 결과를 디스플레이(440)에 표시한 예시적인 화면이다. 4B to 4D are exemplary screens in which the second user terminal 400 displays an exercise image received from the server device 110 and a recorded measurement result on the display 440 .

도 4b를 참조하면, 사용자 단말(400)은 복수의 사용자(예컨대, 담임 학급 학생 전체)가 수행한 운동 활동들에 대한 통계 자료가 제공되는 화면(450a)을 표시할 수 있다. 또한, 제2 사용자 단말(400)은, 도 4c에 도시된 바와 같이 특정 사용자(예컨대, 특정 학생)가 수행한 복수의 종류의 운동 활동 (예컨대, 줄넘기, 윗몸 말아올리기, 제자리 멀리뛰기, 달리기 등)에 대한 운동 기록을 제공하는 화면(450b)을 표시할 수 있으며, 도 4d 에 도시된 바와 같이 각각의 운동 활동들에 대한 상세 운동 기록 및 운동 영상이 제공되는 화면(450c)을 표시할 수 있다. Referring to FIG. 4B , the user terminal 400 may display a screen 450a providing statistical data on exercise activities performed by a plurality of users (eg, all students in the homeroom class). In addition, the second user terminal 400, as shown in Fig. 4c, a plurality of types of exercise activities (eg, jump rope, sit-up, long jump in place, running, etc.) performed by a specific user (eg, a specific student) A screen 450b providing an exercise record for . may be displayed, and as shown in FIG. 4D , a screen 450c providing detailed exercise records and exercise images for each exercise activity may be displayed.

도 5a는 본 개시의 다양한 실시예에 따른 제3 사용자 단말(500)의 블록도이다. 여기서 제3 사용자 단말(500)은 상술한 제3 사용자 단말(140)에 대응되는 장치이다. 도 5a를 참조하면, 다양한 실시예에 따른 제3 사용자 단말(500)은 프로세서(510), 메모리(520), 통신 회로(530), 디스플레이(540)를 포함할 수 있다. 그러나, 본 개시에서 설명하는 다양한 실시예를 구현가능하다면 도 5a에 도시된 구성 중 일부를 생략 또는 치환하는 것도 가능하다. 다양한 실시예에서, 제2 사용자 단말(500)의 프로세서(510), 메모리(520), 통신 회로(530), 디스플레이(540)는 각각 상술한 제2 사용자 단말(200)의 프로세서(410), 메모리(420), 통신 회로(430), 디스플레이(440)와 동일 및/또는 유사한 기능을 수행하도록 구성될 수 있다.5A is a block diagram of a third user terminal 500 according to various embodiments of the present disclosure. Here, the third user terminal 500 is a device corresponding to the above-described third user terminal 140 . Referring to FIG. 5A , the third user terminal 500 according to various embodiments may include a processor 510 , a memory 520 , a communication circuit 530 , and a display 540 . However, if various embodiments described in the present disclosure can be implemented, it is also possible to omit or substitute some of the components illustrated in FIG. 5A . In various embodiments, the processor 510, the memory 520, the communication circuit 530, and the display 540 of the second user terminal 500 are the processor 410 of the second user terminal 200 described above, respectively. The memory 420 , the communication circuit 430 , and the display 440 may be configured to perform the same and/or similar functions.

다양한 실시예에 따른 제3 사용자 단말(500)은 설치된 애플리케이션을 이용하여 서버 장치(110)의 서비스에서 제공되는 운동 영상 및/또는 운동 기록을 디스플레이(540)에 표시할 수 있다. 일 실시예에서, 애플리케이션은 서버 장치(110)로부터 API를 제공받아 서버 장치(110)로부터 운동 영상 및/또는 운동 기록을 수신하도록 구성되는 제3자 애플리케이션일 수 있다.The third user terminal 500 according to various embodiments may display an exercise image and/or an exercise record provided by the service of the server device 110 on the display 540 using an installed application. In an embodiment, the application may be a third-party application configured to receive an exercise video and/or an exercise record from the server device 110 by receiving an API from the server device 110 .

다양한 실시예에 따른 제3 사용자 단말(500)은 설치된 애플리케이션을 통해 다른 사용자의 운동 정보를 수신하기 위해, 다른 사용자와의 연결 신청을 서버 장치(110)로 전송할 수 있다. 일 예시로서, 서버 장치(110)는 제3 사용자 단말(500)이 제공하는 사용자 정보를 토대로, 서버 장치(110)에 등록된 사용자 중 연결 요청된 사용자를 식별할 수 있다. 일 실시예에서, 제3 사용자 단말(500)은 연결 요청한 사용자들에 대한 운동 영상 및/또는 운동 기록을 서버 장치(110)로부터 수신할 수 있다.The third user terminal 500 according to various embodiments may transmit a connection request with another user to the server device 110 in order to receive the exercise information of the other user through the installed application. As an example, the server device 110 may identify a connection-requested user among users registered in the server device 110 based on user information provided by the third user terminal 500 . In an embodiment, the third user terminal 500 may receive, from the server device 110 , an exercise video and/or an exercise record for users who have requested a connection.

다양한 실시예에서, 제3 사용자 단말(500)은 서버 장치(110)로부터 수신한 운동 영상 및/또는 운동 기록에 대한 피드백을 사용자로부터 입력받을 수 있다. 예를 들어, 제3 사용자 단말(500)과 연관된 학부모는, 자신의 자녀들의 운동 영상 및/또는 운동 기록에 대해 칭찬하는 피드백을 작성하여 애플리케이션을 통해 입력할 수 있으며, 제3 사용자 단말(500)은 입력 받은 피드백을 제1 사용자 단말(120)로 전송할 수 있다. 일 실시예에서, 제3 사용자 단말(500)은 제3자 애플리케이션을 통해 제1 사용자 단말(120)로 피드백을 전송할 수 있다. In various embodiments, the third user terminal 500 may receive an exercise image and/or feedback on the exercise record received from the server device 110 from the user. For example, a parent associated with the third user terminal 500 may write feedback praising their children's exercise video and/or exercise record and input it through the application, and the third user terminal 500 may transmit the received feedback to the first user terminal 120 . In an embodiment, the third user terminal 500 may transmit feedback to the first user terminal 120 through a third-party application.

도 5b는 서버 장치(110)의 서비스를 제공하기 위해 제3 사용자 단말(500)의 디스플레이(540)에 표시하는 예시적인 화면들이다. 예시적으로, 제3 사용자 단말(500)과 연관된 사용자인 학부모가 자신의 자녀의 운동 영상 등을 확인하기 위해 연결 신청 화면(550a)에서 "내 자녀 연결 신청" 아이콘을 선택할 수 있다. 일 예시로서, 서버 장치(110)는 제3 사용자 단말(500)로부터 수신한 자녀의 사용자 정보를 토대로 서버 장치(110)에 등록된 사용자 중 연결이 요청된 자녀를 식별할 수 있다. 아울러, 제3 사용자 단말(500)의 디스플레이(540)에는, 연결된 자녀의 정보 중 적어도 일부가 표시되므로, 사용자는 현재 연결된 자녀들의 정보를 확인할 수 있다. 또한, 제3 사용자 단말(500)의 디스플레이(540)에는, 연결된 자녀의 운동 영상 및 운동 기록을 표시하는 자녀 영상 제공 화면(550c)이 표시될 수 있다. 5B are exemplary screens displayed on the display 540 of the third user terminal 500 to provide the service of the server device 110 . For example, a parent, who is a user associated with the third user terminal 500 , may select an “apply to connect my child” icon on the connection application screen 550a in order to check an exercise video of their child. As an example, the server device 110 may identify a child for which connection is requested among users registered in the server device 110 based on the user information of the child received from the third user terminal 500 . In addition, since at least some of the connected children's information is displayed on the display 540 of the third user terminal 500 , the user can check the information of the currently connected children. Also, on the display 540 of the third user terminal 500 , a child image providing screen 550c displaying the connected child's exercise image and exercise record may be displayed.

도 6은 제1 사용자 단말(200)이 운동 영상을 서버 장치(110)로 업로드하기 위해 프로세서(210)에 의해 수행되는 방법(600)의 흐름도이다. 다양한 실시예에서 방법(600)은, 제1 사용자 단말(200) 상의 전용 애플리케이션이 실행됨으로써 개시될 수 있으나, 이에 한정되는 것은 아니다. 6 is a flowchart of a method 600 performed by the processor 210 for the first user terminal 200 to upload an exercise video to the server device 110 . In various embodiments, the method 600 may be started by executing a dedicated application on the first user terminal 200 , but is not limited thereto.

다양한 실시예에 따른 방법(600)은, 제1 사용자 단말(200)의 프로세서(210)가 통신 회로(230)를 통해 서버 장치(110)로 서비스 로그인을 요청하는 단계(610)를 포함할 수 있다. 일 실시예에서, 프로세서(210)는 애플리케이션을 통해 사용자로부터 사용자 정보를 입력 받고 해당 사용자 정보를 서버 장치(110)로 전송할 수 있다. 예를 들어, 사용자 정보는 사용자 아이디, 비밀번호 등의 사용자 식별 정보를 포함할 수 있다.The method 600 according to various embodiments may include the step 610 of the processor 210 of the first user terminal 200 requesting a service login to the server device 110 through the communication circuit 230 . have. In an embodiment, the processor 210 may receive user information from a user through an application and transmit the corresponding user information to the server device 110 . For example, the user information may include user identification information such as a user ID and password.

다양한 실시예에 따른 방법(600)은, 프로세서(210)가, 사용자로부터 운동 활동의 종류에 관한 선택이 입력되는 것에 응답하여, 통신 회로(230)를 통해 선택된 운동 활동의 종류를 서버 장치(110)로 전송하는 단계(620)를 포함할 수 있다. 일 실시예에서, 제1 사용자 단말(200)은 디스플레이(240)에 선택 가능한 운동 활동의 종류 리스트를 표시하고 사용자가 리스트에서 원하는 운동 활동의 종류를 선택하도록 할 수 있다. 예를 들어, 사용자가 도 2b에 도시된 운동 활동의 종류 선택 화면(270a)에서 사용자가 각 운동 활동에 제공된 "기록 측정" 아이콘의 선택 입력을 제공하면, 제1 사용자 단말(200)은 이러한 선택 입력을 수신함으로써 사용자가 기록 측정을 희망하는 운동 활동의 종류에 관한 선택을 입력 받을 수 있다. 선택 가능한 운동 활동의 리스트는, 예를 들어, 줄넘기, 윗몸 말아올리기, 제자리멀리뛰기, 달리기 등의 운동 활동을 포함할 수 있으나, 이에 한정되는 것은 아니며 다양한 운동 활동이 포함될 수 있다. In the method 600 according to various embodiments, the processor 210 transmits the type of the exercise activity selected through the communication circuit 230 to the server device 110 in response to input of a selection regarding the type of the exercise activity from the user. ) may include a step 620 of transmitting. In an embodiment, the first user terminal 200 may display a list of selectable types of exercise activity on the display 240 and allow the user to select a type of exercise activity desired from the list. For example, when the user provides a selection input of a “record measurement” icon provided for each exercise activity on the type selection screen 270a of the exercise activity shown in FIG. 2B , the first user terminal 200 selects such a selection Receiving the input may allow the user to receive a selection regarding the type of athletic activity for which the user wishes to record. The list of selectable exercise activities may include, but is not limited to, exercise activities such as jumping rope, sit-up, standing long jump, and running, and may include various exercise activities.

다양한 실시예에 따른 방법(600)은, 제1 사용자 단말(200)의 프로세서(210)가 운동 영상을 획득하는 단계(630)를 포함할 수 있다. 일 실시예에서, 프로세서(210)는 카메라(250)를 이용하여 촬영한 사용자의 운동 장면을 운동 영상으로서 획득할 수 있다. 예를 들어, 도 2b를 참조하면, 디스플레이(240)에는 운동 기록 측정 시작 화면(270b)이 표시되며, 기록 측정 시작 화면(270)에 표시되는 "영상으로 측정하기" 아이콘의 선택을 수신하는 것에 응답하여 프로세서(210)가 카메라(250)를 이용한 영상 촬영을 개시할 수 있다. 또 다른 실시예에서, 프로세서(210)는 기존에 촬영된 운동 영상을 메모리(220)로부터 판독함으로써 운동 영상을 획득할 수 있다. 일 실시예에서, 디스플레이(240)에는 메모리(220)에 저장된 운동 영상 중 기록 측정을 희망하는 영상에 대한 사용자 선택을 입력 받기 위한 별도의 화면이 제공될 수 있다.The method 600 according to various embodiments may include an operation 630 in which the processor 210 of the first user terminal 200 acquires an exercise image. In an embodiment, the processor 210 may acquire a user's exercise scene photographed using the camera 250 as an exercise image. For example, referring to FIG. 2B , the display 240 displays an exercise recording measurement start screen 270b, and on receiving the selection of the "Measure by image" icon displayed on the recording measurement start screen 270 In response, the processor 210 may start capturing an image using the camera 250 . In another embodiment, the processor 210 may acquire the exercise image by reading the previously captured exercise image from the memory 220 . In an embodiment, a separate screen may be provided on the display 240 for receiving a user selection of an image desired to be recorded and measured among the exercise images stored in the memory 220 .

일 실시예에서, 제1 사용자 단말(200)의 프로세서(210)는 카메라(250)가 운동 영상을 촬영하는 동안 제1 사용자 단말(200)의 센서(260)가 함께 동작하여 촬영 대상 객체와 제1 사용자 단말(200)간의 거리 정보를 측정하도록 센서(260)를 제어할 수 있다. 일 실시예에서, 센서(260)가 ToF 센서인 경우 센서(260)는 촬영 객체에 적외선 빔을 발사시킨 후 촬영 객체로부터 반사되어 돌아올 때까지 걸린 시간을 측정하여 촬영 객체의 3차원 위치를 측정할 수 있다.In one embodiment, the processor 210 of the first user terminal 200 operates with the sensor 260 of the first user terminal 200 while the camera 250 captures the motion image to obtain the target object and the second image. 1 The sensor 260 may be controlled to measure distance information between the user terminals 200 . In one embodiment, when the sensor 260 is a ToF sensor, the sensor 260 measures the three-dimensional position of the object to be photographed by measuring the time taken until the infrared beam is emitted to the object and then reflected from the object to be photographed. can

일 실시예에서, 제1 사용자 단말(200)의 프로세서(210)는 촬영된 영상의 프레임들에 대해 센서(260)가 측정한 거리 정보를, 대응하는 프레임과 함께 저장할 수 있다. 일 실시예에서, 센서(260)에 의해 측정된 거리 정보는 촬영된 영상의 프레임들 중 소정의 시간 간격을 갖는 프레임들에 대해서만 저장될 수 있다.In an embodiment, the processor 210 of the first user terminal 200 may store distance information measured by the sensor 260 with respect to frames of the captured image together with the corresponding frames. In an embodiment, distance information measured by the sensor 260 may be stored only for frames having a predetermined time interval among frames of the captured image.

다양한 실시예에 따른 방법(600)은, 제1 사용자 단말(200)의 프로세서(210)가 통신 회로(230)를 통해, 운동 영상을 서버 장치(110)로 전송하는 단계(640)를 포함할 수 있다. 일 실시예에서, 프로세서(210)는 실시간 스트리밍 방식으로, 카메라(150)를 이용하여 운동 영상을 촬영함과 동시에 촬영되는 운동 영상을 실시간으로 통신 회로(230)를 통해 서버 장치(110)에 전송할 수 있다. 일 실시예에서, 프로세서(210)는 사용자에 의해 선택된 운동 영상을 메모리(220)로부터 판독하여 통신 회로(230)를 통해 서버 장치(110)로 전송하도록 구성될 수 있다.The method 600 according to various embodiments may include the step 640 of the processor 210 of the first user terminal 200 transmitting the exercise image to the server device 110 through the communication circuit 230 . can In an embodiment, the processor 210 transmits, in real-time, a streaming method to the server device 110 through the communication circuit 230 in real-time while shooting an exercise image by using the camera 150 . can In an embodiment, the processor 210 may be configured to read the exercise image selected by the user from the memory 220 and transmit it to the server device 110 through the communication circuit 230 .

다양한 실시예에 따른 방법(600)은, 제1 사용자 단말(200)의 프로세서(210)가 통신 회로(230)를 통해 서버 장치(110)로부터 운동 영상의 업로드 완료 통지를 수신하는 단계(650)를 포함할 수 있다. 일 실시예에서, 서버 장치(110)로부터의 업로드 완료 통지는, 업로드 요청한 운동 영상에 대해 서버 장치(110)가 산출한 운동 기록을 포함할 수 있다. 예를 들어, 도 2b를 참조하면, 제1 사용자 단말(200)의 디스플레이(240)에는 업로드 완료한 영상과 함께 산출된 운동 기록이 표시되는 업로드 완료 통지 화면(270c)이 표시될 수 있다.In the method 600 according to various embodiments, the processor 210 of the first user terminal 200 receives a notification of completion of uploading of the exercise video from the server device 110 through the communication circuit 230 ( 650 ). may include. In an embodiment, the upload completion notification from the server device 110 may include an exercise record calculated by the server device 110 with respect to the exercise image requested to be uploaded. For example, referring to FIG. 2B , on the display 240 of the first user terminal 200 , an upload completion notification screen 270c in which a calculated exercise record is displayed together with an uploaded image may be displayed.

도 7은 제1 사용자 단말(120)로부터 수신하는 운동 활동에 대한 운동 영상을 저장하고 운동 기록을 산출하기 위해 서버 장치(300)의 프로세서(310)에 의해 수행되는 방법(700)의 흐름도이다.7 is a flowchart of a method 700 performed by the processor 310 of the server device 300 to store an exercise image for an exercise activity received from the first user terminal 120 and calculate an exercise record.

다양한 실시예에 따른 방법(700)은, 서버 장치(300)의 프로세서(310)가 통신 회로(330)를 통해 제1 사용자 단말(120)로부터 제1 사용자의 운동 활동을 촬영한 운동 영상을 수신하는 단계(710)를 포함할 수 있다. 일 실시예에서, 운동 영상의 프레임들 중 적어도 일부는, 제1 사용자 단말(120)의 센서(260)에 의해 측정된 거리 정보를 포함할 수 있다. 일 실시예에서, 방법(700)은, 서버 장치(300)가 제1 사용자 단말(120)로부터 운동 영상을 수신하기 전에, 통신 회로(330)를 통해, 제1 사용자 단말로부터 운동 활동의 종류에 관한 입력을 수신하는 단계를 더 포함할 수 있다.In the method 700 according to various embodiments, the processor 310 of the server device 300 receives an exercise image obtained by photographing the exercise activity of the first user from the first user terminal 120 through the communication circuit 330 . It may include a step 710 of In an embodiment, at least some of the frames of the exercise image may include distance information measured by the sensor 260 of the first user terminal 120 . In one embodiment, the method 700 includes, before the server device 300 receives the exercise image from the first user terminal 120 , via the communication circuit 330 , the type of exercise activity from the first user terminal The method may further include receiving an input about the .

다양한 실시예에 따른 방법(700)은, 서버 장치(300)가 통신 회로(330)를 통해 제1 사용자 단말(120)로부터 수신하는 운동 영상을 제1 메모리(320)에 저장하는 단계(720)를 포함할 수 있다. 다양한 실시예에서, 서버 장치(300)는 제1 사용자 단말(120)에서 촬영되는 운동 영상을 실시간으로 수신하면서 수신한 운동 영상의 프레임들을 제1 메모리(320)에 저장할 수 있다. 일 실시예에서, 수신되는 운동 영상은 제1 메모리(320)에서 낮은 레이턴시를 가진 메모리 영역에 저장될 수 있다.In the method 700 according to various embodiments, the server device 300 stores the exercise image received from the first user terminal 120 through the communication circuit 330 in the first memory 320 ( 720 ) may include. In various embodiments, the server device 300 may store the received exercise image frames in the first memory 320 while receiving the exercise image photographed by the first user terminal 120 in real time. In an embodiment, the received motion image may be stored in a memory area having a low latency in the first memory 320 .

다양한 실시예에 따른 방법(700)은, 서버 장치(300)의 프로세서(310)가 제1 메모리(320)에 액세스하고 분석 모듈(340)을 통해 제1 사용자 단말(120)로부터 수신되는 운동 영상을 분석하여 운동 활동에 대한 운동 기록을 산출하는 단계 (730)를 포함할 수 있다. 다양한 실시예에서, 프로세서(310)는 제1 사용자 단말(120)로부터 수신되는 운동 영상을 제1 메모리(320)에 저장하는 단계(720)와 동시에 제1 메모리(320)에 액세스하여 운동 영상에 대한 운동 기록을 산출하는 단계(730)를 실행할 수 있다. 일 실시예에서, 서버 장치(300)는, 운동 영상의 프레임들 각각을 실시간으로 수신하는 동안 각각의 프레임들을 제1 메모리(320)로 저장하면서, 동시에 실시간으로 운동 기록 산출을 위한 영상 분석을 진행할 수 있다. 따라서, 제1 사용자 단말(120)의 사용자가 실시간으로 촬영하여 보내주는 운동 영상에 대해서도 운동 기록 측정이 신속히 진행될 수 있다.In the method 700 according to various embodiments, the processor 310 of the server device 300 accesses the first memory 320 and the exercise image received from the first user terminal 120 through the analysis module 340 . and calculating ( 730 ) an exercise record for the exercise activity by analyzing it. In various embodiments, the processor 310 accesses the first memory 320 at the same time as the step 720 of storing the exercise image received from the first user terminal 120 in the first memory 320 to display the exercise image. A step 730 of calculating an exercise record for the user may be performed. In one embodiment, the server device 300 stores each frame in the first memory 320 while receiving each of the frames of the exercise image in real time, and simultaneously performs image analysis for calculating the exercise record in real time. can Accordingly, exercise record measurement can be performed quickly even for an exercise image captured and sent by the user of the first user terminal 120 in real time.

다양한 실시예에 따르면, 운동 기록을 산출하는 단계(730)는, 프로세서(310)가 분석 모듈(340)에 기설정된 운동 활동의 종류에 따른 알고리즘을 기초로 운동 영상의 프레임들을 분석함으로써 운동 활동에 대한 수행 시간, 수행 횟수, 및 수행 거리 중 적어도 하나를 산출하는 단계를 포함할 수 있다. According to various embodiments, in the step 730 of calculating the exercise record, the processor 310 analyzes the frames of the exercise image based on an algorithm according to the type of exercise activity preset in the analysis module 340 to determine the exercise activity. It may include calculating at least one of the execution time, the number of executions, and the execution distance.

다양한 실시예에서, 운동 기록을 산출하는 단계(730)는, 제1 사용자 단말(120)로부터 운동 영상의 프레임들 중 적어도 일부의 프레임에서 객체의 위치를 검출하는 단계, 및 검출된 객체의 위치 변화에 기초하여 운동 기록을 산출하는 단계를 포함할 수 있다. 일 실시예에서, 운동 활동의 종류가 줄넘기인 경우, 운동 영상의 프레임들에서 사람의 발목의 위치를 인식하고 인식된 발목의 위치 변화를 기준으로 수행 횟수를 증가시킬 수 있다. 또 다른 예시로서, 운동 활동의 종류가 윗몸 말아올리기인 경우, 영상의 프레임들에서 사람의 손과 무릎의 위치를 인식하고 인식된 손과 무릎의 상대적인 위치를 인식하여 수행 횟수를 카운트할 수 있다. 또 다른 예시로서, 운동 활동의 종류가 제자리 멀리뛰기인 경우, 영상의 프레임들에서 사람의 점프 전과 후의 발 위치들을 인식한 후 거리 차를 산출하여 수행 거리를 산출할 수 있다.In various embodiments, the step 730 of calculating the exercise record may include detecting the position of the object in at least some of the frames of the exercise image from the first user terminal 120 , and the detected position change of the object. It may include calculating an exercise record based on the . In an embodiment, when the type of exercise activity is jumping rope, the position of the person's ankle is recognized in frames of the exercise image, and the number of executions may be increased based on the recognized change in the position of the ankle. As another example, when the type of exercise activity is sit-up, the number of times of performing may be counted by recognizing the positions of a person's hands and knees in the frames of the image and recognizing the relative positions of the recognized hands and knees. As another example, when the type of exercise activity is the long jump in place, the distance to be performed may be calculated by recognizing the positions of the feet before and after the jump of the person in the frames of the image and calculating the distance difference.

다양한 실시예에 따르면, 운동 기록을 산출하는 단계(730)는, 제1 사용자 단말(120)로부터 운동 영상의 프레임들 중 적어도 두 개의 프레임으로부터 운동 영상 속의 제1 사용자에 대한 거리 정보를 각각 식별하는 단계와, 식별한 거리 정보에 기초하여 제1 사용자에 대한 운동 기록을 산출하는 단계를 포함할 수 있다. 일 실시예에서, 운동 활동의 종류가 제자리 멀리뛰기 인 경우, 영상의 프레임들에서 사람의 점프 전과 후의 프레임에 저장된 거리 정보를 기초로 제자리 멀리뛰기 거리 기록을 산출할 수 있다. According to various embodiments, the step 730 of calculating the exercise record may include identifying distance information about the first user in the exercise image from at least two frames among the frames of the exercise image from the first user terminal 120, respectively. and calculating an exercise record for the first user based on the identified distance information. In an embodiment, when the type of exercise activity is the long jump in place, the distance record of the long jump in place may be calculated based on distance information stored in frames before and after a person jumps from frames of an image.

다양한 실시에 따른 운동 기록을 산출하는 단계(730)는, 제1 사용자 단말(120)로부터 수신하는 운동 영상의 복수의 프레임의 시간 정보를 추가적으로 활용하여 운동 기록을 산출할 수 있다. 예시로서, 운동 활동의 종류가 달리기인 경우, 영상의 프레임들로부터 획득되는 거리 정보를 기초로, 운동을 시작한 프레임과, 목표 거리만큼 이동한 후의 프레임을 특정하고, 프레임들의 시간 정보를 추가적으로 고려하여 목표 거리 도달 시까지 소요된 시간을 산출할 수 있다. 또 다른 예시로서, 운동 활동의 종류가 줄넘기인 경우, 줄넘기 시작 시와 완료 시의 영상 프레임의 시간 정보를 기초로 줄넘기의 수행 시간을 산출하는 것도 가능하다. 마찬가지로, 운동 활동의 종류가 윗몸 말아올리기인 경우에도 동일하게 윗몸 말아올리기 시작 시의 프레임과 완료 시의 프레임의 시간 정보를 기초로 수행 시간을 산출할 수 있다. In the step 730 of calculating the exercise record according to various embodiments, the exercise record may be calculated by additionally utilizing time information of a plurality of frames of the exercise image received from the first user terminal 120 . As an example, when the type of exercise activity is running, based on distance information obtained from frames of the image, the frame at which the exercise started and the frame after moving by the target distance are specified, and the time information of the frames is additionally considered. The time taken to reach the target distance can be calculated. As another example, when the type of exercise activity is jumping rope, it is also possible to calculate the execution time of jumping rope based on time information of an image frame at the time of starting and completion of jumping rope. Similarly, even when the type of exercise activity is sit-up, the execution time may be calculated based on time information of a frame at the start and completion of the sit-up.

다양한 실시예에 따른 방법(700)은, 서버 장치(300)의 프로세서(310)가, 운동 기록을 산출하는 단계(730)를 완료하면, 산출된 운동 기록을 통신 회로(330)를 통해 제1 사용자 단말(120)로 전송하는 단계(740)를 포함할 수 있다. 일 실시예에서, 프로세서(310)는 산출된 운동 기록을 웹 애플리케이션 서버를 통해 제1 사용자 단말(120)로 전송하도록 구현될 수 있다.In the method 700 according to various embodiments, when the processor 310 of the server device 300 completes the step 730 of calculating the exercise record, the calculated exercise record is transmitted to the first through the communication circuit 330 . It may include transmitting 740 to the user terminal 120 . In an embodiment, the processor 310 may be implemented to transmit the calculated exercise record to the first user terminal 120 through the web application server.

다양한 실시예에 따른 방법(700)은, 서버 장치(300)의 프로세서(310)가, 운동 기록을 산출하는 단계(730)가 완료된 후에, 산출된 운동 기록을 제1 메모리(320)에 저장된 운동 영상과 함께 제2 메모리(350)에 저장하는 단계(750)를 포함할 수 있다. 일 실시예에서, 운동 영상이 제2 메모리(350)에 저장되면, 프로세서(310)는 제1 메모리(320)로부터 해당 운동 영상을 삭제하는 단계를 더 수행할 수 있다. 다양한 실시예에서, 방법(700)은, 운동 영상 및 운동 기록의 제2 메모리(350)로의 저장이 완료되면, 서버 장치(300)의 프로세서(310)가 통신 회로(330)를 통해 제1 사용자 단말(120)로 업로드 완료 통지를 전송하는 단계를 추가로 포함할 수 있다. In the method 700 according to various embodiments, after the processor 310 of the server device 300 completes the step 730 of calculating the exercise record, the calculated exercise record is stored in the first memory 320 . It may include storing the image in the second memory 350 together with the image (750). In an embodiment, if the exercise image is stored in the second memory 350 , the processor 310 may further perform the step of deleting the corresponding exercise image from the first memory 320 . In various embodiments, in the method 700 , upon completion of storage of the exercise image and the exercise record in the second memory 350 , the processor 310 of the server device 300 communicates with the first user through the communication circuit 330 . The method may further include transmitting an upload completion notification to the terminal 120 .

다양한 실시예에 따른 방법(700)은, 서버 장치(300)의 프로세서(310)가 통신 회로(330)를 통해 제2 사용자 단말(130)로부터 제1 사용자의 운동 활동에 관한 정보 요청을 수신하는 단계(760)를 포함할 수 있다. 일 실시예에서, 운동 활동에 관한 정보 요청을 수신하면, 제2 사용자 단말(130)의 권한을 확인하는 단계를 추가적으로 수행할 수 있다. 예시로서, 프로세서(310)는 제2 사용자 단말(130)와 연관된 교사가 제1 사용자 단말(120)과 연관된 학생 정보에 대한 액세스 권한이 있는지 여부를 확인할 수 있다. In the method 700 according to various embodiments, the processor 310 of the server device 300 receives a request for information regarding the exercise activity of the first user from the second user terminal 130 through the communication circuit 330 . step 760 . In an embodiment, upon receiving a request for information on exercise activity, the step of confirming the authority of the second user terminal 130 may be additionally performed. As an example, the processor 310 may check whether the teacher associated with the second user terminal 130 has access to the student information associated with the first user terminal 120 .

다양한 실시예에 따른 방법(700)은, 제2 사용자 단말(130)로부터의 제1 사용자의 운동 활동에 관한 정보 요청에 응답하여, 프로세서(310)가 통신 회로(330)를 통해 제2 메모리(350)에 저장된 제1 사용자에 대한 운동 영상 및 운동 기록 중 적어도 하나를 제2 사용자 단말(130)로 전송하는 단계(770)를 포함할 수 있다. In the method 700 according to various embodiments of the present disclosure, in response to a request for information regarding the exercise activity of the first user from the second user terminal 130 , the processor 310 is configured to perform a second memory ( ) through the communication circuit 330 . The method may include transmitting ( 770 ) at least one of an exercise image and an exercise record for the first user stored in 350 ) to the second user terminal ( 130 ).

다양한 실시예에 따른 방법(700)은, 서버 장치(300)의 프로세서(310)가 통신 회로(320)를 통해 제3 사용자 단말(140)로부터 제1 사용자와 연관된 운동 활동의 정보 요청을 수신하는 단계(780)를 포함할 수 있다. 일 실시예에서, 방법(700)은, 프로세서(310)가, 제3 사용자 단말(140)로부터 제1 사용자와 연관된 운동 활동의 정보 요청을 수신하는 것에 응답하여, 제3 사용자 단말(140)의 권한을 확인하는 단계를 추가적으로 수행할 수 있다. 일 실시예에서, 제3 사용자 단말(140)과 연관된 학부모가 제3 사용자 단말(140)을 통해 제1 사용자(즉, 자신의 자녀)에 대한 연결 신청을 서버 장치(300)로 보내면, 프로세서(310)는 연결 신청의 수신에 응답하여, 제3 사용자 단말(140)의 사용자가 제1 사용자에 대해 권한이 있는지 여부를 확인할 수 있다. 일 실시예에서, 서버 장치(300)는 제3 사용자 단말(140)로부터 수신하는 연결 요청에 포함되는 사용자 정보를 토대로 서버 장치(110)에 등록된 사용자 중 연결 요청된 제1 사용자를 식별할 수 있다.In the method 700 according to various embodiments, the processor 310 of the server device 300 receives a request for information of an athletic activity associated with the first user from the third user terminal 140 through the communication circuit 320 . step 780 . In one embodiment, the method 700 includes, in response to the processor 310 receiving a request for information of an athletic activity associated with the first user from the third user terminal 140 , A step of checking the authority may be additionally performed. In one embodiment, when the parent associated with the third user terminal 140 sends a connection request for the first user (ie, their child) to the server device 300 through the third user terminal 140, the processor ( 310 may check whether the user of the third user terminal 140 has authority to the first user in response to the reception of the connection request. In an embodiment, the server device 300 may identify the connection-requested first user among users registered in the server device 110 based on user information included in the connection request received from the third user terminal 140 . have.

다양한 실시예에 따른 방법(700)은, 서버 장치(300)의 프로세서(310)가 제2 메모리(350)에 저장된 제1 사용자에 대한 운동 영상과 운동 기록 중 적어도 하나를 통신 회로(330)를 통해 제3 사용자 단말(140)로 전송하는 단계(790)를 포함할 수 있다. In the method 700 according to various embodiments, the processor 310 of the server device 300 transmits at least one of an exercise image and an exercise record for the first user stored in the second memory 350 to the communication circuit 330 . It may include a step 790 of transmitting to the third user terminal 140 through the.

도 8a 내지 도 12b는, 서버 장치(300)의 프로세서(310)가 운동 기록을 산출하는 단계(730)를 수행하기 위해 이용가능한 다양한 운동 기록 산출 방법에 관한 것이다. 앞서 설명된 바와 같이, 서버 장치(300)의 분석 모듈(340)은 여러 종류의 운동 활동에 대한 운동 기록을 산출하기 위해 기설정된 알고리즘을 포함할 수 있다. 따라서, 프로세서(310)는 분석 모듈(340)의 기설정된 알고리즘을 통해 수신한 운동 영상에 대한 운동 기록을 산출할 수 있다. 이하에서는 각 도면을 참고하여 운동 기록 산출 방법의 구체적인 실시예들을 설명한다.8A to 12B relate to various exercise record calculation methods available for the processor 310 of the server device 300 to perform the step 730 of calculating the exercise record. As described above, the analysis module 340 of the server device 300 may include a preset algorithm for calculating exercise records for various types of exercise activities. Accordingly, the processor 310 may calculate an exercise record for the received exercise image through a preset algorithm of the analysis module 340 . Hereinafter, specific embodiments of a method for calculating an exercise record will be described with reference to each drawing.

도 8a는 서버 장치(300)의 프로세서(310)가 분석 모듈(340)을 통해 수행하는 다양한 실시예에 따른 운동 기록 산출 방법(800)을 도시한다. 방법(800)은, 예를 들어 줄넘기 운동의 수행 횟수를 산출하기 위해 사용될 수 있으나, 이에 한정되는 것은 아니며 반복 운동을 수행하는 다양한 운동 활동의 수행 횟수를 산출하기 위해 사용될 수 있다.8A illustrates a method 800 of calculating an exercise record according to various embodiments performed by the processor 310 of the server device 300 through the analysis module 340 . The method 800 may be used, for example, to calculate the number of times a jumping rope exercise is performed, but is not limited thereto, and may be used to calculate the number of times to perform various exercise activities for performing a repetitive exercise.

다양한 실시예에 따른 방법(800)은, 서버 장치(300)의 프로세서(310)가 제1 사용자 단말(120)로부터 수신되는 운동 영상의 프레임들 중 적어도 일부의 프레임에서 객체의 위치를 검출하는 단계(810)를 포함할 수 있다. 일 실시예에서, 검출 대상이되는 객체는 신체 또는 사물의 특정 부분을 포함할 수 있다. 일 실시예에서, 검출 객체는 신체 중 손, 손목, 발, 발목, 무릎, 얼굴 등 신체의 여러 부분들 중 적어도 하나를 포함할 수 있다. 일 실시예에서, 각 프레임에서 객체를 검출하기 위한 다양한 이미지 프로세싱 방법을 사용하여 검출될 수 있다. 예를 들어, Open CV (Open Computer Vision)의 신체 부분 탐지 기능을 통해 운동 영상의 프레임들에서 신체의 특정 부분의 위치를 검출할 수 있다.In the method 800 according to various embodiments, the processor 310 of the server device 300 detects the position of the object in at least some of the frames of the motion image received from the first user terminal 120 . 810 may be included. In an embodiment, the object to be detected may include a body or a specific part of an object. In an embodiment, the detection object may include at least one of various parts of the body, such as a hand, a wrist, a foot, an ankle, a knee, and a face. In one embodiment, it may be detected using various image processing methods to detect objects in each frame. For example, a position of a specific body part may be detected in frames of an exercise image through a body part detection function of Open Computer Vision (Open CV).

다양한 실시예에 따른 방법(800)은, 서버 장치(300)의 프로세서(310)가 운동 영상의 프레임들에서 검출되는 객체의 위치들 중에서 극점(external value)을 검출하는 단계(820)를 포함할 수 있다. 일 실시예에서, 프로세서(310)는 복수의 프레임들에서 검출된 객체의 높이가 상승하다가 하락할 때의 전환 포인트인 극대점을 극점으로서 검출할 수 있다. 도 8b는 프로세서에 의해 검출된 객체의 위치들을 예시적으로 도시한다. 도 8b에 예시적으로 도시한 바와 같이, 프로세서(310)는 검출된 객체의 위치(예컨대, 발목 높이)가 상승하다가 하락하는 극점들(P1, P2, P3, P4, P5)을 검출할 수 있다.The method 800 according to various embodiments may include the step 820 of the processor 310 of the server device 300 detecting an external value among positions of objects detected in frames of the motion image. can In an embodiment, the processor 310 may detect a maximum point, which is a transition point when the height of the object detected in the plurality of frames rises and then falls, as the pole point. 8B exemplarily shows positions of objects detected by the processor. As exemplarily shown in FIG. 8B , the processor 310 may detect poles P1, P2, P3, P4, and P5 in which the position (eg, ankle height) of the detected object rises and then falls. .

다양한 실시예에 따른 방법(800)은, 서버 장치(300)의 프로세서(310)가 운동 영상 중 제1 기간 동안의 제1 복수의 프레임에서 검출되는 극점들을 기초로, 운동 영상에서 반복 운동이 검출되는지를 판단하는 단계(830)를 포함할 수 있다. 일 실시예에서, 프로세서(310)는, 제1 기간 동안의 제1 복수의 프레임에서 극점들이 소정 개수 이상 발생하는 경우 반복 운동으로 판단할 수 있다. 일 실시예에서, 제1 기간은 사람이 소정 횟수 이상의 점프를 수행하는데 소요되는 예상 시간으로 선택될 수 있다. 도 8b를 참조하면, 예를 들어 4초 동안 3개 이상의 극점들(예컨대 P3, P4, P5)이 검출되는 경우, 반복 운동이 검출된다고 판단할 수 있다. 반복 운동을 검출함에 있어서 사용되는 제1 기간 및 극점 개수에 대한 구체적인 기준 값은 구체적인 실시예에 따라 다양하게 변경될 수 있다. 일 실시예에서, 서버 장치(300)는 제1 복수의 프레임에서 검출되는 극점들 간의 시간 차이를 고려하여 반복 운동 여부를 결정할 수 있다. 예를 들어, 도 8b를 참조하면, 검출된 극점들 중 시간적으로 인접한 제1 극점(P1)과 제2 극점(P2) 간의 시간 차이가 미리 결정된 시간 이상인 경우, 서버 장치(300)는 단순 움직임으로 판단하여 반복 운동이 아닌 것으로 결정할 수 있다.In the method 800 according to various embodiments, the processor 310 of the server device 300 detects repetitive motion in the motion image based on poles detected in the first plurality of frames during the first period of the motion image. It may include a step 830 of determining whether the In an embodiment, the processor 310 may determine that the exercise is repeated when a predetermined number or more of poles occur in the first plurality of frames during the first period. In one embodiment, the first period may be selected as an estimated time required for a person to perform a predetermined number of jumps or more. Referring to FIG. 8B , for example, when three or more poles (eg, P3, P4, P5) are detected for 4 seconds, it may be determined that a repetitive motion is detected. Specific reference values for the first period and the number of poles used in detecting repetitive motion may be variously changed according to specific embodiments. In an embodiment, the server device 300 may determine whether to perform repetitive motion in consideration of a time difference between poles detected in the first plurality of frames. For example, referring to FIG. 8B , when the time difference between the temporally adjacent first pole P1 and the second pole P2 among the detected poles is more than a predetermined time, the server device 300 performs a simple movement. By judging it, it can be determined that it is not a repetitive exercise.

다양한 실시예에 따른 방법(800)은, 서버 장치(300)의 프로세서(310)가, 운동 영상 중 제1 기간 동안의 제1 복수의 프레임에서 반복 운동이 수행되지 않았다고 결정하는 경우, 운동 영상 중 후속하는 제1 기간 동안의 제1 복수의 프레임들에서 검출되는 극점들을 기초로 반복 운동을 판단하는 단계(830)를 다시 수행할 수 있다. 일 실시예에서, 운동 영상의 전체 프레임 또는 미리 결정된 수의 프레임들에 대해 반복 운동을 판단하는 단계(830)를 수행한 결과로서 반복 운동의 수행이 검출되지 않으면, 방법(800)은 종료될 수 있다.In the method 800 according to various embodiments of the present disclosure, when the processor 310 of the server device 300 determines that the repetitive exercise is not performed in the first plurality of frames during the first period among the exercise images, Determining the repetition motion based on the poles detected in the first plurality of frames during the subsequent first period ( 830 ) may be performed again. In one embodiment, if performance of the repetitive motion is not detected as a result of performing the step 830 of determining the repetitive motion for the entire frame or a predetermined number of frames of the motion image, the method 800 may end. have.

다양한 실시예에 따른 방법(800)은, 서버 장치(300)의 프로세서(310)가, 반복 운동이 수행된다고 판단하는 것에 응답하여, 운동 영상 중 제2 기간 동안 수신된 제2 복수의 프레임에서 객체의 위치들의 극점이 검출되는지를 판단하는 단계(840)를 포함할 수 있다. 일 실시예에서, 제2 기간은 사람이 1회 점프를 수행하는데 소요되는 예상 시간으로 선택될 수 있다. 일 실시예에서, 프로세서(310)는, 반복 운동의 수행 여부를 판단하는 단계(830)에서 반복 운동이 수행된다고 판단한 제1 기간의 시작 시점 이전의 프레임들에 대해서는 단계(840)의 수행을 배제할 수 있다. 따라서, 반복 운동이 시작되기 전의 단순 움직임 등이 운동 기록에 포함되는 오류를 방지할 수 있다.In the method 800 according to various embodiments, in response to the processor 310 of the server device 300 determining that the repetitive exercise is performed, the object in the second plurality of frames received during the second period of the exercise image. and determining (840) whether the poles of the positions of are detected. In one embodiment, the second period of time may be selected as the estimated time required for a person to perform one jump. In one embodiment, the processor 310 excludes the execution of step 840 for frames before the start time of the first period for which it is determined that the repetitive motion is performed in step 830 of determining whether the repetitive motion is to be performed. can do. Accordingly, it is possible to prevent an error in which a simple movement before the repetition of the exercise is started is included in the exercise record.

다양한 실시예에 따른 방법(800)은, 서버 장치(300)의 프로세서(310)가, 운동 영상의 제2 복수의 프레임에서 극점이 검출되었다는 판단에 응답하여, 수행 횟수를 증가시키는 단계(850)를 포함할 수 있다. 일 실시예에서, 프로세서(310)는, 제2 기간 동안 수신된 제2 복수의 프레임에서 극점이 검출되는지 여부를 판단하는 단계(840) 및 수행 횟수를 증가시키는 단계(850)를 복수의 연속하는 제2 기간들 동안의 프레임들에 대해 반복하여 실행함으로써 전체 운동 영상에 대해 수행 횟수를 카운트할 수 있다. 다양한 실시예에서, 프로세서(310)는 복수의 연속하는 제2 기간들 동안의 프레임들에서 검출된 극점들 중 인접하는 극점들 간의 시간 차이가 소정 시간 이상인 경우, 해당 극점들은 수행 횟수의 카운트 시 제외할 수 있다.In the method 800 according to various embodiments, the processor 310 of the server device 300 increases the number of executions in response to the determination that the poles are detected in the second plurality of frames of the exercise image ( 850 ) may include In an embodiment, the processor 310 performs a plurality of successive steps of determining whether poles are detected in a second plurality of frames received during the second period ( 840 ) and increasing the number of times of performing ( 850 ). By repeatedly executing the frames during the second period, the number of executions may be counted for the entire exercise image. In various embodiments, when the time difference between adjacent poles among poles detected in frames for a plurality of consecutive second periods is a predetermined time or more, the processor 310 excludes the poles from counting the number of executions can do.

다양한 실시예에 따른 방법(800)은, 서버 장치(300)의 프로세서(310)가, 제2 기간 동안 수신된 제2 복수의 프레임에서 극점이 검출되지 않았다는 판단에 응답하여, 현재의 수행 횟수를 최종 운동 기록으로 리턴하는 단계(860)를 수행 후 방법(800)을 종료할 수 있다.In the method 800 according to various embodiments, in response to the processor 310 of the server device 300 determining that no poles are detected in the second plurality of frames received during the second period, the current number of executions is calculated. Method 800 may end after performing step 860 of returning to the last exercise record.

도 9a는 서버 장치(300)의 프로세서(310)가 분석 모듈(340)을 통해 수행하는 또 다른 다양한 실시예에 따른 운동 기록 산출 방법(900)을 도시한다. 도 9b는 방법(900)을 사용하여 운동 기록을 산출할 수 있는 운동 활동의 일 예시로서, 윗몸 말아올리기 운동을 예시적으로 도시한다. 방법(900)은 도 9b에 도시한 윗몸 말아올리기 운동의 수행 횟수를 산출하기 위해 사용될 수 있으나, 이에 한정되는 것은 아니며 다양한 종류의 활동의 기록 측정에 사용될 수 있다.FIG. 9A illustrates a method 900 of calculating an exercise record according to another various exemplary embodiments performed by the processor 310 of the server device 300 through the analysis module 340 . 9B exemplifies a sit-up exercise as an example of an athletic activity that may generate an exercise record using the method 900 . The method 900 may be used to calculate the number of times the sit-up exercise shown in FIG. 9B is performed, but is not limited thereto, and may be used for recording measurement of various types of activities.

다양한 실시예에 따른 방법(900)은, 서버 장치(300)의 프로세서(310)가 제1 사용자 단말(120)로부터 수신되는 운동 영상의 프레임들에서 적어도 두 개의 객체의 위치를 검출하는 단계(910)를 포함할 수 있다. 일 실시예에서, 검출 대상이되는 객체는 신체 또는 사물의 특정 부분을 포함할 수 있다. 일 실시예에서, 검출 객체는 신체 중 손, 손목, 발, 발목, 무릎, 얼굴 등 신체의 여러 부분들 중 적어도 하나를 포함할 수 있다. 일 실시예에서, 각 프레임에서 객체를 검출하기 위한 다양한 이미지 프로세싱 방법을 사용하여 검출될 수 있다. 예를 들어, Open CV (Open Computer Vision)의 신체 부분 탐지 기능을 통해 운동 영상의 프레임들에서 신체의 특정 부분의 위치를 검출할 수 있다.In the method 900 according to various embodiments, the processor 310 of the server device 300 detects the positions of at least two objects in frames of an exercise image received from the first user terminal 120 ( 910 ). ) may be included. In an embodiment, the object to be detected may include a body or a specific part of an object. In an embodiment, the detection object may include at least one of various parts of the body, such as a hand, a wrist, a foot, an ankle, a knee, and a face. In one embodiment, it may be detected using various image processing methods to detect objects in each frame. For example, a position of a specific body part may be detected in frames of an exercise image through a body part detection function of Open Computer Vision (Open CV).

일 실시예에서, 운동 영상의 각 프레임에서 객체의 위치를 검출하는 단계(910)는, 프로세서(310)가 각 프레임의 적어도 일부분에 대한 색상 정보를 고려하여 객체의 위치를 검출하는 단계를 포함할 수 있다. 일 실시예에서, 검출 대상인 객체가 신체의 손인 경우, 운동 영상의 프레임에 있어서 피부 색상(예컨대, "살색")을 가진 영역들을 검출하고, 검출된 손목 위치와 피부 색상을 가진 영역들의 위치를 비교하여 피부 색상 영역이 손목 위치 인근에 위치할 경우 검출된 피부 색상 영역들을 손이 차지하고 있는 영역으로 인식할 수 있다. In an embodiment, detecting the position of the object in each frame of the motion image 910 may include the processor 310 detecting the position of the object in consideration of color information for at least a portion of each frame. can In an embodiment, when the object to be detected is a body hand, regions having a skin color (eg, “flesh color”) are detected in a frame of a motion image, and the detected wrist position and positions of the regions having the skin color are compared. Accordingly, when the skin color area is located near the wrist position, the detected skin color area may be recognized as the area occupied by the hand.

다양한 실시예에 따른 방법(900)은, 서버 장치(300)의 프로세서(310)가 검출된 객체들의 상대적 위치 관계를 산출하는 단계(920)를 포함할 수 있다. 일 실시예에서, 위치 검출 대상인 객체들이 신체의 손과 무릎인 경우, 프로세서(310)는 운동 영상의 프레임들 적어도 일부의 프레임에서 무릎 위치, 손목 위치, 및 손 위치를 검출하고, 손의 위치의 x 좌표값(예를 들어, 손이 점유하고 있는 영역의 최대 x좌표)과 손목 위치의 x 좌표의 중간 지점을 손 위치 값으로 선택하고, 무릎 위치의 x 좌표를 무릎 위치 값으로 선택한 후 손 위치 값과 무릎 위치 값의 변동 관계를 기초로 손과 무릎의 상대적 위치 관계를 산출할 수 있다. 일 실시예에서, 프로세서(310)는 손이 점유하고 있는 영역과 무릎 위치를 기초로 손과 무릎의 상대적 위치 관계를 산출할 수 있다.The method 900 according to various embodiments may include an operation 920 in which the processor 310 of the server device 300 calculates a relative positional relationship between the detected objects. In an embodiment, when the objects to be detected are the hands and knees of the body, the processor 310 detects a knee position, a wrist position, and a hand position in at least some frames of the frames of the motion image, and determines the position of the hand. Select the midpoint of the x-coordinate value (for example, the maximum x-coordinate of the area occupied by the hand) and the x-coordinate of the wrist position as the hand position value, select the x-coordinate of the knee position as the knee position value, and then select the hand position A relative positional relationship between the hand and the knee may be calculated based on the fluctuation relationship between the value and the knee position value. In an embodiment, the processor 310 may calculate a relative positional relationship between the hand and the knee based on the area occupied by the hand and the position of the knee.

다양한 실시예에 따른 방법(900)은, 서버 장치(300)의 프로세서(310)가 산출된 상대적 위치 관계가 미리 결정된 기준을 만족한다는 결정에 따라, 수행 횟수를 증가시키는 단계(930)를 포함할 수 있다. 일 실시예에서, 손과 무릎의 상대적 위치 관계에 관한 미리 결정된 기준은, 상술한 손 위치 값이 무릎 위치 값을 미리 결정된 범위 이상으로 초과하는 경우를 포함할 수 있다. 예를 들어, 도 9b를 참고하면, 손의 위치(예컨대, 손의 위치 x 좌표값)가 무릎 위치(예컨대, 무릎 위치의 x 좌표값)보다 미리 결정된 거리 만큼 넘어가는 것을 포함할 수 있다. 일 실시예에서, 손과 무릎의 상대적 위치 관계에 관한 미리 결정된 기준은, 운동 영상의 연속하는 복수의 프레임들에 대해 산출된 손 위치 값과 무릎 위치 값의 상대적 변동 관계가, 손 위치 값이 무릎 위치 값보다 작은 상태에서 무릎 위치 값을 초과하여 증가한 후, 다시 무릎 위치 값 이하로 감소하는 위치 변동 관계를 나타내는 것을 포함할 수 있다. 또 다른 실시예에서, 손과 무릎의 상대적 위치 관계에 관한 미리 결정된 기준은, 손이 점유하는 영역 중에서, 무릎의 위치를 넘어간 손의 영역의 비율이 미리 결정된 값 이상인 것을 포함할 수 있다. 또한, 일 실시예에서, 손과 무릎의 상대적 위치 관계에 관한 미리 결정된 기준은, 손이 점유하는 영역과 무릎 위치의 상대적 변동 관계가, 손의 영역이 무릎 위치보다 넘어가는 영역이 일정 비율 이상으로 증가한 후 일정 비율 이하로 감소하는 위치 변동 관계를 나타내는 것을 포함할 수 있다. 일 실시예에서, 서버 장치(300)의 프로세서(310)가 프레임들에 대해 검출된 객체들의 상대적 위치 관계가 미리 결정된 기준을 만족하지 못한다는 결정에 따라, 수행 횟수를 증가시키지 않고 유지할 수 있다. The method 900 according to various embodiments may include, in response to the processor 310 of the server device 300 determining that the calculated relative positional relationship satisfies a predetermined criterion, increasing the number of executions ( 930 ). can In an embodiment, the predetermined criterion regarding the relative positional relationship between the hand and the knee may include a case in which the above-described hand position value exceeds the knee position value by more than a predetermined range. For example, referring to FIG. 9B , the position of the hand (eg, the x-coordinate value of the hand position) may include crossing the knee position (eg, the x-coordinate value of the knee position) by a predetermined distance. In an embodiment, the predetermined criterion regarding the relative positional relationship between the hand and the knee is a relative variation relationship between the hand position value and the knee position value calculated for a plurality of consecutive frames of the motion image, the hand position value is the knee In a state smaller than the position value, it increases by exceeding the knee position value, and then it may include indicating a position variation relationship that decreases below the knee position value again. In another embodiment, the predetermined criterion regarding the relative positional relationship between the hand and the knee may include that, among regions occupied by the hand, a ratio of the region of the hand beyond the position of the knee is equal to or greater than a predetermined value. In addition, in one embodiment, the predetermined criterion regarding the relative positional relationship between the hand and the knee is that the relative variation relationship between the area occupied by the hand and the knee position is such that the area in which the hand area crosses the knee position is greater than or equal to a certain ratio. It may include indicating a position variation relationship that decreases below a certain ratio after increasing. According to an embodiment, the processor 310 of the server device 300 determines that the relative positional relationship of the detected objects with respect to the frames does not satisfy a predetermined criterion, the number of executions may be maintained without increasing.

다양한 실시예에 따른 방법(900)은, 서버 장치(300)의 프로세서(310)가 추가적으로 운동 영상의 프레임들 중 소정 기간의 프레임들에서 수행 횟수의 증가가 발생하지 않았다고 판단하면, 수행 횟수를 최종 운동 기록으로 리턴하는 단계(940)를 수행한 후 방법(900)을 종료할 수 있다.In the method 900 according to various embodiments, if the processor 310 of the server device 300 additionally determines that the increase in the number of executions has not occurred in frames of a predetermined period among the frames of the exercise image, the number of executions is finalized. After performing step 940 of returning to the athletic record, the method 900 may end.

도 10a은 서버 장치(300)의 프로세서(310)가 분석 모듈(340)을 통해 수행하는 다양한 실시예에 따른 운동 기록 산출 방법(1000)을 도시한다. 도 10b는 방법(1000)을 사용하여 운동 기록을 산출할 수 있는 운동 활동의 일 예시로서, 제자리 멀리뛰기 운동을 예시적으로 도시한다. 일 실시예에서, 방법(1000)은, 도 10b에 도시된 제자리 멀리뛰기의 수행 거리를 산출하기 위해 사용될 수 있으나, 이에 한정되는 것은 아니며 다양한 운동 활동의 수행 거리를 산출하기 위해 사용될 수 있다.10A illustrates a method 1000 of calculating an exercise record according to various embodiments performed by the processor 310 of the server device 300 through the analysis module 340 . 10B exemplifies an in-place long jump exercise as an example of an athletic activity that may generate an athletic record using the method 1000 . In one embodiment, the method 1000 may be used to calculate the distance to perform of the long jump in place illustrated in FIG. 10B , but is not limited thereto, and may be used to calculate the distance to perform various athletic activities.

다양한 실시예에 따른 방법(1000)은, 서버 장치(300)의 프로세서(310)가 수신되는 운동 영상의 프레임에 대해 가상 좌표계를 설정하는 단계(1010)를 포함할 수 있다. 일 실시예에서, 프로세서(310)는 수신되는 운동 영상의 프레임에서 레퍼런스 객체를 인식하고 인식한 레퍼런스 객체를 기초로 가상 좌표계를 설정할 수 있다. 예를 들어, 레퍼런스 객체는 A4 용지와 같이 규격과 크기가 정해진 물건일 수 있다. The method 1000 according to various embodiments may include an operation 1010 of the processor 310 of the server device 300 setting a virtual coordinate system with respect to a frame of a received motion image. In an embodiment, the processor 310 may recognize a reference object in a frame of a received motion image and set a virtual coordinate system based on the recognized reference object. For example, the reference object may be an object with a fixed standard and size, such as an A4 paper.

다양한 실시예에 따른 방법(1000)은, 서버 장치(300)의 프로세서(310)가 가상 좌표계를 기준으로 운동 영상의 복수의 프레임 중 제1 프레임에서 점프 시작 위치를 검출하는 단계(1020)를 포함할 수 있다. 일 실시예에서, 프로세서(310)는 운동 영상의 프레임에서 지면 위의 발 끝 위치를 점프 시작 위치로서 검출할 수 있다. 일 실시예에서, 운동 영상 속에서 지면의 위치는 지면을 나타내는 색상 정보를 기초로 검출될 수 있다. 일 실시예에서, 운동 영상에서 발 끝 위치는 객체를 검출하기 위한 다양한 이미지 프로세싱 방법을 사용하여 검출될 수 있다.The method 1000 according to various embodiments includes a step 1020 of the processor 310 of the server device 300 detecting a jump start position in a first frame among a plurality of frames of a motion image based on a virtual coordinate system. can do. In an embodiment, the processor 310 may detect the position of the toe on the ground in the frame of the motion image as the jumping start position. In an embodiment, the position of the ground in the motion image may be detected based on color information indicating the ground. In an embodiment, the toe position in the motion image may be detected using various image processing methods for detecting the object.

또 다른 다양한 실시예에 따르면, 점프 시작 위치를 검출하는 단계(1020)는, 서버 장치(300)의 프로세서(310)가 운동 영상 속에서 사용자와 약속된 점프 시작 지점을 표시하는 시작점 표시 객체(예컨대, 레퍼런스 객체)를 검출하고, 시작점 표시 객체와의 위치 관계를 고려하여 점프 시작 위치를 결정하는 것을 포함할 수 있다. 예를 들어, 제1 사용자 장치(120)에서 실행되는 애플리케이션에서 사용자에게 특정 시작점 표시 객체를 점프 시작 위치에 둘 것을 지시한 경우라면, 운동 영상에서 검출되는 시작점 표시 객체의 위치를 점프 시작 위치로 특정할 수 있다. 예를 들어, 가상 좌표계의 설정 시 사용되는 레퍼런스 객체가 시작점 표시 객체로도 사용될 수 있다.According to another various embodiments, the step 1020 of detecting the jump start position is a starting point display object (eg, the processor 310 of the server device 300) that displays the jump start point promised with the user in the exercise image. , reference object) and determining a jump start position in consideration of a positional relationship with a starting point display object. For example, if the application executed on the first user device 120 instructs the user to place a specific starting point display object at the jump start position, the position of the starting point display object detected in the motion image is specified as the jump start position. can do. For example, a reference object used when setting the virtual coordinate system may also be used as a starting point display object.

다양한 실시예에 따른 방법(1000)은, 서버 장치(300)의 프로세서(310)가 가상 좌표계를 기준으로 운동 영상의 복수의 프레임 중 제2 프레임에서 점프 완료 위치를 검출하는 단계(1030)를 포함할 수 있다. 일 실시예에서, 프로세서(310)는 운동 영상의 프레임에서 제1 프레임보다 시간적으로 후속하는 제2 프레임에서 지면 위의 발 끝 위치가 인식되면 해당 발 끝 위치를 점프 완료 위치로서 검출할 수 있다. 여기서, 운동 영상의 프레임들에서 지면 위치 및 발 끝 위치는 앞서 설명한 점프 시작 위치를 검출하는 단계와 동일한 방법을 통해 검출될 수 있다.The method 1000 according to various embodiments includes a step 1030 of the processor 310 of the server device 300 detecting a jump completion position in a second frame among a plurality of frames of a motion image based on a virtual coordinate system. can do. In one embodiment, the processor 310 may detect the toe position as a jump completion position when the toe position on the ground is recognized in the second frame temporally subsequent to the first frame in the frame of the motion image. Here, the ground position and the toe position in the frames of the motion image may be detected through the same method as the step of detecting the jump start position described above.

다양한 실시예에 따른 방법(1000)은, 서버 장치(300)의 프로세서(310)가 가상 좌표계에서의 점프 시작 위치 및 점프 완료 위치를 기초로 점프 수행 거리를 산출하는 단계(1040)를 포함할 수 있다. 일 실시예에서, 프로세서(310)는 산출한 수행 거리를 최종 운동 기록으로 리턴하는 단계(1040)를 수행한 후 방법(1000)을 종료할 수 있다.The method 1000 according to various embodiments may include a step 1040 of the processor 310 of the server device 300 calculating a jump performance distance based on a jump start position and a jump finish position in a virtual coordinate system. have. In an embodiment, the processor 310 may end the method 1000 after performing the step 1040 of returning the calculated running distance as the final exercise record.

도 11은 서버 장치(300)의 프로세서(310)가 분석 모듈(340)을 통해 수행하는 또 다른 다양한 실시예에 따른 운동 기록 산출 방법(1100)을 도시한다. 일 실시예에서, 방법(1100)은 제자리 멀리뛰기 운동의 기록을 산출하기 위해 사용될 수 있으나, 이에 한정되는 것은 아니며 다양한 운동 활동의 수행 거리를 산출하기 위해 사용될 수 있다.FIG. 11 illustrates a method 1100 for calculating an exercise record according to another various exemplary embodiments performed by the processor 310 of the server device 300 through the analysis module 340 . In one embodiment, the method 1100 may be used to calculate a record of an in-place long jump exercise, but is not limited thereto, and may be used to calculate a distance to perform various athletic activities.

다양한 실시예에 따른 방법(1100)은, 서버 장치(300)의 프로세서(310)가 제1 사용자 단말(120)로부터 수신되는 운동 영상의 프레임들 중 적어도 두 개의 프레임을 특정하는 단계(1110)를 포함할 수 있다. 일 실시예에서, 거리 정보를 식별하는 단계(1110)는, 프로세서(310)가 운동 영상의 프레임들 중 점프 시작 프레임과 점프 완료 프레임을 검출하는 단계를 포함할 수 있다. 일 실시예에서, 프로세서(310)는 운동 영상의 프레임에서 지면과 발 끝의 위치 관계를 고려하여 점프 시작 프레임과 점프 완료 프레임을 검출할 수 있다. 일 실시예에서, 프로세서(310)는, 운동 영상의 제1 프레임에서 지면 상에 놓인 발 끝 위치가 검출되는 경우 제1 프레임을 점프 시작 프레임으로 검출할 수 있다. 일 실시예에서, 프로세서(310)는 운동 영상의 제1 프레임으로부터 미리 결정된 시간 이후의 프레임들 중 제2 프레임에서 지면 상에 놓인 발 끝 위치를 검출하는 경우 제2 프레임을 점프 완료 프레임으로 검출할 수 있다. The method 1100 according to various embodiments includes the step 1110 of the processor 310 of the server device 300 specifying at least two frames among the frames of the exercise image received from the first user terminal 120 . may include In an embodiment, the step 1110 of identifying the distance information may include a step of the processor 310 detecting a jump start frame and a jump completion frame among frames of the motion image. In an embodiment, the processor 310 may detect a jump start frame and a jump completion frame in consideration of the positional relationship between the ground and the toe in the frame of the motion image. In an embodiment, the processor 310 may detect the first frame as a jump start frame when a toe position placed on the ground is detected in the first frame of the exercise image. In one embodiment, the processor 310 detects the second frame as a jump completion frame when detecting the toe position placed on the ground in the second frame among the frames after a predetermined time from the first frame of the motion image. can

일 실시예에서, 서버 장치(300)의 프로세서(310)는 운동 영상의 프레임들 중 적어도 일부가 점프 운동을 판단하기 위한 미리 결정된 기준을 만족하는지 여부를 판단하는 단계를 추가로 포함할 수 있다. 일 실시예에서, 점프 운동을 판단하기 위한 미리 결정된 기준은, 점프 시작 프레임에 후속하는 소정 개수의 프레임들에서 검출되는 발 끝의 높이 변화량 및/또는 직선 이동량이 미리 결정된 크기를 초과하는 것을 포함할 수 있다. 따라서, 서버 장치(300)는 실질적으로 점프가 일어나지 않은 경우에도 운동 기록이 산출되는 경우를 방지할 수 있다.In an embodiment, the processor 310 of the server device 300 may further include determining whether at least some of the frames of the exercise image satisfy a predetermined criterion for determining the jumping exercise. In one embodiment, the predetermined criterion for judging the jumping motion may include that the amount of change in height and/or the amount of linear movement of the toe detected in a predetermined number of frames subsequent to the jumping start frame exceeds a predetermined size. can Accordingly, the server device 300 can prevent a case in which an exercise record is calculated even when a jump does not actually occur.

다양한 실시예에 따른 방법(1100)은, 서버 장치(300)의 프로세서(310)가 특정된 적어도 두 개의 프레임으로부터 제1 사용자에 대한 거리 정보를 식별하는 단계(1120)를 포함할 수 있다. 일 실시예에서, 거리 정보는 제1 사용자 단말(120)의 거리 측정 센서에 의해 측정된 거리 값을 포함하며, 제1 사용자 단말(120)로부터 수신되는 운동 영상의 각각의 프레임들과 함께 저장되어 있을 수 있다. The method 1100 according to various embodiments may include an operation 1120 of the processor 310 of the server device 300 identifying distance information for the first user from at least two specified frames. In an embodiment, the distance information includes a distance value measured by a distance measuring sensor of the first user terminal 120 , and is stored together with each frame of an exercise image received from the first user terminal 120 . there may be

다양한 실시예에 따른 방법(1100)은, 서버 장치(300)의 프로세서(310)가 식별된 거리 정보를 기초로 제1 사용자에 대한 운동 기록을 산출하는 단계(1130)를 포함할 수 있다. 일 실시예에서, 프로세서(310)는 점프 시작 프레임과 점프 완료 프레임 각각으로부터 식별된 거리 정보를 기초로 점프의 수행 거리를 산출할 수 있다. 일 실시예에서, 프로세서(310)는 점프의 수행 거리를 산출할 때 점프 시작 프레임 및 점프 완료 프레임 각각에서 발 끝 위치를 검출한 후, 점프 시작 프레임과 점프 완료 프레임 각각의 거리 정보로부터 해당 발 끝 위치에 대한 거리 정보를 식별해 낼 수 있다.The method 1100 according to various embodiments may include an operation 1130 in which the processor 310 of the server device 300 calculates an exercise record for the first user based on the identified distance information. In an embodiment, the processor 310 may calculate a distance to perform a jump based on distance information identified from each of the jump start frame and the jump complete frame. In one embodiment, the processor 310 detects the position of the toe in each of the jump start frame and the jump complete frame when calculating the distance to perform the jump, and then the corresponding toe from the distance information of each of the jump start frame and the jump complete frame. It is possible to identify distance information for a location.

다양한 실시예에 따른 방법(1100)은, 서버 장치(300)의 프로세서(310)가 산출된 운동 기록을 최종 운동 기록으로 리턴하는 단계(1140)를 수행한 후 방법(1100)을 종료할 수 있다.The method 1100 according to various embodiments may end the method 1100 after the processor 310 of the server device 300 performs an operation 1140 of returning the calculated exercise record as a final exercise record. .

도 12a는 서버 장치(300)의 프로세서(310)가 분석 모듈(340)을 통해 수행하는 또 다른 다양한 실시예에 따른 운동 기록 산출 방법(1200)을 도시한다. 도 12b는 방법(1200)을 사용하여 운동 기록을 산출할 수 있는 운동 활동의 일 예시로서, 달리기 운동을 예시적으로 도시한다. 방법(1200)은, 도 12b에 도시한 달리기 운동의 수행 시간을 산출하기 위해 사용될 수 있으나, 이에 한정되는 것은 아니며 다양한 운동 활동의 수행 시간을 산출하기 위해 사용될 수 있다.FIG. 12A illustrates a method 1200 of calculating an exercise record according to another various exemplary embodiments performed by the processor 310 of the server device 300 through the analysis module 340 . 12B exemplifies a running exercise as an example of an athletic activity for which the method 1200 may be used to generate an exercise record. The method 1200 may be used to calculate the execution time of the running exercise illustrated in FIG. 12B , but is not limited thereto, and may be used to calculate the execution time of various exercise activities.

다양한 실시예에 따른 방법(1200)은, 서버 장치(300)의 프로세서(310)가 제1 사용자 단말(120)로부터 수신하는 운동 영상의 프레임들 중 운동 시작 프레임을 특정하는 단계(1210)를 포함할 수 있다. 일 실시예에서, 프로세서(310)는 운동 영상 속 사람의 움직임을 감지하여, 사람의 움직임이 없다가 급격한 직선 이동이 발생하는 순간의 프레임을 운동 시작 프레임으로 특정할 수 있다. 일 실시예에서, 운동 영상 속에서 사람을 인지하는 것은, 영상 속에서 사람을 인식하기 위해 훈련된 AI 알고리즘을 통해 구현될 수 있다. The method 1200 according to various embodiments includes the step 1210 of specifying, by the processor 310 of the server device 300 , an exercise start frame among the frames of the exercise image received from the first user terminal 120 . can do. In an embodiment, the processor 310 may detect a motion of a person in the motion image, and specify a frame at a moment when a sudden linear movement occurs without a motion of the person as the motion start frame. In an embodiment, recognizing a person in a motion image may be implemented through an AI algorithm trained to recognize a person in the image.

다양한 실시예에 따른 방법(1200)은, 서버 장치(300)의 프로세서(310)가 제1 사용자 단말(120)로부터 수신하는 운동 영상의 프레임들 중 운동 완료 프레임을 특정하는 단계(1220)를 포함할 수 있다. 일 실시예에서, 프로세서(310)는 운동 영상의 프레임들에 대하여 기설정된 거리 정보에 기초하여 운동 완료 프레임을 특정할 수 있다. 일 실시예에서, 프로세서(310)는 수신하는 운동 영상의 프레임들과 함께 저장된 거리 정보에 기초하여, 운동 영상의 각각의 프레임에서 제1 사용자가 이동 시작 프레임으로부터 미리 결정된 거리만큼 이동했는지를 판단할 수 있다. 예를 들어, 프로세서(310)는 운동 시작 프레임의 거리 정보와 운동 영상의 프레임들의 거리 정보를 비교하여 제1 사용자의 이동 거리를 판단할 수 있다. 일 실시예에서, 프로세서(310)는, 운동 영상의 프레임들에서 제1 사용자가 운동 시작 프레임에서의 위치로부터 미리 결정된 거리만큼 이동한 순간의 프레임을 운동 완료 프레임으로 특정할 수 있다.The method 1200 according to various embodiments includes a step 1220 of specifying, by the processor 310 of the server device 300 , an exercise completion frame among the frames of the exercise image received from the first user terminal 120 . can do. In an embodiment, the processor 310 may specify the exercise completion frame based on preset distance information for the frames of the exercise image. In an embodiment, the processor 310 determines whether the first user moves by a predetermined distance from the movement start frame in each frame of the exercise image based on distance information stored together with the frames of the exercise image to be received. can For example, the processor 310 may determine the movement distance of the first user by comparing the distance information of the exercise start frame with the distance information of the frames of the exercise image. In an embodiment, the processor 310 may specify a frame at the moment in which the first user moves by a predetermined distance from the position in the exercise start frame in the frames of the exercise image as the exercise completion frame.

예시적으로, 도 12b는 운동 활동의 종류가 달리기인 경우 제1 사용자 단말(120)의 카메라(250)가 달리기 완료 지점 측에 가까이 설치된 경우의 이동 시작 프레임(1210F)과 이동 완료 프레임(1210F)을 예시적으로 도시한 것이다. 도 12b의 예시에 따르면, 이동 완료 프레임(1220F)은, 운동 영상의 복수의 프레임들 중에서, 이동 시작 프레임(1210F) 보다 거리 측정 정보가 미리 결정된 거리만큼 줄어든 거리 측정 값을 가진 프레임으로 선택될 수 있다. 예를 들어, 50m 달리기의 운동 기록을 측정해야 하는 경우, 이동 시작 프레임(1210F)과 거리 측정 값이 50m 차이가 발생하는 프레임을 이동 완료 프레임(1220F)으로 결정할 수 있다.Exemplarily, FIG. 12B shows a movement start frame 1210F and a movement completion frame 1210F when the camera 250 of the first user terminal 120 is installed close to the running completion point side when the type of exercise activity is running. is shown as an example. According to the example of FIG. 12B , the movement completion frame 1220F may be selected as a frame having a distance measurement value in which the distance measurement information is reduced by a predetermined distance than the movement start frame 1210F among a plurality of frames of the motion image. have. For example, when it is necessary to measure the exercise record of a 50m run, a frame in which a difference between the movement start frame 1210F and the distance measurement value of 50m occurs may be determined as the movement completion frame 1220F.

다시 도 12a로 돌아와서, 다양한 실시예에 따른 방법(1200)은, 서버 장치(300)의 프로세서(310)가 운동 시작 프레임과 운동 완료 프레임 사이의 시간 정보를 기초로 운동 활동의 수행 시간을 산출하는 단계(1230)를 포함할 수 있다. Returning again to FIG. 12A , in the method 1200 according to various embodiments, the processor 310 of the server device 300 calculates the execution time of the exercise activity based on time information between the exercise start frame and the exercise completion frame. Step 1230 may be included.

다양한 실시예에 따른 방법(1200)은, 서버 장치(300)의 프로세서(310)가 산출한 수행 시간을 최종 운동 기록 측정 결과 값으로 리턴하는 단계(1240)를 수행한 후 방법(1200)을 종료할 수 있다.The method 1200 according to various embodiments ends the method 1200 after performing the step 1240 of returning the execution time calculated by the processor 310 of the server device 300 as a final exercise record measurement result value. can do.

이상 다양한 실시예들에 의해 본 개시의 기술적 사상이 설명되었지만, 본 개시의 기술적 사상은 본 개시가 속하는 기술 분야에서 통상의 지식을 가진 자가 이해할 수 있는 범위에서 이루어질 수 있는 다양한 치환, 변형 및 변경을 포함한다. 또한, 그러한 치환, 변형 및 변경은 첨부된 청구범위 내에 포함될 수 있는 것으로 이해되어야 한다.Although the technical idea of the present disclosure has been described by various embodiments above, the technical idea of the present disclosure includes various substitutions, modifications, and changes that can be made within a range that can be understood by those of ordinary skill in the art to which the present disclosure belongs. include It is also to be understood that such substitutions, modifications and alterations may fall within the scope of the appended claims.

Claims (21)

통신 회로, 제1 메모리, 제2 메모리 및 프로세서를 포함하는 서버 장치에서 수행되는 방법으로서,
상기 통신 회로를 통해, 제1 사용자 단말로부터 제1 사용자의 운동 활동을 촬영한 운동 영상을 수신하는 단계;
상기 프로세서에 의해, 상기 통신 회로를 통해 수신하는 상기 운동 영상을 상기 제1 메모리에 저장하는 단계;
상기 프로세서에 의해, 상기 제1 메모리에 액세스하고 상기 운동 영상을 분석하여 상기 운동 활동에 대한 운동 기록을 산출하는 단계 - 상기 운동 기록을 산출하는 단계는 상기 운동 활동의 종류에 따라 기설정된 알고리즘을 기초로 상기 운동 영상의 프레임들을 분석하여 상기 운동 활동의 수행 시간, 수행 횟수, 및 수행 거리 중 적어도 하나를 산출하는 단계를 포함하는 - ; 및
상기 프로세서에 의해, 상기 운동 영상의 수신이 완료되는 것에 응답하여, 상기 운동 영상 및 상기 운동 기록을 상기 제2 메모리에 저장하는 단계
를 포함하고,
상기 운동 영상의 각각의 프레임은 상기 제1 사용자 단말로부터 수신되어 상기 제1 메모리에 저장되면서, 동시에 실시간으로 상기 운동 기록을 산출하기 위한 영상 분석에 사용되는, 방법.
A method performed in a server device comprising communication circuitry, a first memory, a second memory and a processor, the method comprising:
receiving, through the communication circuit, an exercise image captured by a first user's exercise activity from a first user terminal;
storing, by the processor, the exercise image received through the communication circuit in the first memory;
accessing, by the processor, the first memory and analyzing the exercise image to calculate an exercise record for the exercise activity - The step of calculating the exercise record is based on a preset algorithm according to the type of the exercise activity and analyzing the frames of the exercise image to calculate at least one of a performance time, a number of times, and a distance to perform the exercise activity; and
Storing, by the processor, the exercise image and the exercise record in the second memory in response to completion of the reception of the exercise image
including,
Each frame of the exercise image is received from the first user terminal and stored in the first memory, and is used for image analysis for calculating the exercise record in real time at the same time.
제1항에 있어서,
상기 통신 회로를 통해, 제2 사용자 단말로부터 상기 제1 사용자의 운동 활동에 관한 정보 요청을 수신하는 단계; 및
상기 프로세서에 의해, 상기 정보 요청에 응답하여, 상기 제1 사용자에 대한 상기 운동 영상 및 상기 운동 기록 중 적어도 하나를 상기 통신 회로를 통해 상기 제2 사용자 단말로 전송하는 단계를 더 포함하는 방법.
According to claim 1,
receiving, through the communication circuit, a request for information regarding the exercise activity of the first user from a second user terminal; and
The method further comprising the step of transmitting, by the processor, at least one of the exercise image and the exercise record for the first user to the second user terminal through the communication circuit in response to the information request.
제1항에 있어서,
상기 통신 회로를 통해, 상기 운동 영상 및 상기 운동 기록을 상기 제2 메모리에 저장하는 것에 응답하여, 상기 운동 기록을 포함하는 업로드 완료 통지를 상기 제1 사용자 단말로 전송하는 단계를 더 포함하는 방법.
According to claim 1,
and, in response to storing the exercise image and the exercise record in the second memory, via the communication circuit, transmitting an upload completion notification including the exercise record to the first user terminal.
제1항에 있어서,
상기 통신 회로를 통해, 상기 제1 사용자 단말로부터 상기 운동 영상을 수신하기 전에, 상기 제1 사용자 단말로부터, 상기 운동 활동의 종류에 관한 입력을 수신하는 단계를 더 포함하는 방법.
According to claim 1,
The method further comprising the step of receiving, through the communication circuit, an input regarding the type of the exercise activity from the first user terminal before receiving the exercise image from the first user terminal.
제1항에 있어서,
상기 운동 기록을 산출하는 단계는,
상기 운동 영상의 프레임들 중 적어도 일부의 프레임에서 객체의 위치를 검출하는 단계; 및
상기 객체의 위치의 변화에 기초하여 상기 운동 기록을 산출하는 단계
를 포함하는 방법.
According to claim 1,
The step of calculating the exercise record,
detecting the position of the object in at least some of the frames of the motion image; and
Calculating the exercise record based on a change in the position of the object
How to include.
제5항에 있어서,
상기 객체의 위치의 변화에 기초하여 상기 운동 기록을 산출하는 단계는,
상기 운동 영상의 프레임들로부터 검출되는 상기 객체의 위치에서 극점을 검출하는 단계; 및
상기 검출된 극점의 위치의 변화를 기초로 상기 수행 횟수를 카운트하는 단계
를 포함하는 방법.
6. The method of claim 5,
Calculating the exercise record based on the change in the position of the object comprises:
detecting a pole at the position of the object detected from the frames of the motion image; and
Counting the number of executions based on a change in the position of the detected pole
How to include.
제6항에 있어서,
상기 객체의 위치의 변화에 기초하여 상기 운동 기록을 산출하는 단계는,
상기 운동 영상의 제1 기간 동안의 제1 복수의 프레임에서 검출되는 극점이 소정 개수 이상 발생하는 경우 상기 운동 영상에서 반복운동이 검출되된 것으로 판단하는 단계를 더 포함하는 방법.
7. The method of claim 6,
Calculating the exercise record based on the change in the position of the object comprises:
The method further comprising the step of determining that repetitive motion is detected in the motion image when the number of poles detected in the first plurality of frames during the first period of the motion image occurs more than a predetermined number.
제7항에 있어서,
상기 객체의 위치의 변화에 기초하여 상기 운동 기록을 산출하는 단계는,
상기 운동 영상에서 반복운동이 검출된다고 판단한 것에 응답하여, 상기 운동 영상의 제2 기간 동안의 제2 복수의 프레임에서 검출되는 극점을 기초로 상기 수행 횟수를 증가시키는 단계를 더 포함하는 방법.
8. The method of claim 7,
Calculating the exercise record based on the change in the position of the object comprises:
In response to determining that the repetitive motion is detected in the motion image, the method further comprising the step of increasing the number of executions based on poles detected in a second plurality of frames during a second period of the exercise image.
제1항에 있어서,
상기 운동 기록을 산출하는 단계는,
상기 운동 영상의 프레임들에서 적어도 두 개의 객체의 위치를 검출하는 단계;
상기 검출된 적어도 두 개의 객체의 상대적 위치 관계를 산출하는 단계; 및
상기 상대적 위치 관계가 미리 결정된 기준을 만족한다는 결정에 따라, 상기 수행 횟수를 증가시키는 단계를 포함하는 방법.
According to claim 1,
The step of calculating the exercise record,
detecting positions of at least two objects in the frames of the motion image;
calculating a relative positional relationship between the detected at least two objects; and
and in response to determining that the relative positional relationship satisfies a predetermined criterion, increasing the number of times of performing.
제1항에 있어서,
상기 운동 기록을 산출하는 단계는,
상기 운동 영상의 프레임에 대해 가상 좌표계를 설정하는 단계;
상기 가상 좌표계를 기준으로 상기 운동 영상의 복수의 프레임 중 제1 프레임에서 점프 시작 위치를 검출하는 단계;
상기 가상 좌표계를 기준으로 상기 운동 영상의 복수의 프레임 중 제2 프레임에서 점프 완료 위치를 검출하는 단계 - 상기 제2 프레임은 상기 제1 프레임보다 시간적으로 후속한 것임 - ; 및
상기 점프 시작 위치 및 점프 완료 위치를 기초로 상기 수행 거리를 산출하는 단계를 포함하는 방법.
According to claim 1,
The step of calculating the exercise record,
setting a virtual coordinate system for the frame of the motion image;
detecting a jump start position in a first frame among a plurality of frames of the motion image based on the virtual coordinate system;
detecting a jump completion position in a second frame among a plurality of frames of the motion image based on the virtual coordinate system, wherein the second frame is temporally subsequent to the first frame; and
The method comprising the step of calculating the distance based on the jump start position and the jump complete position.
제10항에 있어서,
상기 점프 완료 위치를 검출하는 단계는,
상기 제2 프레임에서 지면의 위치 및 상기 제1 사용자의 발 끝 위치를 인식하는 단계를 포함하는 방법.
11. The method of claim 10,
The step of detecting the jump completion position includes:
Recognizing the position of the ground and the position of the toe of the first user in the second frame.
제1항에 있어서,
상기 운동 기록을 산출하는 단계는,
상기 운동 영상의 프레임들 중 적어도 두 개의 프레임을 특정하는 단계;
상기 특정된 적어도 두 개의 프레임으로부터 상기 제1 사용자에 대한 거리 정보를 식별하는 단계; 및
식별한 상기 거리 정보에 기초하여, 상기 제1 사용자에 대한 상기 운동 기록을 산출하는 단계를 포함하고,
상기 제1 사용자에 대한 거리 정보는 상기 제1 사용자 단말에 포함된 센서에 의해 측정되어 상기 적어도 두 개의 프레임에 저장된 것인, 방법.
According to claim 1,
The step of calculating the exercise record,
specifying at least two frames among the frames of the motion image;
identifying distance information for the first user from the specified at least two frames; and
Based on the identified distance information, comprising the step of calculating the exercise record for the first user,
The distance information for the first user is measured by a sensor included in the first user terminal and stored in the at least two frames.
제12항에 있어서,
상기 운동 영상의 프레임들 중 적어도 두 개의 프레임을 특정하는 단계는, 상기 운동 영상의 프레임들 중 점프 시작 프레임과 점프 완료 프레임을 검출하는 단계를 포함하고,
상기 특정된 적어도 두 개의 프레임으로부터 상기 제1 사용자에 대한 거리 정보를 식별하는 단계는, 상기 점프 시작 프레임과 상기 점프 완료 프레임으로부터 거리 정보를 획득하는 단계를 포함하고,
식별한 상기 거리 정보에 기초하여, 상기 제1 사용자에 대한 상기 운동 기록을 산출하는 단계는, 상기 점프 시작 프레임과 상기 점프 완료 프레임으로부터 획득된 거리 정보를 기초로 상기 수행 거리를 산출하는 단계를 포함하는 방법.
13. The method of claim 12,
The step of specifying at least two frames among the frames of the motion image includes detecting a jump start frame and a jump completion frame among the frames of the motion image,
The step of identifying the distance information for the first user from the specified at least two frames includes obtaining distance information from the jump start frame and the jump complete frame,
Based on the identified distance information, calculating the exercise record for the first user includes calculating the distance to be performed based on distance information obtained from the jump start frame and the jump complete frame How to.
제1항에 있어서,
상기 운동 기록을 산출하는 단계는,
상기 운동 영상의 프레임들 중 운동 시작 프레임을 특정하는 단계;
상기 운동 영상의 프레임들 중 운동 완료 프레임을 특정하는 단계 - 상기 운동 완료 프레임은, 상기 운동 시작 프레임과 상기 운동 완료 프레임에 대하여 기설정된 거리 정보에 기초하여 결정됨 - ; 및
상기 운동 시작 프레임과 상기 운동 완료 프레임 간의 시간 정보를 기초로 상기 수행 시간을 산출하는 단계를 포함하고,
상기 거리 정보는 상기 제1 사용자 단말에 포함된 센서에 의해 측정되어 상기 운동 시작 프레임과 상기 운동 완료 프레임에 저장된 것인, 방법.
According to claim 1,
The step of calculating the exercise record,
specifying an exercise start frame among the frames of the exercise image;
specifying a motion completion frame among the frames of the motion image, wherein the motion completion frame is determined based on predetermined distance information with respect to the motion start frame and the motion completion frame; and
Comprising the step of calculating the execution time based on the time information between the exercise start frame and the exercise completion frame,
The distance information is measured by a sensor included in the first user terminal and stored in the exercise start frame and the exercise complete frame, the method.
서버 장치로서,
데이터를 송수신하도록 구성되는 통신 회로;
제1 메모리 및 제2 메모리; 및
프로세서를 포함하고, 상기 프로세서는,
상기 통신 회로를 통해, 제1 사용자 단말로부터 제1 사용자의 운동 활동을 촬영한 운동 영상을 수신하고,
상기 프로세서에 의해, 상기 통신 회로를 통해 수신하는 상기 운동 영상을 상기 제1 메모리에 저장하고,
상기 프로세서에 의해, 상기 제1 메모리에 액세스하고 상기 운동 영상을 분석하여 상기 운동 활동에 대한 운동 기록을 산출하고 - 상기 운동 기록을 산출하는 것은 상기 운동 활동의 종류에 따라 기설정된 알고리즘을 기초로 상기 운동 영상의 프레임들을 분석하여 상기 운동 활동의 수행 시간, 수행 횟수, 및 수행 거리 중 적어도 하나를 산출하는 것을 포함함 - ; 및
상기 프로세서에 의해, 상기 운동 영상의 수신이 완료되는 것에 응답하여, 상기 운동 영상 및 상기 운동 기록을 상기 제2 메모리에 저장하도록 구성되고,
상기 운동 영상의 각각의 프레임은 상기 제1 사용자 단말로부터 수신되어 상기 제1 메모리에 저장되면서, 동시에 실시간으로 상기 운동 기록을 산출하기 위한 영상 분석에 사용되는, 서버 장치.
As a server device,
a communication circuit configured to transmit and receive data;
a first memory and a second memory; and
A processor comprising:
Through the communication circuit, receiving an exercise image captured by the exercise activity of the first user from the first user terminal,
Storing, by the processor, the motion image received through the communication circuit in the first memory,
by the processor, access the first memory and analyze the exercise image to calculate an exercise record for the exercise activity, wherein calculating the exercise record is based on a preset algorithm according to the type of the exercise activity analyzing the frames of the exercise image to calculate at least one of the execution time, the number of execution times, and the execution distance of the exercise activity; and
and in response to completion of reception of the exercise image by the processor, store the exercise image and the exercise record in the second memory;
Each frame of the exercise image is received from the first user terminal and stored in the first memory, and is used for image analysis for calculating the exercise record in real time at the same time.
제15항에 있어서, 상기 프로세서는,
상기 통신 회로를 통해, 제2 사용자 단말로부터 상기 제1 사용자의 운동 활동에 관한 정보 요청을 수신하고,
상기 정보 요청에 응답하여, 상기 제1 사용자에 대한 상기 운동 영상 및 상기 운동 기록 중 적어도 하나를 상기 통신 회로를 통해 상기 제2 사용자 단말로 전송하도록 구성되는, 서버 장치.
16. The method of claim 15, wherein the processor,
receiving, through the communication circuit, a request for information regarding the exercise activity of the first user from a second user terminal;
and transmit at least one of the exercise image and the exercise record for the first user to the second user terminal through the communication circuit in response to the information request.
제15항에 있어서, 상기 프로세서는, 상기 운동 기록을 산출하기 위해,
상기 운동 영상의 프레임들 중 적어도 일부의 프레임에서 객체의 위치를 검출하고,
상기 객체의 위치의 변화에 기초하여 상기 운동 기록을 산출하도록 구성되는, 서버 장치.
16. The method of claim 15, wherein the processor is configured to:
detecting the position of the object in at least some of the frames of the motion image,
and calculate the exercise record based on a change in the position of the object.
제15항에 있어서, 상기 프로세서가, 상기 운동 기록을 산출하기 위해,
상기 운동 영상의 프레임들에서 적어도 두 개의 객체의 위치를 검출하고;
상기 검출된 적어도 두 개의 객체의 상대적 위치 관계를 산출하고,
상기 상대적 위치 관계가 미리 결정된 기준을 만족한다는 결정에 따라, 상기 수행 횟수를 증가시키도록 구성되는, 서버 장치.
The method of claim 15 , wherein the processor is configured to:
detecting positions of at least two objects in the frames of the motion image;
calculating a relative positional relationship between the detected at least two objects,
and increase the number of performing according to determining that the relative positional relationship satisfies a predetermined criterion.
제15항에 있어서, 상기 프로세서가, 상기 운동 기록을 산출하기 위해,
상기 운동 영상의 프레임에 대해 가상 좌표계를 설정하고,
상기 가상 좌표계를 기준으로 상기 운동 영상의 복수의 프레임 중 제1 프레임에서 점프 시작 위치를 검출하고,
상기 가상 좌표계를 기준으로 상기 운동 영상의 복수의 프레임 중 제2 프레임에서 점프 완료 위치를 검출하고 - 상기 제2 프레임은 상기 제1 프레임보다 시간적으로 후속한 것임 - ,
상기 점프 시작 위치 및 점프 완료 위치를 기초로 상기 수행 거리를 산출하도록 구성되는, 서버 장치.
The method of claim 15 , wherein the processor is configured to:
Set a virtual coordinate system for the frame of the motion image,
Detecting a jump start position in a first frame among a plurality of frames of the motion image based on the virtual coordinate system,
detecting a jump completion position in a second frame among a plurality of frames of the motion image based on the virtual coordinate system, wherein the second frame is temporally subsequent to the first frame;
The server device, configured to calculate the running distance based on the jump start position and the jump finish position.
제15항에 있어서, 상기 프로세서가, 상기 운동 기록을 산출하기 위해,
상기 운동 영상의 프레임들 중 적어도 두 개의 프레임으로부터 상기 제1 사용자에 대한 거리 정보를 각각 식별하고,
식별한 상기 거리 정보에 기초하여, 상기 제1 사용자에 대한 상기 운동 기록을 산출하도록 구성되고,
상기 제1 사용자에 대한 거리 정보는 상기 제1 사용자 단말에 포함된 센서에 의해 측정된 것으로서 상기 적어도 두 개의 프레임에 저장된 것인, 서버 장치.
The method of claim 15 , wherein the processor is configured to:
Each of the distance information for the first user is identified from at least two frames among the frames of the exercise image,
configured to calculate the exercise record for the first user based on the identified distance information,
The distance information for the first user is measured by a sensor included in the first user terminal and stored in the at least two frames, the server device.
제15항에 있어서, 상기 프로세서가, 상기 운동 기록을 산출하기 위해,
상기 운동 영상의 프레임들 중 운동 시작 프레임을 특정하고,
상기 운동 영상의 프레임들 중 운동 완료 프레임을 특정하고 - 상기 운동 완료 프레임은, 상기 운동 시작 프레임과 상기 운동 완료 프레임에 대하여 각각에 저장된 거리 정보에 기초하여 상기 운동 시작 프레임으로부터 미리 설정된 거리 만큼 이동한 순간의 프레임으로 결정됨 -,
상기 운동 시작 프레임과 상기 운동 완료 프레임 간의 시간 정보를 기초로 상기 수행 시간을 산출하도록 구성되고,
상기 거리 정보는 상기 제1 사용자 단말에 포함된 센서에 의해 측정된 것으로서 상기 운동 영상의 프레임들 중 적어도 일부에 저장된 것인, 서버 장치.
The method of claim 15 , wherein the processor is configured to:
specifying a motion start frame among the frames of the motion image,
and specifying a motion completion frame among the frames of the motion image - the motion completion frame is moved by a preset distance from the motion starting frame based on distance information stored in each of the motion starting frame and the motion completion frame Determined by the frame of the moment -,
configured to calculate the execution time based on time information between the exercise start frame and the exercise completion frame,
The distance information is measured by a sensor included in the first user terminal and stored in at least some of the frames of the exercise image, the server device.
KR1020210087061A 2021-07-02 2021-07-02 Device and method for measuring and sharing excercise record of exercise video KR102457450B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020210087061A KR102457450B1 (en) 2021-07-02 2021-07-02 Device and method for measuring and sharing excercise record of exercise video

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020210087061A KR102457450B1 (en) 2021-07-02 2021-07-02 Device and method for measuring and sharing excercise record of exercise video

Publications (1)

Publication Number Publication Date
KR102457450B1 true KR102457450B1 (en) 2022-10-21

Family

ID=83805310

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020210087061A KR102457450B1 (en) 2021-07-02 2021-07-02 Device and method for measuring and sharing excercise record of exercise video

Country Status (1)

Country Link
KR (1) KR102457450B1 (en)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2012154805A (en) * 2011-01-26 2012-08-16 Hamamatsu Photonics Kk Jumping action measuring device and jumping action measuring method
KR101447145B1 (en) * 2014-03-21 2014-10-06 주식회사 와이즈웰니스 Health management system using wearable device
KR20170119337A (en) * 2016-04-18 2017-10-27 (주)아이들 Apparatus and Method for Processing of Exercise Information
KR20200144991A (en) * 2019-06-20 2020-12-30 코드비전 주식회사 Exercise assistant device and exercise assistant method
JP6858387B1 (en) * 2020-11-19 2021-04-14 株式会社Qoncept Orbit calculation device, orbit calculation method, orbit calculation program

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2012154805A (en) * 2011-01-26 2012-08-16 Hamamatsu Photonics Kk Jumping action measuring device and jumping action measuring method
KR101447145B1 (en) * 2014-03-21 2014-10-06 주식회사 와이즈웰니스 Health management system using wearable device
KR20170119337A (en) * 2016-04-18 2017-10-27 (주)아이들 Apparatus and Method for Processing of Exercise Information
KR20200144991A (en) * 2019-06-20 2020-12-30 코드비전 주식회사 Exercise assistant device and exercise assistant method
JP6858387B1 (en) * 2020-11-19 2021-04-14 株式会社Qoncept Orbit calculation device, orbit calculation method, orbit calculation program

Similar Documents

Publication Publication Date Title
US20210038069A1 (en) Systems and methods for determining distance from an object
KR102033517B1 (en) System for senior trainning on the basis of vr contents and brain wave measurement
US9532709B2 (en) System and method for determining distances from an object
US11484225B2 (en) Rehabilitation evaluation apparatus, rehabilitation evaluation method, and rehabilitation evaluation program
US20190143174A1 (en) Motion training guide system based on wearable sensor and method thereof
KR101458432B1 (en) Auto connection exercise equipment for providing exercise information, smart device, exercise information system and method thereof
JP6474946B1 (en) Image analysis result providing system, image analysis result providing method, and program
US20210197022A1 (en) Evaluation method, model establishing method, teaching device, system, and electrical apparatus
KR102173335B1 (en) A method and an apparatus for analyzing personal physical ability based on motion recognition
KR20200144991A (en) Exercise assistant device and exercise assistant method
KR102370703B1 (en) An user exercise management system, method and apparatus therefor
KR20180058139A (en) Smart health service system and smart health service method
KR101927454B1 (en) Method for providing measuring physical activity service using evaluation indicator of physical activity cometence for preschool children
KR102012286B1 (en) Apparatus and Method for Measuring Pure Time using Distance Sensor and Camera
KR102026209B1 (en) System for providing artificial intelligence based smart health care service
KR20160147297A (en) Management and encourage system for practical exercise using internet of things platform
KR101847503B1 (en) Motion analysis and method and appratus using pressure data of feet
KR102457450B1 (en) Device and method for measuring and sharing excercise record of exercise video
KR101221784B1 (en) A movement analysis and evaluation system using a camera and its control method
KR20160059802A (en) Smart fitness system
KR102547111B1 (en) Apparatus and method for providing child psychological examination service through virtual space
JP2021037168A (en) Movement analysis system, movement analysis program, and movement analysis method
KR102227876B1 (en) Smart wetight pin and system for measuring quantity of motion
KR102346069B1 (en) Method and system for measuring physical fitness through non-face-to-face physical activity
KR20190143742A (en) The Device for improving the study concentration

Legal Events

Date Code Title Description
GRNT Written decision to grant