KR20230037092A - Apparatus and method for provide avatar on virtual stage for convergence education of art and technology - Google Patents

Apparatus and method for provide avatar on virtual stage for convergence education of art and technology Download PDF

Info

Publication number
KR20230037092A
KR20230037092A KR1020210119713A KR20210119713A KR20230037092A KR 20230037092 A KR20230037092 A KR 20230037092A KR 1020210119713 A KR1020210119713 A KR 1020210119713A KR 20210119713 A KR20210119713 A KR 20210119713A KR 20230037092 A KR20230037092 A KR 20230037092A
Authority
KR
South Korea
Prior art keywords
user terminal
code
virtual stage
processor
coordinates
Prior art date
Application number
KR1020210119713A
Other languages
Korean (ko)
Other versions
KR102584076B1 (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 주식회사 애이비씨랩
Priority to KR1020210119713A priority Critical patent/KR102584076B1/en
Publication of KR20230037092A publication Critical patent/KR20230037092A/en
Application granted granted Critical
Publication of KR102584076B1 publication Critical patent/KR102584076B1/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/00Information and communication technology [ICT] specially adapted for implementation of business processes of 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
    • G06KGRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
    • G06K19/00Record carriers for use with machines and with at least a part designed to carry digital markings
    • G06K19/06Record carriers for use with machines and with at least a part designed to carry digital markings characterised by the kind of the digital marking, e.g. shape, nature, code
    • G06K19/06009Record carriers for use with machines and with at least a part designed to carry digital markings characterised by the kind of the digital marking, e.g. shape, nature, code with optically detectable marking
    • G06K19/06037Record carriers for use with machines and with at least a part designed to carry digital markings characterised by the kind of the digital marking, e.g. shape, nature, code with optically detectable marking multi-dimensional coding
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • 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/00Information and communication technology [ICT] specially adapted for implementation of business processes of specific business sectors, e.g. utilities or tourism
    • G06Q50/10Services
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/20Analysis of motion
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M1/00Substation equipment, e.g. for use by subscribers
    • H04M1/02Constructional features of telephone sets
    • H04M1/0202Portable telephone sets, e.g. cordless phones, mobile phones or bar type handsets
    • H04M1/026Details of the structure or mounting of specific components
    • H04M1/0264Details of the structure or mounting of specific components for a camera module assembly

Landscapes

  • Engineering & Computer Science (AREA)
  • Business, Economics & Management (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Tourism & Hospitality (AREA)
  • Strategic Management (AREA)
  • Human Resources & Organizations (AREA)
  • General Engineering & Computer Science (AREA)
  • Educational Administration (AREA)
  • Educational Technology (AREA)
  • Primary Health Care (AREA)
  • General Business, Economics & Management (AREA)
  • Health & Medical Sciences (AREA)
  • Economics (AREA)
  • Marketing (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Computer Hardware Design (AREA)
  • Computer Graphics (AREA)
  • General Health & Medical Sciences (AREA)
  • Artificial Intelligence (AREA)
  • Computing Systems (AREA)
  • Medical Informatics (AREA)
  • Mathematical Physics (AREA)
  • Radar, Positioning & Navigation (AREA)
  • Remote Sensing (AREA)
  • Evolutionary Computation (AREA)
  • Data Mining & Analysis (AREA)
  • Architecture (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • User Interface Of Digital Computer (AREA)
  • Processing Or Creating Images (AREA)

Abstract

According to an embodiment of the present invention, the apparatus for providing an avatar on a virtual stage for convergence education of art and technology comprises: a communication circuit configured to communicate with a user terminal; a memory; and a processor electrically connected to the communication circuit and the memory. The processor is able to receive a code expressing a plurality of objects corresponding to each of a plurality of body parts from a user terminal using the communication circuit, convert the received code into a designated format, acquire the converted code through an input window corresponding to each of the plurality of body parts, acquire a video image on a user photographed by the user terminal by using the communication circuit, acquire a plurality of coordinates corresponding to each of the plurality of body parts by analyzing the video image, and provide a virtual stage displaying a plurality of objects at locations corresponding to each of the plurality of coordinates by using the communication circuit to the user terminal. Therefore, immersion of education can be improved.

Description

예술과 기술의 융합 교육을 위한 가상 스테이지에서의 아바타 제공 장치 및 방법{APPARATUS AND METHOD FOR PROVIDE AVATAR ON VIRTUAL STAGE FOR CONVERGENCE EDUCATION OF ART AND TECHNOLOGY}Apparatus and method for providing an avatar on a virtual stage for convergence education of art and technology

본 문서에서 개시되는 실시 예들은 사용자의 코드 입력에 따라 가상 스테이지에서 아바타를 구현하여 출력하는 장치 및 방법과 관련된다.Embodiments disclosed in this document relate to a device and method for implementing and outputting an avatar on a virtual stage according to a user's code input.

2015년에 국제사회는 지속가능발전목표(SDGs)를 제정하였다. 특히, 교육 관련 목표(SDG 4.7)는 “지속 가능 발전과 세계 시민 의식”에 대한 내용을 포함하고 있다. 지속 가능 발전과 세계 시민 의식은 환경 지속 가능성, 지속 가능하고 포용적인 경제, 포용적인 사회 발전 등을 주제로 한다. 이 중 환경 지속 가능성을 주제로 하는 지속가능발전교육(ESD)은 지속 가능한 미래와 사회 변혁을 위해 필요한 가치, 행동 및 삶의 방식 등을 배울 수 있는 사회를 지향하는 교육을 의미한다. 이와 관련된 교육은 실제로 경제 성장률 상승, 환경 보호 활동 증진 및 범죄율 감소 등과 같은 효과를 낳고 있다. 따라서, 지속가능발전교육의 일환으로 예술과 기술의 융합 교육을 제안할 필요성이 있다.In 2015, the international community enacted the Sustainable Development Goals (SDGs). In particular, the education-related goals (SDG 4.7) include content on “sustainable development and global citizenship.” Sustainable Development and Global Citizenship covers environmental sustainability, a sustainable and inclusive economy, and inclusive social development. Among them, education for sustainable development (ESD), which has the theme of environmental sustainability, means education that aims for a society where people can learn the values, behaviors, and lifestyles necessary for a sustainable future and social transformation. Education related to this actually produces effects such as increased economic growth rate, increased environmental protection activities, and reduced crime rates. Therefore, there is a need to propose convergence education between arts and technology as part of education for sustainable development.

예술과 기술의 융합 교육을 통해 참여자들은 자유로운 상상력과 창의력을 발전시킬 수 있다. 예술과 기술의 융합 교육을 위한 다양한 교육 과정의 개발 및 운영이 시도되고 있으나, 온라인 플랫폼을 통한 교육 방법은 부재한 상황이다. 특히, 언택트 시대에 대응하기 위해서는 상술한 온라인 플랫폼의 개발의 필요성이 더욱 높을 수 있다.Through art and technology convergence education, participants can develop free imagination and creativity. Development and operation of various educational courses for art and technology convergence education are being attempted, but there is no educational method through an online platform. In particular, in order to respond to the untact era, the need to develop the above-mentioned online platform may be higher.

본 발명의 실시 예들은, 온라인 플랫폼을 이용하여 몸의 움직임을 통한 표현과 컴퓨터 프로그래밍에 대한 교육을 수행할 수 있는 장치 및 방법을 제공하기 위한 것이다.Embodiments of the present invention are to provide a device and method capable of performing education on computer programming and expression through body movements using an online platform.

본 문서에 개시되는 일 실시 예에 따른 예술과 기술의 융합 교육을 위한 가상 스테이지에서의 아바타 제공 장치는 사용자 단말과 통신하도록 구성된 통신 회로, 메모리, 및 통신 회로 및 메모리와 전기적으로 연결된 프로세서를 포함하고, 프로세서는 통신 회로를 이용하여 사용자 단말로부터 복수의 신체 부위 각각에 대응하는 복수의 오브젝트를 표현하는 코드를 수신하고, 수신된 코드를 지정된 형식으로 변환하고, 복수의 신체 부위 각각에 대응하는 입력 창을 통해 변환된 코드를 획득하고, 통신 회로를 이용하여 사용자 단말에 의해 촬영된 사용자에 대한 비디오 영상을 획득하고, 비디오 영상을 분석함으로써 복수의 신체 부위 각각에 대응하는 복수의 좌표를 획득하고, 통신 회로를 이용하여 복수의 좌표 각각에 대응하는 위치에 복수의 오브젝트를 표시하는 가상 스테이지를 사용자 단말로 제공할 수 있다.An apparatus for providing an avatar on a virtual stage for convergence education of art and technology according to an embodiment disclosed in this document includes a communication circuit configured to communicate with a user terminal, a memory, and a processor electrically connected to the communication circuit and memory, , The processor receives a code representing a plurality of objects corresponding to each of a plurality of body parts from a user terminal using a communication circuit, converts the received code into a designated format, and inputs an input window corresponding to each of a plurality of body parts. Obtaining a code converted through, obtaining a video image of the user captured by the user terminal using a communication circuit, obtaining a plurality of coordinates corresponding to each of a plurality of body parts by analyzing the video image, and communicating A virtual stage displaying a plurality of objects at a position corresponding to each of a plurality of coordinates may be provided to a user terminal by using a circuit.

일 실시 예에 따르면, 프로세서는 머신 러닝 모델을 이용하여 비디오 영상을 분석함으로써 복수의 신체 부위 각각에 대응하는 복수의 2차원 좌표를 획득하고, 복수의 2차원 좌표에 대한 기준 좌표를 비디오 영상의 하단 중앙 지점으로 변경하고, 변경된 복수의 2차원 좌표 각각을 비디오 영상의 높이를 기준으로 정규화하고, 정규화된 복수의 2차원 좌표 각각을 가상 스테이지에 대응하도록 복수의 3차원 좌표로 변환하고, 변환된 복수의 3차원 좌표 각각에 대응하는 위치에 복수의 오브젝트를 표시하는 가상 스테이지를 사용자 단말로 제공할 수 있다.According to an embodiment, the processor acquires a plurality of 2-dimensional coordinates corresponding to each of a plurality of body parts by analyzing a video image using a machine learning model, and sets reference coordinates for the plurality of 2-dimensional coordinates at the bottom of the video image. It is changed to the central point, each of the changed plurality of 2D coordinates is normalized based on the height of the video image, each of the plurality of normalized 2D coordinates is converted into a plurality of 3D coordinates to correspond to the virtual stage, and the plurality of transformed 2D coordinates are converted. A virtual stage displaying a plurality of objects at positions corresponding to each of the 3D coordinates may be provided to the user terminal.

일 실시 예에 따르면, 프로세서는 사용자 단말에서 가상 스테이지 상의 복수의 오브젝트 중 하나의 오브젝트가 선택되면, 선택된 오브젝트에 대응하는 입력 창을 제공하고, 통신 회로를 이용하여 사용자 단말로부터 선택된 오브젝트를 변경하기 위한 수정된 코드를 수신하고, 선택된 오브젝트를 대체하여 수정된 코드에 대응하는 수정된 오브젝트를 표시하는 가상 스테이지를 사용자 단말로 제공할 수 있다.According to an embodiment, when one object is selected from among a plurality of objects on a virtual stage in a user terminal, the processor provides an input window corresponding to the selected object and changes the selected object from the user terminal using a communication circuit. A virtual stage displaying a modified object corresponding to the modified code by receiving the modified code and replacing the selected object may be provided to the user terminal.

일 실시 예에 따르면, 프로세서는 사용자 단말의 요청에 반응하여 사용자 단말로 QR 코드를 제공하고, QR 코드를 촬영한 다른 사용자 단말로 추가 오브젝트 선택 화면 및 추가 오브젝트 제어 패널을 제공하고, 추가 오브젝트 선택 화면에서 선택된 추가 오브젝트를 가상 스테이지에 표시하고, 추가 오브젝트 제어 패널에 대한 입력에 반응하여 가상 스테이지에서 추가 오브젝트의 위치 또는 크기를 조절하고, 가상 스테이지에서 복수의 오브젝트 중 적어도 일부와 추가 오브젝트가 인접하는 경우, 추가 오브젝트에 대응하는 시각적 또는 청각적 상호작용을 제공할 수 있다.According to an embodiment, the processor provides a QR code to the user terminal in response to a request from the user terminal, provides an additional object selection screen and an additional object control panel to another user terminal that has photographed the QR code, and provides an additional object selection screen displaying an additional object selected on the virtual stage, adjusting the position or size of the additional object on the virtual stage in response to an input to the additional object control panel, and adjoining at least some of the plurality of objects on the virtual stage and the additional object. , may provide a visual or auditory interaction corresponding to the additional object.

본 문서에 개시되는 일 실시 예에 따른 하나 이상의 컴퓨팅 디바이스에 의해 수행되는 예술과 기술의 융합 교육을 위한 가상 스테이지에서의 아바타 제공 방법은 사용자 단말로부터 복수의 신체 부위 각각에 대응하는 복수의 오브젝트를 표현하는 코드를 수신하는 단계, 수신된 코드를 지정된 형식으로 변환하는 단계, 복수의 신체 부위 각각에 대응하는 입력 창을 통해 변환된 코드를 획득하는 단계, 사용자 단말에 의해 촬영된 사용자에 대한 비디오를 획득하는 단계, 비디오를 분석함으로써 복수의 신체 부위 각각에 대응하는 복수의 좌표를 획득하는 단계, 및 복수의 좌표 각각에 대응하는 위치에 복수의 오브젝트를 표시하는 가상 스테이지를 사용자 단말로 제공하는 단계를 포함할 수 있다.A method for providing an avatar on a virtual stage for art and technology convergence education performed by one or more computing devices according to an embodiment disclosed in this document expresses a plurality of objects corresponding to a plurality of body parts from a user terminal. Receiving a code to receive a code, converting the received code into a designated format, acquiring the converted code through an input window corresponding to each of a plurality of body parts, obtaining a video of the user captured by the user terminal obtaining a plurality of coordinates corresponding to each of a plurality of body parts by analyzing the video, and providing a virtual stage displaying a plurality of objects at positions corresponding to each of the plurality of coordinates to a user terminal. can do.

본 문서에 개시되는 실시 예들에 따르면, 사용자에 의해 입력된 코드 및 사용자의 움직임을 촬영한 비디오 영상을 이용하여 가상 스테이지에 다수의 사용자의 움직임에 각각 대응하는 다양한 오브젝트를 출력함으로써, 신체의 움직임에 의한 표현과 컴퓨터 프로그래밍을 위한 융합 교육을 수행할 수 있다.According to the embodiments disclosed in this document, by using a code input by a user and a video image of a user's motion, various objects corresponding to a plurality of user's motions are output on a virtual stage, thereby controlling the motion of the body. Convergence education for expression and computer programming can be performed.

또한, 교육 대상자 또는 관객에 의해 제어되는 추가 오브젝트를 제공함으로써, 다양한 무대 장식의 제공 및 관객 참여를 가능하게 하여 교육의 몰입감을 향상시킬 수 있다.In addition, by providing an additional object controlled by an education subject or an audience, it is possible to improve immersion in education by providing various stage decorations and enabling audience participation.

이 외에, 본 문서를 통해 직접적 또는 간접적으로 파악되는 다양한 효과들이 제공될 수 있다.In addition to this, various effects identified directly or indirectly through this document may be provided.

도 1은 일 실시 예에 따른 가상 스테이지에서의 아바타 제공 장치의 동작 환경을 나타낸다.
도 2는 일 실시 예에 따른 가상 스테이지에서의 아바타 제공 장치의 구성을 도시하는 블록도이다.
도 3은 일 실시 예에 따른 가상 스테이지에서의 아바타 제공 장치의 예시적인 동작을 설명하기 위한 도면이다.
도 4는 일 실시 예에 따른 가상 스테이지에서의 아바타 제공 장치의 예시적인 동작을 설명하기 위한 도면이다.
도 5는 일 실시 예에 따른 가상 스테이지에서의 아바타 제공 장치의 예시적인 동작을 설명하기 위한 도면이다.
도 6은 일 실시 예에 따른 가상 스테이지에서의 아바타 제공 장치의 예시적인 동작을 설명하기 위한 도면이다.
도 7은 일 실시 예에 따른 가상 스테이지에서의 아바타 제공 장치의 예시적인 동작을 설명하기 위한 도면이다.
도 8은 일 실시 예에 따른 가상 스테이지에서의 아바타 제공 장치의 예시적인 동작을 설명하기 위한 도면이다.
도 9는 일 실시 예에 따른 가상 스테이지에서의 아바타 제공 장치의 예시적인 동작을 설명하기 위한 도면이다.
도 10은 일 실시 예에 따른 가상 스테이지에서의 아바타 제공 방법을 설명하기 위한 흐름도이다.
도면의 설명과 관련하여, 동일 또는 유사한 구성요소에 대해서는 동일 또는 유사한 참조 부호가 사용될 수 있다.
1 illustrates an operating environment of an avatar providing device on a virtual stage according to an exemplary embodiment.
2 is a block diagram illustrating a configuration of an avatar providing device on a virtual stage according to an exemplary embodiment.
3 is a diagram for explaining an exemplary operation of an avatar providing device on a virtual stage according to an embodiment.
4 is a diagram for explaining an exemplary operation of an avatar providing device on a virtual stage according to an embodiment.
5 is a diagram for explaining an exemplary operation of an avatar providing device on a virtual stage according to an embodiment.
6 is a diagram for explaining an exemplary operation of an avatar providing device on a virtual stage according to an embodiment.
7 is a diagram for explaining an exemplary operation of an avatar providing device on a virtual stage according to an embodiment.
8 is a diagram for explaining an exemplary operation of an avatar providing device on a virtual stage according to an embodiment.
9 is a diagram for explaining an exemplary operation of an avatar providing device on a virtual stage according to an embodiment.
10 is a flowchart illustrating a method of providing an avatar on a virtual stage according to an exemplary embodiment.
In connection with the description of the drawings, the same or similar reference numerals may be used for the same or similar elements.

이하, 본 발명의 일부 실시 예들을 예시적인 도면을 통해서 상세하게 설명한다. 그러나, 이는 본 발명을 특정한 실시 형태에 대해 한정하려는 것이 아니며, 본 발명의 실시 예의 다양한 변경, 균등물 또는 대체물을 포함하는 것으로 이해되어야 한다. 각 도면의 구성요소들에 참조부호를 부가함에 있어서, 동일한 구성요소들에 대해서는 비록 다른 도면상에 표시되더라도 가능한 한 동일한 부호를 가지도록 하고 있음에 유의해야 한다. 또한, 본 발명의 실시 예를 설명함에 있어 관련된 공지 구성 또는 기능에 대한 구체적인 설명이 본 발명의 실시 예에 대한 이해를 방해한다고 판단되는 경우에는 그 상세한 설명은 생략한다.Hereinafter, some embodiments of the present invention will be described in detail through exemplary drawings. However, this is not intended to limit the present invention to specific embodiments, and should be understood to include various modifications, equivalents or substitutes of the embodiments of the present invention. In adding reference numerals to components of each drawing, it should be noted that the same components have the same numerals as much as possible even if they are displayed on different drawings. In addition, when it is determined that a detailed description of a related known configuration or function in describing an embodiment of the present invention interferes with understanding of the embodiment of the present invention, the detailed description thereof will be omitted.

도 1은 일 실시 예에 따른 가상 스테이지에서의 아바타 제공 장치의 동작 환경을 나타낸다.1 illustrates an operating environment of an avatar providing device on a virtual stage according to an exemplary embodiment.

도 1을 참조하면, 일 실시 예에 따른 가상 스테이지에서의 아바타 제공 장치는 서버(100) 형태로 구현될 수 있다. 서버(100)는 예술과 기술의 융합 교육을 위한 플랫폼으로서 복수의 사용자(1, 2, 3)의 복수의 사용자 단말(11, 12, 13)과의 통신을 통해 복수의 사용자(1, 2, 3)의 움직임에 따라 반응하는 아바타를 포함하는 가상 스테이지를 제공할 수 있다. 아바타는 사용자의 신체 부위 각각에 대응하는 복수의 오브젝트를 포함할 수 있다.Referring to FIG. 1 , an apparatus for providing an avatar on a virtual stage according to an embodiment may be implemented in the form of a server 100 . The server 100 is a platform for art and technology convergence education, and a plurality of users (1, 2, 3) through communication with a plurality of user terminals (11, 12, 13) of the plurality of users (1, 2, 3). 3) It is possible to provide a virtual stage including an avatar that reacts according to the movement. The avatar may include a plurality of objects corresponding to each body part of the user.

예를 들어, 서버(100)는 복수의 사용자 단말(11, 12, 13)로부터 복수의 사용자(1, 2, 3)에 의해 작성된 코드를 수신할 수 있다. 서버(100)는 복수의 사용자 단말(11, 12, 13)에 의해 촬영된 복수의 사용자(1, 2, 3) 각각에 대한 비디오 영상을 획득할 수 있다. 서버(100)는 비디오 영상을 분석함으로써 복수의 사용자(1, 2, 3) 각각의 움직임을 인식할 수 있다. 서버(100)는 복수의 사용자(1, 2, 3) 각각의 움직임에 따라 가상 스테이지에 작성된 코드에 대응하는 복수의 오브젝트를 포함하는 아바타를 표시할 수 있다. 복수의 사용자(1, 2, 3)는 코드의 입력에 의해 구현된 아바타를 확인함으로써 코딩을 학습할 수 있고, 자신의 움직임에 반응하는 아바타를 이용하여 신체를 활용한 표현 방법을 학습할 수 있다.For example, the server 100 may receive codes written by a plurality of users 1, 2, and 3 from a plurality of user terminals 11, 12, and 13. The server 100 may acquire video images for each of the plurality of users 1, 2, and 3 captured by the plurality of user terminals 11, 12, and 13. The server 100 may recognize the movement of each of the plurality of users 1, 2, and 3 by analyzing the video image. The server 100 may display avatars including a plurality of objects corresponding to codes written on the virtual stage according to the movements of each of the plurality of users 1, 2, and 3. A plurality of users (1, 2, 3) can learn coding by checking avatars implemented by code input, and can learn expression methods using their bodies using avatars that respond to their movements. .

복수의 사용자(1, 2, 3)가 복수의 사용자 단말(11, 12, 13)을 이용하여 학습을 수행하는 동안, 다른 사용자(4)(예: 관객, 참관인 또는 보호자)는 사용자 단말(14)을 이용하여 학습에 참여할 수 있다. 예를 들어, 서버(100)는 사용자 단말(14)로 소품 오브젝트를 선택하기 위한 선택 메뉴 및 소품 오브젝트를 제어하기 위한 제어 패널을 제공할 수 있다. 서버(100)는 선택 메뉴에서 선택된 소품 오브젝트를 가상 스테이지에 표시할 수 있고, 제어 패널에 대한 입력에 따라 소품 오브젝트의 위치 및 크기 등을 제어할 수 있다. 서버(100)는 복수의 사용자에 대응하는 아바타와 소품 오브젝트 사이의 시각적 또는 청각적 상호작용을 제공할 수도 있다. 소품 오브젝트를 이용하여 다양한 무대 장식을 제공하고 능동적 관객 참여를 유도함으로써 교육의 몰입감이 향상될 수 있다.While a plurality of users 1, 2, and 3 perform learning using a plurality of user terminals 11, 12, and 13, other users 4 (eg, spectators, observers, or guardians) use the user terminals 14 ) can be used to participate in learning. For example, the server 100 may provide a selection menu for selecting a prop object to the user terminal 14 and a control panel for controlling the prop object. The server 100 may display the prop object selected from the selection menu on the virtual stage, and may control the position and size of the prop object according to an input to the control panel. The server 100 may provide visual or auditory interactions between avatars corresponding to a plurality of users and prop objects. A sense of immersion in education can be improved by providing various stage decorations using prop objects and inducing active audience participation.

도 1에서는 가상 스테이지에서의 아바타 제공 장치가 서버(100)로 구현된 것으로 도시되었으나, 이에 제한되지 않고, 가상 스테이지에서의 아바타 제공 장치는 사용자 단말 형태로 구현될 수도 있고, 2 이상의 장치(예: 사용자 단말 및 서버, 또는 2개의 서버)로 분산된 환경에서 구현될 수도 있다.In FIG. 1 , the avatar providing device on the virtual stage is illustrated as being implemented by the server 100, but is not limited thereto, and the avatar providing device on the virtual stage may be implemented in the form of a user terminal, and two or more devices (e.g., A user terminal and a server, or two servers) may be implemented in a distributed environment.

도 2는 일 실시 예에 따른 가상 스테이지에서의 아바타 제공 장치의 구성을 도시하는 블록도이다.2 is a block diagram illustrating a configuration of an avatar providing device on a virtual stage according to an exemplary embodiment.

도 2를 참조하면, 일 실시 예에 따른 가상 스테이지에서의 아바타 제공 장치(200)는 통신 회로(210), 메모리(220) 및 프로세서(230)를 포함할 수 있다. 가상 스테이지에서의 아바타 제공 장치(200)는, 예를 들어, 서버 형태로 구현될 수도 있고, 데스크탑, 랩탑, 태블릿 또는 스마트폰 등과 같은 사용자 단말 형태로 구현될 수도 있다. 가상 스테이지에서의 아바타 제공 장치(200)는 물리적으로는 온 프레미스(on premise) 또는 클라우드에 위치할 수도 있다. 다른 예를 들면, 가상 스테이지에서의 아바타 제공 장치(200)는 2 이상으로 분산된 환경의 컴퓨팅 디바이스로 구현될 수도 있다.Referring to FIG. 2 , an apparatus 200 for providing an avatar on a virtual stage according to an embodiment may include a communication circuit 210 , a memory 220 and a processor 230 . The avatar providing apparatus 200 on the virtual stage may be implemented, for example, in the form of a server or in the form of a user terminal such as a desktop, laptop, tablet, or smart phone. The avatar providing device 200 on the virtual stage may be physically located on premise or in the cloud. For another example, the avatar providing apparatus 200 on the virtual stage may be implemented with two or more computing devices in a distributed environment.

통신 회로(210)는 복수의 사용자 단말(21, 22, 23, 24)과 무선 또는 유선으로 통신하도록 구성될 수 있다. 통신 회로(210)는 복수의 사용자 단말(21, 22, 23, 24)과 데이터를 송수신할 수 있다. 예를 들어, 통신 회로(210)는 코드 및 비디오 영상 등을 송수신할 수 있다.The communication circuit 210 may be configured to communicate with a plurality of user terminals 21, 22, 23, and 24 wirelessly or wired. The communication circuit 210 may transmit and receive data with a plurality of user terminals 21, 22, 23, and 24. For example, the communication circuit 210 may transmit and receive codes and video images.

메모리(220)는 휘발성 메모리 및/또는 비휘발성 메모리를 포함할 수 있다. 메모리(220)는 가상 스테이지에서의 아바타 제공 장치(200)에서 취급되는 다양한 데이터를 저장할 수 있다. 예를 들어, 메모리(220)는 가상 스테이지에서의 아바타 제공 장치(200) 내부에서 처리된 데이터를 저장할 수 있고, 외부로부터 수신된 데이터를 저장할 수도 있다. 예를 들어, 메모리(220)는 코드 및 비디오 영상 등을 일시적으로 또는 비일시적으로 저장할 수 있다.Memory 220 may include volatile memory and/or non-volatile memory. The memory 220 may store various data handled by the avatar providing apparatus 200 on the virtual stage. For example, the memory 220 may store data processed inside the avatar providing apparatus 200 on the virtual stage or may store data received from the outside. For example, the memory 220 may temporarily or non-temporarily store codes and video images.

프로세서(230)는 통신 회로(210) 및 메모리(220)와 전기적으로 연결될 수 있다. 프로세서(230)는 통신 회로(210) 및 메모리(220)를 제어할 수 있고, 다양한 데이터 처리 및 연산을 수행할 수 있다. 도 2에서는 프로세서(230)가 단일의 구성인 것으로 도시되었으나, 복수의 구성으로 분리되어 구현될 수도 있다. 프로세서(230)는 메모리(220)에 저장된 소프트웨어 내지 인스트럭션을 실행함으로써, 이하와 같은 동작을 수행할 수 있다. 이하에서는 설명의 편의를 위해 장치(200)와 제1 사용자 단말(21) 사이의 동작에 대해 설명할 것이나, 장치(200)는 복수의 사용자 단말(제1 사용자 단말(21), 제2 사용자 단말(22) 및 제3 사용자 단말(23))에 대해 동시에 동일한 동작을 수행할 수 있다.The processor 230 may be electrically connected to the communication circuit 210 and the memory 220 . The processor 230 may control the communication circuit 210 and the memory 220 and may perform various data processing and calculations. Although the processor 230 is shown as a single component in FIG. 2 , it may be implemented as being separated into a plurality of components. The processor 230 may perform the following operations by executing software or instructions stored in the memory 220 . Hereinafter, for convenience of description, an operation between the device 200 and the first user terminal 21 will be described, but the device 200 includes a plurality of user terminals (the first user terminal 21 and the second user terminal 21). (22) and the third user terminal 23) can perform the same operation at the same time.

일 실시 예에 따르면, 프로세서(230)는 통신 회로(210)를 이용하여 제1 사용자 단말(21)로부터 복수의 신체 부위 각각에 대응하는 복수의 오브젝트를 표현하는 코드를 수신할 수 있다. 프로세서(230)는 제1 사용자 단말(21)로부터 머리, 어깨, 팔꿈치, 손목, 무릎 및 발목 등과 같은 신체 부위 각각에 대응하는 코드를 수신할 수 있다. 코드는 신체 부위에 대응하는 오브젝트의 색상, 형태, 크기 및 위치 등을 설정하는 코드일 수 있다. 프로세서(230)는 제1 사용자 단말(21)로 코드의 입력을 위한 에디터를 제공할 수 있고, 에디터를 통해 코드를 수신할 수 있다. 프로세서(230)는 입력된 코드에 대응하는 프리뷰를 제1 사용자 단말(21)로 제공할 수 있다. 사용자는 자신이 작성한 코드에 의해 표현된 오브젝트를 확인할 수 있고, 자신이 원하는 형태의 오브젝트를 생성하기 위해 코드를 편집할 수 있다.According to an embodiment, the processor 230 may receive codes representing a plurality of objects corresponding to each of a plurality of body parts from the first user terminal 21 using the communication circuit 210 . The processor 230 may receive codes corresponding to body parts such as the head, shoulders, elbows, wrists, knees, and ankles from the first user terminal 21 . The code may be a code for setting the color, shape, size, position, and the like of an object corresponding to a body part. The processor 230 may provide an editor for inputting a code to the first user terminal 21 and may receive the code through the editor. The processor 230 may provide a preview corresponding to the input code to the first user terminal 21 . The user can check the object represented by the code written by the user, and can edit the code to create an object of a desired shape.

일 실시 예에 따르면, 프로세서(230)는 수신된 코드를 지정된 형식으로 변환할 수 있다. 프로세서(230)는 수신된 코드를 웹 페이지에서 동적으로 움직이는 오브젝트를 렌더링하기에 적합한 형태로 변환할 수 있다. 예를 들어, 프로세서(230)는 수신된 코드를 자바스크립트로 변환할 수 있다.According to one embodiment, the processor 230 may convert the received code into a designated format. The processor 230 may convert the received code into a form suitable for rendering a dynamically moving object on a web page. For example, the processor 230 may convert the received code into JavaScript.

일 실시 예에 따르면, 프로세서(230)는 복수의 신체 부위 각각에 대응하는 입력 창을 통해 변환된 코드를 획득할 수 있다. 프로세서(230)는 머리, 어깨, 팔꿈치, 손목, 무릎 및 발목 등과 같은 신체 부위 각각에 대응하는 복수의 입력 창을 제1 사용자 단말(21)로 제공할 수 있다. 프로세서(230)는 제1 사용자 단말(21)로부터 복수의 입력 창 각각을 통해 입력 창에 대응하는 신체 부위에 대한 변환된 코드를 수신할 수 있다.According to an embodiment, the processor 230 may obtain the converted code through an input window corresponding to each of a plurality of body parts. The processor 230 may provide the first user terminal 21 with a plurality of input windows corresponding to body parts such as the head, shoulders, elbows, wrists, knees, and ankles. The processor 230 may receive a converted code for a body part corresponding to an input window through each of a plurality of input windows from the first user terminal 21 .

일 실시 예에 따르면, 프로세서(230)는 복수의 신체 부위 각각에 대응하는 복수의 오브젝트를 사용자의 선택에 따라 설정할 수 있다. 프로세서(230)는 다양한 종류의 오브젝트 아이콘을 제공할 수 있다. 프로세서(230)는 제공된 오브젝트 아이콘 중 사용자에 의해 선택된 아이콘을 신체 부위에 대응하는 오브젝트로 설정할 수 있다. 프로세서(230)는 방향키 또는 GUI 버튼에 대한 입력에 따라 오브젝트의 위치 좌표를 변경할 수 있다.According to an embodiment, the processor 230 may set a plurality of objects corresponding to each of a plurality of body parts according to a user's selection. The processor 230 may provide various types of object icons. The processor 230 may set an icon selected by the user among provided object icons as an object corresponding to a body part. The processor 230 may change the location coordinates of an object according to an input to a direction key or a GUI button.

일 실시 예에 따르면, 프로세서(230)는 통신 회로(210)를 이용하여 제1 사용자 단말(21)에 의해 촬영된 사용자에 대한 비디오 영상을 획득할 수 있다. 제1 사용자 단말(21)은 카메라를 포함할 수 있고, 사용자는 카메라를 이용하여 자신이 포함된 비디오 영상을 촬영할 수 있다. 프로세서(230)는 제1 사용자 단말(21)로부터 촬영 중인 비디오 영상을 실시간으로 수신할 수 있다.According to an embodiment, the processor 230 may obtain a video image of a user captured by the first user terminal 21 using the communication circuit 210 . The first user terminal 21 may include a camera, and the user may take a video image of himself/herself using the camera. The processor 230 may receive a video image being photographed from the first user terminal 21 in real time.

일 실시 예에 따르면, 프로세서(230)는 비디오 영상을 분석함으로써 복수의 신체 부위 각각에 대응하는 복수의 좌표를 획득할 수 있다. 예를 들어, 프로세서(230)는 머신 러닝 모델을 이용하여 비디오 영상을 분석함으로써 복수의 신체 부위 각각에 대응하는 복수의 2차원 좌표를 획득할 수 있다. 프로세서(230)는 비디오 영상으로부터 특징점을 추출함으로써, 머리 및 관절의 위치 등을 트래킹할 수 있다. 예를 들어, 프로세서(230)는 해상도 640×480 영상에서 머리에 대응하는 좌표 (340, 80)을 획득할 수 있다. 프로세서(230)는 복수의 2차원 좌표에 대한 기준 좌표를 비디오 영상의 좌상단 지점에서 비디오 영상의 하단 중앙 지점으로 변경할 수 있다. 예를 들어, 프로세서(230)는 비디오 영상의 좌상단 지점을 원점으로 하는 좌표 (340, 80)을 비디오 영상의 하단 중앙 지점을 원점으로 하는 좌표 (20, -400)으로 변경할 수 있다. 프로세서(230)는 변경된 복수의 2차원 좌표 각각을 비디오 영상의 높이를 기준으로 정규화할 수 있다. 예를 들어, 프로세서(230)는 좌표 (20, -400)을 정규화함으로써 좌표 (0.0417, -0.8333)을 획득할 수 있다. 프로세서(230)는 정규화된 복수의 2차원 좌표 각각을 가상 스테이지에 대응하도록 복수의 3차원 좌표로 변환할 수 있다. 예를 들어, 프로세서(230)는 가상 스테이지에서 사용되는 형식에 대응하도록 2차원 좌표 (0.0417, -0.8333)을 3차원 좌표 (0.4166, 8.3330, 0)으로 변환할 수 있다. Z축 좌표는 기본 값으로 설정된 후, 가상 스테이지에서 사용자의 입력(예: 방향키 입력)에 따라 변경될 수 있다. 프로세서(230)는 비디오 영상을 실시간으로 반복적으로 분석함으로써, 사용자의 움직임에 따라 변화하는 복수의 좌표를 지속적으로 획득할 수 있고, 사용자의 움직임을 트래킹할 수 있다.According to an embodiment, the processor 230 may acquire a plurality of coordinates corresponding to each of a plurality of body parts by analyzing the video image. For example, the processor 230 may acquire a plurality of 2D coordinates corresponding to each of a plurality of body parts by analyzing a video image using a machine learning model. The processor 230 may track the positions of the head and joints by extracting feature points from the video image. For example, the processor 230 may obtain coordinates (340, 80) corresponding to the head in a 640×480 resolution image. The processor 230 may change the reference coordinates of the plurality of 2D coordinates from the top left corner of the video image to the bottom center point of the video image. For example, the processor 230 may change the coordinates (340, 80) whose origin is the top left corner of the video image to the coordinates (20, -400) whose origin is the bottom center point of the video image. The processor 230 may normalize each of the plurality of changed 2D coordinates based on the height of the video image. For example, the processor 230 may obtain the coordinates (0.0417, -0.8333) by normalizing the coordinates (20, -400). The processor 230 may convert each of the plurality of normalized 2D coordinates into a plurality of 3D coordinates to correspond to the virtual stage. For example, the processor 230 may convert 2D coordinates (0.0417, -0.8333) into 3D coordinates (0.4166, 8.3330, 0) to correspond to the format used in the virtual stage. After the Z coordinate is set as a basic value, it can be changed according to the user's input (eg, direction key input) on the virtual stage. The processor 230 may continuously acquire a plurality of coordinates that change according to the user's movement and track the user's movement by repeatedly analyzing the video image in real time.

일 실시 예에 따르면, 프로세서(230)는 통신 회로(210)를 이용하여 복수의 좌표(또는 변환된 3차원 좌표) 각각에 대응하는 위치에 복수의 오브젝트를 표시하는 가상 스테이지를 제1 사용자 단말(21)로 제공할 수 있다. 프로세서(230)는 3차원 가상 공간인 가상 스테이지에 대응하는 복수의 좌표를 획득할 수 있다. 프로세서(230)는 복수의 좌표 각각에 대응하는 위치에 입력 창에 입력된 코드에 의해 표현되는 복수의 오브젝트를 포함하는 아바타를 표시할 수 있다. 복수의 좌표는 사용자의 움직임에 따라 변화할 수 있고, 이에 따라 가상 스테이지 상에서 복수의 오브젝트를 포함하는 아바타는 사용자의 움직임에 대응하도록 움직일 수 있다. 사용자는 제1 사용자 단말(21)을 통해 자신이 입력한 코드에 대응하는 형태로 이루어지고 자신의 움직임에 따라 이동하는 복수의 오브젝트를 포함하는 아바타를 확인할 수 있다.According to an embodiment, the processor 230 uses the communication circuit 210 to create a virtual stage displaying a plurality of objects at positions corresponding to a plurality of coordinates (or converted 3D coordinates), respectively, in a first user terminal ( 21) can be provided. The processor 230 may obtain a plurality of coordinates corresponding to a virtual stage that is a 3D virtual space. The processor 230 may display an avatar including a plurality of objects represented by a code input to the input window at a position corresponding to each of a plurality of coordinates. A plurality of coordinates may change according to the user's movement, and accordingly, an avatar including a plurality of objects on the virtual stage may move to correspond to the user's movement. Through the first user terminal 21, the user can check an avatar that has a form corresponding to the code input by the user and includes a plurality of objects moving according to the user's movement.

일 실시 예에 따르면, 프로세서(230)는 관리자 단말의 제어에 따라 가상 스테이지에 대한 제어를 수행할 수 있다. 프로세서(230)는 가상 스테이지에서 제공되는 기능 중 적어도 일부를 관리자 단말에서의 입력에 따라 활성화하거나 중단할 수 있다.According to an embodiment, the processor 230 may control the virtual stage according to the control of the manager terminal. The processor 230 may activate or stop at least some of the functions provided in the virtual stage according to an input from the manager terminal.

일 실시 예에 따르면, 프로세서(230)는 가상 스테이지 상에서 복수의 오브젝트 각각을 수정 편집하는 기능을 제공할 수 있다. 예를 들어, 프로세서(230)는 제1 사용자 단말(21)에서 가상 스테이지 상의 복수의 오브젝트 중 하나의 오브젝트가 선택되면, 선택된 오브젝트에 대응하는 입력 창을 제공할 수 있다. 오브젝트에 대한 선택은 오브젝트에 대해 직접 입력을 수신하거나 오브젝트에 대응하는 메뉴 버튼에 대한 입력을 수신함으로써 이루어질 수 있다. 프로세서(230)는 통신 회로(210)를 이용하여 제1 사용자 단말(21)로부터 선택된 오브젝트를 변경하기 위한 수정된 코드를 수신할 수 있다. 프로세서(230)는 수정된 코드를 변환하고, 수정된 코드에 대응하는 신체 부위의 좌표를 획득할 수 있다. 프로세서(230)는 선택된 오브젝트를 대체하여 수정된 코드에 대응하는 수정된 오브젝트를 표시하는 가상 스테이지를 제1 사용자 단말(21)로 제공할 수 있다.According to an embodiment, the processor 230 may provide a function of modifying and editing each of a plurality of objects on the virtual stage. For example, when one object is selected from among a plurality of objects on the virtual stage in the first user terminal 21, the processor 230 may provide an input window corresponding to the selected object. Selection of an object may be made by receiving a direct input for the object or receiving an input for a menu button corresponding to the object. The processor 230 may receive a modified code for changing the selected object from the first user terminal 21 using the communication circuit 210 . The processor 230 may convert the modified code and obtain coordinates of a body part corresponding to the modified code. The processor 230 may replace the selected object and provide a virtual stage displaying a modified object corresponding to the modified code to the first user terminal 21 .

일 실시 예에 따르면, 프로세서(230)는 관객, 참관인 또는 보호자의 사용자 단말의 입력에 따라 가상 스테이지에 추가 오브젝트를 제공할 수 있다. 예를 들어, 프로세서(230)는 제1 사용자 단말(21)의 요청에 반응하여 제1 사용자 단말(21)로 QR 코드를 제공할 수 있다. 프로세서(230)는 QR 코드를 촬영한 제4 사용자 단말(24)로 추가 오브젝트 선택 화면 및 추가 오브젝트 제어 패널을 제공할 수 있다. 프로세서(230)는 제4 사용자 단말(24)의 추가 오브젝트 선택 화면에서 선택된 추가 오브젝트를 가상 스테이지에 표시할 수 있다. 프로세서(230)는 제4 사용자 단말(24)의 추가 오브젝트 제어 패널에 대한 입력에 반응하여 가상 스테이지에서 추가 오브젝트의 위치 또는 크기를 조절할 수 있다. 프로세서(230)는 가상 스테이지에서 복수의 오브젝트 중 적어도 일부와 추가 오브젝트가 인접하는 경우, 추가 오브젝트에 대응하는 시각적 또는 청각적 상호작용을 제공할 수 있다.According to an embodiment, the processor 230 may provide an additional object to the virtual stage according to an input of a user terminal of a spectator, observer, or guardian. For example, the processor 230 may provide a QR code to the first user terminal 21 in response to a request of the first user terminal 21 . The processor 230 may provide an additional object selection screen and an additional object control panel to the fourth user terminal 24 that has captured the QR code. The processor 230 may display the additional object selected on the additional object selection screen of the fourth user terminal 24 on the virtual stage. The processor 230 may adjust the position or size of the additional object on the virtual stage in response to an input to the additional object control panel of the fourth user terminal 24 . When the additional object is adjacent to at least some of the plurality of objects on the virtual stage, the processor 230 may provide a visual or auditory interaction corresponding to the additional object.

도 3은 일 실시 예에 따른 가상 스테이지에서의 아바타 제공 장치의 예시적인 동작을 설명하기 위한 도면이다.3 is a diagram for explaining an exemplary operation of an avatar providing device on a virtual stage according to an embodiment.

도 3을 참조하면, 일 실시 예에 따른 가상 스테이지에서의 아바타 제공 장치는 코드 입력을 위한 에디터(300)를 웹 페이지, 웹 어플리케이션 또는 네이티브 어플리케이션 등을 통해 사용자 단말로 제공할 수 있다. 에디터(300)는 p5.js 라이브러리를 기반으로 구성될 수 있다. 에디터(300)는 코드 입력 영역(310) 및 프리뷰 영역(320)을 포함할 수 있다.Referring to FIG. 3 , an apparatus for providing an avatar on a virtual stage according to an embodiment may provide an editor 300 for code input to a user terminal through a web page, a web application, or a native application. The editor 300 may be configured based on the p5.js library. The editor 300 may include a code input area 310 and a preview area 320 .

코드 입력 영역(310)은 사용자의 신체 부위 각각에 대응하는 코드를 수신할 수 있다. 예를 들어, 코드 입력 영역(310)은 사용자의 머리에 대응하는 코드를 수신할 수 있다. 코드는 하나 이상의 도형 각각의 색상(예: fill(“”, 형태(예: ellipse) 및 위치/크기(예: (0, 0, 300, 300))를 설정하기 위한 문자열을 포함할 수 있다. 프리뷰 영역(320)은 입력된 코드에 대응하는 이미지를 표시할 수 있다. 프리뷰 영역(320)은 입력된 코드에 나타난 색상, 형태 및 위치/크기에 따라 하나 이상의 도형을 시각화할 수 있다.The code input area 310 may receive a code corresponding to each part of the user's body. For example, the code input area 310 may receive a code corresponding to the user's head. The code may contain strings to set the color of each of one or more shapes (e.g. fill(“”, shape (e.g. ellipse)) and position/size (e.g. (0, 0, 300, 300)). The preview area 320 may display an image corresponding to the input code, and may visualize one or more figures according to the color, shape, and position/size indicated in the input code.

도 4는 일 실시 예에 따른 가상 스테이지에서의 아바타 제공 장치의 예시적인 동작을 설명하기 위한 도면이다.4 is a diagram for explaining an exemplary operation of an avatar providing device on a virtual stage according to an embodiment.

도 4를 참조하면, 일 실시 예에 따른 가상 스테이지에서의 아바타 제공 장치는 코드 변환을 위한 코드 변환 윈도우(400)를 웹 페이지, 웹 어플리케이션 또는 네이티브 어플리케이션 등을 통해 사용자 단말로 제공할 수 있다. 코드 변환 윈도우(400)는 코드 입력 영역(410), 변환된 코드 출력 영역(420) 및 코드 복사 버튼(430)을 포함할 수 있다.Referring to FIG. 4 , an apparatus for providing an avatar on a virtual stage according to an embodiment may provide a code conversion window 400 for code conversion to a user terminal through a web page, a web application, or a native application. The code conversion window 400 may include a code input area 410 , a converted code output area 420 and a code copy button 430 .

코드 입력 영역(410)은 사용자에 의해 작성된 코드를 수신할 수 있다. 예를 들어, 코드 입력 영역(410)에 입력되는 코드는 도 3의 코드 입력 영역(310)에 입력된 코드와 동일할 수 있다. 코드 입력 영역(410)에 입력된 코드는 오브젝트를 렌더링하기에 적합한 형식으로 변환될 수 있다. 변환된 코드 출력 영역(420)은 코드 입력 영역(310)에 입력된 코드에 대응하는 변환된 코드를 표시할 수 있다. 변환된 코드는 자바스크립트로 이루어질 수 있다. 코드 복사 버튼(430)에 사용자 입력이 수신되면, 변환된 코드가 복사될 수 있다.The code input area 410 may receive a code written by a user. For example, the code input to the code input area 410 may be the same as the code input to the code input area 310 of FIG. 3 . A code input into the code input area 410 may be converted into a format suitable for rendering an object. The converted code output area 420 may display a converted code corresponding to the code input to the code input area 310 . The converted code may be composed of JavaScript. When a user input is received at the code copy button 430, the converted code may be copied.

도 4에 도시된 코드 변환 윈도우(410)는 웹 사이트에 에디터가 내장되는 경우 생략될 수도 있다. 이 경우, 변환된 코드는 사용자에게 시각적으로 표시되지 않을 수 있다.The code conversion window 410 shown in FIG. 4 may be omitted when the editor is embedded in the website. In this case, the converted code may not be visually displayed to the user.

도 5는 일 실시 예에 따른 가상 스테이지에서의 아바타 제공 장치의 예시적인 동작을 설명하기 위한 도면이다.5 is a diagram for explaining an exemplary operation of an avatar providing device on a virtual stage according to an embodiment.

도 5를 참조하면, 일 실시 예에 따른 가상 스테이지에서의 아바타 제공 장치는 로그인 화면(500)을 웹 페이지, 웹 어플리케이션 또는 네이티브 어플리케이션 등을 통해 사용자 단말로 제공할 수 있다. 로그인 화면(500)은 아바타의 이름 입력 창(510), 기본 색상 설정 창(520), 코드 입력 버튼(530), 스테이지 선택 버튼(540) 및 로그인 버튼(550)을 포함할 수 있다. Referring to FIG. 5 , an apparatus for providing an avatar on a virtual stage according to an embodiment may provide a login screen 500 to a user terminal through a web page, web application, or native application. The login screen 500 may include an avatar name input window 510, a basic color setting window 520, a code input button 530, a stage selection button 540, and a login button 550.

이름 입력 창(510)은 아바타의 이름을 수신할 수 있다. 기본 색상 설정 창(520)은 색상이 설정되지 않은 오브젝트에 대한 기본 색상을 선택할 수 있다. 코드 입력 버튼(530)은 복수의 신체 부위 각각에 대응하는 변환된 코드를 입력하기 위한 입력 창을 오픈하기 위한 버튼일 수 있다. 코드 입력 버튼(540)에 대한 입력에 따라 오픈되는 입력 창에 대해서는 도 6을 참조하여 상세히 설명한다. 스테이지 선택 버튼(540)은 복수의 스테이지 중 사용자가 아바타를 표시할 스테이지를 선택하기 위한 버튼일 수 있다. 로그인 버튼(550)은 가상 스테이지에 접속을 개시하기 위한 버튼일 수 있다.The name input window 510 may receive the avatar's name. In the basic color setting window 520, a basic color for an object for which no color is set can be selected. The code input button 530 may be a button for opening an input window for inputting a converted code corresponding to each of a plurality of body parts. An input window opened according to an input to the code input button 540 will be described in detail with reference to FIG. 6 . The stage selection button 540 may be a button for a user to select a stage to display an avatar among a plurality of stages. The login button 550 may be a button for initiating access to the virtual stage.

도 6은 일 실시 예에 따른 가상 스테이지에서의 아바타 제공 장치의 예시적인 동작을 설명하기 위한 도면이다.6 is a diagram for explaining an exemplary operation of an avatar providing device on a virtual stage according to an embodiment.

도 6을 참조하면, 일 실시 예에 따른 가상 스테이지에서의 아바타 제공 장치는 코드 입력 창(600)을 웹 페이지, 웹 어플리케이션 또는 네이티브 어플리케이션 등을 통해 사용자 단말로 제공할 수 있다. 코드 입력 창(600)은 팝업 윈도우 형태로 제공될 수 있다. 코드 입력 창(600)은 오브젝트 코드 입력 영역(610), 신체 부위 선택 메뉴(620), 제1 소품 코드 입력 영역(630), 제2 소품 코드 입력 영역(640), 소품 추가 버튼(650) 및 확인 버튼(660)을 포함할 수 있다.Referring to FIG. 6 , the apparatus for providing an avatar on a virtual stage according to an embodiment may provide a code input window 600 to a user terminal through a web page, web application, or native application. The code input window 600 may be provided in the form of a pop-up window. The code input window 600 includes an object code input area 610, a body part selection menu 620, a first prop code input area 630, a second prop code input area 640, a prop add button 650, and A confirmation button 660 may be included.

오브젝트 코드 입력 영역(610)은 도 4에 도시된 변환된 코드를 입력하기 위한 영역일 수 있다. 오브젝트 코드 입력 영역(610)은 복수의 신체 부위 각각에 대응하는 코드를 수신할 수 있다. 신체 부위 선택 메뉴(620)는 복수의 신체 부위 중 어느 신체 부위에 대한 코드 입력 영역을 제공할 것인지 선택하기 위한 드롭 다운 메뉴일 수 있다. 신체 부위 선택 메뉴(620)에서 선택된 신체 부위에 대한 오브젝트 코드 입력 영역(610)이 제공될 수 있다. 소품 코드 입력 영역(630, 640)은 신체 부위에 대응하는 오브젝트 외에 추가 오브젝트에 대한 코드를 입력하기 위한 영역일 수 있다. 소품 코드 입력 영역(630, 640)은 사용자의 선택(예: 소품 추가 버튼)에 의해 활성화될 수 있다. 3 이상의 소품 코드를 수신하기 위한 추가적인 소품 코드 입력 영역이 구현될 수 있다. 소품 코드 입력 영역(630, 640)은 다양한 형태의 추가 오브젝트에 대응하는 코드를 수신할 수 있다. 소품 추가 버튼(650)은 추가적인 소품 코드 입력 영역을 생성하기 위한 버튼일 수 있다. 확인 버튼(660)은 코드의 입력을 완료하기 위한 버튼일 수 있다.The object code input area 610 may be an area for inputting the converted code shown in FIG. 4 . The object code input area 610 may receive codes corresponding to each of a plurality of body parts. The body part selection menu 620 may be a drop-down menu for selecting a code input area for which of a plurality of body parts to provide. An object code input area 610 for a body part selected in the body part selection menu 620 may be provided. The prop code input areas 630 and 640 may be areas for inputting codes for additional objects in addition to objects corresponding to body parts. The prop code input areas 630 and 640 may be activated by a user's selection (eg, a props add button). An additional prop code input area for receiving three or more prop codes may be implemented. The prop code input areas 630 and 640 may receive codes corresponding to various types of additional objects. The prop add button 650 may be a button for generating an additional prop code input area. The confirmation button 660 may be a button for completing input of a code.

도 7은 일 실시 예에 따른 가상 스테이지에서의 아바타 제공 장치의 예시적인 동작을 설명하기 위한 도면이다.7 is a diagram for explaining an exemplary operation of an avatar providing device on a virtual stage according to an embodiment.

도 7을 참조하면, 일 실시 예에 따른 가상 스테이지에서의 아바타 제공 장치는 가상 스테이지 출력 화면(700)을 웹 페이지, 웹 어플리케이션 또는 네이티브 어플리케이션 등을 통해 사용자 단말로 제공할 수 있다. 가상 스테이지 출력 화면(700)은 비디오 영상 표시 영역(710), 복수의 오브젝트를 포함하는 아바타(720), 소품 오브젝트(740), 신체 오브젝트 선택 버튼(750), 소품 오브젝트 선택 버튼(760) 및 QR 제공 버튼(770)을 포함할 수 있다.Referring to FIG. 7 , an apparatus for providing an avatar on a virtual stage according to an embodiment may provide a virtual stage output screen 700 to a user terminal through a web page, web application, or native application. The virtual stage output screen 700 includes a video image display area 710, an avatar 720 including a plurality of objects, a prop object 740, a body object selection button 750, a prop object selection button 760, and a QR A provision button 770 may be included.

비디오 영상 표시 영역(710)은 사용자 단말에서 촬영 중인 비디오 영상을 출력할 수 있다. 비디오 영상 표시 영역(710)은 사용자를 포함하는 비디오 영상 및 머신 러닝 모델에 의해 트래킹된 사용자 신체 부위의 특징점을 표시할 수 있다. 아바타(720)는 머리, 왼쪽 어깨, 오른쪽 어깨, 왼쪽 팔꿈치, 오른쪽 팔꿈치, 왼쪽 손목, 오른쪽 손목, 왼쪽 무릎, 오른쪽 무릎, 왼쪽 발목 및 오른쪽 발목 각각에 대응하는 제1 오브젝트 내지 제11 오브젝트(721, 722, 723, 724, 725, 726, 727, 728, 729, 731, 732)를 포함할 수 있다. 아바타(720)에 포함된 신체 부위 중 일부는 생략될 수도 있고, 다른 신체 부위로 대체될 수도 있다. 아바타(720)에 포함된 복수의 오브젝트(721 내지 732)는 각각 비디오 영상 표시 영역에 표시된 특징점의 좌표에 대응할 수 있다. 복수의 오브젝트(721 내지 732) 각각의 색상, 형상 및 크기는 도 6의 오브젝트 코드 입력 영역(610)에 입력된 코드에 대응할 수 있다. 가상 스테이지 상에서 아바타(720)의 위치는 방향키에 의해 조절될 수 있다. 소품 오브젝트(740)는 제1 소품 오브젝트(741), 제2 소품 오브젝트(742) 및 제3 소품 오브젝트(743)를 포함할 수 있고, 도 6의 소품 코드 입력 영역(630, 640)에 입력된 코드에 대응할 수 있다.The video image display area 710 may output a video image being captured by the user terminal. The video image display area 710 may display a video image including the user and feature points of the user's body part tracked by the machine learning model. The avatar 720 includes a first to eleventh object 721 corresponding to the head, left shoulder, right shoulder, left elbow, right elbow, left wrist, right wrist, left knee, right knee, left ankle, and right ankle, respectively. 722, 723, 724, 725, 726, 727, 728, 729, 731, 732). Some of the body parts included in the avatar 720 may be omitted or replaced with other body parts. Each of the plurality of objects 721 to 732 included in the avatar 720 may correspond to the coordinates of feature points displayed in the video image display area. The color, shape, and size of each of the plurality of objects 721 to 732 may correspond to a code input to the object code input area 610 of FIG. 6 . The position of the avatar 720 on the virtual stage can be controlled by direction keys. The prop object 740 may include a first prop object 741, a second prop object 742, and a third prop object 743, and the prop code input areas 630 and 640 of FIG. You can respond to code.

신체 오브젝트 선택 버튼(750)은 복수의 오브젝트(721 내지 732) 중 하나를 선택하기 위한 버튼으로, 신체 오브젝트 선택 버튼(750)에 대한 입력이 수신되면, 버튼에 대응하는 오브젝트를 수정 편집하기 위한 입력 창이 제공될 수 있다. 소품 오브젝트 선택 버튼(760)은 소품 오브젝트(760) 중 하나를 선택하기 위한 버튼으로, 소품 오브젝트 선택 버튼(760)에 대한 입력이 수신되면, 버튼에 대응하는 소품 오브젝트의 위치 및 크기를 방향키 및 마우스 입력 등을 이용하여 조절할 수도 있고, 숨기기 기능을 수행할 수도 있다. QR 코드 제공 버튼(770)은 관객의 참여를 위한 QR 코드를 제공하기 위한 버튼으로, QR 코드 제공 버튼(770)에 대한 입력이 수신되면 가상 스테이지 출력 화면 상에 QR 코드를 출력할 수 있다. 관객의 사용자 단말에 의해 QR 코드가 촬영되면, 도 8에 도시된 추가 오브젝트 제어 화면이 관객의 사용자 단말로 제공될 수 있다.The body object selection button 750 is a button for selecting one of a plurality of objects 721 to 732, and when an input for the body object selection button 750 is received, an input for modifying and editing the object corresponding to the button. A window may be provided. The prop object selection button 760 is a button for selecting one of the prop objects 760. When an input to the prop object selection button 760 is received, the position and size of the prop object corresponding to the button can be changed using the direction keys and the mouse. It can be adjusted using an input or the like, or a hide function can be performed. The QR code providing button 770 is a button for providing a QR code for audience participation, and when an input to the QR code providing button 770 is received, the QR code can be output on the virtual stage output screen. When the QR code is photographed by the spectator's user terminal, the additional object control screen shown in FIG. 8 may be provided to the spectator's user terminal.

도 8은 일 실시 예에 따른 가상 스테이지에서의 아바타 제공 장치의 예시적인 동작을 설명하기 위한 도면이다.8 is a diagram for explaining an exemplary operation of an avatar providing device on a virtual stage according to an embodiment.

도 8을 참조하면, 일 실시 예에 따른 가상 스테이지에서의 아바타 제공 장치는 추가 오브젝트 제어 화면(800)을 웹 페이지, 웹 어플리케이션 또는 네이티브 어플리케이션 등을 통해 관객의 사용자 단말로 제공할 수 있다. 추가 오브젝트 제어 화면(800)은 제어 패널(810) 및 추가 오브젝트 선택 메뉴(820)를 포함할 수 있다.Referring to FIG. 8 , an apparatus for providing an avatar on a virtual stage according to an embodiment may provide an additional object control screen 800 to a user terminal of a spectator through a web page, a web application, or a native application. The additional object control screen 800 may include a control panel 810 and an additional object selection menu 820 .

제어 패널(810)은 추가 오브젝트의 위치를 조절하는 방향 버튼 및 추가 오브젝트의 크기를 조절하는 확대/축소 버튼을 포함할 수 있다. 추가 오브젝트 선택 메뉴(820)는 다양한 추가 오브젝트(예: 자동차, 구름 및 나무 등) 중 하나를 선택하기 위한 버튼을 포함할 수 있다. 추가 오브젝트 선택 메뉴(820)에 의해 선택된 형상의 추가 오브젝트는 가상 스테이지 상에 표시될 수 있고, 표시된 추가 오브젝트의 위치 및 크기는 제어 패널(810)에 대한 입력에 따라 조절될 수 있다.The control panel 810 may include direction buttons for adjusting the position of the additional object and enlarge/reduce buttons for adjusting the size of the additional object. The additional object selection menu 820 may include a button for selecting one of various additional objects (eg, a car, cloud, tree, etc.). An additional object having a shape selected by the additional object selection menu 820 may be displayed on the virtual stage, and the position and size of the displayed additional object may be adjusted according to an input to the control panel 810 .

도 9는 일 실시 예에 따른 가상 스테이지에서의 아바타 제공 장치의 예시적인 동작을 설명하기 위한 도면이다.9 is a diagram for explaining an exemplary operation of an avatar providing device on a virtual stage according to an embodiment.

도 9를 참조하면, 일 실시 예에 따른 가상 스테이지에서의 아바타 제공 장치는 가상 스테이지 출력 화면(900)을 웹 페이지, 웹 어플리케이션 또는 네이티브 어플리케이션 등을 통해 사용자 단말로 제공할 수 있다. 가상 스테이지에는 복수의 신체 부위 각각에 대응하는 복수의 오브젝트를 포함하는 아바타(910) 및 추가 오브젝트(920)가 표시될 수 있다.Referring to FIG. 9 , an apparatus for providing an avatar on a virtual stage according to an embodiment may provide a virtual stage output screen 900 to a user terminal through a web page, a web application, or a native application. An avatar 910 including a plurality of objects corresponding to each of a plurality of body parts and an additional object 920 may be displayed on the virtual stage.

아바타(910) 및/또는 추가 오브젝트(920)에 대한 제어에 의해, 아바타(910)와 추가 오브젝트(920)가 인접 또는 접촉하는 경우, 아바타(910)와 추가 오브젝트(920) 사이의 시각적 또는 청각적 상호작용이 제공될 수 있다. 예를 들어, 차량 형상의 추가 오브젝트(920)와 아바타(910)가 인접하는 경우, 아바타(910)가 추가 오브젝트(920)에 탑승하는 시각적 상호작용 또는 충돌 효과음이 출력되는 청각적 상호 작용이 제공될 수 있다. 추가 오브젝트의 종류에 따라 상이한 상호작용이 제공될 수도 있다.By controlling the avatar 910 and/or the additional object 920, when the avatar 910 and the additional object 920 are adjacent to or in contact with each other, a visual or auditory communication between the avatar 910 and the additional object 920 occurs. Enemy interactions may be provided. For example, when the vehicle-shaped additional object 920 and the avatar 910 are adjacent to each other, a visual interaction in which the avatar 910 rides the additional object 920 or an auditory interaction in which a collision sound effect is output is provided. It can be. Different interactions may be provided depending on the type of additional object.

도 10은 일 실시 예에 따른 가상 스테이지에서의 아바타 제공 방법을 설명하기 위한 흐름도이다.10 is a flowchart illustrating a method of providing an avatar on a virtual stage according to an exemplary embodiment.

이하에서는 도 2의 가상 스테이지에서의 아바타 제공 장치(200)가 도 9의 프로세스를 수행하는 것을 가정한다. 또한, 도 10의 설명에서, 가상 스테이지에서의 아바타 제공 장치에 의해 수행되는 것으로 기술된 동작은 프로세서(230)에 의해 제어되는 것으로 이해될 수 있다.Hereinafter, it is assumed that the avatar providing apparatus 200 in the virtual stage of FIG. 2 performs the process of FIG. 9 . Also, in the description of FIG. 10 , it may be understood that the operation described as being performed by the avatar providing device on the virtual stage is controlled by the processor 230 .

도 10을 참조하면, 단계 1010에서, 가상 스테이지에서의 아바타 제공 장치는 사용자 단말로부터 복수의 신체 부위 각각에 대응하는 복수의 오브젝트를 표현하는 코드를 수신할 수 있다.Referring to FIG. 10 , in operation 1010, the avatar providing apparatus on the virtual stage may receive codes representing a plurality of objects corresponding to a plurality of body parts, respectively, from a user terminal.

단계 1020에서, 가상 스테이지에서의 아바타 제공 장치는 수신된 코드를 지정된 형식으로 변환할 수 있다.In step 1020, the avatar providing device on the virtual stage may convert the received code into a designated format.

단계 1030에서, 가상 스테이지에서의 아바타 제공 장치는 복수의 신체 부위 각각에 대응하는 입력 창을 통해 변환된 코드를 획득할 수 있다.In operation 1030, the avatar providing device on the virtual stage may obtain the converted code through an input window corresponding to each of a plurality of body parts.

단계 1040에서, 가상 스테이지에서의 아바타 제공 장치는 사용자 단말에 의해 촬영된 사용자에 대한 비디오를 획득할 수 있다.In step 1040, the avatar providing device on the virtual stage may obtain a video of the user captured by the user terminal.

단계 1050에서, 가상 스테이지에서의 아바타 제공 장치는 비디오를 분석함으로써 복수의 신체 부위 각각에 대응하는 복수의 좌표를 획득할 수 있다.In operation 1050, the avatar providing device on the virtual stage may acquire a plurality of coordinates corresponding to each of a plurality of body parts by analyzing the video.

단계 1060에서, 가상 스테이지에서의 아바타 제공 장치는 복수의 좌표 각각에 대응하는 위치에 복수의 오브젝트를 표시하는 가상 스테이지를 사용자 단말로 제공할 수 있다.In operation 1060, the avatar providing apparatus on the virtual stage may provide a virtual stage displaying a plurality of objects at positions corresponding to each of a plurality of coordinates to the user terminal.

본 문서의 실시 예들 및 이에 사용된 용어들은 본 문서에 기재된 기술을 특정한 실시 형태에 대해 한정하려는 것이 아니며, 해당 실시 예의 다양한 변경, 균등물, 및/또는 대체물을 포함하는 것으로 이해되어야 한다. 도면의 설명과 관련하여, 유사한 구성요소에 대해서는 유사한 참조 부호가 사용될 수 있다. 단수의 The embodiments of this document and the terms used therein are not intended to limit the technology described in this document to a specific embodiment, and should be understood to include various modifications, equivalents, and/or substitutes of the embodiment. In connection with the description of the drawings, like reference numerals may be used for like elements. singular

표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함할 수 있다. 본 문서에서, "A 또는 B", "A 및/또는 B 중 적어도 하나", "A, B 또는 C" 또는 "A, B 및/또는 C 중 적어도 하나" 등의 표현은 함께 나열된 항목들의 모든 가능한 조합을 포함할 수 있다. "제1," "제2," "첫째," 또는 "둘째," 등의 표현들은 해당 구성요소들을, 순서 또는 중요도에 상관없이 수식할 수 있고, 한 구성요소를 다른 구성요소와 구분하기 위해 사용될 뿐 해당 구성요소들을 한정하지 않는다. 어떤 구성요소가 다른 구성요소에 "(기능적으로 또는 통신적으로) 연결되어" 있다거나 "접속되어" 있다고 언급된 때에는, 상기 어떤 구성요소가 상기 다른 구성요소에 직접적으로 연결되거나, 다른 구성요소를 통하여 연결될 수 있다.An expression may include a plurality of expressions unless the context clearly indicates otherwise. In this document, expressions such as "A or B", "at least one of A and/or B", "A, B or C" or "at least one of A, B and/or C" refer to all of the items listed together. Possible combinations may be included. Expressions such as "first," "second," "first," or "second," may modify the corresponding components regardless of order or importance, and are used to distinguish one component from another. It is used only and does not limit the corresponding components. When an element is referred to as being "(functionally or communicatively) connected" or "connected" to another element, that element is either directly connected to the other element, or through another element. can be connected through

본 문서에서, "~하도록 설정된(adapted to or configured to)"은 상황에 따라, 예를 들면, 하드웨어적 또는 소프트웨어적으로 "~에 적합한," "~하는 능력을 가지는," "~하도록 변경된," "~하도록 만들어진," "~를 할 수 있는," 또는 "~하도록 설계된"과 상호 호환적으로(interchangeably) 사용될 수 있다. 어떤 상황에서는, "~하도록 구성된 장치"라는 표현은, 그 장치가 다른 장치 또는 부품들과 함께 "~할 수 있는" 것을 의미할 수 있다. 예를 들면, 문구 "A, B, 및 C를 수행하도록 설정된 (또는 구성된) 프로세서"는 해당 동작들을 수행하기 위한 전용 프로세서(예: 임베디드 프로세서), 또는 메모리 장치에 저장된 하나 이상의 프로그램들을 실행함으로써, 해당 동작들을 수행할 수 있는 범용 프로세서(예: CPU)를 의미할 수 있다.In this document, "adapted to or configured to" means "adapted to or configured to" depending on the situation, for example, hardware or software "adapted to," "having the ability to," "changed to," ""made to," "capable of," or "designed to" can be used interchangeably. In some contexts, the expression "device configured to" can mean that the device is "capable of" in conjunction with other devices or components. For example, the phrase "a processor set up (or configured) to perform A, B, and C" may include a dedicated processor (e.g., embedded processor) to perform those operations, or by executing one or more programs stored in a memory device; It may refer to a general-purpose processor (eg, CPU) capable of performing corresponding operations.

본 문서에서 사용된 용어 "모듈"은 하드웨어, 소프트웨어 또는 펌웨어(firmware)로 구성된 유닛(unit)을 포함하며, 예를 들면, 로직, 논리 블록, 부품, 또는 회로 등의 용어와 상호 호환적으로 사용될 수 있다. "모듈"은, 일체로 구성된 부품 또는 하나 또는 그 이상의 기능을 수행하는 최소 단위 또는 그 일부가 될 수 있다. "모듈"은 기계적으로 또는 전자적으로 구현될 수 있으며, 예를 들면, 어떤 동작들을 수행하는, 알려졌거나 앞으로 개발될, ASIC(application-specific integrated circuit) 칩, FPGAs(field-programmable gate arrays), 또는 프로그램 가능 논리 장치를 포함할 수 있다.The term "module" used in this document includes a unit composed of hardware, software, or firmware, and may be used interchangeably with terms such as logic, logic blocks, parts, or circuits, for example. can A “module” may be an integrally constructed component or a minimal unit or part thereof that performs one or more functions. A "module" may be implemented mechanically or electronically, for example, a known or future developed application-specific integrated circuit (ASIC) chip, field-programmable gate arrays (FPGAs), or A programmable logic device may be included.

일 실시 예에 따른 장치(예: 모듈들 또는 그 기능들) 또는 방법(예: 동작들)의 적어도 일부는 프로그램 모듈의 형태로 컴퓨터로 판독 가능한 저장 매체에 저장된 명령어로 구현될 수 있다. 상기 명령어가 프로세서에 의해 실행될 경우, 프로세서가 상기 명령어에 해당하는 기능을 수행할 수 있다.At least a part of an apparatus (eg, modules or functions thereof) or a method (eg, operations) according to an embodiment may be implemented as instructions stored in a computer-readable storage medium in the form of a program module. When the command is executed by a processor, the processor may perform a function corresponding to the command.

일 실시 예에 따른 구성 요소(예: 모듈 또는 프로그램 모듈) 각각은 단수 또는 복수의 개체로 구성될 수 있으며, 전술한 해당 서브 구성 요소들 중 일부 서브 구성 요소가 생략되거나, 또는 다른 서브 구성 요소를 더 포함할 수 있다. 대체적으로 또는 추가적으로, 일부 구성 요소들(예: 모듈 또는 프로그램 모듈)은 하나의 개체로 통합되어, 통합되기 이전의 각각의 해당 구성 요소에 의해 수행되는 기능을 동일 또는 유사하게 수행할 수 있다. 일 실시 예에 따른 모듈, 프로그램 모듈 또는 다른 구성 요소에 의해 수행되는 동작들은 순차적, 병렬적, 반복적 또는 휴리스틱(heuristic)하게 실행되거나, 적어도 일부 동작이 다른 순서로 실행되거나, 생략되거나, 또는 다른 동작이 추가될 수 있다.Each component (eg, module or program module) according to an embodiment may be composed of one or more entities, and some sub-components among the aforementioned sub-components may be omitted or other sub-components may be used. can include more. Alternatively or additionally, some components (eg, modules or program modules) may be integrated into one entity and perform the same or similar functions performed by each corresponding component prior to integration. Operations performed by modules, program modules, or other components according to an embodiment are executed sequentially, in parallel, repetitively, or heuristically, or at least some operations are executed in a different order, omitted, or other operations. this may be added.

Claims (5)

예술과 기술의 융합 교육을 위한 가상 스테이지에서의 아바타 제공 장치에 있어서,
사용자 단말과 통신하도록 구성된 통신 회로;
메모리; 및
상기 통신 회로 및 상기 메모리와 전기적으로 연결된 프로세서를 포함하고,
상기 프로세서는,
상기 통신 회로를 이용하여 상기 사용자 단말로부터 복수의 신체 부위 각각에 대응하는 복수의 오브젝트를 표현하는 코드를 수신하고,
상기 수신된 코드를 지정된 형식으로 변환하고,
상기 복수의 신체 부위 각각에 대응하는 입력 창을 통해 상기 변환된 코드를 획득하고,
상기 통신 회로를 이용하여 상기 사용자 단말에 의해 촬영된 사용자에 대한 비디오 영상을 획득하고,
상기 비디오 영상을 분석함으로써 상기 복수의 신체 부위 각각에 대응하는 복수의 좌표를 획득하고,
상기 통신 회로를 이용하여 상기 복수의 좌표 각각에 대응하는 위치에 상기 복수의 오브젝트를 표시하는 가상 스테이지를 상기 사용자 단말로 제공하는 것을 특징으로 하는, 장치.
An apparatus for providing an avatar on a virtual stage for convergence education of art and technology,
communication circuitry configured to communicate with a user terminal;
Memory; and
a processor electrically connected to the communication circuitry and the memory;
the processor,
Receiving a code representing a plurality of objects corresponding to each of a plurality of body parts from the user terminal using the communication circuit;
converting the received code into a designated format;
Obtaining the converted code through an input window corresponding to each of the plurality of body parts;
Obtaining a video image of a user captured by the user terminal using the communication circuit;
Obtaining a plurality of coordinates corresponding to each of the plurality of body parts by analyzing the video image;
and providing a virtual stage displaying the plurality of objects at a position corresponding to each of the plurality of coordinates to the user terminal using the communication circuit.
제 1 항에 있어서,
상기 프로세서는,
머신 러닝 모델을 이용하여 상기 비디오 영상을 분석함으로써 상기 복수의 신체 부위 각각에 대응하는 복수의 2차원 좌표를 획득하고,
상기 복수의 2차원 좌표에 대한 기준 좌표를 상기 비디오 영상의 하단 중앙 지점으로 변경하고,
상기 변경된 복수의 2차원 좌표 각각을 상기 비디오 영상의 높이를 기준으로 정규화하고,
상기 정규화된 복수의 2차원 좌표 각각을 상기 가상 스테이지에 대응하도록 복수의 3차원 좌표로 변환하고,
상기 변환된 복수의 3차원 좌표 각각에 대응하는 위치에 상기 복수의 오브젝트를 표시하는 상기 가상 스테이지를 상기 사용자 단말로 제공하는 것을 특징으로 하는, 장치.
According to claim 1,
the processor,
Obtaining a plurality of two-dimensional coordinates corresponding to each of the plurality of body parts by analyzing the video image using a machine learning model;
Changing the reference coordinates of the plurality of two-dimensional coordinates to a lower center point of the video image;
Normalizing each of the changed 2-dimensional coordinates based on the height of the video image;
Converting each of the plurality of normalized two-dimensional coordinates into a plurality of three-dimensional coordinates corresponding to the virtual stage;
and providing the virtual stage displaying the plurality of objects at positions corresponding to each of the converted plurality of three-dimensional coordinates to the user terminal.
제 1 항에 있어서,
상기 프로세서는,
상기 사용자 단말에서 상기 가상 스테이지 상의 상기 복수의 오브젝트 중 하나의 오브젝트가 선택되면, 상기 선택된 오브젝트에 대응하는 입력 창을 제공하고,
상기 통신 회로를 이용하여 상기 사용자 단말로부터 상기 선택된 오브젝트를 변경하기 위한 수정된 코드를 수신하고,
상기 선택된 오브젝트를 대체하여 상기 수정된 코드에 대응하는 수정된 오브젝트를 표시하는 상기 가상 스테이지를 상기 사용자 단말로 제공하는 것을 특징으로 하는, 장치.
According to claim 1,
the processor,
When one of the plurality of objects on the virtual stage is selected in the user terminal, an input window corresponding to the selected object is provided;
Receiving a modified code for changing the selected object from the user terminal using the communication circuit;
and providing the virtual stage displaying a modified object corresponding to the modified code by replacing the selected object to the user terminal.
제 1 항에 있어서,
상기 프로세서는,
상기 사용자 단말의 요청에 반응하여 상기 사용자 단말로 QR 코드를 제공하고,
상기 QR 코드를 촬영한 다른 사용자 단말로 추가 오브젝트 선택 화면 및 추가 오브젝트 제어 패널을 제공하고,
상기 추가 오브젝트 선택 화면에서 선택된 추가 오브젝트를 상기 가상 스테이지에 표시하고,
상기 추가 오브젝트 제어 패널에 대한 입력에 반응하여 상기 가상 스테이지에서 상기 추가 오브젝트의 위치 또는 크기를 조절하고,
상기 가상 스테이지에서 상기 복수의 오브젝트 중 적어도 일부와 상기 추가 오브젝트가 인접하는 경우, 상기 추가 오브젝트에 대응하는 시각적 또는 청각적 상호작용을 제공하는 것을 특징으로 하는, 장치.
According to claim 1,
the processor,
Responding to the request of the user terminal to provide a QR code to the user terminal,
Providing an additional object selection screen and an additional object control panel to another user terminal that has photographed the QR code,
displaying an additional object selected on the additional object selection screen on the virtual stage;
Adjusting the position or size of the additional object on the virtual stage in response to an input to the additional object control panel;
When at least some of the plurality of objects and the additional object are adjacent to each other on the virtual stage, a visual or auditory interaction corresponding to the additional object is provided.
하나 이상의 컴퓨팅 디바이스에 의해 수행되는 예술과 기술의 융합 교육을 위한 가상 스테이지에서의 아바타 제공 방법에 있어서,
사용자 단말로부터 복수의 신체 부위 각각에 대응하는 복수의 오브젝트를 표현하는 코드를 수신하는 단계;
상기 수신된 코드를 지정된 형식으로 변환하는 단계;
상기 복수의 신체 부위 각각에 대응하는 입력 창을 통해 상기 변환된 코드를 획득하는 단계;
상기 사용자 단말에 의해 촬영된 상기 사용자에 대한 비디오를 획득하는 단계;
상기 비디오를 분석함으로써 상기 복수의 신체 부위 각각에 대응하는 복수의 좌표를 획득하는 단계; 및
상기 복수의 좌표 각각에 대응하는 위치에 상기 복수의 오브젝트를 표시하는 가상 스테이지를 상기 사용자 단말로 제공하는 단계를 포함하는 것을 특징으로 하는, 방법.
A method for providing an avatar on a virtual stage for convergence education of art and technology performed by one or more computing devices,
Receiving a code representing a plurality of objects corresponding to each of a plurality of body parts from a user terminal;
converting the received code into a designated format;
obtaining the converted code through an input window corresponding to each of the plurality of body parts;
obtaining a video of the user captured by the user terminal;
obtaining a plurality of coordinates corresponding to each of the plurality of body parts by analyzing the video; and
And providing a virtual stage displaying the plurality of objects at positions corresponding to each of the plurality of coordinates to the user terminal.
KR1020210119713A 2021-09-08 2021-09-08 Apparatus and method for provide avatar on virtual stage for convergence education of art and technology KR102584076B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020210119713A KR102584076B1 (en) 2021-09-08 2021-09-08 Apparatus and method for provide avatar on virtual stage for convergence education of art and technology

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020210119713A KR102584076B1 (en) 2021-09-08 2021-09-08 Apparatus and method for provide avatar on virtual stage for convergence education of art and technology

Publications (2)

Publication Number Publication Date
KR20230037092A true KR20230037092A (en) 2023-03-16
KR102584076B1 KR102584076B1 (en) 2023-10-05

Family

ID=85985367

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020210119713A KR102584076B1 (en) 2021-09-08 2021-09-08 Apparatus and method for provide avatar on virtual stage for convergence education of art and technology

Country Status (1)

Country Link
KR (1) KR102584076B1 (en)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001148034A (en) * 1999-11-19 2001-05-29 Nippon Telegr & Teleph Corp <Ntt> Method and device for displaying video and recording medium with its program recorded thereon
KR20200067511A (en) * 2018-12-04 2020-06-12 신안산대학교 산학협력단 System for Providing Virtual Fitting Service Based Size of Body
KR20210036879A (en) * 2020-06-08 2021-04-05 베이징 바이두 넷컴 사이언스 테크놀로지 컴퍼니 리미티드 virtual object driving Method, apparatus, electronic device, and readable storage medium

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001148034A (en) * 1999-11-19 2001-05-29 Nippon Telegr & Teleph Corp <Ntt> Method and device for displaying video and recording medium with its program recorded thereon
KR20200067511A (en) * 2018-12-04 2020-06-12 신안산대학교 산학협력단 System for Providing Virtual Fitting Service Based Size of Body
KR20210036879A (en) * 2020-06-08 2021-04-05 베이징 바이두 넷컴 사이언스 테크놀로지 컴퍼니 리미티드 virtual object driving Method, apparatus, electronic device, and readable storage medium

Also Published As

Publication number Publication date
KR102584076B1 (en) 2023-10-05

Similar Documents

Publication Publication Date Title
CN110300909B (en) Systems, methods, and media for displaying an interactive augmented reality presentation
CN111080759B (en) Method and device for realizing split mirror effect and related product
US9654734B1 (en) Virtual conference room
WO2015188614A1 (en) Method and device for operating computer and mobile phone in virtual world, and glasses using same
KR20220008735A (en) Animation interaction method, device, equipment and storage medium
US12020667B2 (en) Systems, methods, and media for displaying interactive augmented reality presentations
CN110349232B (en) Image generation method and device, storage medium and electronic equipment
CN109035415B (en) Virtual model processing method, device, equipment and computer readable storage medium
KR20210028198A (en) Avatar animation
KR20120113058A (en) Apparatus and method for tutoring in the fusion space of real and virtual environment
Margetis et al. Realistic natural interaction with virtual statues in x-reality environments
Scott et al. Towards an interaction blueprint for mixed reality experiences in glam spaces: the augmented telegrapher at porthcurno museum
US11282282B2 (en) Virtual and physical reality integration
Cadi Yazli et al. Modeling craftspeople for cultural heritage: A case study
JP2016115328A (en) Method for calculation execution, calculation processing system, and program
CN112714337A (en) Video processing method and device, electronic equipment and storage medium
KR102584076B1 (en) Apparatus and method for provide avatar on virtual stage for convergence education of art and technology
KR102481956B1 (en) Control method for historical education-linked coding system by location of relic
Jin et al. Volumivive: An authoring system for adding interactivity to volumetric video
KR102427073B1 (en) Method and Server for Compensating Motion of 3D animation
Xu et al. Design and Implementation of an Immersive Network Collaborative Environment Using OpenPose with 360VR Camera and WebXR
Migliore et al. An approach to develop a LabVIEW based augmented reality application for smartphones
KR20110107707A (en) Online learning apparatus for augmented reality and method thereof
CN109685912A (en) Demenstration method and system based on AR
Lin et al. Space connection: a new 3D tele-immersion platform for web-based gesture-collaborative games and services

Legal Events

Date Code Title Description
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant