KR102590988B1 - 아바타와 함께 운동하는 메타버스 서비스 제공 장치, 방법 및 프로그램 - Google Patents

아바타와 함께 운동하는 메타버스 서비스 제공 장치, 방법 및 프로그램 Download PDF

Info

Publication number
KR102590988B1
KR102590988B1 KR1020230053395A KR20230053395A KR102590988B1 KR 102590988 B1 KR102590988 B1 KR 102590988B1 KR 1020230053395 A KR1020230053395 A KR 1020230053395A KR 20230053395 A KR20230053395 A KR 20230053395A KR 102590988 B1 KR102590988 B1 KR 102590988B1
Authority
KR
South Korea
Prior art keywords
user
avatar
exercise
motion
control unit
Prior art date
Application number
KR1020230053395A
Other languages
English (en)
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 주식회사 구스랩스
Application granted granted Critical
Publication of KR102590988B1 publication Critical patent/KR102590988B1/ko

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
    • 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
    • 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/0075Means for generating exercise programs or schemes, e.g. computerized virtual trainer, e.g. using expert databases
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/16Sound input; Sound output
    • 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/30Transportation; Communications
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T13/00Animation
    • G06T13/203D [Three Dimensional] animation
    • G06T13/403D [Three Dimensional] animation of characters, e.g. humans, animals or virtual beings
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T19/00Manipulating 3D models or images for computer graphics
    • G06T19/003Navigation within 3D models or images
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T19/00Manipulating 3D models or images for computer graphics
    • G06T19/20Editing of 3D images, e.g. changing shapes or colours, aligning objects or positioning parts
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L51/00User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail
    • H04L51/04Real-time or near real-time messaging, e.g. instant messaging [IM]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L51/00User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail
    • H04L51/52User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail for supporting social networking services

Abstract

현실 공간에서의 사용자 운동 동작을 가상 공간에서의 아바타에게 반영하여 사용자와 아바타가 함께 운동할 수 있는 메타버스 서비스를 제공할 수 있는 메타버스 서비스 제공 장치, 방법 및 프로그램에 관한 것으로, 사용자 단말과 통신 연결되는 통신부, 아바타의 모션 데이터를 저장하는 데이터베이스, 그리고 메타버스의 가상 공간에 업로드된 아바타의 모션을 제어하는 제어부를 포함하고, 상기 제어부는, 상기 사용자 단말로부터 운동 세션 참가 요청이 수신되면 상기 사용자 단말로 사용자 촬영 영상을 요청하고, 상기 사용자 단말로부터 사용자 촬영 영상이 수신되면 상기 사용자 촬영 영상으로부터 사용자 모션 데이터를 추출하며, 상기 운동 세션의 가상 공간에 업로드된 아바타에 상기 사용자 모션 데이터를 반영하고, 상기 사용자의 현재 동작에 상응하는 사용자 모션 데이터를 사전 학습한 뉴럴 네트워크 모델에 입력하여 사용자의 다음 동작을 예측하며, 상기 예측 결과를 기반으로 상기 아바타의 모션을 제어할 수 있다.

Description

아바타와 함께 운동하는 메타버스 서비스 제공 장치, 방법 및 프로그램{APPARATUS, METHOD AND PROGRAM FOR PROVIDING METAVERSE SERVICE TO EXERCISE WITH AVATAR}
본 개시는, 메타버스 서비스 제공 장치에 관한 것으로, 보다 상세하게는 현실 공간에서의 사용자 운동 동작을 가상 공간에서의 아바타에게 반영하여 사용자와 아바타가 함께 운동할 수 있는 메타버스 서비스를 제공할 수 있는 메타버스 서비스 제공 장치, 방법 및 프로그램에 관한 것이다.
기술이 발전함에 따라 현대인들은, 보다 편리하며 윤택한 생활을 하게 되었으나 그에 반하여 운동부족으로 인한 질병 등이 개인적으로는 물론 사회적으로도 문제가 대두되고 있다.
이에 따라, 사회전반적으로 건강관리를 위한 운동에 대한 관심이 증가되고 있으며, 현실적으로 바쁜 일상속에서 접근이 용이하며 쉽게 이용할 수 있는 실내에서 보다 집중적으로 운동할 수 있는 피트니스 센터 등과 같은 시설의 확충 및 저변확대가 되고 있다.
하지만, 이러한 피트니스 운동은, 다른 운동에 비해 비교적 적은 비용으로 원하는 만큼의 운동량을 얻을 수 있다는 장점이 있는 반면에, 현장감을 가질 수 없다는 단점을 극복할 수 없기 때문에 많은 사람들이 쉽게 흥미를 잃게 된다.
최근에는, 사람들에게 흥미를 부여하기 위하여, 다양한 영상 화면을 통해 자연환경과 유사한 환경을 제공하는 피트니스 장치가 개발되기도 하였지만, 실제 운동 코스의 현장감을 사실적으로 구현하는데 한계가 있으며, 여전히 혼자 운동하는 방식이어서 지루함을 느낄 수 있는 문제점이 있었다
따라서, 향후, 현실 공간에서의 사용자 운동 동작을 가상 공간에서의 아바타에게 반영하여 사용자와 아바타가 함께 운동함으로써, 사용자에게 현장감 및 흥미와 재미를 제공할 수 있는 메타버스 서비스 제공 장치의 개발이 요구되고 있다.
대한민국 등록특허공보 10-2462139호(2022년 10월 28일)
상술한 바와 같은 문제점을 해결하기 위한 본 개시의 일 목적은, 운동 세션의 가상 공간에 업로드된 아바타에 사용자 모션 데이터를 반영하고, 사전 학습한 뉴럴 네트워크 모델을 통해 다음 동작을 예측하여 아바타의 모션을 제어함으로써, 사용자와 아바타가 함께 운동하도록 사용자에게 현장감 및 흥미와 재미를 제공할 수 있는 메타버스 서비스 제공 장치, 방법 및 프로그램을 제공하는 것이다.
본 개시가 해결하고자 하는 과제들은 이상에서 언급된 과제로 제한되지 않으며, 언급되지 않은 또 다른 과제들은 아래의 기재로부터 통상의 기술자에게 명확하게 이해될 수 있을 것이다.
상술한 과제를 해결하기 위한 본 개시의 일 실시예에 따른 메타버스 서비스 제공 장치는, 사용자 단말과 통신 연결되는 통신부, 아바타의 모션 데이터를 저장하는 데이터베이스, 그리고 메타버스의 가상 공간에 업로드된 아바타의 모션을 제어하는 제어부를 포함하고, 상기 제어부는, 상기 사용자 단말로부터 운동 세션 참가 요청이 수신되면 상기 사용자 단말로 사용자 촬영 영상을 요청하고, 상기 사용자 단말로부터 사용자 촬영 영상이 수신되면 상기 사용자 촬영 영상으로부터 사용자 모션 데이터를 추출하며, 상기 운동 세션의 가상 공간에 업로드된 아바타에 상기 사용자 모션 데이터를 반영하고, 상기 사용자의 현재 동작에 상응하는 사용자 모션 데이터를 사전 학습한 뉴럴 네트워크 모델에 입력하여 사용자의 다음 동작을 예측하며, 상기 예측 결과를 기반으로 상기 아바타의 모션을 제어하는 것을 특징으로 한다.
실시 예에 있어서, 상기 제어부는, 상기 사용자 단말로부터 운동 세션 참가 요청이 수신되면 사용자가 선택한 아바타가 보여지도록 상기 운동 세션의 운동 메인 화면을 구성하고, 상기 사용자 단말로 사용자 촬영 영상을 요청하며, 상기 사용자 촬영 영상이 수신되면 상기 사용자 촬영 영상이 포함되는 운동 메인 화면을 제공할 수 있다.
실시 예에 있어서, 상기 제어부는, 상기 운동 세션의 운동 메인 화면을 구성할 때, 상기 운동 세션에 참가 요청한 사용자들이 복수이면 참가 요청한 사용자 자신의 내 아바타와 다른 사용자들의 참가자 아바타들을 상기 운동 세션의 가상 공간에 일정 간격으로 배열되도록 상기 운동 세션의 운동 메인 화면을 구성할 수 있다.
실시 예에 있어서, 상기 제어부는, 상기 사용자 촬영 영상이 수신되면 상기 사용자 촬영 영상에 사용자 전신이 포함되는지를 확인하고, 상기 사용자 촬영 영상에 포함되는 사용자 전신이 기준 비율 미만이면 화각 체크 팝업을 생성하여 제공하며, 상기 사용자 촬영 영상에 포함되는 사용자 전신이 기준 비율 이상이면 상기 생성한 화각 체크 팝업을 제거하는 것을 특징으로 한다.
실시 예에 있어서, 상기 제어부는, 상기 사용자 모션 데이터를 추출할 때, 사전 학습한 뉴럴 네트워크 모델을 이용하여 상기 사용자 촬영 영상에 포함되는 사용자의 신체로부터 관절 위치에 대한 3차원 키포인트(3D key point)들을 추출하고, 각 관절 키포인트에 대응하는 회전 파라미터를 기반으로 사용자 모션 데이터를 추출하는 것을 특징으로 한다.
실시 예에 있어서, 상기 제어부는, 상기 3차원 키포인트들을 추출할 때, 상기 추출한 키포인트의 개수가 기준 비율 미만이거나 또는 예측한 키포인트의 가시성(visibility)이 기준 비율 미만이면 사용자 모션이 유효하지 않는 것으로 판단하고, 상기 사용자 모션 데이터의 업데이트를 중지하거나 또는 상기 사용자 모션 데이터를 미리 예측한 다음 모션에 상응하는 다른 사용자 모션 데이터로 대체하는 것을 특징으로 한다.
실시 예에 있어서, 상기 제어부는, 상기 아바타의 모션을 제어할 때, 상기 운동 세션에 참가 요청한 사용자들이 복수이면 참가 요청한 사용자 자신의 내 아바타와 다른 사용자들의 참가자 아바타들의 동일한 모션에 대한 싱크가 일치하는지를 판단하고, 상기 동일한 모션에 대한 싱크가 일치하지 않으면 상기 운동 세션에 참여하는 아바타들의 동일한 모션에 대한 싱크를 일치하도록 상기 아바타 모션을 제어하는 것을 특징으로 한다.
실시 예에 있어서, 상기 제어부는, 사용자 아바타 운동 녹화 영상을 저장할 때, 상기 사용자 아바타 운동 녹화 영상으로부터 상기 사용자 아바타의 모션 데이터만을 추출하여 상기 추출한 모션 데이터 또는 모션 데이터를 추출할 수 있는 키포인트 데이터를 상기 데이터베이스에 저장하는 것을 특징으로 한다.
실시 예에 있어서, 상기 제어부는, 상기 사용자 아바타 운동 녹화 영상의 재생이 요청되면 상기 사용자 아바타에 상응하는 모션 데이터를 상기 데이터베이스로부터 획득하여 상기 모션 데이터를 사용자 아바타에 반영하여 상기 사용자 아바타 운동 녹화 영상을 생성하며, 상기 생성한 사용자 아바타 운동 녹화 영상을 재생시키는 것을 특징으로 한다.
본 개시의 일 실시예에 따른 메타버스 서비스 제공 방법은, 사용자 단말과 통신 연결되는 장치의 메타버스 서비스 제공 방법으로서, 상기 사용자 단말로부터 운동 세션 참가 요청을 수신하는 단계, 상기 사용자 단말로 사용자 촬영 영상을 요청하는 단계, 상기 사용자 단말로부터 사용자 촬영 영상을 수신하는 단계, 상기 사용자 촬영 영상으로부터 사용자 모션 데이터를 추출하는 단계, 상기 운동 세션의 가상 공간에 업로드된 아바타에 상기 사용자 모션 데이터를 반영하는 단계, 상기 사용자의 현재 동작에 상응하는 사용자 모션 데이터를 사전 학습한 뉴럴 네트워크 모델에 입력하여 사용자의 다음 동작을 예측하는 단계, 및 상기 예측 결과를 기반으로 상기 아바타의 모션을 제어하는 것을 특징으로 한다.
상술한 과제를 해결하기 위한 본 개시의 다른 실시 예에 따른 메타버스 서비스 제공 방법을 제공하는 컴퓨터 프로그램은, 하드웨어인 컴퓨터와 결합되어 상술한 방법 중 어느 하나의 방법을 수행하기 위해 매체에 저장된다.
이 외에도, 본 개시를 구현하기 위한 다른 방법, 다른 시스템 및 상기 방법을 실행하기 위한 컴퓨터 프로그램을 기록하는 컴퓨터 판독 가능한 기록 매체가 더 제공될 수 있다.
상기와 같이 본 개시에 따르면, 운동 세션의 가상 공간에 업로드된 아바타에 사용자 모션 데이터를 반영하고, 사전 학습한 뉴럴 네트워크 모델을 통해 다음 동작을 예측하여 아바타의 모션을 제어함으로써, 사용자와 아바타가 함께 운동하도록 사용자에게 현장감 및 흥미와 재미를 제공할 수 있다.
본 개시의 효과들은 이상에서 언급된 효과로 제한되지 않으며, 언급되지 않은 또 다른 효과들은 아래의 기재로부터 통상의 기술자에게 명확하게 이해될 수 있을 것이다.
도 1은, 본 개시에 따른 메타버스 서비스 제공 장치를 설명하기 위한 개략도이다.
도 2 내지 도 6은, 본 개시에 따른 메타버스 서비스 제공 방법을 설명하기 위한 흐름도이다.
도 7 내지 도 19는, 본 개시에 따른 메타버스 서비스 제공 장치의 화면 구현을 보여주는 도면이다.
본 발명의 이점 및 특징, 그리고 그것들을 달성하는 방법은 첨부되는 도면과 함께 상세하게 후술되어 있는 실시예들을 참조하면 명확해질 것이다. 그러나, 본 개시는, 이하에서 개시되는 실시예들에 제한되는 것이 아니라 서로 다른 다양한 형태로 구현될 수 있으며, 단지 본 실시예들은 본 개시가 완전하도록 하고, 본 개시가 속하는 기술 분야의 통상의 기술자에게 본 개시의 범주를 완전하게 알려주기 위해 제공되는 것이며, 본 개시는, 청구항의 범주에 의해 정의될 뿐이다.
본 명세서에서 사용된 용어는 실시예들을 설명하기 위한 것이며 본 개시를 제한하고자 하는 것은 아니다. 본 명세서에서, 단수형은 문구에서 특별히 언급하지 않는 한 복수형도 포함한다. 명세서에서 사용되는 "포함한다(comprises)" 및/또는 "포함하는(comprising)"은 언급된 구성요소 외에 하나 이상의 다른 구성요소의 존재 또는 추가를 배제하지 않는다. 명세서 전체에 걸쳐 동일한 도면 부호는 동일한 구성 요소를 지칭하며, "및/또는"은 언급된 구성요소들의 각각 및 하나 이상의 모든 조합을 포함한다. 비록 "제1", "제2" 등이 다양한 구성요소들을 서술하기 위해서 사용되나, 이들 구성요소들은 이들 용어에 의해 제한되지 않음은 물론이다. 이들 용어들은 단지 하나의 구성요소를 다른 구성요소와 구별하기 위하여 사용하는 것이다. 따라서, 이하에서 언급되는 제1 구성요소는 본 개시의 기술적 사상 내에서 제2 구성요소일 수도 있음은 물론이다.
다른 정의가 없다면, 본 명세서에서 사용되는 모든 용어(기술 및 과학적 용어를 포함)는 본 개시가 속하는 기술분야의 통상의 기술자에게 공통적으로 이해될 수 있는 의미로 사용될 수 있을 것이다. 또한, 일반적으로 사용되는 사전에 정의되어 있는 용어들은 명백하게 특별히 정의되어 있지 않는 한 이상적으로 또는 과도하게 해석되지 않는다.
이하, 첨부된 도면을 참조하여 본 개시의 실시예를 상세하게 설명한다.
설명에 앞서 본 명세서에서 사용하는 용어의 의미를 간략히 설명한다. 그렇지만 용어의 설명은 본 명세서의 이해를 돕기 위한 것이므로, 명시적으로 본 개시를 한정하는 사항으로 기재하지 않은 경우에 본 개시의 기술적 사상을 한정하는 의미로 사용하는 것이 아님을 주의해야 한다.
또한, 본 명세서에 걸쳐, 뉴럴 네트워크(neural network), 신경망 네트워크, 네트워크 함수는, 동일한 의미로 사용될 수 있다. 뉴럴 네트워크는, 일반적으로 “노드”라 지칭될 수 있는 상호 연결된 계산 단위들의 집합으로 구성될 수 있다. 이러한 “노드”들은, “뉴런(neuron)”들로 지칭될 수도 있다. 뉴럴 네트워크는, 적어도 둘 이상의 노드들을 포함하여 구성된다. 뉴럴 네트워크들을 구성하는 노드(또는 뉴런)들은 하나 이상의 “링크”에 의해 상호 연결될 수 있다.
도 1은, 본 개시에 따른 메타버스 서비스 제공 장치를 설명하기 위한 개략도이다.
도 1에 도시된 바와 같이, 본 개시에 따른 메타버스 서비스 제공 장치는, 사용자 단말(100)에 네트워크를 통해 통신 연결되는 메타버스 서비스 플랫폼의 서버(200)를 포함할 수 있다.
여기서, 사용자 단말(100)은, PC(Personal Computer), 네트워크 TV(Network TV), HBBTV(Hybrid Broadcast Broadband TV), 스마트 TV(Smart TV), IPTV(Internet Protocol TV) 등과 같은 고정형 디바이스(standing device)와, 스마트 폰(Smart Phone), 태블릿 PC(Tablet PC), 노트북(Notebook), PDA(Personal Digital Assistant) 등과 같은 모바일 디바이스(mobile device or handheld device)가 모두 포함될 수 있다. 경우에 따라, 사용자 단말(100)은, 컴퓨터 칩과 이미지 인식을 활용하는 디바이스를 더 포함할 수 있으며, 이미지 인식 디바이스는, 웹 캠일 수도 있지만, 이는 일 실시예일 뿐, 이에 한정하지 않는다.
그리고, 사용자 단말(100)과 서버(200) 사이를 통신 연결하는 네트워크는, 유/무선 네트워크를 모두 포함하는데, 사용자 단말(100)과 서버(200) 사이에서 페어링 또는/및 데이터 송수신을 위해 다양한 통신 규격 내지 프로토콜을 지원하는 통신 네트워크를 통칭한다.
이러한 유/무선 네트워크는, 규격에 의해 현재 또는 향후 지원될 통신 네트워크를 모두 포함하며, 그를 위한 하나 또는 그 이상의 통신 프로토콜들을 모두 지원 가능하다.
이러한 유/무선 네트워크에는 예컨대, USB(Universal Serial Bus), CVBS(Composite Video Banking Sync), 컴포넌트(Component), S-비디오(아날로그), DVI(Digital Visual Interface), HDMI(High Definition Multimedia Interface), RGB, D-SUB와 같은 유선 연결을 위한 네트워크와 그를 위한 통신 규격 내지 프로토콜과, 블루투스(Bluetooth), RFID(Radio Frequency Identification), 적외선 통신(IrDA: infrared Data Association), UWB(Ultra Wideband), 지그비(ZigBee), DLNA(Digital Living Network Alliance), WLAN(Wireless LAN)(Wi-Fi), Wibro(Wireless broadband), Wimax(World Interoperability for Microwave Access), HSDPA(High Speed Downlink Packet Access), LTE/LTE-A(Long Term Evolution/LTE-Advanced), Wi-Fi 다이렉트(direct)와 같은 무선 연결을 위한 네트워크와 그를 위한 통신 규격 내지 프로토콜에 의하여 형성될 수 있다.
그리고, 서버(200)는, 사용자 단말(100)과 통신 연결되는 통신부, 아바타의 모션 데이터를 저장하는 데이터베이스, 그리고 메타버스의 가상 공간에 업로드된 아바타의 모션을 제어하는 제어부를 포함할 수 있다.
제어부는, 사용자 단말(100)로부터 운동 세션 참가 요청이 수신되면 사용자 단말(100)로 사용자 촬영 영상을 요청하고, 사용자 단말(100)로부터 사용자 촬영 영상이 수신되면 사용자 촬영 영상으로부터 사용자 모션 데이터를 추출하며, 운동 세션의 가상 공간에 업로드된 아바타에 사용자 모션 데이터를 반영하고, 사용자의 현재 동작 시퀀스에 상응하는 모션 시퀀스 데이터를 사전 학습한 뉴럴 네트워크 모델에 입력하여 사용자의 다음 동작을 예측하며, 예측 결과를 기반으로 아바타의 모션을 제어할 수 있다.
여기서, 제어부는, 모션 데이터를 추출할 때, 사용자 촬영 영상 이외에도 깊이 센서 등을 통해 모션 데이터를 추출하거나 또는 모션 트래킹 장비/수트 등을 통해서도 모션 데이터를 추출할 수 있다.
또한, 제어부는, 뉴럴 네트워크 모델을 이용하여 아바타 동작 예측 과정을 수행하지 않고 아바타 모션을 제어할 수도 있다. 본 개시에서, 뉴럴 네트워크 모델을 이용하는 것은, 하나의 일 실시예일 뿐, 뉴럴 네트워크 모델 없이도 아바타 모션을 제어할 수 있다.
여기서, 제어부는, 운동 세션 참가 요청을 수신하기 이전에, 사용자 단말(100)로부터 앱 실행 요청이 수신되면 사용자 단말(100)의 회원 가입 여부를 확인하고, 사용자 단말(100)의 회원 가입이 확인되면 사용자 단말(100)로 운동 세션 정보를 제공할 수 있다.
또한, 제어부는, 운동 세션 정보를 제공할 때, 데이터베이스에 기저장된 운동 세션 리스트로부터 운동 세션 시작 일정을 기반으로 운동 세션 정보를 추출하고, 추출한 운동 세션 정보를 사용자 단말(100)로 제공할 수 있다.
일 예로, 운동 세션 정보는, 운동 일정, 운동 시작 시간, 운동 소요 시간, 운동 타이틀, 소모되는 칼로리, 운동 구성 동작, 해당 컨텐츠의 URL(Uniform Resource Locator) 정보, 운동 결과 영상 구성을 위한 정보 중 적어도 어느 하나를 포함할 수 있는데, 이는 일 실시예일 뿐, 이에 한정되지 않는다.
그리고, 제어부는, 운동 세션 정보를 제공할 때, 소정 기간 동안에 운동 일정을 갖는 운동 세션 정보들을 추출하고, 추출한 운동 세션 정보들을 운동 일정 순서에 따라 순차적으로 제공할 수 있다.
여기서, 제어부는, 운동 세션 정보들을 순차적으로 제공할 때, 추출한 운동 세션 정보들 중 가장 빠른 일정을 갖는 운동 세션 정보를 먼저 제공하고, 가장 늦은 일정을 갖는 운동 세션 정보를 마지막에 제공할 수 있다.
경우에 따라, 제어부는, 운동 세션 정보를 제공할 때, 사용자 단말(100)의 사용자 정보를 기반으로 개인별 추천 운동 세션 정보들을 추출하고, 추출한 운동 세션 정보들을 운동 일정 순서에 따라 순차적으로 제공할 수 있다.
일 예로, 제어부는, 사용자 단말(100)의 사용자 정보 중 나이, 성별, 병력, 체중 중 적어도 어느 하나의 신체 조건을 기반으로 개인별 추천 운동 세션 정보들을 추출할 수 있는데, 이는 일 실시예일 뿐, 이에 한정되지 않는다.
다른 경우로서, 제어부는, 운동 세션 정보를 제공할 때, 사용자 단말(100)의 운동 세션 참가 히스토리 정보를 기반으로 운동 세션 정보들을 추출하고, 추출한 운동 세션 정보들을 운동 일정 순서에 따라 순차적으로 제공할 수 있다.
여기서, 제어부는, 사용자 단말(100)의 운동 세션 참가 히스토리 정보 중 가장 최근에 참가한 운동 세션 정보, 가장 자주 참가한 운동 세션 정보, 가장 많은 시간을 할애한 운동 세션 정보 중 적어도 어느 하나의 활동 조건을 기반으로 운동 세션 정보들을 추출할 수 있다.
또한, 제어부는, 운동 세션 정보를 제공할 때, 운동 세션 정보를 갖는 스케쥴 카드와 사용자가 선택한 아바타를 포함하는 홈 화면을 제공할 수 있다.
여기서, 제어부는, 스케쥴 카드 내에, 현재 혹은 가장 가까운 다음 운동 세션 날짜 및 시간, 운동 세션 현황, 운동 세션 제목, 메인 액션 버튼 중 적어도 어느 하나를 포함하는 운동 세션 정보를 제공할 수 있다.
일 예로, 운동 세션 현황은, 운동 세션이 시작 전인 대기 중 상태 또는 운동 세션이 시작 후인 진행 중 상태를 포함할 수 있다.
다른 일 예로, 메인 액션 버튼은, 예약 상태, 대기 상태, 대기 및 정원 초과 상태, 진행 및 정원 미달 상태, 그리고 진행 및 정원 초과 상태 중 적어도 어느 한 상황에 따라 텍스트, 색상, 액션이 달라질 수 있다.
또한, 제어부는, 홈 화면 내에 메뉴 항목, 가상 공간의 배경 이미지, 그리고 웰컴 메시지를 제공할 수 있다.
여기서, 웰컴 메시지는, 예약 상태, 대기 상태, 대기 및 정원 초과 상태, 진행 및 정원 미달 상태, 그리고 진행 및 정원 초과 상태 중 적어도 어느 한 상황에 따라 텍스트 내용이 달라질 수 있다.
또한, 제어부는, 사용자 단말(100)의 회원 가입 여부를 확인할 때, 사용자 단말(100)의 회원 가입이 미확인되면 온보딩 화면을 제공하고, 온보딩 화면을 통해 앱 시작 요청을 수신하면 앱 사용 가이드 창을 제공하며, 앱 사용 가이드 창을 통해 사용자 확인이 수신되면 아바타 설정 화면을 제공하고, 아바타 설정 화면을 통해 사용자가 설정한 아바타 및 사용자 정보를 데이터베이스에 저장할 수 있다. 경우에 따라, 회원가입이 확인되면 데이터베이스에 저장된 기존 아바타 설정 과정과 닉네임 설정 과정을 생략할 수도 있다.
여기서, 제어부는, 아바타 설정 화면을 통해 아바타가 설정되면 운동 세션 정보를 갖는 스케쥴 카드와 사용자가 선택한 아바타를 포함하는 홈 화면을 제공할 수 있다.
일 예로, 제어부는, 온보딩 화면을 제공할 때, 앱 설치 후에 최초 1회만 제공할 수 있다.
다른 일 예로, 제어부는, 온보딩 화면을 제공할 때, 메뉴 버튼, 배경 영상, 그리고 시작 버튼을 포함하는 온보딩 화면을 제공하고, 시작 버튼을 통해 앱 시작 요청을 수신할 수 있다.
그리고, 제어부는, 앱 사용 가이드 창을 제공할 때, 앱 사용법을 알려주는 팝업 형태로 앱 사용 가이드 창을 최초 1회만 제공할 수 있다. 경우에 따라, 제어부는, 온보딩 과정 이후에도 앱 사용 가이드 창을 다시 제공하거나 또는 메뉴에서 선택하는 사용자 입력에 따라 앱 사용 가이드 창을 다시 제공할 수도 있다.
일 예로, 제어부는, 앱 사용 가이드 창을 제공할 때, 앱 사용 설명 이미지, 앱 사용 설명 텍스트, 이전 앱 사용 설명 페이지를 보여주는 이전 버튼, 다음 앱 사용 설명 페이지를 보여주는 다음 버튼, 그리고 현재 페이지 넘버를 포함하는 앱 사용 가이드 창을 제공할 수 있다.
여기서, 제어부는, 앱 사용 설명 페이지가 첫 번째 페이지이면 이전 버튼을 미제공하고, 앱 사용 설명 페이지가 마지막 번째 페이지이면 다음 버튼을 확인 버튼으로 변경하며, 현재 앱 사용 설명 페이지가 다음 앱 사용 설명 페이지로 변경될 때, 앱 사용 설명 이미지도 변경될 수 있다.
다른 일 예로, 제어부는, 아바타 설정 화면을 제공할 때, 이전 페이지로 돌아가기 위한 이전 페이지 버튼, 아바타 이미지, 이전 아바타를 보여주는 이전 아바타 버튼, 다음 아바타를 보여주는 다음 아바타 버튼, 그리고 아바타를 선택 및 저장하는 아바타 확인 버튼을 포함하는 아바타 설정 화면을 제공할 수 있다.
경우에 따라, 제어부는, 아바타 설정 화면을 제공할 때, 개인 아바타 생성 버튼을 포함하는 아바타 설정 화면을 제공하고, 개인 아바타 생성 버튼이 선택되면 사용자 개인이 직접 개인 아바타를 제작할 수 있는 개인 아바타 생성 창을 제공할 수 있다.
다른 경우로서, 제어부는, 아바타 설정 화면을 제공할 때, 사용자 닮은 아바타 생성 버튼을 포함하는 아바타 설정 화면을 제공하고, 사용자 닮은 아바타 생성 버튼이 선택되면 사용자 이미지를 획득하며, 사용자 이미지를 사전 학습한 뉴럴 네트워트 모델에 입력하여 사용자 특징점을 추출하고, 사용자 특징점을 기반으로 사용자 닮은 아바타를 생성하여 제공할 수 있다.
여기서, 제어부는, 사용자 특징점을 추출할 때, 사용자 이미지에 사용자 얼굴만 포함되면 사용자 얼굴 영역으로부터 사용자 얼굴 특징점만을 추출하고, 사용자 이미지에 사용자 신체만 포함되면 사용자 신체 영역으로부터 사용자 신체 특징점만을 추출하며, 사용자 이미지에 사용자 얼굴 및 신체가 모두 포함되면 사용자 얼굴 및 신체 영역으로부터 사용자 얼굴 특징점과 사용자 신체 특징점을 모두 추출할 수 있다.
또 다른 경우로서, 제어부는, 아바타 설정 화면을 제공할 때, 사용자 닮은 아바타 생성 버튼을 포함하는 아바타 설정 화면을 제공하고, 사용자 닮은 아바타 생성 버튼이 선택되면 사용자 동영상을 획득하며, 사용자 동영상을 사전 학습한 뉴럴 네트워트 모델에 입력하여 사용자 동작 특징점을 추출하고, 사용자 동작 특징점을 기반으로 사용자 동작 특성이 닮은 아바타를 생성하여 제공할 수 있다.
여기서, 제어부는, 사용자 동작 특징점을 추출할 때, 사용자 동영상에 사용자 얼굴만 포함되면 사용자 얼굴 영역으로부터 사용자 얼굴 동작 특징점만을 추출하고, 사용자 동영상에 사용자 신체만 포함되면 사용자 신체 영역으로부터 사용자 신체 동작 특징점만을 추출하며, 사용자 동영상에 사용자 얼굴 및 신체가 모두 포함되면 사용자 얼굴 및 신체 영역으로부터 사용자 얼굴 동작 특징점과 사용자 신체 동작 특징점을 모두 추출할 수 있다.
다음, 제어부는, 아바타 설정 화면을 제공할 때, 아바타 설정이 완료되면 아바타 닉네임 설정 화면을 제공하고, 닉네임 설정 화면을 통해 아바타의 닉네임이 설정되면 설정된 아바타의 닉네임을 데이터베이스에 저장할 수 있다.
여기서, 제어부는, 아바타 닉네임 설정 화면을 제공할 때, 이전 페이지로 돌아가기 위한 이전 페이지 버튼, 아바타 닉네임 텍스트 입력 필드, 아바타 닉네임 텍스트 입력 필드 내에 입력된 닉네임 텍스트, 그리고, 아바타 닉네임을 설정 및 저장하는 아바타 닉네임 확인 버튼을 포함하는 아바타 닉네임 설정 화면을 제공할 수 있다.
또한, 제어부는, 아바타 닉네임 설정 화면을 처음 제공할 때, 아바타 닉네임 텍스트 입력 필드 내에 랜덤으로 자동 선정된 랜덤 닉네임 텍스트를 생성하고, 사용자의 수정 요청에 따라 랜덤 닉네임 텍스트를 수정할 수 있다.
이어, 제어부는, 사용자 단말(100)로부터 운동 세션 생성 요청이 수신되면 사용자 개인이 직접 운동 세션을 생성할 수 있는 운동 세션 생성 창을 제공하고, 운동 세션 생성 창을 통해 생성된 개인 운동 세션 정보를 데이터베이스에 저장할 수 있다.
그리고, 제어부는, 사용자 촬영 영상을 요청할 때, 사용자 단말(100)로부터 운동 세션 참가 요청이 수신되면 사용자가 선택한 아바타가 업로드되도록 운동 세션의 운동 메인 화면을 구성하고, 사용자 단말(100)로 사용자 촬영 영상을 요청하며, 사용자 촬영 영상이 수신되면 사용자 촬영 영상이 포함되는 운동 메인 화면을 제공할 수 있다.
여기서, 제어부는, 운동 세션의 운동 메인 화면을 구성할 때, 운동 세션에 참가 요청한 사용자들이 복수이면 참가 요청한 사용자 자신의 내 아바타와 다른 사용자들의 참가자 아바타들을 운동 세션의 가상 공간에 일정 간격으로 배열되도록 운동 세션의 운동 메인 화면을 구성할 수 있다.
일 예로, 제어부는, 운동 세션의 가상 공간에 아바타들을 배열할 때, 운동 세션의 참가 순서에 따라 아바타들을 순차적으로 배열하는 제1 배열 방식, 사용자 자신의 내 아바타를 중심으로 아바타들을 배열하는 제2 배열 방식, 그리고 미리 설정된 고정 위치에 아바타들을 배열하는 제3 배열 방식 중 어느 하나의 방식으로 운동 세션의 가상 공간에 아바타들을 배열할 수 있다.
또한, 제어부는, 운동 세션의 가상 공간에 아바타들을 배열할 때, 운동 세션에 참여한 아바타들의 동작 크기 및 음성 크기 중 적어도 어느 하나로 아바타들을 배열하는 제4 배열 방식, 운동 세션에 참여한 아바타들의 운동 동작 카운터 및 운동 동작 스코어링을 기반으로 산출된 점수로 아바타들을 배열하는 제5 배열 방식, 운동 세션에 참여한 아바타들 중 사용자가 지정한 아바타만을 배열하는 제6 배열 방식 중 어느 하나의 방식으로 운동 세션의 가상 공간에 아바타들을 배열할 수 있다.
경우에 따라, 제어부는, 운동 세션에 참가하는 아바타들의 개수가 너무 많아 화면에 모두 표시가 불가능하거나 각 아바타의 가시성이 저하될 경우, 운동 세션에 참가한 아바타들 중 임의의 개수의 아바타만을 배열할 수도 있다.
여기서, 제어부는, 운동 세션의 가상 공간에 아바타들을 배열할 때, 운동 세션에 참여한 아바타들의 상측에 닉네임 텍스트를 포함하는 이름표를 배치하고, 아바타들 중 내 아바타의 이름표를 다른 참가자 아바타의 이름표와 다른 식별자를 부가할 수 있다.
일 예로, 다른 식별자는, 이름표의 색상, 형상, 특정 아이콘 추가 중 적어도 어느 하나를 포함할 수 있다.
경우에 따라, 제어부는, 운동 세션의 가상 공간에 아바타들을 배열할 때, 운동 세션에 참여한 아바타들의 상측 및 하측 중 적어도 어느 하나에 닉네임 텍스트를 포함하는 이름표를 배치하고, 아바타들 중 운동 세션을 생성한 방장 아바타의 이름표에 특정 식별자를 부가할 수 있다.
여기서, 특정 식별자는, 특정 형상의 아이콘을 포함할 수 있다.
다른 경우로서, 제어부는, 운동 세션의 가상 공간에 아바타들을 배열할 때, 운동 세션에 참여한 아바타들의 상측에 닉네임 텍스트를 포함하는 이름표를 배치하고, 아바타들 중 발화 중인 아바타의 이름표에 식별자를 부가할 수 있다.
일 예로, 식별자는, 발화 중인 아바타의 이름표에 테두리 하이라이트 및 발화 아이콘 중 적어도 어느 하나를 포함할 수 있다.
또한, 제어부는, 운동 세션의 운동 메인 화면을 구성할 때, 운동 세션의 플레이 전과 후에 아바타들이 배열되는 영역의 일측에 운동 세션을 생성한 방장의 입력 텍스트가 포함되는 방장 스크린 영역이 형성되도록 운동 세션의 운동 메인 화면을 구성할 수 있다.
여기서, 제어부는, 방장 스크린 영역에 특정 이미지 또는 특정 영상을 제공할 수 있다.
다음, 제어부는, 운동 세션의 플레이 중에 아바타들이 배열되는 영역의 일측에 사용자 촬영 영상과 운동 플레이 시간이 포함되는 사용자 스크린 영역이 형성되도록 운동 세션의 운동 메인 화면을 구성할 수 있다.
여기서, 제어부는, 사용자 촬영 영상이 수신되면 사용자 촬영 영상에 사용자 전신이 포함되는지를 확인하고, 사용자 촬영 영상에 포함되는 사용자 전신이 기준 비율 미만이면 화각 체크 팝업을 생성하여 제공하며, 사용자 촬영 영상에 포함되는 사용자 전신이 기준 비율 이상이면 생성한 화각 체크 팝업을 제거할 수 있다.
일 예로, 제어부는, 사용자 촬영 영상, 화각에 대한 안내 텍스트, 화면 조작을 위한 조작 버튼 중 적어도 하나를 포함하는 화각 체크 팝업을 생성할 수 있다.
경우에 따라, 제어부는, 현재 검출되고 있는 사용자의 키포인트와 키포인트를 연결한 스켈레톤을 촬영 영상 위에 보여줄 수도 있다.
또한, 제어부는, 운동 메인 화면이 최초 제공될 때, 화각 체크 팝업을 생성하여 제공할 수 있다.
또한, 제어부는, 운동 메인 화면이 제공되는 동안에 매 프레임마다 사용자 촬영 영상에 사용자 전신이 포함되는지를 확인하고, 사용자 촬영 영상에 포함되는 사용자 전신이 기준 비율 미만이면 화각 체크 팝업을 생성하여 제공할 수 있다.
여기서, 제어부가, 화각 체크 팝업을 생성하는 것은, 하나의 일 실시예일 뿐, 이에 한정되지 않으며, 화각 체크 팝업 이외에도 다른 형태의 다양한 UI로도 제공이 가능하다.
또한, 제어부는, 사용자 촬영 영상에 사용자 전신이 포함되는지를 확인할 때, 사용자 촬영 영상을 사전 학습한 뉴럴 네트워크 모델에 입력하여 사용자 전신에 상응하는 스켈레톤 포인트를 추론하고, 사용자 전신에 상응하는 스켈레톤 포인트를 분석하여 사용자 촬영 영상에 사용자 전신이 포함되는지를 확인할 수 있다.
또한, 제어부는, 화각 체크 팝업을 제공할 때, 사용자 전신이 기준 비율 미만인 사용자 촬영 영상이 기준 시간 이상 지속적으로 수신되면 화각 체크 팝업을 생성하여 제공할 수 있다.
경우에 따라, 제어부는, 화각 체크 팝업을 제공할 때, 사용자 전신이 기준 비율 이상인 사용자 촬영 영상이 기준 시간 이상 지속적으로 수신되면 생성한 화각 체크 팝업을 제거할 수 있다.
여기서, 제어부가, 화각 체크 팝업을 생성하는 것은, 하나의 일 실시예일 뿐, 이에 한정되지 않으며, 화각 체크 팝업 이외에도 다른 형태의 다양한 UI로도 제공가능하다.
다음, 제어부는, 사용자 모션 데이터를 기반으로 사용자 단말의 카메라 위치와 사용자 사이의 거리를 예측하고, 예측한 거리를 기반으로 아바타의 위치를 조정할 수 있다.
사용자 모션 데이터를 추출할 때, 사전 학습한 뉴럴 네트워크 모델을 이용하여 사용자 촬영 영상에 포함되는 사용자의 신체로부터 관절 위치에 대한 3차원 키포인트(3D keypoint)들을 추출하고, 각 관절 키포인트에 대응하는 회전 파라미터를 기반으로 사용자 모션 데이터를 추출할 수 있다.
여기서, 제어부는, 3차원 키포인트들을 추출할 때, 추출한 키포인트의 개수가 기준 비율 미만이거나 또는 예측한 키포인트의 가시성(visibility)이 기준 비율 미만이면 사용자 모션이 유효하지 않는 것으로 판단하고, 사용자 모션 데이터의 업데이트를 중지하거나 또는 사용자 모션 데이터를 미리 예측한 다음 모션에 상응하는 다른 사용자 모션 데이터로 대체할 수 있다.
경우에 따라, 제어부는, 키포인트를 기반으로 사용자 모션을 판단할 때, 사용자 모션이 기설정된 기준 모션에서 기준 범위 이상 벗어나면 사용자 모션이 유효하지 않은 것으로 판단할 수 있다.
또한, 제어부는, 키포인트를 기반으로 사용자 모션을 판단할 때, 사용자 촬영 영상이 일정한 초당 프레임 수(fps)로 수신되는 동안에 사용자 모션의 동작 변화율이 기준 동작 변화율보다 커지면 사용자 모션이 유효하지 않은 것으로 판단할 수 있다.
또한, 제어부는, 사용자 모션 데이터를 추출할 때, 관절의 3차원 회전 파라미터를 기반으로 사용자 모션에 상응하는 관절들이 차지하는 영역이 서로 충돌한다고 예측되면 관절의 3차원 회전 파라미터를 보정할 수 있다.
이어, 제어부는, 아바타의 모션을 제어할 때, 운동 세션에 참가 요청한 사용자들이 복수이면 참가 요청한 사용자 자신의 내 아바타와 다른 사용자들의 참가자 아바타들의 동일한 모션에 대한 싱크가 일치하는지를 판단하고, 동일한 모션에 대한 싱크가 일치하지 않으면 운동 세션에 참여하는 아바타들의 동일한 모션에 대한 싱크를 일치하도록 아바타 모션을 제어할 수 있다.
그리고, 제어부는, 아바타의 모션을 제어할 때, 운동 세션에 참여하는 아바타들 중 발화 중인 아바타의 식별을 위하여 발화 중인 아바타의 크기를 조정할 수 있다.
여기서, 제어부는, 운동 세션에 참여하는 아바타들 중 운동 메인 화면에 벗어난 아바타가 발화 중이면 발화 중인 아바타가 운동 메인 화면 내에 위치하도록 운동 메인 화면을 조정할 수 있다.
또한, 제어부는, 운동 세션에 참여하는 아바타들 중 사용자 자신의 내 아바타에 대한 닉네임을 부르는 다른 사용자의 참가자 아바타가 존재하면 닉네임을 부르는 참가자 아바타를 하이라이트하여 식별할 수 있다.
또한, 제어부는, 사용자 음성을 기반으로 아바타의 입모양을 애니메이션 처리할 수 있다.
여기서, 제어부는, 사용자 음성을 사전 학습한 뉴럴 네트워크 모델에 입력하여 아바타의 입모양을 추론하고, 추론한 입모양을 기반으로 사용자 음성과 동기화되도록 아바타의 입모양을 애니메이션 처리할 수 있다.
또한, 제어부는, 홈 화면 내에 메뉴 항목을 선택하는 사용자 요청이 수신되면 앱 사용 가이드 화면으로 이동하기 위한 제1 메뉴 버튼, 아바타 설정 화면으로 이동하기 위한 제2 메뉴 버튼, 닉네임 설정 화면으로 이동하기 위한 제3 메뉴 버튼, 사용자 문의 채널로 이동하기 위한 제4 메뉴 버튼, 오픈 채팅방으로 이동하기 위한 제5 메뉴 버튼, 그리고 메타버스 서비스 제공 웹 사이트로 이동하기 위한 제5 메뉴 버튼을 포함하는 메뉴 팝업을 제공할 수 있다.
또한, 제어부는, 운동 메인 화면 내에 음량 조절 항목을 선택하는 사용자 요청이 수신되면 운동 영상 볼륨 조절 컨트롤러, 사용자간 대화 볼륨 조절 컨트롤러, 볼륨 조절 상태를 저장하기 위한 확인 버튼, 현재 볼륨 조절 상태를 보여주기 위한 음량 상태 표시부를 포함하는 음량 조절 팝업을 제공할 수 있다.
또한, 제어부는, 운동 메인 화면 내에 나가기 항목을 선택하는 사용자 요청이 수신되면 홈 화면으로 이동하는 나가기 버튼과, 나가기를 취소하고 운동 메인 화면으로 복귀하는 취소 버튼을 포함하는 나가기 팝업을 제공할 수 있다.
또한, 제어부는, 운동 메인 화면 내에 다른 유저의 아바타를 선택하는 사용자 요청이 수신되면 추가적으로 팝업을 제공할 수 있다.
팝업에 포함되는 버튼의 일 예로는, 클릭한 현재 유저가 방장 권한이 있는 경우나 아닌 경우에 따라서 해당 유저의 음성 볼륨을 개별적으로 조절하는 버튼이나, 음소거하는 버튼, 친구 추가 버튼, 신고하기 버튼, 아바타의 위치/크기를 조절하는 버튼, 강퇴하기 버튼 중 적어도 어느 하나를 포함할 수 있는데, 이는 일 실시예일 뿐, 이에 한정되지 않는다.
또한, 제어부는, 운동 세션이 종료되면 사용자 아바타 운동 녹화 영상, 운동 영상 저장 버튼, 운동 영상 공유 버튼, 그리고 팝업 닫기 버튼을 포함하는 운동 인증 공유 팝업을 제공할 수 있다.
여기서, 사용자 아바타 운동 녹화 영상은, 사용자의 운동 결과 정보, 사용자의 아바타 운동 모션, 사용자의 운동 횟수, 특정 로고 중 적어도 어느 하나를 포함할 수 있는데, 이는 일 실시예일 뿐, 이에 한정되지 않는다.
일 예로, 사용자의 운동 결과 정보는, 운동 종목, 운동 시간, 소모 칼로리 중 적어도 어느 하나를 포함할 수 있다.
또한, 제어부는, 운동 세션에 참여 중인 아바타가 운동하는 동안에 사용자 단말로부터 사용자 아바타에 대한 운동 영상 녹화 요청이 수신되면 운동 영상 녹화 요청을 수신한 시점부터 사용자 아바타의 운동 모습을 녹화할 수 있다.
경우에 따라, 제어부는, 운동 세션이 진행되면 운동 세션에 참여 중인 모든 아바타가 운동하는 모습을 동시에 녹화할 수 있다.
다른 경우로서, 제어부는, 운동 세션이 진행되면 운동 세션에 참여 중인 아바타의 운동 동작을 기설정된 기준 동작과 비교하여 일치도에 따라 스코어를 산출하고, 일치도가 가장 높은 스코어의 운동 동작을 수행하는 시점에 아바타가 운동하는 모습을 녹화할 수 있다.
또한, 제어부는, 운동영상마다 녹화할 시점이 운동 세션 정보에 저장되어 있으면, 해당 시점에 녹화를 수행할 수 있다.
일 예로, 제어부는, 운동이 시작된 이후에 처음 10초 또는 풀스쿼트 동작 시작(7분10초)부터 끝까지(7분50초) 녹화할 수 있다.
또 다른 경우로서, 제어부는, 운동 세션이 진행되면 운동 세션에 참여 중인 아바타의 운동 동작을 분석하고, 모션 크기가 가장 큰 운동 동작을 수행하는 시점에 아바타가 운동하는 모습을 녹화할 수 있다.
또 다른 경우로서, 제어부는, 운동 세션이 진행되면 운동 세션의 운동 과정 중 후반부 운동 동작을 수행하는 시점에 아바타가 운동하는 모습을 녹화할 수 있다.
또 다른 경우로서, 제어부는, 운동 세션이 진행되면 운동 세션에 참여 중인 아바타들의 음성 채팅 평균 볼륨 크기를 확인하고, 음성 채팅 평균 볼륨 크기가 가장 큰 시점에 아바타가 운동하는 모습을 녹화할 수 있다.
그리고, 제어부는, 사용자 아바타 운동 녹화 영상을 저장할 때, 사용자 아바타 운동 녹화 영상으로부터 사용자 아바타의 모션 데이터만을 추출하여 데이터베이스에 저장할 수 있다.
여기서, 제어부는, 사용자 아바타 운동 녹화 영상의 재생이 요청되면 사용자 아바타에 상응하는 모션 데이터를 데이터베이스로부터 획득하여 모션 데이터를 사용자 아바타에 반영하여 사용자 아바타 운동 녹화 영상을 생성하며, 생성한 사용자 아바타 운동 녹화 영상을 재생시킬 수 있다.
또한, 제어부는, 사용자 단말(100)로부터 사용자 촬영 영상 녹화에 대한 동의가 수신되면 운동 세션에 참여 중인 사용자 아바타가 운동하는 모습의 영상과 사용자 단말(100)로부터 수신되는 사용자 촬영 영상을 동시에 녹화하여 가상 공간의 사용자 아바타 운동 모습과 현실 공간의 사용자 운동 모습을 포함하는 영상을 저장할 수 있다.
다음, 제어부는, 운동 세션이 종료되면 운동 인증 사진을 찍기 위한 아바타 사진 촬영 팝업을 제공하고, 아바타 사진 촬영 팝업을 통해 단체 인증 사진 촬영 요청이 수신되면 운동 세션에 참여한 아바타들이 개별 포즈 또는 단체 포즈를 취하도록 설정 시간을 카운트하며, 설정 시간이 도래하면 운동 세션에 참여한 아바타들의 인증 사진을 촬영할 수 있다.
일 예로, 아바타 사진 촬영 팝업은, 운동 일자, 운동 시간, 운동 소모 칼로리, 운동 종목, 단체 사진 찍기 버튼, 운동 한 번 더 하기 버튼 중 적어도 어느 하나를 포함할 수 있다.
한편, 전술한 뉴럴 네트워크 모델은, 딥 뉴럴 네트워크일 수 있다. 본 명세서에 걸쳐, 신경망, 네트워크 함수, 뉴럴 네트워크(neural network)는 동일한 의미로 사용될 수 있다. 딥 뉴럴 네트워크(DNN: deep neural network, 심층신경망)는, 입력 레이어와 출력 레이어 외에 복수의 히든 레이어를 포함하는 신경망을 의미할 수 있다. 딥 뉴럴 네트워크를 이용하면 데이터의 잠재적인 구조(latent structures)를 파악할 수 있다. 즉, 사진, 글, 비디오, 음성, 음악의 잠재적인 구조(예를 들어, 어떤 물체가 사진에 있는지, 글의 내용과 감정이 무엇인지, 음성의 내용과 감정이 무엇인지 등)를 파악할 수 있다. 딥 뉴럴 네트워크는 컨벌루셔널 뉴럴 네트워크 (CNN: convolutional neural network), 리커런트 뉴럴 네트워크(RNN: recurrent neural network), 제한 볼츠만 머신(RBM: restricted boltzmann machine), 심층 신뢰 네트워크(DBN: deep belief network), Q 네트워크, U 네트워크, 샴 네트워크 등을 포함할 수 있다.
본 개시의 일 실시예에 따르면, 제어부는, 하나 이상의 코어로 구성될 수 있으며, 컴퓨팅 장치의 중앙 처리 장치(CPU: central processing unit), 범용 그래픽 처리 장치 (GPGPU: general purpose graphics processing unit), 텐서 처리 장치(TPU: tensor processing unit) 등의 데이터 분석, 딥러닝을 위한 프로세서를 포함할 수 있다. 제어부는, 데이터베이스에 저장된 컴퓨터 프로그램을 판독하여 본 개시의 일 실시예에 따른 기계 학습을 위한 데이터 처리를 수행할 수 있다. 본 개시의 일실시예에 따라 제어부는, 신경망의 학습을 위한 연산을 수행할 수 있다. 제어부는, 딥러닝(DL: deep learning)에서 학습을 위한 입력 데이터의 처리, 입력 데이터에서의 피처 추출, 오차 계산, 역전파(backpropagation)를 이용한 신경망의 가중치 업데이트 등의 신경망의 학습을 위한 계산을 수행할 수 있다. 제어부의 CPU, GPGPU, 및 TPU 중 적어도 하나가 네트워크 함수의 학습을 처리할 수 있다. 예를 들어, CPU 와 GPGPU가 함께 네트워크 함수의 학습, 네트워크 함수를 이용한 데이터 분류를 처리할 수 있다. 또한, 본 개시의 일 실시예에서 복수의 컴퓨팅 장치의 프로세서를 함께 사용하여 네트워크 함수의 학습, 네트워크 함수를 이용한 데이터 분류를 처리할 수 있다. 또한, 본 개시의 일 실시예에 따른 컴퓨팅 장치에서 수행되는 컴퓨터 프로그램은, CPU, GPGPU 또는 TPU 실행가능 프로그램일 수 있다.
또한, 통신부는, 무선 인터넷 모듈, 근거리 통신 모듈, 위치 정보 모듈 등을 포함할 수 있다.
무선 인터넷 모듈은, 무선 인터넷 접속을 위한 모듈을 말하는 것으로, 무선 인터넷 기술들에 따른 통신망에서 무선 신호를 송수신하도록 이루어진다.
무선 인터넷 기술로는, 예를 들어 WLAN(Wireless LAN), Wi-Fi(Wireless-Fidelity), Wi-Fi(Wireless Fidelity) Direct, DLNA(Digital Living Network Alliance), WiBro(Wireless Broadband), WiMAX(World Interoperability for Microwave Access), HSDPA(High Speed Downlink Packet Access), HSUPA(High Speed Uplink Packet Access), LTE(Long Term Evolution), LTE-A(Long Term Evolution-Advanced) 등이 있으며, 상기 무선 인터넷 모듈은 상기에서 나열되지 않은 인터넷 기술까지 포함한 범위에서 적어도 하나의 무선 인터넷 기술에 따라 데이터를 송수신하게 된다.
WiBro, HSDPA, HSUPA, GSM, CDMA, WCDMA, LTE, LTE-A 등에 의한 무선인터넷 접속은 이동통신망을 통해 이루어진다는 관점에서 본다면, 이동통신망을 통해 무선인터넷 접속을 수행하는 무선 인터넷 모듈은 상기 이동통신 모듈의 일종으로 이해될 수도 있다.
근거리 통신 모듈은, 근거리 통신(Short range communication)을 위한 것으로서, 블루투스(Bluetooth™), RFID(Radio Frequency Identification), 적외선 통신(Infrared Data Association; IrDA), UWB(Ultra Wideband), ZigBee, NFC(Near Field Communication), Wi-Fi(Wireless-Fidelity), Wi-Fi Direct, Wireless USB(Wireless Universal Serial Bus) 기술 중 적어도 하나를 이용하여, 근거리 통신을 지원할 수 있다.
위치정보 모듈은, 서버의 위치(또는 현재 위치)를 획득하기 위한 모듈로서, 그의 대표적인 예로는 GPS(Global Positioning System) 모듈 또는 WiFi(Wireless Fidelity) 모듈이 있다.
그리고, 데이터베이스는, 플래시 메모리 타입(flash memory type), 하드디스크 타입(hard disk type), 멀티미디어 카드 마이크로 타입(multimedia card micro type), 카드 타입의 메모리(예를 들어 SD 또는 XD 메모리 등), 램(Random Access Memory, RAM), SRAM(Static Random Access Memory), 롬(Read-Only Memory, ROM), EEPROM(Electrically Erasable Programmable Read-Only Memory), PROM(Programmable Read-Only Memory), 자기 메모리, 자기 디스크, 광디스크 중 적어도 하나의 타입의 저장매체를 포함할 수 있다.
본 개시의 서버(200)는, 인터넷(internet) 상에서 데이터베이스(120)의 저장 기능을 수행하는 웹 스토리지(web storage)와 관련되어 동작할 수도 있다. 전술한 데이터베이스에 대한 기재는 예시일 뿐, 이에 제한되지 않는다.
또한, 본 개시의 서버(200)는, 출력부 및 입력부를 더 포함할 수도 있다.
여기서, 출력부는, 메타버스의 가상 공간을 제공하기 위한 사용자 인터페이스(UI, user interface)를 표시할 수 있다. 출력부는, 제어부가 생성하거나 결정한 임의의 형태의 정보 및 통신부가 수신한 임의의 형태의 정보를 출력할 수 있다.
일 예로, 출력부는, 액정 디스플레이(liquid crystal display, LCD), 박막 트랜지스터 액정 디스플레이(thin film transistor-liquid crystal display, TFT LCD), 유기 발광 다이오드(organic light-emitting diode, OLED), 플렉시블 디스플레이(flexible display), 3차원 디스플레이(3D display) 중에서 적어도 하나를 포함할 수 있다. 이들 중 일부 디스플레이 모듈은, 그를 통해 외부를 볼 수 있도록 투명형 또는 광 투과형으로 구성될 수 있다. 이는 투명 디스플레이 모듈이라 지칭될 수 있는데, 투명 디스플레이 모듈의 대표적인 예로는 TOLED(Transparent OLED) 등이 있다.
또한, 입력부는, 사용자 입력을 수신할 수 있다. 입력부는, 사용자 입력을 수신받기 위한 사용자 인터페이스 상의 키 및/또는 버튼들, 또는 물리적인 키 및/또는 버튼들을 구비할 수 있다. 입력부를 통한 사용자 입력에 따라 본 개시의 실시예들에 따른 컴퓨터 프로그램이 실행될 수 있다.
또한, 입력부는, 사용자의 버튼 조작 또는 터치 입력을 감지하여 신호를 수신하거나, 카메라 또는 마이크로폰을 통하여 사용자 등의 음성 또는 동작을 수신하여 이를 입력 신호로 변환할 수도 있다. 이를 위해 음성 인식(Speech Recognition) 기술 또는 동작 인식(Motion Recognition) 기술들이 사용될 수 있다.
또한, 입력부는, 서버(200)와 연결된 외부 입력 장비로서 구현될 수도 있다. 예를 들어, 입력 장비는 사용자 입력을 수신하기 위한 터치 패드, 터치 펜, 키보드 또는 마우스 중 적어도 하나일 수 있거나 또는 VR장치 및 모션 트래킹 수트/장치 중 적어도 어느 하나를 포함할 수 있으나, 이는 예시일 뿐이며 이에 제한되는 것은 아니다.
일 예로, 입력부는, 사용자 터치 입력을 인식할 수 있다. 경우에 따라, 입력부는, 출력부와 동일한 구성일 수도 있다. 입력부는, 사용자의 선택 입력을 수신하도록 구현되는 터치 스크린으로 구성될 수 있다. 터치 스크린은, 접촉식 정전용량 방식, 적외선 광 감지 방식, 표면 초음파(SAW) 방식, 압전 방식, 저항막 방식 중 어느 하나의 방식이 사용될 수 있다. 전술한 터치 스크린에 대한 자세한 기재는, 본 개시의 일 실시예에 따른 예시일 뿐이며, 다양한 터치 스크린 패널이 플랫폼 서버(100)에 채용될 수 있다. 터치 스크린으로 구성된 입력부는, 터치 센서를 포함할 수 있다. 터치 센서는, 입력부의 특정 부위에 가해진 압력 또는 입력부의 특정 부위에 발생하는 정전 용량 등의 변화를 전기적인 입력신호로 변환하도록 구성될 수 있다. 터치 센서는, 터치 되는 위치 및 면적뿐만 아니라, 터치 시의 압력까지도 검출할 수 있도록 구성될 수 있다. 터치 센서에 대한 터치입력이 있는 경우, 그에 대응하는 신호(들)는 터치 제어기로 보내진다. 터치 제어기는, 그 신호(들)를 처리한 다음 대응하는 데이터를 프로세서로 전송할 수 있다. 이로써, 프로세서는 입력부의 어느 영역이 터치 되었는지 여부 등을 인식할 수 있게 된다.
본 개시의 서버(200)는, 서버의 서버 환경을 수행하기 위한 다른 구성들이 포함될 수도 있다. 서버(200)는 임의의 형태의 장치는 모두 포함할 수 있다. 서버(200)는, 디지털 기기로서, 랩탑 컴퓨터, 노트북 컴퓨터, 데스크톱 컴퓨터, 웹 패드, 이동 전화기와 같이 프로세서를 탑재하고 메모리를 구비한 연산 능력을 갖춘 디지털 기기일 수 있다.
본 개시의 서버(200)는, 본 개시의 실시예들에 따른 사용자 인터페이스를 생성할 수 있고, 사용자 단말기에게 네트워크를 통해 정보를 제공하는 컴퓨팅 시스템일 수 있다. 서버(200)는, 메타버스 스페이스의 가상 공간을 사용자 단말기(100)로 전송할 수 있다. 이러한 경우, 사용 단말기(100)는, 서버(200)에 액세스할 수 있는 임의의 형태의 컴퓨팅 장치일 수 있다. 서버(200)의 제어부는, 통신부를 통해 사용자 단말기(100)로 사용자 인터페이스를 전송할 수 있다. 본 개시의 서버(200)는, 클라우드 서버일 수 있다. 서버(200)는, 서비스를 처리하는 웹 서버일 수 있다. 전술한 서버(200)의 종류는 예시일 뿐이며 이에 제한되지 않는다.
이와 같이, 본 개시는, 운동 세션의 가상 공간에 업로드된 아바타에 사용자 모션 데이터를 반영하고, 사전 학습한 뉴럴 네트워크 모델을 통해 다음 동작을 예측하여 아바타의 모션을 제어함으로써, 사용자와 아바타가 함께 운동하도록 사용자에게 현장감 및 흥미와 재미를 제공할 수 있다.
도 2 내지 도 6은, 본 개시에 따른 메타버스 서비스 제공 방법을 설명하기 위한 흐름도이다.
도 2는, 사용자의 운동 세션 참가 이전의 메타버스 서비스 제공 과정을 설명하기 위한 흐름도이고, 도 3은, 사용자의 운동 세션 참가 이후의 메타버스 서비스 제공 과정을 설명하기 위한 흐름도이며, 도 4는, 도 3의 사용자 모션 동기화 과정을 설명하기 위한 흐름도이고, 도 5는, 도 3의 실시간 음성 채팅 과정을 설명하기 위한 흐름도이며, 도 6은, 도 3의 운동 결과 영상 생성 과정을 설명하기 위한 흐름도이다.
먼저, 도 2에 도시된 바와 같이, 본 개시는, 사용자 단말이 메타버스 서비스 제공 앱을 실행하면(S101) 사용자의 회원 가입 여부를 확인하고(S102), 사용자가 회원 가입이면 사용자 단말을 플레이 서버에 연결할 수 있다(S103).
여기서, 본 개시는, 사용자가 회원 미가입이면 사용자 단말로 온보딩 화면을 제공하고(S104), 사용자 단말이 온보딩 화면을 통해 앱 시작을 요청하면 튜토리얼 등과 같은 앱 사용 가이드 창을 제공할 수 있다(S105).
이어, 본 개시는, 앱 사용 가이드 창을 통해 사용자 확인이 수신되면 아바타 설정 화면을 제공하고, 아바타 설정 화면을 통해 사용자가 아바타를 설정하며(S106), 설정한 아바타 및 사용자 정보를 데이터베이스에 저장할 수 있다(S107).
그리고, 본 개시는, 사용자 단말이 플레이 서버에 연결되면 컨텐츠 서버로부터 예정된 운동 세션 리스트와 멀티플레이 서버로부터 현재 진행 중인 운동 세션 정보를 포함하는 홈 화면을 사용자 단말로 제공할 수 있다(S108).
여기서, 본 개시는, 운동 세션 정보를 제공할 때, 데이터베이스에 기저장된 운동 세션 리스트로부터 운동 세션 시작 일정을 기반으로 운동 세션 정보를 추출하고, 추출한 운동 세션 정보를 사용자 단말로 제공할 수 있다.
일 예로, 운동 세션 정보는, 운동 일정, 운동 시작 시간, 운동 소요 시간, 운동 타이틀, 소모되는 칼로리, 운동 구성 동작, 해당 컨텐츠의 URL(Uniform Resource Locator) 정보, 운동 결과 영상 구성을 위한 정보 중 적어도 어느 하나를 포함할 수 있는데, 이는 일 실시예일 뿐, 이에 한정되지 않는다.
또한, 본 개시는, 운동 세션 정보를 제공할 때, 소정 기간 동안에 운동 일정을 갖는 운동 세션 정보들을 추출하고, 추출한 운동 세션 정보들을 운동 일정 순서에 따라 순차적으로 제공할 수 있다.
여기서, 본 개시는, 운동 세션 정보들을 순차적으로 제공할 때, 추출한 운동 세션 정보들 중 가장 빠른 일정을 갖는 운동 세션 정보를 먼저 제공하고, 가장 늦은 일정을 갖는 운동 세션 정보를 마지막에 제공할 수 있다.
경우에 따라, 본 개시는, 운동 세션 정보를 제공할 때, 사용자 단말의 사용자 정보를 기반으로 개인별 추천 운동 세션 정보들을 추출하고, 추출한 운동 세션 정보들을 운동 일정 순서에 따라 순차적으로 제공할 수 있다.
일 예로, 본 개시는, 사용자 단말의 사용자 정보 중 나이, 성별, 병력, 체중 중 적어도 어느 하나의 신체 조건을 기반으로 개인별 추천 운동 세션 정보들을 추출할 수 있는데, 이는 일 실시예일 뿐, 이에 한정되지 않는다.
다른 경우로서, 본 개시는, 운동 세션 정보를 제공할 때, 사용자 단말의 운동 세션 참가 히스토리 정보를 기반으로 운동 세션 정보들을 추출하고, 추출한 운동 세션 정보들을 운동 일정 순서에 따라 순차적으로 제공할 수 있다.
여기서, 본 개시는, 사용자 단말의 운동 세션 참가 히스토리 정보 중 가장 최근에 참가한 운동 세션 정보, 가장 자주 참가한 운동 세션 정보, 가장 많은 시간을 할애한 운동 세션 정보 중 적어도 어느 하나의 활동 조건을 기반으로 운동 세션 정보들을 추출할 수 있다.
다음, 본 개시는, 사용자 단말의 사용자가 운동 세션 정보를 통해 현재 진행 중인 운동 세션이 있는지를 확인하여(S109), 현재 진행 중인 운동 세션이 있으면 참여하거나(S110) 또는 현재 진행 중인 운동 세션이 없으면 진행 예정인 운동 세션의 운동 알림을 설정할 수 있다(S111).
여기서, 본 개시는, 사용자 단말의 사용자가 현재 진행 중인 운동 세션에 참가 요청하면 운동 화면을 제공할 수 있다(S112).
도 3에 도시된 바와 같이, 본 개시는, 사용자 단말이 운동 화면으로 진입하면(S113) 운동 세션 준비 화면을 제공하고(S114), 플레이 서버 연결 상태를 확인할 수 있다(S115).
여기서, 본 개시는, 사용자 단말이 플레이 서버와 연결 상태가 좋으면 사용자 모션을 아바타에 동기화시키고(S116), 실시간 음성 채팅을 시작하며(S117), 결과 영상을 생성할 수 있다(S118).
하지만, 본 개시는, 사용자 단말이 플레이 서버와 연결 상태가 좋지 않으면 홈 화면으로 복귀할 수 있다(S119).
이어, 본 개시는, 사용자 모션 동기화 과정, 실시간 음성 채팅 과정, 그리고 결과 영상 생성 과정을 수행하면 초기화 상태를 확인하고(S120), 초기화 상태가 좋으면 멀티플레이 서버로부터 시작 이벤트 전송 시에 운동 세션을 시작하며(S121), 초기화 상태가 좋지 않으면 홈 화면으로 복귀할 수 있다(S119).
다음, 본 개시는, 컨텐츠 서버로부터 운동 컨텐츠 영상을 제공하여 운동 컨텐츠를 스트리밍 재생하도록 한다(S122).
그리고, 본 개시는, 전체 사용자의 재생 시간을 지속적으로 동기화시키고(S123), 컨텐츠 완료인지를 지속적으로 확인하며(S124), 플레이 서버 연결 상태를 지속적으로 확인할 수 있다(S125).
이어, 본 개시는, 운동 세션이 완료되면 운동 세션 완료 화면을 제공하고(S126), 운동 결과 영상을 공유 및 저장할 수 있다(S127).
다음, 본 개시는, 운동 세션의 방장이 운동 세션을 종료하거나 또는 사용자가 직접 종료하면(S128) 홈 화면으로 복귀할 수 있다(S129).
본 개시는, 사용자 모션 동기화 과정(S116)을 도 4와 같이 수행할 수 있다.
도 4에 도시된 바와 같이, 본 개시는, 사용자 단말의 전면 카메라를 활성화시키고(S201), 인공지능 포즈 모델을 시작하며(S202), 전면 카메라를 통해 촬영된 사용자 촬영 영상으로부터 포즈 결과를 필터링하고(S203), 포워드 키네마틱 알고리즘과 인버스 키네마틱 알고리즘을 수행하여(S204, S205), 최종 아바타 자세를 생성할 수 있다(S206). 여기서, 필터링은, 포워드 키네마틱 전후 또는 인버스 키네마틱 이후에도 수행할 수 있다.
일 예로, 본 개시는, 사전 학습한 뉴럴 네트워크 모델을 이용하여 사용자 촬영 영상에 포함되는 사용자의 신체로부터 관절 위치에 대한 3차원 키포인트(3D key point)들을 추출하고, 각 관절 키포인트에 대응하는 회전 파라미터를 기반으로 사용자 모션 데이터를 추출할 수 있다.
그리고, 본 개시는, 사용자 촬영 영상으로부터 결과 유효성을 확인하여(S208) 유효하지 않으면 아바타 자세를 초기화시킬 수 있다.
일 예로, 본 개시는, 사용자 촬영 영상으로부터 사용자 신체 관절에 상응하는 키포인트의 개수가 기준 비율 미만이거나 또는 예측한 키포인트의 가시성(visibility)이 기준 비율 미만이면 사용자 모션이 유효하지 않는 것으로 판단하고, 사용자 모션 데이터의 업데이트를 중지하거나 또는 사용자 모션 데이터를 미리 예측한 다음 모션에 상응하는 다른 사용자 모션 데이터로 대체할 수 있다.
경우에 따라, 본 개시는, 사용자 모션이 기설정된 기준 모션에서 기준 범위 이상 벗어나면 사용자 모션이 유효하지 않은 것으로 판단할 수도 있다.
다른 경우로서, 본 개시는, 사용자 촬영 영상이 일정한 초당 프레임 수(fps)로 수신되는 동안에 사용자 모션의 동작 변화율이 기준 동작 변화율보다 커지면 사용자 모션이 유효하지 않은 것으로 판단할 수도 있다.
다음, 본 개시는, 사용자 촬영 영상으로부터 카메라 화각 내 사용자 위치를 확인하여(S210) 유효하지 않으면 화각 체크 팝업을 제공할 수 있다.
일 예로, 본 개시는, 사용자 촬영 영상에 사용자 전신이 포함되는지를 확인하고, 사용자 촬영 영상에 포함되는 사용자 전신이 기준 비율 미만이면 화각 체크 팝업을 생성하여 제공하며, 사용자 촬영 영상에 포함되는 사용자 전신이 기준 비율 이상이면 생성한 화각 체크 팝업을 제거할 수 있다.
본 개시는, 화각 체크 팝업을 제공할 때, 사용자 전신이 기준 비율 미만인 사용자 촬영 영상이 기준 시간 이상 지속적으로 수신되면 화각 체크 팝업을 생성하여 제공할 수 있다.
경우에 따라, 본 개시는, 화각 체크 팝업을 제공할 때, 사용자 전신이 기준 비율 이상인 사용자 촬영 영상이 기준 시간 이상 지속적으로 수신되면 생성한 화각 체크 팝업을 제거할 수 있다.
여기서, 본 개시가, 화각 체크 팝업을 생성하는 것은, 하나의 일 실시예일 뿐, 이에 한정되지 않으며, 화각 체크 팝업 이외에도 다른 형태의 다양한 UI로도 제공이 가능하다.
이어, 본 개시는, 사용자 촬영 영상으로부터 아바타 위치를 조정하여(S213) 최종 아바타 자세를 생성할 수 있다(S206).
여기서, 본 개시는, 사용자 모션 데이터를 기반으로 사용자 단말의 카메라 위치와 사용자 사이의 거리를 예측하고, 예측한 거리를 기반으로 아바타의 위치를 조정할 수 있다.
이처럼, 본 개시는, 운동 화면에 업로드된 사용자 자신의 내 아바타 자세를 업데이트시키고(S207), 다른 사용자 단말로부터 생성된 최종 아바타 자세를 기반으로 운동 화면에 업로드되는 다른 사용자 아바타 자세를 지속적으로 동기화시킬 수 있다(S214).
또한, 본 개시는, 실시간 음성 채팅 과정(S117)을 도 5와 같이 수행할 수 있다.
도 5에 도시된 바와 같이, 본 개시는, 실시간 음성 채팅을 연결하고(S301), 음성 채팅 서버를 통해 음성을 전송 및 재생할 수 있다(S302).
그리고, 본 개시는, 화자 파악 후에 확인된 화자에 상응하는 아바타 식별을 위해 아이콘 표기를 수행할 수 있다(S303).
이어, 본 개시는, 서비스 종료 시까지 반복적으로 수행할 수 있다(S304).
일 예로, 본 개시는, 아바타들 중 발화 중인 아바타의 이름표에 식별자를 부가할 수 있다.
여기서, 식별자는, 발화 중인 아바타의 이름표에 테두리 하이라이트 및 발화 아이콘 중 적어도 어느 하나를 포함할 수 있다.
그리고, 본 개시는, 운동 세션에 참여하는 아바타들 중 발화 중인 아바타의 식별을 위하여 발화 중인 아바타의 크기를 조정할 수 있다.
여기서, 본 개시는, 운동 세션에 참여하는 아바타들 중 사용자 자신의 내 아바타에 대한 닉네임을 부르는 다른 사용자의 참가자 아바타가 존재하면 닉네임을 부르는 참가자 아바타를 하이라이트하여 식별할 수 있다.
또한, 본 개시는, 사용자 음성을 기반으로 아바타의 입모양을 애니메이션 처리할 수 있다.
여기서, 본 개시는, 사용자 음성을 사전 학습한 뉴럴 네트워크 모델에 입력하여 아바타의 입모양을 추론하고, 추론한 입모양을 기반으로 사용자 음성과 동기화되도록 아바타의 입모양을 애니메이션 처리할 수 있다.
또한, 본 개시는, 운동 결과 영상 생성 과정(S118)을 도 6과 같이 수행할 수 있다.
도 6에 도시된 바와 같이, 본 개시는, 컨텐츠 서버의 운동 세션 데이터베이스와 회원 정보 데이터베이스로부터 운동 세션 정보와 회원 정보에 상응하는 녹화용 화면을 구성할 수 있다(S401).
그리고, 본 개시는, 운동 결과 영상을 녹화하고(S402), 녹화 영상을 임시 파일을 저장한 다음(S403), 녹화 영상을 소셜 네트워크 서비스를 통해 공유하거나(S404) 또는 갤러리로 저장할 수 있다(S405).
일 예로, 본 개시는, 사용자 아바타 운동 녹화 영상으로부터 사용자 아바타의 모션 데이터만을 추출하여 데이터베이스에 저장할 수 있다.
여기서, 본 개시는, 사용자 아바타 운동 녹화 영상의 재생이 요청되면 사용자 아바타에 상응하는 모션 데이터를 데이터베이스로부터 획득하여 모션 데이터를 사용자 아바타에 반영하여 사용자 아바타 운동 녹화 영상을 생성하며, 생성한 사용자 아바타 운동 녹화 영상을 재생시킬 수 있다.
또한, 본 개시는, 사용자 단말로부터 사용자 촬영 영상 녹화에 대한 동의가 수신되면 운동 세션에 참여 중인 사용자 아바타가 운동하는 모습의 영상과 사용자 단말로부터 수신되는 사용자 촬영 영상을 동시에 녹화하여 가상 공간의 사용자 아바타 운동 모습과 현실 공간의 사용자 운동 모습을 포함하는 영상을 저장할 수 있다.
도 7 내지 도 19는, 본 개시에 따른 메타버스 서비스 제공 장치의 화면 구현을 보여주는 도면이다.
도 7에 도시된 바와 같이, 본 개시는, 사용자 단말의 회원 가입이 미확인되면 온보딩 화면(310)을 제공할 수 있다.
여기서, 본 개시는, 온보딩 화면(310)을 제공할 때, 앱 설치 후에 최초 1회만 제공할 수 있다.
그리고, 본 개시는, 온보딩 화면(310)을 제공할 때, 메뉴 버튼(312), 배경 영상(314), 그리고 시작 버튼(316)을 포함하는 온보딩 화면(310)을 제공하고, 시작 버튼(316)을 통해 앱 시작 요청을 수신할 수 있다.
도 8에 도시된 바와 같이, 본 개시는, 온보딩 화면을 통해 앱 시작 요청을 수신하면 앱 사용 가이드 창(320)을 제공할 수 있다.
여기서, 본 개시는, 앱 사용 가이드 창(320)을 제공할 때, 앱 사용법을 알려주는 팝업 형태로 앱 사용 가이드 창(320)을 최초 1회만 제공할 수 있다.
경우에 따라, 제어부는, 온보딩 과정 이후에도 앱 사용 가이드 창을 다시 제공하거나 또는 메뉴에서 선택하는 사용자 입력에 따라 앱 사용 가이드 창을 다시 제공할 수도 있다.
일 예로, 본 개시는, 앱 사용 가이드 창(320)을 제공할 때, 앱 사용 설명 이미지(322), 앱 사용 설명 텍스트(324), 이전 앱 사용 설명 페이지를 보여주는 이전 버튼(326), 다음 앱 사용 설명 페이지를 보여주는 다음 버튼(328), 그리고 현재 페이지 넘버(327)를 포함하는 앱 사용 가이드 창(320)을 제공할 수 있다.
여기서, 본 개시는, 앱 사용 설명 페이지가 첫 번째 페이지이면 이전 버튼(326)을 미제공하고, 앱 사용 설명 페이지가 마지막 번째 페이지이면 다음 버튼(328)을 확인 버튼으로 변경하며, 현재 앱 사용 설명 페이지가 다음 앱 사용 설명 페이지로 변경될 때, 앱 사용 설명 이미지(322)도 변경될 수 있다.
도 9에 도시된 바와 같이, 본 개시는, 앱 사용 가이드 창을 통해 사용자 확인이 수신되면 아바타 설정 화면(330)을 제공할 수 있고, 아바타 설정 화면(330)을 통해 사용자가 설정한 아바타 및 사용자 정보를 데이터베이스에 저장할 수 있다.
본 개시는, 아바타 설정 화면(330)을 제공할 때, 이전 페이지로 돌아가기 위한 이전 페이지 버튼(332), 아바타 이미지(334), 이전 아바타를 보여주는 이전 아바타 버튼(335), 다음 아바타를 보여주는 다음 아바타 버튼(336), 그리고 아바타를 선택 및 저장하는 아바타 확인 버튼(337)을 포함하는 아바타 설정 화면(330)을 제공할 수 있다.
경우에 따라, 본 개시는, 아바타 설정 화면(330)을 제공할 때, 개인 아바타 생성 버튼을 포함하는 아바타 설정 화면(330)을 제공하고, 개인 아바타 생성 버튼이 선택되면 사용자 개인이 직접 개인 아바타를 제작할 수 있는 개인 아바타 생성 창을 제공할 수 있다.
다른 경우로서, 본 개시는, 아바타 설정 화면(330)을 제공할 때, 사용자 닮은 아바타 생성 버튼을 포함하는 아바타 설정 화면(330)을 제공하고, 사용자 닮은 아바타 생성 버튼이 선택되면 사용자 이미지를 획득하며, 사용자 이미지를 사전 학습한 뉴럴 네트워트 모델에 입력하여 사용자 특징점을 추출하고, 사용자 특징점을 기반으로 사용자 닮은 아바타를 생성하여 제공할 수 있다.
여기서, 본 개시는, 사용자 특징점을 추출할 때, 사용자 이미지에 사용자 얼굴만 포함되면 사용자 얼굴 영역으로부터 사용자 얼굴 특징점만을 추출하고, 사용자 이미지에 사용자 신체만 포함되면 사용자 신체 영역으로부터 사용자 신체 특징점만을 추출하며, 사용자 이미지에 사용자 얼굴 및 신체가 모두 포함되면 사용자 얼굴 및 신체 영역으로부터 사용자 얼굴 특징점과 사용자 신체 특징점을 모두 추출할 수 있다.
또 다른 경우로서, 본 개시는, 아바타 설정 화면(330)을 제공할 때, 사용자 닮은 아바타 생성 버튼을 포함하는 아바타 설정 화면(330)을 제공하고, 사용자 닮은 아바타 생성 버튼이 선택되면 사용자 동영상을 획득하며, 사용자 동영상을 사전 학습한 뉴럴 네트워트 모델에 입력하여 사용자 동작 특징점을 추출하고, 사용자 동작 특징점을 기반으로 사용자 동작 특성이 닮은 아바타를 생성하여 제공할 수 있다.
여기서, 본 개시는, 사용자 동작 특징점을 추출할 때, 사용자 동영상에 사용자 얼굴만 포함되면 사용자 얼굴 영역으로부터 사용자 얼굴 동작 특징점만을 추출하고, 사용자 동영상에 사용자 신체만 포함되면 사용자 신체 영역으로부터 사용자 신체 동작 특징점만을 추출하며, 사용자 동영상에 사용자 얼굴 및 신체가 모두 포함되면 사용자 얼굴 및 신체 영역으로부터 사용자 얼굴 동작 특징점과 사용자 신체 동작 특징점을 모두 추출할 수 있다.
도 10에 도시된 바와 같이, 본 개시는, 아바타 설정 화면을 통해 아바타 설정이 완료되면 아바타 닉네임 설정 화면(340)을 제공하고, 닉네임 설정 화면(340)을 통해 아바타의 닉네임이 설정되면 설정된 아바타의 닉네임을 데이터베이스에 저장할 수 있다.
여기서, 본 개시는, 아바타 닉네임 설정 화면(340)을 제공할 때, 이전 페이지로 돌아가기 위한 이전 페이지 버튼(342), 아바타 닉네임 텍스트 입력 필드(344), 아바타 닉네임 텍스트 입력 필드 내에 입력된 닉네임 텍스트(347), 그리고, 아바타 닉네임을 설정 및 저장하는 아바타 닉네임 확인 버튼(346)을 포함하는 아바타 닉네임 설정 화면(340)을 제공할 수 있다.
또한, 본 개시는, 아바타 닉네임 설정 화면(340)을 처음 제공할 때, 아바타 닉네임 텍스트 입력 필드(344) 내에 랜덤으로 자동 선정된 랜덤 닉네임 텍스트(347)를 생성하고, 사용자의 수정 요청에 따라 랜덤 닉네임 텍스트(347)를 수정할 수 있다.
도 11에 도시된 바와 같이, 본 개시는, 아바타 설정 화면을 통해 아바타가 설정되면 운동 세션 정보를 갖는 스케쥴 카드(358)와 사용자가 선택한 아바타(354)를 포함하는 홈 화면(350)을 제공할 수 있다.
여기서, 본 개시는, 스케쥴 카드(358) 내에, 현재 혹은 가장 가까운 다음 운동 세션 날짜 및 시간, 운동 세션 현황, 운동 세션 제목, 메인 액션 버튼(359) 중 적어도 어느 하나를 포함하는 운동 세션 정보를 제공할 수 있다.
일 예로, 운동 세션 현황은, 운동 세션이 시작 전인 대기 중 상태 또는 운동 세션이 시작 후인 진행 중 상태를 포함할 수 있다.
다른 일 예로, 메인 액션 버튼(359)은, 예약 상태, 대기 상태, 대기 및 정원 초과 상태, 진행 및 정원 미달 상태, 그리고 진행 및 정원 초과 상태 중 적어도 어느 한 상황에 따라 텍스트, 색상, 액션이 달라질 수 있다.
또한, 본 개시는, 홈 화면(350) 내에 메뉴 항목(352), 가상 공간의 배경 이미지(356), 그리고 웰컴 메시지(357)를 제공할 수 있다.
여기서, 웰컴 메시지(357)는, 예약 상태, 대기 상태, 대기 및 정원 초과 상태, 진행 및 정원 미달 상태, 그리고 진행 및 정원 초과 상태 중 적어도 어느 한 상황에 따라 텍스트 내용이 달라질 수 있다.
또한, 본 개시는, 운동 세션 정보를 제공할 때, 데이터베이스에 기저장된 운동 세션 리스트로부터 운동 세션 시작 일정을 기반으로 운동 세션 정보를 추출하고, 추출한 운동 세션 정보를 제공할 수 있다.
일 예로, 운동 세션 정보는, 운동 일정, 운동 시작 시간, 운동 소요 시간, 운동 타이틀, 소모되는 칼로리, 운동 구성 동작, 해당 컨텐츠의 URL(Uniform Resource Locator) 정보, 운동 결과 영상 구성을 위한 정보 중 적어도 어느 하나를 포함할 수 있는데, 이는 일 실시예일 뿐, 이에 한정되지 않는다.
그리고, 본 개시는, 운동 세션 정보를 제공할 때, 소정 기간 동안에 운동 일정을 갖는 운동 세션 정보들을 추출하고, 추출한 운동 세션 정보들을 운동 일정 순서에 따라 순차적으로 제공할 수 있다.
여기서, 본 개시는, 운동 세션 정보들을 순차적으로 제공할 때, 추출한 운동 세션 정보들 중 가장 빠른 일정을 갖는 운동 세션 정보를 먼저 제공하고, 가장 늦은 일정을 갖는 운동 세션 정보를 마지막에 제공할 수 있다.
경우에 따라, 본 개시는, 운동 세션 정보를 제공할 때, 사용자 정보를 기반으로 개인별 추천 운동 세션 정보들을 추출하고, 추출한 운동 세션 정보들을 운동 일정 순서에 따라 순차적으로 제공할 수 있다.
일 예로, 본 개시는, 사용자 정보 중 나이, 성별, 병력, 체중 중 적어도 어느 하나의 신체 조건을 기반으로 개인별 추천 운동 세션 정보들을 추출할 수 있는데, 이는 일 실시예일 뿐, 이에 한정되지 않는다.
다른 경우로서, 본 개시는, 운동 세션 정보를 제공할 때, 사용자의 운동 세션 참가 히스토리 정보를 기반으로 운동 세션 정보들을 추출하고, 추출한 운동 세션 정보들을 운동 일정 순서에 따라 순차적으로 제공할 수 있다.
여기서, 본 개시는, 사용자의 운동 세션 참가 히스토리 정보 중 가장 최근에 참가한 운동 세션 정보, 가장 자주 참가한 운동 세션 정보, 가장 많은 시간을 할애한 운동 세션 정보 중 적어도 어느 하나의 활동 조건을 기반으로 운동 세션 정보들을 추출할 수 있다.
도 12에 도시된 바와 같이, 본 개시는, 사용자 단말로부터 운동 세션 참가 요청이 수신되면 사용자가 선택한 아바타가 업로드되도록 운동 세션의 운동 메인 화면(360)을 구성하고, 사용자 단말로 사용자 촬영 영상을 요청하며, 사용자 촬영 영상이 수신되면 사용자 촬영 영상이 포함되는 운동 메인 화면(360)을 제공할 수 있다.
여기서, 본 개시는, 운동 세션의 운동 메인 화면(360)을 구성할 때, 운동 세션에 참가 요청한 사용자들이 복수이면 참가 요청한 사용자 자신의 내 아바타와 다른 사용자들의 참가자 아바타들을 운동 세션의 가상 공간에 일정 간격으로 배열되도록 운동 세션의 운동 메인 화면(360)을 구성할 수 있다.
일 예로, 본 개시는, 운동 세션의 가상 공간에 아바타들을 배열할 때, 운동 세션의 참가 순서에 따라 아바타들을 순차적으로 배열하는 제1 배열 방식, 사용자 자신의 내 아바타를 중심으로 아바타들을 배열하는 제2 배열 방식, 그리고 미리 설정된 고정 위치에 아바타들을 배열하는 제3 배열 방식 중 어느 하나의 방식으로 운동 세션의 가상 공간에 아바타들을 배열할 수 있다.
또한, 본 개시는, 운동 세션의 가상 공간에 아바타들을 배열할 때, 운동 세션에 참여한 아바타들의 동작 크기 및 음성 크기 중 적어도 어느 하나로 아바타들을 배열하는 제4 배열 방식, 운동 세션에 참여한 아바타들의 운동 동작 카운터 및 운동 동작 스코어링을 기반으로 산출된 점수로 아바타들을 배열하는 제5 배열 방식, 운동 세션에 참여한 아바타들 중 사용자가 지정한 아바타만을 배열하는 제6 배열 방식 중 어느 하나의 방식으로 운동 세션의 가상 공간에 아바타들을 배열할 수 있다.
여기서, 본 개시는, 운동 세션의 가상 공간에 아바타들을 배열할 때, 운동 세션에 참여한 아바타들의 상측에 닉네임 텍스트를 포함하는 이름표를 배치하고, 아바타들 중 내 아바타의 이름표를 다른 참가자 아바타의 이름표와 다른 식별자를 부가할 수 있다.
일 예로, 다른 식별자는, 이름표의 색상, 형상, 특정 아이콘 추가 중 적어도 어느 하나를 포함할 수 있다.
경우에 따라, 본 개시는, 운동 세션의 가상 공간에 아바타들을 배열할 때, 운동 세션에 참여한 아바타들의 상측에 닉네임 텍스트를 포함하는 이름표를 배치하고, 아바타들 중 운동 세션을 생성한 방장 아바타의 이름표에 특정 식별자를 부가할 수 있다.
여기서, 특정 식별자는, 특정 형상의 아이콘을 포함할 수 있다.
다른 경우로서, 본 개시는, 운동 세션의 가상 공간에 아바타들을 배열할 때, 운동 세션에 참여한 아바타들의 상측 및 하측 중 적어도 어느 한 곳에 닉네임 텍스트를 포함하는 이름표를 배치하고, 아바타들 중 발화 중인 아바타의 이름표에 식별자를 부가할 수 있다.
일 예로, 식별자는, 발화 중인 아바타의 이름표에 테두리 하이라이트 및 발화 아이콘 중 적어도 어느 하나를 포함할 수 있다.
또한, 본 개시는, 운동 세션의 운동 메인 화면(360)을 구성할 때, 운동 세션의 플레이 전과 후에 아바타들이 배열되는 영역의 일측에 운동 세션을 생성한 방장의 입력 텍스트(356)가 포함되는 방장 스크린 영역(354)이 형성되도록 운동 세션의 운동 메인 화면(360)을 구성할 수 있다.
여기서, 본 개시는, 방장 스크린 영역(354)에 특정 이미지 또는 특정 영상을 제공할 수 있다.
또한, 본 개시는, 플레이 도중이 아닌 경우에, 방장 스크린 영역(354)에 포함되는 플레이 시간 표시 영역(352)에 시간이 표시되지 않을 수 있다.
도 13에 도시된 바와 같이, 본 개시는, 운동 세션의 플레이 중에 아바타들이 배열되는 영역의 일측에 사용자 촬영 영상(372)과 운동 플레이 시간(374)이 포함되는 사용자 스크린 영역이 형성되도록 운동 세션의 운동 메인 화면(370)을 구성할 수 있다.
본 개시는, 운동 세션에 참여한 아바타들의 상측 및 하측 중 적어도 어느 한 곳에 닉네임 텍스트를 포함하는 이름표를 배치하는데, 아바타들 중 운동 세션을 생성한 방장 아바타의 이름표(378)에 특정 식별자를 부가할 수 있다.
여기서, 특정 식별자는, 왕관 등과 같이 특정 형상의 아이콘을 포함할 수 있다.
본 개시는, 사용자 촬영 영상(372)이 수신되면 사용자 촬영 영상(372)에 사용자 전신이 포함되는지를 확인하고, 사용자 촬영 영상(372)에 포함되는 사용자 전신이 기준 비율 미만이면 화각 체크 팝업을 생성하여 제공하며, 사용자 촬영 영상에 포함되는 사용자 전신이 기준 비율 이상이면 생성한 화각 체크 팝업을 제거할 수 있다.
여기서, 본 개시가, 화각 체크 팝업을 생성하는 것은, 하나의 일 실시예일 뿐, 이에 한정되지 않으며, 화각 체크 팝업 이외에도 다른 형태의 다양한 UI로도 제공가능하다.
다음, 본 개시는, 사용자 모션 데이터를 기반으로 사용자 단말의 카메라 위치와 사용자 사이의 거리를 예측하고, 예측한 거리를 기반으로 아바타의 위치를 조정할 수 있다.
이어, 본 개시는, 사전 학습한 뉴럴 네트워크 모델을 이용하여 사용자 촬영 영상에 포함되는 사용자의 신체로부터 관절 위치에 대한 3차원 키포인트(3D key point)들을 추출하고, 각 관절 키포인트에 대응하는 회전 파라미터를 기반으로 사용자 모션 데이터를 추출할 수 있다.
여기서, 본 개시는, 추출한 키포인트의 개수가 기준 비율 미만이거나 또는 예측한 키포인트의 가시성(visibility)이 기준 비율 미만이면 사용자 모션이 유효하지 않는 것으로 판단하고, 사용자 모션 데이터의 업데이트를 중지하거나 또는 사용자 모션 데이터를 미리 예측한 다음 모션에 상응하는 다른 사용자 모션 데이터로 대체할 수 있다.
경우에 따라, 본 개시는, 사용자 모션이 기설정된 기준 모션에서 기준 범위 이상 벗어나면 사용자 모션이 유효하지 않은 것으로 판단할 수 있다.
또한, 본 개시는, 사용자 촬영 영상(372)이 일정한 초당 프레임 수(fps)로 수신되는 동안에 사용자 모션의 동작 변화율이 기준 동작 변화율보다 커지면 사용자 모션이 유효하지 않은 것으로 판단할 수 있다
또한, 본 개시는, 관절의 3차원 회전 파라미터를 기반으로 사용자 모션에 상응하는 관절들이 차지하는 영역이 서로 충돌한다고 예측되면 관절의 3차원 회전 파라미터를 보정할 수 있다.
이어, 본 개시는, 운동 세션에 참가 요청한 사용자들이 복수이면 참가 요청한 사용자 자신의 내 아바타와 다른 사용자들의 참가자 아바타들의 동일한 모션에 대한 싱크가 일치하는지를 판단하고, 동일한 모션에 대한 싱크가 일치하지 않으면 운동 세션에 참여하는 아바타들의 동일한 모션에 대한 싱크를 일치하도록 아바타 모션을 제어할 수 있다.
그리고, 본 개시는, 운동 세션에 참여하는 아바타들 중 발화 중인 아바타의 식별을 위하여 발화 중인 아바타의 크기를 조정할 수 있다.
여기서, 본 개시는, 운동 세션에 참여하는 아바타들 중 운동 메인 화면(370)에 벗어난 아바타가 발화 중이면 발화 중인 아바타가 운동 메인 화면(370) 내에 위치하도록 운동 메인 화면(370)을 조정할 수 있다.
또한, 본 개시는, 운동 세션에 참여하는 아바타들 중 사용자 자신의 내 아바타에 대한 닉네임을 부르는 다른 사용자의 참가자 아바타가 존재하면 닉네임을 부르는 참가자 아바타를 하이라이트하여 식별할 수 있다.
또한, 본 개시는, 사용자 음성을 기반으로 아바타의 입모양을 애니메이션 처리할 수 있다.
여기서, 본 개시는, 사용자 음성을 사전 학습한 뉴럴 네트워크 모델에 입력하여 아바타의 입모양을 추론하고, 추론한 입모양을 기반으로 사용자 음성과 동기화되도록 아바타의 입모양을 애니메이션 처리할 수 있다.
또한, 운동 메인 화면(370)은, 나가기 버튼(375), 마이크 온/오프 버튼(376), 그리고 음량 조절 버튼(377) 등을 더 포함할 수 있다.
도 14에 도시된 바와 같이, 본 개시는, 홈 화면 내에 메뉴 항목을 선택하는 사용자 요청이 수신되면 앱 사용 가이드 화면으로 이동하기 위한 제1 메뉴 버튼(382), 아바타 설정 화면으로 이동하기 위한 제2 메뉴 버튼(384), 닉네임 설정 화면으로 이동하기 위한 제3 메뉴 버튼(386), 사용자 문의 채널로 이동하기 위한 제4 메뉴 버튼(387), 오픈 채팅방으로 이동하기 위한 제5 메뉴 버튼(388), 그리고 메타버스 서비스 제공 웹 사이트로 이동하기 위한 제5 메뉴 버튼(389)을 포함하고, 추가로 닫기 버튼(381)을 더 포함하는 메뉴 팝업(380)을 제공할 수 있다.
도 15에 도시된 바와 같이, 본 개시는, 사용자 촬영 영상(392)이 수신되면 사용자 촬영 영상(392)에 사용자 전신이 포함되는지를 확인하고, 사용자 촬영 영상(392)에 포함되는 사용자 전신이 기준 비율 미만이면 화각 체크 팝업(390)을 생성하여 제공하며, 사용자 촬영 영상(392)에 포함되는 사용자 전신이 기준 비율 이상이면 생성한 화각 체크 팝업(390)을 제거할 수 있다.
일 예로, 본 개시는, 사용자 촬영 영상(392), 화각에 대한 안내 텍스트(394), 화면 조작을 위한 조작 버튼(396) 중 적어도 하나를 포함하는 화각 체크 팝업(390)을 생성할 수 있다.
또한, 본 개시는, 운동 메인 화면이 최초 제공될 때, 화각 체크 팝업(390)을 생성하여 제공할 수 있다.
또한, 본 개시는, 운동 메인 화면이 제공되는 동안에 매 프레임마다 사용자 촬영 영상에 사용자 전신이 포함되는지를 확인하고, 사용자 촬영 영상에 포함되는 사용자 전신이 기준 비율 미만이면 화각 체크 팝업(390)을 생성하여 제공할 수 있다.
또한, 본 개시는, 사용자 촬영 영상에 사용자 전신이 포함되는지를 확인할 때, 사용자 촬영 영상을 사전 학습한 뉴럴 네트워크 모델에 입력하여 사용자 전신에 상응하는 스켈레톤 포인트를 추론하고, 사용자 전신에 상응하는 스켈레톤 포인트를 분석하여 사용자 촬영 영상에 사용자 전신이 포함되는지를 확인할 수 있다.
또한, 본 개시는, 화각 체크 팝업(390)을 제공할 때, 사용자 전신이 기준 비율 미만인 사용자 촬영 영상이 기준 시간 이상 지속적으로 수신되면 화각 체크 팝업(390)을 생성하여 제공할 수 있다.
경우에 따라, 본 개시는, 화각 체크 팝업(390)을 제공할 때, 사용자 전신이 기준 비율 이상인 사용자 촬영 영상이 기준 시간 이상 지속적으로 수신되면 생성한 화각 체크 팝(390)업을 제거할 수 있다.
도 16에 도시된 바와 같이, 본 개시는, 운동 메인 화면 내에 음량 조절 항목을 선택하는 사용자 요청이 수신되면 운동 영상 볼륨 조절 컨트롤러(402), 사용자간 대화 볼륨 조절 컨트롤러(404), 볼륨 조절 상태를 저장하기 위한 확인 버튼(408), 현재 볼륨 조절 상태를 보여주기 위한 음량 상태 표시부(406)를 포함하는 음량 조절 팝업(400)을 제공할 수 있다.
도 17에 도시된 바와 같이, 본 개시는, 운동 메인 화면 내에 나가기 항목을 선택하는 사용자 요청이 수신되면 홈 화면으로 이동하는 나가기 버튼(412)과, 나가기를 취소하고 운동 메인 화면으로 복귀하는 취소 버튼(414)을 포함하는 나가기 팝업(410)을 제공할 수 있다.
도 18에 도시된 바와 같이, 본 개시는, 운동 세션이 종료되면 사용자 아바타 운동 녹화 영상(421), 운동 영상 저장 버튼(426), 운동 영상 공유 버튼(427), 그리고 팝업 닫기 버튼을 포함하는 운동 인증 공유 팝업(420)을 제공할 수 있다.
여기서, 사용자 아바타 운동 녹화 영상(421)은, 사용자의 운동 결과 정보(422), 사용자의 아바타 운동 모션(423), 사용자의 운동 횟수(425), 특정 로고(424) 중 적어도 어느 하나를 포함할 수 있는데, 이는 일 실시예일 뿐, 이에 한정되지 않는다.
일 예로, 사용자의 운동 결과 정보(422)는, 운동 종목, 운동 시간, 소모 칼로리 중 적어도 어느 하나를 포함할 수 있다.
또한, 본 개시는, 운동 세션에 참여 중인 아바타가 운동하는 동안에 사용자 단말로부터 사용자 아바타에 대한 운동 영상 녹화 요청이 수신되면 운동 영상 녹화 요청을 수신한 시점부터 사용자 아바타의 운동 모습을 녹화할 수 있다.
경우에 따라, 본 개시는, 운동 세션이 진행되면 운동 세션에 참여 중인 모든 아바타가 운동하는 모습을 동시에 녹화할 수 있다.
다른 경우로서, 본 개시는, 운동 세션이 진행되면 운동 세션에 참여 중인 아바타의 운동 동작을 기설정된 기준 동작과 비교하여 일치도에 따라 스코어를 산출하고, 일치도가 가장 높은 스코어의 운동 동작을 수행하는 시점에 아바타가 운동하는 모습을 녹화할 수 있다.
또 다른 경우로서, 본 개시는, 운동 세션이 진행되면 운동 세션에 참여 중인 아바타의 운동 동작을 분석하고, 모션 크기가 가장 큰 운동 동작을 수행하는 시점에 아바타가 운동하는 모습을 녹화할 수 있다.
또 다른 경우로서, 본 개시는, 운동 세션이 진행되면 운동 세션의 운동 과정 중 후반부 운동 동작을 수행하는 시점에 아바타가 운동하는 모습을 녹화할 수 있다.
또 다른 경우로서, 본 개시는, 운동 세션이 진행되면 운동 세션에 참여 중인 아바타들의 음성 채팅 평균 볼륨 크기를 확인하고, 음성 채팅 평균 볼륨 크기가 가장 큰 시점에 아바타가 운동하는 모습을 녹화할 수 있다.
그리고, 본 개시는, 사용자 아바타 운동 녹화 영상을 저장할 때, 사용자 아바타 운동 녹화 영상으로부터 사용자 아바타의 모션 데이터만을 추출하여 데이터베이스에 저장할 수 있다.
여기서, 본 개시는, 사용자 아바타 운동 녹화 영상의 재생이 요청되면 사용자 아바타에 상응하는 모션 데이터를 데이터베이스로부터 획득하여 모션 데이터를 사용자 아바타에 반영하여 사용자 아바타 운동 녹화 영상을 생성하며, 생성한 사용자 아바타 운동 녹화 영상을 재생시킬 수 있다.
또한, 본 개시는, 사용자 단말로부터 사용자 촬영 영상 녹화에 대한 동의가 수신되면 운동 세션에 참여 중인 사용자 아바타가 운동하는 모습의 영상과 사용자 단말로부터 수신되는 사용자 촬영 영상을 동시에 녹화하여 가상 공간의 사용자 아바타 운동 모습과 현실 공간의 사용자 운동 모습을 포함하는 영상을 저장할 수 있다.
도 19에 도시된 바와 같이, 본 개시는, 운동 세션이 종료되면 운동 인증 사진을 찍기 위한 아바타 사진 촬영 팝업(430)을 제공하고, 아바타 사진 촬영 팝업을 통해 단체 인증 사진 촬영 요청이 수신되면 운동 세션에 참여한 아바타들이 개별 포즈 또는 단체 포즈를 취하도록 설정 시간(436)을 카운트하며, 설정 시간이 도래하면 운동 세션에 참여한 아바타들의 인증 사진을 촬영할 수 있다.
일 예로, 아바타 사진 촬영 팝업(430)은, 운동 일자, 운동 시간, 운동 소모 칼로리, 운동 종목, 단체 사진 찍기 버튼(432), 운동 한 번 더 하기 버튼(434) 중 적어도 어느 하나를 포함할 수 있다.
이와 같이, 본 개시는, 운동 세션의 가상 공간에 업로드된 아바타에 사용자 모션 데이터를 반영하고, 사전 학습한 뉴럴 네트워크 모델을 통해 다음 동작을 예측하여 아바타의 모션을 제어함으로써, 사용자와 아바타가 함께 운동하도록 사용자에게 현장감 및 흥미와 재미를 제공할 수 있다.
본 개시에서, 뉴럴 네트워크 모델을 이용하는 것은, 하나의 일 실시예일 뿐, 뉴럴 네트워크 모델 없이도 아바타 모션을 제어할 수 있다.
이상에서 전술한 본 개시의 일 실시예에 따른 방법은, 하드웨어인 서버와 결합되어 실행되기 위해 프로그램(또는 어플리케이션)으로 구현되어 매체에 저장될 수 있다.
상기 전술한 프로그램은, 상기 컴퓨터가 프로그램을 읽어 들여 프로그램으로 구현된 상기 방법들을 실행시키기 위하여, 상기 컴퓨터의 프로세서(CPU)가 상기 컴퓨터의 장치 인터페이스를 통해 읽힐 수 있는 C, C++, JAVA, 기계어 등의 컴퓨터 언어로 코드화된 코드(Code)를 포함할 수 있다. 이러한 코드는 상기 방법들을 실행하는 필요한 기능들을 정의한 함수 등과 관련된 기능적인 코드(Functional Code)를 포함할 수 있고, 상기 기능들을 상기 컴퓨터의 프로세서가 소정의 절차대로 실행시키는데 필요한 실행 절차 관련 제어 코드를 포함할 수 있다. 또한, 이러한 코드는 상기 기능들을 상기 컴퓨터의 프로세서가 실행시키는데 필요한 추가 정보나 미디어가 상기 컴퓨터의 내부 또는 외부 메모리의 어느 위치(주소 번지)에서 참조되어야 하는지에 대한 메모리 참조관련 코드를 더 포함할 수 있다. 또한, 상기 컴퓨터의 프로세서가 상기 기능들을 실행시키기 위하여 원격(Remote)에 있는 어떠한 다른 컴퓨터나 서버 등과 통신이 필요한 경우, 코드는 상기 컴퓨터의 통신 모듈을 이용하여 원격에 있는 어떠한 다른 컴퓨터나 서버 등과 어떻게 통신해야 하는지, 통신 시 어떠한 정보나 미디어를 송수신해야 하는지 등에 대한 통신 관련 코드를 더 포함할 수 있다.
상기 저장되는 매체는, 레지스터, 캐쉬, 메모리 등과 같이 짧은 순간 동안 데이터를 저장하는 매체가 아니라 반영구적으로 데이터를 저장하며, 기기에 의해 판독(reading)이 가능한 매체를 의미한다. 구체적으로는, 상기 저장되는 매체의 예로는 ROM, RAM, CD-ROM, 자기 테이프, 플로피디스크, 광 데이터 저장장치 등이 있지만, 이에 제한되지 않는다. 즉, 상기 프로그램은 상기 컴퓨터가 접속할 수 있는 다양한 서버 상의 다양한 기록매체 또는 사용자의 상기 컴퓨터상의 다양한 기록매체에 저장될 수 있다. 또한, 상기 매체는 네트워크로 연결된 컴퓨터 시스템에 분산되어, 분산방식으로 컴퓨터가 읽을 수 있는 코드가 저장될 수 있다.
본 개시의 실시예와 관련하여 설명된 방법 또는 알고리즘의 단계들은 하드웨어로 직접 구현되거나, 하드웨어에 의해 실행되는 소프트웨어 모듈로 구현되거나, 또는 이들의 결합에 의해 구현될 수 있다. 소프트웨어 모듈은 RAM(Random Access Memory), ROM(Read Only Memory), EPROM(Erasable Programmable ROM), EEPROM(Electrically Erasable Programmable ROM), 플래시 메모리(Flash Memory), 하드 디스크, 착탈형 디스크, CD-ROM, 또는 본 개시가 속하는 기술 분야에서 잘 알려진 임의의 형태의 컴퓨터 판독가능 기록매체에 상주할 수도 있다.
이상, 첨부된 도면을 참조로 하여 본 개시의 실시예를 설명하였지만, 본 개시가 속하는 기술분야의 통상의 기술자는 본 개시가 그 기술적 사상이나 필수적인 특징을 변경하지 않고서 다른 구체적인 형태로 실시될 수 있다는 것을 이해할 수 있을 것이다. 그러므로, 이상에서 기술한 실시예들은 모든 면에서 예시적인 것이며, 제한적이 아닌 것으로 이해해야만 한다.

Claims (10)

  1. 사용자 단말과 통신 연결되는 통신부;
    아바타의 모션 데이터를 저장하는 데이터베이스; 그리고,
    메타버스의 가상 공간에 업로드된 아바타의 모션을 제어하는 제어부를 포함하고,
    상기 제어부는,
    상기 사용자 단말로부터 운동 세션 참가 요청이 수신되면 상기 사용자 단말로 사용자 촬영 영상을 요청하고, 상기 사용자 단말로부터 사용자 촬영 영상이 수신되면 상기 사용자 촬영 영상으로부터 사용자 모션 데이터를 추출하며, 상기 운동 세션의 가상 공간에 업로드된 아바타에 상기 사용자 모션 데이터를 반영하고, 상기 사용자의 현재 동작에 상응하는 사용자 모션 데이터를 사전 학습한 뉴럴 네트워크 모델에 입력하여 사용자의 다음 동작을 예측하며, 상기 예측 결과를 기반으로 상기 아바타의 모션을 제어하고,
    상기 제어부는,
    상기 사용자 모션 데이터를 추출할 때, 사전 학습한 뉴럴 네트워크 모델을 이용하여 사용자 촬영 영상에 포함되는 사용자의 신체로부터 관절 위치에 대한 3차원 키포인트(3D key point)들을 추출하고, 각 관절 키포인트에 대응하는 회전 파라미터를 기반으로 사용자 모션 데이터를 추출하며,
    상기 제어부는,
    상기 3차원 키포인트들을 추출할 때, 상기 추출한 키포인트의 개수가 기준 비율 미만이거나 또는 예측한 키포인트의 가시성(visibility)이 기준 비율 미만이면 사용자 모션이 유효하지 않는 것으로 판단하고, 상기 사용자 모션 데이터의 업데이트를 중지하거나 또는 상기 사용자 모션 데이터를 미리 예측한 다음 모션에 상응하는 다른 사용자 모션 데이터로 대체하며,
    상기 제어부는,
    상기 사용자 촬영 영상이 일정한 초당 프레임 수로 수신되는 동안에 사용자 모션의 동작 변화율이 기준 동작 변화율보다 커지면 사용자 모션이 유효하지 않은 것으로 판단하고,
    상기 제어부는,
    상기 회전 파라미터를 기반으로 사용자 모션에 상응하는 관절들이 차지하는 영역이 서로 충돌한다고 예측되면 관절의 상기 회전 파라미터를 보정하는 것을 특징으로 하는 메타버스 서비스 제공 장치.
  2. 제1 항에 있어서,
    상기 제어부는,
    상기 아바타 모션을 제어할 때, 실시간 음성 채팅을 연결하고, 음성 채팅 서버를 통해 음성을 전송 및 재생 제어를 수행하는 것을 특징으로 하는 메타버스 서비스 제공 장치.
  3. 삭제
  4. 삭제
  5. 제1 항에 있어서,
    상기 제어부는,
    상기 아바타의 모션을 제어할 때, 상기 운동 세션에 참가 요청한 사용자들이 복수이면 참가 요청한 사용자 자신의 내 아바타와 다른 사용자들의 참가자 아바타들의 동일한 모션에 대한 싱크가 일치하는지를 판단하고, 상기 동일한 모션에 대한 싱크가 일치하지 않으면 상기 운동 세션에 참여하는 아바타들의 동일한 모션에 대한 싱크를 일치하도록 상기 아바타 모션을 제어하는 것을 특징으로 하는 메타버스 서비스 제공 장치.
  6. 제1 항에 있어서,
    상기 제어부는,
    상기 운동 세션이 종료되면 사용자 아바타 운동 녹화 영상, 운동 영상 저장 버튼, 운동 영상 공유 버튼, 그리고 팝업 닫기 버튼을 포함하는 운동 인증 공유 팝업을 제공하는 것을 특징으로 하는 메타버스 서비스 제공 장치.
  7. 제6 항에 있어서,
    상기 제어부는,
    상기 사용자 아바타 운동 녹화 영상을 저장할 때, 상기 사용자 아바타 운동 녹화 영상으로부터 상기 사용자 아바타의 모션 데이터만을 추출하여 상기 데이터베이스에 저장하는 것을 특징으로 하는 메타버스 서비스 제공 장치.
  8. 제7 항에 있어서,
    상기 제어부는,
    상기 사용자 아바타 운동 녹화 영상의 재생이 요청되면 상기 사용자 아바타에 상응하는 모션 데이터를 상기 데이터베이스로부터 획득하여 상기 모션 데이터를 사용자 아바타에 반영하여 상기 사용자 아바타 운동 녹화 영상을 생성하며, 상기 생성한 사용자 아바타 운동 녹화 영상을 재생시키는 것을 특징으로 하는 메타버스 서비스 제공 장치.
  9. 제1 항에 있어서,
    상기 제어부는,
    상기 운동 세션이 종료되면 운동 인증 사진을 찍기 위한 아바타 사진 촬영 팝업을 제공하고, 아바타 사진 촬영 팝업을 통해 단체 인증 사진 촬영 요청이 수신되면 상기 운동 세션에 참여한 아바타들이 개별 포즈 또는 단체 포즈를 취하도록 설정 시간을 카운트하며, 상기 설정 시간이 도래하면 상기 운동 세션에 참여한 아바타들의 인증 사진을 촬영하는 것을 특징으로 하는 메타버스 서비스 제공 장치.
  10. 제어부에 의해 수행되는, 사용자 단말과 통신 연결되는 장치의 메타버스 서비스 제공 방법에 있어서,
    상기 사용자 단말로부터 운동 세션 참가 요청을 수신하는 단계;
    상기 사용자 단말로 사용자 촬영 영상을 요청하는 단계;
    상기 사용자 단말로부터 사용자 촬영 영상을 수신하는 단계;
    상기 사용자 촬영 영상으로부터 사용자 모션 데이터를 추출하는 단계;
    상기 운동 세션의 가상 공간에 업로드된 아바타에 상기 사용자 모션 데이터를 반영하는 단계;
    상기 사용자의 현재 동작에 상응하는 사용자 모션 데이터를 사전 학습한 뉴럴 네트워크 모델에 입력하여 사용자의 다음 동작을 예측하는 단계; 및
    상기 예측 결과를 기반으로 상기 아바타의 모션을 제어하는 단계;를 포함하며,
    상기 제어부는,
    상기 사용자 모션 데이터를 추출할 때, 사전 학습한 뉴럴 네트워크 모델을 이용하여 사용자 촬영 영상에 포함되는 사용자의 신체로부터 관절 위치에 대한 3차원 키포인트(3D key point)들을 추출하고, 각 관절 키포인트에 대응하는 회전 파라미터를 기반으로 사용자 모션 데이터를 추출하며,
    상기 제어부는,
    상기 3차원 키포인트들을 추출할 때, 상기 추출한 키포인트의 개수가 기준 비율 미만이거나 또는 예측한 키포인트의 가시성(visibility)이 기준 비율 미만이면 사용자 모션이 유효하지 않는 것으로 판단하고, 상기 사용자 모션 데이터의 업데이트를 중지하거나 또는 상기 사용자 모션 데이터를 미리 예측한 다음 모션에 상응하는 다른 사용자 모션 데이터로 대체하며,
    상기 제어부는,
    상기 사용자 촬영 영상이 일정한 초당 프레임 수로 수신되는 동안에 사용자 모션의 동작 변화율이 기준 동작 변화율보다 커지면 사용자 모션이 유효하지 않은 것으로 판단하고,
    상기 제어부는,
    상기 회전 파라미터를 기반으로 사용자 모션에 상응하는 관절들이 차지하는 영역이 서로 충돌한다고 예측되면 관절의 상기 회전 파라미터를 보정하는 것을 특징으로 하는, 메타버스 서비스 제공 방법.
KR1020230053395A 2023-01-06 2023-04-24 아바타와 함께 운동하는 메타버스 서비스 제공 장치, 방법 및 프로그램 KR102590988B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR1020230002005 2023-01-06
KR20230002005 2023-01-06

Publications (1)

Publication Number Publication Date
KR102590988B1 true KR102590988B1 (ko) 2023-10-23

Family

ID=88508446

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020230053395A KR102590988B1 (ko) 2023-01-06 2023-04-24 아바타와 함께 운동하는 메타버스 서비스 제공 장치, 방법 및 프로그램

Country Status (1)

Country Link
KR (1) KR102590988B1 (ko)

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20110009614A (ko) * 2009-07-22 2011-01-28 삼성전자주식회사 멀티 모달 정보를 이용하는 사용자 의도 추론 장치 및 방법
KR20210101608A (ko) * 2020-02-10 2021-08-19 한국과학기술원 객체의 모션을 생성하는 방법 및 장치
KR20220026186A (ko) * 2020-08-25 2022-03-04 한국과학기술원 전신 아바타를 이용한 이종공간의 혼합현실 텔레프레즌스 시스템
KR102443949B1 (ko) * 2021-03-26 2022-09-19 (주)이튜 스포츠 컨텐츠와 관련된 가상현실 서비스 제공시스템
KR20220134792A (ko) * 2016-05-09 2022-10-05 매직 립, 인코포레이티드 사용자 건강 분석을 위한 증강 현실 시스템들 및 방법들
KR102462139B1 (ko) 2022-07-14 2022-11-03 주식회사 고브이알 3d 에셋 배치를 이용한 교육용 메타버스 구현 장치, 방법 및 프로그램

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20110009614A (ko) * 2009-07-22 2011-01-28 삼성전자주식회사 멀티 모달 정보를 이용하는 사용자 의도 추론 장치 및 방법
KR20220134792A (ko) * 2016-05-09 2022-10-05 매직 립, 인코포레이티드 사용자 건강 분석을 위한 증강 현실 시스템들 및 방법들
KR20210101608A (ko) * 2020-02-10 2021-08-19 한국과학기술원 객체의 모션을 생성하는 방법 및 장치
KR20220026186A (ko) * 2020-08-25 2022-03-04 한국과학기술원 전신 아바타를 이용한 이종공간의 혼합현실 텔레프레즌스 시스템
KR102443949B1 (ko) * 2021-03-26 2022-09-19 (주)이튜 스포츠 컨텐츠와 관련된 가상현실 서비스 제공시스템
KR102462139B1 (ko) 2022-07-14 2022-11-03 주식회사 고브이알 3d 에셋 배치를 이용한 교육용 메타버스 구현 장치, 방법 및 프로그램

Similar Documents

Publication Publication Date Title
JP7409692B2 (ja) 対話型拡張現実表示を表示するためのシステム、方法、及び媒体
CN105431813B (zh) 基于生物计量身份归属用户动作
CN102918518B (zh) 基于云的个人特征简档数据
KR102558437B1 (ko) 질의 응답 처리 방법 및 이를 지원하는 전자 장치
CN105378742B (zh) 所管理的生物计量身份
JP7254772B2 (ja) ロボットインタラクションのための方法及びデバイス
US10146882B1 (en) Systems and methods for online matching using non-self-identified data
US9244533B2 (en) Camera navigation for presentations
KR102001293B1 (ko) 로봇 상의 소프트웨어 애플리케이션 실행하기
US10304352B2 (en) Electronic device and method for sharing image
CN106573375A (zh) 用于管理机器人的对话的方法和系统
JP6292295B2 (ja) 連携システム、装置、方法、および記録媒体
CN110300951A (zh) 媒体项附接系统
JP7278307B2 (ja) コンピュータプログラム、サーバ装置、端末装置及び表示方法
US20240098211A1 (en) User interface for pose driven virtual effects
US11956190B2 (en) Messaging system with a carousel of related entities
JPWO2016136104A1 (ja) 情報処理装置、情報処理方法及びプログラム
KR102590988B1 (ko) 아바타와 함께 운동하는 메타버스 서비스 제공 장치, 방법 및 프로그램
US20230214875A1 (en) Content-based incentive program within messaging system
CN112820265B (zh) 一种语音合成模型训练方法和相关装置
WO2021036839A1 (zh) 摄像头控制的方法、装置和终端设备
CN112752159B (zh) 一种互动方法和相关装置
US11893166B1 (en) User avatar movement control using an augmented reality eyewear device
US11922587B2 (en) Dynamic augmented reality experience
US20230353521A1 (en) Monitoring user activity on messaging platform

Legal Events

Date Code Title Description
A107 Divisional application of patent
GRNT Written decision to grant