KR102571086B1 - 가상공간을 이용한 다중 사용자 간 협업 지원 방법 및 시스템 - Google Patents

가상공간을 이용한 다중 사용자 간 협업 지원 방법 및 시스템 Download PDF

Info

Publication number
KR102571086B1
KR102571086B1 KR1020220019056A KR20220019056A KR102571086B1 KR 102571086 B1 KR102571086 B1 KR 102571086B1 KR 1020220019056 A KR1020220019056 A KR 1020220019056A KR 20220019056 A KR20220019056 A KR 20220019056A KR 102571086 B1 KR102571086 B1 KR 102571086B1
Authority
KR
South Korea
Prior art keywords
collaboration
terminal
workspace
data
spatial data
Prior art date
Application number
KR1020220019056A
Other languages
English (en)
Other versions
KR102571086B9 (ko
KR20230122415A (ko
Inventor
정한일
이재영
이상은
Original Assignee
주식회사 케이쓰리아이
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 주식회사 케이쓰리아이 filed Critical 주식회사 케이쓰리아이
Priority to KR1020220019056A priority Critical patent/KR102571086B1/ko
Publication of KR20230122415A publication Critical patent/KR20230122415A/ko
Application granted granted Critical
Publication of KR102571086B1 publication Critical patent/KR102571086B1/ko
Publication of KR102571086B9 publication Critical patent/KR102571086B9/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
    • G06Q10/00Administration; Management
    • G06Q10/10Office automation; Time management
    • G06Q10/103Workflow collaboration or project management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/40Information retrieval; Database structures therefor; File system structures therefor of multimedia data, e.g. slideshows comprising image and additional audio data
    • G06F16/43Querying
    • G06F16/432Query formulation
    • G06F16/434Query formulation using image data, e.g. images, photos, pictures taken by a user
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/40Information retrieval; Database structures therefor; File system structures therefor of multimedia data, e.g. slideshows comprising image and additional audio data
    • G06F16/44Browsing; Visualisation therefor
    • G06F16/444Spatial browsing, e.g. 2D maps, 3D or virtual spaces
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5061Partitioning or combining of resources
    • G06F9/5072Grid computing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T19/00Manipulating 3D models or images for computer graphics
    • G06T19/006Mixed reality
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N13/00Stereoscopic video systems; Multi-view video systems; Details thereof
    • H04N13/10Processing, recording or transmission of stereoscopic or multi-view image signals
    • H04N13/106Processing image signals
    • H04N13/167Synchronising or controlling image signals
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N13/00Stereoscopic video systems; Multi-view video systems; Details thereof
    • H04N13/30Image reproducers
    • H04N13/332Displays for viewing with the aid of special glasses or head-mounted displays [HMD]

Abstract

가상공간을 이용한 다중 사용자 간 협업 지원 방법 및 시스템이 개시된다. 본 발명에 따른 가상공간을 이용한 다중 사용자 간 협업 지원 방법은, 복수의 협업단말의 접속에 따라, 디지털 트윈 기반의 3D 작업공간을 각 협업단말에서 실행되는 앱을 통해 시각화 하는 단계와, 상기 복수의 협업단말 각각으로부터, 각 협업단말이 위치한 주변공간을 인식하여 생성되는 공간 데이터를 수집하는 단계와, 상기 수집된 공간 데이터에 AnchorID를 할당하여, 네트워크 연결된 클라우드 서버에 저장하는 단계와, 상기 저장에 따라, 상기 3D 작업공간에 접속되어 있는 상기 각 협업단말에 상기 AnchorID를 전파하는 단계, 및 상기 AnchorID를 이용한 콜백 다운로드 명령을 입력하는 상기 각 협업단말로, 상기 AnchorID에 의해 식별되는 상기 클라우드 서버 내 공간 데이터를 전송하여, 상기 공간 데이터에 따라 상기 각 협업단말에 시각화된 상기 3D 작업공간이 동기화되도록 처리하는 단계를 포함한다.

Description

가상공간을 이용한 다중 사용자 간 협업 지원 방법 및 시스템{METHOD AND SYSTEM FOR SUPPORTING COLLABORATION AMONG MULTIPLE USERS USING VIRTUAL SPACE}
본 발명은, 다중 사용자 간 협업을 지원하는 가상의 3D 작업공간 구현 기술에 연관되며, 보다 특정하게는 HMD(Head mounted Display)를 착용한 상태에서 제공되는 가상의 3D 작업공간에서의 다중 사용자 간 데이터 공유 및 동기화를 통한 협업을 지원하는 시스템 메커니즘 설계와 그 구현 방법에 연관된다.
또한 본 발명은, 3D 가상현실에 특화된 HMD 장비 이외의 일반적인 모바일 기기를 이용한 사용자의 협업 참여를 가능하게 하는 인터페이스(사용자앱) 제공에 연관된다.
본 발명의 배경이 되는 기술은 다음의 문헌에 개시되어 있다.
1) 한국 공개특허 10-2016-0041879 (2016.04.18), "다중 접속을 통하여 다수의 훈련자의 개별적인 가상훈련공간의 인식과 공유된 가상작업공간에서 집단적이며 조직적인 협력훈련이 가능한 몰입식 네트워크 가상훈련 시스템의 클라이언트 시스템을 구성하는 네트워크 가상훈련 처리장치 및 이를 이용한 몰입식 네트워크 가상훈련 방법".
2) 일본 공개특허 2004-310348 (2004.11.04), "정보 검색 장치".
3) 한국 공개특허 10-2021-0017844 (2021.02.17), "제조 협업을 위한 비즈니스 서비스 방법 및 시스템".
증강 현실(AR) 및 가상현실(VR)을 이용한 기존의 시스템은, 단일 사용자에 맞춘 시스템으로 개인의 이용에 한정되어 있어, 사용 중에 타인과의 정보 교환 및 의사소통에 한계점을 가지고 있어, 다중 사용자의 협업 지원 시스템에 적용하는데 어려움이 있다.
특히 디지털 트윈 분야와 같이 다양한 전문가들의 협업을 전제로 하는 경우에는 기존의 VR/AR 기술을 적용하는데 한계점이 있다.
따라서 다중 사용자 간에 동일한 가상의 작업공간을 공유하면서 공동작업자의 모니터링, 사용자 간 정보 교환이 가능하도록 시스템을 구축해 가상공간을 이용한 다중 사용자의 협업을 지원할 수 있는 기술 개발이 요구된다.
또한 기존에는 3D 가상현실에 특화된 장비(예, HMD)를 통해서만 가상공간의 구현이 가능하였으나, 이러한 장비가 없는 사용자도 일반적인 모바일 기기를 이용해 협업에 참여할 수 있도록 한 인터페이스 제공이 필요하다.
본 발명의 실시예는 공동의 작업에 참여하는 다수의 사용자 단말이 공유할 수 있는 가상의 작업공간을 디지털 트윈을 이용해 3D 모델 형태로 구현하여, 가상의 3D 작업공간을 이용해 다중 사용자 간 협업을 지원하는 것을 목적으로 한다.
본 발명의 실시예는 각 사용자 단말의 이동 및 회전 조작에 따른 3D 작업공간에서의 아바타의 위치 및 관점을 고려해, 각 사용자 단말에 시각화되는 3D 작업공간의 화면뷰를 전환함으로써, 사용자별 아바타 매칭 및 아바타 조작에 따른 객체 변환 정보의 자동 산출을 통해, 다중 사용자가 공동 작업을 수행하기 위한 메타버스 환경을 제공하는 것을 목적으로 한다.
본 발명의 실시예는 각 사용자 단말에서 주변공간을 인식하여 생성한 공간 데이터에, 데이터 공유를 위한 AnchorID를 할당하고, 할당한 AnchorID의 전파를 통해 공동 작업에 참여하는 다른 사용자 단말로 상기 공간 데이터를 손쉽게 공유하고, 공유된 공간 데이터에 따라 다른 사용자 단말에서 시각화되는 3D 작업공간을 조정하여 동기화 함으로써, 사용자 단말 간 데이터 공유 및 동기화에 의해 각 사용자 단말에 일관성 있는 가상의 3D 작업공간을 구현하여, 가상의 3D 작업공간을 이용한 다중 사용자의 효율적인 협업을 지원하는 것을 목적으로 한다.
본 발명의 실시예는 3D 가상현실에 특화된 기존의 HMD 장비 이외에, 일반적인 모바일 기기를 통한 사용자의 협업 참여가 가능해지도록, 모바일 기기용 사용자앱을 통해 다중 사용자 간 협업 지원을 위한 인터페이스를 제공 함으로써, 다양한 환경에서의 사용자 협업을 지원하는 것을 목적으로 한다.
본 발명의 실시예는 홀로렌즈 지원 인터페이스를 제공하는 HMD용 사용자앱, 안드로이드(Android) 지원 인터페이스를 제공하는 모바일기기용 사용자앱을 각각 마련하고, 포톤(Photon) 서버에 접속되는 각 협업단말이 홀로렌즈(Hololens)를 구비한 HMD인지, 일반적인 모바일 기기인지에 따라, 각 협업단말에 적합한 인터페이스를 제공하는 사용자앱을 배포함으로써, 사용자가 사용하는 장비에 구애되지 않고 협업에 참여할 수 있게 지원하는 것을 목적으로 한다.
본 발명의 일실시예에 따른 가상공간을 이용한 다중 사용자 간 협업 지원 방법은, 복수의 협업단말의 접속에 따라, 디지털 트윈 기반의 3D 작업공간을 각 협업단말에서 실행되는 앱을 통해 시각화 하는 단계와, 상기 복수의 협업단말 각각으로부터, 각 협업단말이 위치한 주변공간을 인식하여 생성되는 공간 데이터를 수집하는 단계와, 상기 수집된 공간 데이터에 AnchorID를 할당하여, 네트워크 연결된 클라우드 서버에 저장하는 단계와, 상기 저장에 따라, 상기 3D 작업공간에 접속되어 있는 상기 각 협업단말에 상기 AnchorID를 전파하는 단계, 및 상기 AnchorID를 이용한 콜백 다운로드 명령을 입력하는 상기 각 협업단말로, 상기 AnchorID에 의해 식별되는 상기 클라우드 서버 내 공간 데이터를 전송하여, 상기 공간 데이터에 따라 상기 각 협업단말에 시각화된 상기 3D 작업공간이 동기화되도록 처리하는 단계를 포함할 수 있다.
본 발명의 일실시예에 따른 가상공간을 이용한 다중 사용자 간 협업 지원 시스템은, 복수의 협업단말의 접속에 따라, 디지털 트윈 기반의 3D 작업공간을 각 협업단말에서 실행되는 앱을 통해 시각화 하는 시각화부와, 상기 복수의 협업단말 각각으로부터, 각 협업단말이 위치한 주변공간을 인식하여 생성되는 공간 데이터를 수집하고, 상기 수집된 공간 데이터에 AnchorID를 할당하여, 네트워크 연결된 클라우드 서버에 저장하는 수집부, 및 상기 저장에 따라, 상기 3D 작업공간에 접속되어 있는 상기 각 협업단말에 상기 AnchorID를 전파하고, 상기 AnchorID를 이용한 콜백 다운로드 명령을 입력하는 상기 각 협업단말로, 상기 AnchorID에 의해 식별되는 상기 클라우드 서버 내 공간 데이터를 전송하여, 상기 공간 데이터에 따라 상기 각 협업단말에 시각화된 상기 3D 작업공간이 동기화되도록 처리하는 동기화 처리부를 포함할 수 있다.
여기서, 본 발명의 가상공간을 이용한 다중 사용자 간 협업 지원 시스템은, 복수의 협업단말과 서버/클라이언트 간 작동 방식에 의해 운영될 수 있고, 각 협업단말의 사용자들은 master/slave 간 관계를 이루며, 제어권의 양도 및 양수에 의해 slave가 새로운 master가 되는 구조로 운영될 수 있다.
본 발명을 통해 구현된 가상의 3D 작업공간을 개인에 한정되지 않고 공동의 작업에 참여하는 다수 사용자가 공유할 수 있게 구현하고, 공동 작업자의 모니터링 및 사용자 간의 정보 교환을 지원하여, 의사소통의 어려움 없이 3D 작업공간을 활용한 다중 사용자의 효율적인 협업을 지원할 수 있다.
본 발명에 따르면, 다중 사용자 간 협업을 지원하는 인터페이스를 제공하는 모바일 기기용 사용자앱을 마련하여, 3D 가상현실에 특화된 HMD 장비를 이용하지 않고, 일반적인 모바일 기기를 사용해, 장비의 제한 없이 협업 참여가 가능해지도록 할 수 있다.
본 발명에 따르면, 바닥, 사물 등의 주변공간을 인식한 공간 데이터와, 3D 작업공간 내에서의 아바타의 움직임, 및 건물 데이터나 기상 데이터, 관심지역(POI) 데이터의 3D 작업공간으로의 로딩에 관한 이벤트 수행 결과를 HMD 장비(예, 홀로렌즈 사용자)와 모바일 기기(예, 안드로이드 사용자) 간에 공유하여 일관성 있는 3D 작업공간을 구현함으로써, 다양한 장비 환경에서의 다중 사용자 간 협업을 지원할 수 있다.
본 발명에 따르면, 동일한 디지털 트윈 시티를 3D 모델화하여 가상의 3D 작업공간을 협업에 참여하는 각 사용자 단말에 제공해 공유할 수 있게 하고, 각 사용자 단말의 이동 및 회전 조작에 따른 아바타의 위치 및 관점별로 3D 작업공간의 화면뷰를 제공하여, 다중 사용자가 공동 작업을 수행할 수 있는 메타버스 환경을 제공할 수 있다.
도 1은 본 발명에 따른 가상공간을 이용한 다중 사용자 간 협업 지원 시스템을 구성하는 포톤 서버 및 사용자앱을 도시한 도면이다.
도 2는 본 발명에 따른 가상공간을 이용한 다중 사용자 간 협업 지원 시스템에서, 포톤 서버와 사용자앱 간 처리 흐름을 도시한 도면이다.
도 3은 본 발명에 따른 가상공간을 이용한 다중 사용자 간 협업 지원 시스템에서, 포톤 서버와 사용자앱 간 상세한 처리 흐름을 도시한 도면이다.
도 4는 본 발명에 따른 가상공간을 이용한 다중 사용자 간 협업 지원 시스템의 내부 구성을 도시한 블록도이다.
도 5a는 본 발명에 따른 가상공간을 이용한 다중 사용자 간 협업 지원 시스템에서, 디지털 트윈 기반의 3D 작업공간을 시각화한 일례를 도시한 도면이다.
도 5b는 본 발명에 따른 가상공간을 이용한 다중 사용자 간 협업 지원 시스템에서, 3D 작업공간이 포커싱되는 일례를 도시한 도면이다.
도 5c는 본 발명에 따른 가상공간을 이용한 다중 사용자 간 협업 지원 시스템에서, HMD 및 모바일 기기 간 협업을 지원하는 일례를 도시한 도면이다.
도 6은 본 발명의 일실시예에 따른 가상공간을 이용한 다중 사용자 간 협업 지원 방법의 순서를 도시한 흐름도이다.
도 7은 본 발명의 다른 실시예에 따른 가상공간을 이용한 다중 사용자 간 협업 지원 방법의 순서를 도시한 흐름도이다.
이하에서, 첨부된 도면을 참조하여 실시예들을 상세하게 설명한다. 그러나, 실시예들에는 다양한 변경이 가해질 수 있어서 특허출원의 권리 범위가 이러한 실시예들에 의해 제한되거나 한정되는 것은 아니다. 실시예들에 대한 모든 변경, 균등물 내지 대체물이 권리 범위에 포함되는 것으로 이해되어야 한다.
실시예에서 사용한 용어는 단지 설명을 목적으로 사용된 것으로, 한정하려는 의도로 해석되어서는 안된다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 명세서에서, "포함하다" 또는 "가지다" 등의 용어는 명세서 상에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.
다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 실시예가 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가지고 있다. 일반적으로 사용되는 사전에 정의되어 있는 것과 같은 용어들은 관련 기술의 문맥 상 가지는 의미와 일치하는 의미를 가지는 것으로 해석되어야 하며, 본 출원에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.
또한, 첨부 도면을 참조하여 설명함에 있어, 도면 부호에 관계없이 동일한 구성 요소는 동일한 참조부호를 부여하고 이에 대한 중복되는 설명은 생략하기로 한다. 실시예를 설명함에 있어서 관련된 공지 기술에 대한 구체적인 설명이 실시예의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우 그 상세한 설명을 생략한다.
도 1은 본 발명에 따른 가상공간을 이용한 다중 사용자 간 협업 지원 시스템을 구성하는 포톤 서버 및 사용자앱을 도시한 도면이다.
도 1을 참조하면, 본 발명의 일실시예에 따른 가상공간을 이용한 다중 사용자 간 협업 지원 시스템은, 포톤 서버(Photon Server)(110)에 의해 구현될 수 있다. 포톤 서버(110)는 클라이언트인 복수의 협업단말과 서버/클라이언트 간 작동 방식에 의해 운영될 수 있고, 각 협업단말의 사용자들은 master/slave 간 관계를 이루며, 제어권의 양도 및 양수에 의해 slave가 새로운 master가 되는 구조로 운영될 수 있다.
포톤 서버(110)는, 클라이언트와 서버 간 데이터 전송(Data Transfer)(111) 기능과, 아바타(Avatar)(112) 매칭 기능, 및 마스터에 의한 룸생성(Room Creation)(113) 기능을 제공할 수 있다.
또한 포톤 서버(110)는 발명의 구현에 앞서, 가상공간을 이용한 다중 사용자 간 협업을 위한 인터페이스를 제공하는 사용자앱(120)을 제작해 다운로드 요청하는 각 협업단말로 배포하는 기능도 제공할 수 있다.
일례로 포톤 서버(110)는 HMD용 혹은 안드로이드용 사용자앱(120)을 마련해 두고, 다운로드 요청하는 협업단말이 가상현실에 특화된 장비인지, 일반적인 모바일 기기인지 확인하여, 각 협업단말에 적합한 협업 인터페이스를 제공하는 사용자앱(120)을 배포함으로써, 사용자들이 장비 제한 없이 일반적인 모바일 기기를 통해서도 손쉽게 협업에 참여 가능하도록 할 수 있다.
가상현실에 특화된 장비로는, 스마트 안경처럼 머리에 착용하여, 홀로렌즈를 통해 가상현실을 시각화하는 HMD(Head Mounted Display)를 예로 들 수 있고, 일반적인 모바일 기기로는, 안드로이드나 IoS 같은 모바일 기기용 운영체제로 구동되는 스마트폰, 태블릿PC 등을 예로 들 수 있다.
이하에서는 다중 사용자 간 협업 지원을 위해 포톤 서버(110)에서 제공하는 각 기능을 구체적으로 설명한다.
Data Transfer(111) 기능은, 포톤 서버(110)에 접속한 어느 플레이어(제1 협업단말)가 다른 플레이어(제2 협업단말)에게 데이터를 공유할 수 있도록 데이터를 송수신하는 기능으로서, 'Photon.Pun', 'Photon.Realtime' 등의 라이브러리를 통해 구현된다.
데이터 송신(Sending) 기능은, 자신 외 다른 플레이어에게 데이터를 전송할 것인지, 모든 플레이어에게 전송할 것인지, 또는 Master에게만 전송할 것인지를 'RaiseEventOptions'을 통해 결정한 후, 'EventCaching' 데이터를 저장할 룸 캐시 메모리를 할당하여 사용할 것인지, 또는 룸 캐시 메모리를 사용하지 않을 것인지 설정한 후에, 전송 이벤트를 발생하는 것으로 구현될 수 있다. 이때 전송 데이터의 유형(Type)으로는 'int', 'string,byte', 'struct'를 예로 들 수 있고, 'struct' 타입의 데이터 전송 시에는 'object[]' 배열(array)로 변환된 후에 전송된다.
데이터 수신(Receive) 기능은, 일례로 'PhtotonNetwork.NetworkingClient.EventReceived+=OnEvent'의 선언 후에, 'EnumEventType:Byte'를 통해 각 이벤트에 정의된 상수가 Master로부터 전송됨에 따라, 각 플레이어가 상수에 해당하는 수신 이벤트를 발생하는 것으로 구현될 수 있다.
Avatar(112) 기능은, 개별 클라이언트(Player)에 아바타를 부여하고, 가상의 3D 작업공간에 접속되는 순서대로 3D 작업공간에 아바타를 표시하고, 개별 클라이언트의 위치 및 회전 데이터에 기반해 아바타를 조작하는 기능이다.
일례로 포톤 서버(110)는 'Photon.Pun' 라이브러리에 있는 'IPunObservable'을 상속받아 'IPunObservable.OnPhotonSerializeView(PhotonStream, PhotonMessageInfo)' 메소드를 실행함으로써, 개별 클라이언트의 위치 벡터값 및 회전 Quaternion값을 공유하고, 이를 통해 개별 클라이언트에 매칭된 아바타의 움직임을 표현할 수 있다.
Room Creation(113) 기능은, 공동의 작업을 수행하는 복수의 협업단말 중 Master로 정해진 협업단말의 룸(Room) 생성 요청에 따라, 디지털 트윈 기반의 가상의 3D 작업공간을 생성하는 기능으로서, Master가 아닌 협업단말에서는 3D 작업공간에 접속하여 아바타로 참여하게 된다.
일례로 포톤 서버(110)에서 룸 생성시 파라미터 'Photon.RealtimeRoomOptionsIsVisible', 'IsOpenRoom', 'MaxPlayers' 각각에 'True', 'True', '10'와 같은 값을 입력하여, 생성하려는 3D 작업공간에 대한 구체적인 환경변수값을 설정할 수 있다.
각 협력단말에서 실행되는 사용자앱(120)은, 주변공간 인식(Surroundings Recognition)(121) 기능 및 공간/객체 데이터 저장 및 전송(Azure Spatial Anchor)(122) 기능을 수행할 수 있다.
Surroundings Recognition(121) 기능은, 각 협력단말에 구비된 카메라로 촬영된 영상으로부터 주변공간을 인식하는 기능으로서, 각 협력단말이 상호 기준으로 하는 '바닥'을 인식하고, 그로부터 촬영 범위 내의 '사물'을 공동으로 인식하는 기능일 수 있다.
일례로 Surroundings Recognition(121) 기능은, 'CoreServices.GetSpatialAwarenessSystemDataProvider<OpenXRSpatialAwarenessMeshObserver> DisplayOption' 값을 변경 적용하는 경우에, 'SpatialAwarenessMeshDisplayOptions.Visable'을 통해 활성화(주변공간 인식 개시)되고, 'Spatial AwarenessMeshDisplayOptions.Occlusion'을 통해 비활성화(주변공간 인식 중지)될 수 있다.
또한 'Microsoft.MixedReality.Toolkit.SpatialAwareness', 'Microsoft. MixedReality.Toolkit.XRSDK.OpenXR' 등의 라이브러리에 있는 'CoreServices.SpatialAwarenessSystem'을 통해 생성된 충돌 메쉬를 제거하거나 시각화하는데에도 Surroundings Recognition(121) 기능이 이용될 수 있다.
Azure Spatial Anchor(122) 기능은, 각 협업단말이 위치한 주변공간의 공간 데이터를 다른 협업단말에 공유하기 위해 전송하거나, 다른 협업단말에서 공유한 공간 데이터나 객체 정보를 동기화 처리하기 위해 메모리 공간에 저장하는 기능이다.
구체적으로, 사용자앱(120)은 Microsoft.Azure.SpatialAnchors.Unity.SpatialAnchorManager클래스에 접근하여 StartSession, StopSession, CreateAzureAnchor(GameObject) 데이터를 생성하는 경우, 해당 GameObject의 CreateNativeAnchor를 통해 먼저 기본 XR 앵커를 생성하고, CloudSpatialAnchor를 생성한 후, GameObjectFindNativeAnchor(). GetPointer()를 통해 로컬 클라우드 anchor의 위치를 기본 XR anchor 앵커의 위치로 설정하고, RecommendedForCreateProgress로 anchor를 Cloud에 저장하고, CreateAnchorAsync로 저장 후, ID를 통해 Azure AnchorID를 포톤 서버(110)에서 Callback 받아 메모리 공간에 저장할 수 있다.
이와 같이 본 발명에 따르면, 공동의 작업에 참여하는 다수의 사용자 단말이 공유할 수 있는 가상의 작업공간을 디지털 트윈을 이용해 3D 모델 형태로 구현하고, 각 사용자 단말의 이동 및 회전 조작에 따른 3D 작업공간에서의 아바타의 위치 및 관점을 고려해, 각 사용자 단말에 시각화되는 3D 작업공간의 화면뷰를 전환함으로써, 다중 사용자가 공동 작업을 수행하기 위한 메타버스 환경을 제공할 수 있으며, 3D 가상현실에 특화된 기존의 HMD 장비 이외에, 일반적인 모바일 기기를 통한 사용자의 협업 참여가 가능해지도록, 모바일 기기용 사용자앱을 통해 다중 사용자 간 협업 지원을 위한 인터페이스를 제공 함으로써, 다양한 환경에서의 사용자 협업을 지원할 수 있다.
이하 도 2 및 도 3에서는, 다중 사용자의 협업을 지원하는 가상의 3D 작업공간을 일관성 있게 구현하기 위해, 각 협업단말이 위치한 주변공간의 인식을 통한 공간 데이터의 생성 및 AnchorID를 이용한 상기 공간 데이터의 공유 과정을 구체적으로 설명한다.
도 2는 본 발명에 따른 가상공간을 이용한 다중 사용자 간 협업 지원 시스템에서, 포톤 서버와 사용자앱 간 처리 흐름을 도시한 도면이다.
도 2를 참조하면, 단계(200)에서 사용자앱(120)의 Spatial Anchor Manager는 사용자로부터 주변공간에 대한 인식 명령이 입력됨에 따라, 카메라를 구동하여 촬영된 영상으로부터 다른 협업단말과의 상호 기준이 되는 '바닥'과 '객체'를 인식하여 공간 데이터를 생성하고, 이를 Point Cloud Data로 변환하여 단말 내 할당된 메모리 공간에 저장하고, 메모리 공간 내 Point Cloud Data가 정해진 인식률을 만족할 때까지 반복해서 주변공간을 인식하고, 정해진 인식률을 만족하여 충분한 공간 데이터가 확보되면 포톤 서버(110)로의 전송을 개시한다.
복수의 협업단말 중 상기 공간 데이터를 인식해 공유하려는 제1 협업단말이 홀로렌즈를 구비한 HMD 기기인 경우 단계(210)로 이동하고, 상기 제1 협업단말의 공간 데이터를 가져와 동기화하려는 제2 협업단말이 안드로이드로 구동되는 모바일 기기인 경우 단계(220)로 이동한다.
단계(210)에서 HMD 기기의 사용자앱(120)은 상기 공간 데이터를 다른 협업단말에 공유하기 위해 AnchorID를 할당하여, AnchorID 및 공간 데이터의 쌍을 포톤 서버(110)로 전송한다.
이에 따라 포톤 서버(110)는 AnchorID 및 공간 데이터를 클라우드 서버에 저장하고, 이를 각 협업단말에 알릴 수 있다.
단계(220)에서 모바일 기기의 사용자앱(120)은 포톤 서버(110)로부터 상기 AnchorID를 얻어와 콜백 다운로드 명령을 발생하여, 상기 클라우드 서버에 저장된 공간 데이터를 메모리 공간에 다운로드하고, 이후 동기화 처리를 수행한다.
일례로 모바일 기기의 사용자앱(120)은 HMD 기기에서 안드로이드 카메라 기능을 통해 주변을 인식한 공간 데이터에 할당한 아이디를 이용해 콜백 다운로드 명령을 발생하여, 클라우드 서버 내 Point Cloud Data를 가져오고, 그에 따라 주변공간 내 객체(Object)를 이동시켜 각 협업단말에서 시각화되는 3D 작업공간을 동기화 처리할 수 있다.
이처럼 본 발명에 따르면, 사용자 단말 간 데이터 공유 및 동기화에 의해 각 사용자 단말에 일관성 있는 가상의 3D 작업공간을 구현하여, 가상의 3D 작업공간을 이용한 다중 사용자의 효율적인 협업을 지원할 수 있다.
단계(230)에서 포톤 서버(110)는, 앞서 주변공간 인식에 따른 공간 데이터의 공유가 이루어진 상태에서 특정 HMD 기기의 사용자앱(120)에서 건물 데이터나 기상 데이터를 로딩하는 Event가 발생될 경우, 해당 HMD 기기에서 Event가 수행된 결과 데이터를 다른 HMD 기기로 전송하여, HMD 기기 간의 Event 수행 결과의 공유를 지원한다.
HMD 기기 간에 공유 가능한 Event는, 예를 들어, GPS 이동, 날씨 로딩, 관심지점(POI) 이동 등일 수 있으며, Event 공유 외에도 HMD 기기 간 권한의 양도/양수, 아바타(Player)의 위치 벡터값 및 회전 벡터값의 공유도 가능하다.
단계(240)에서 모바일 기기의 사용자앱(120)은, 상기 단계(230)에서 포톤 서버(110)에 의해 HMD 기기 간에 공유되는 데이터를 취득하여, 모바일 기기에서 구현되는 3D 작업공간에 반영해 동기화 처리한다.
즉 모바일 기기의 사용자앱(120)은 HMD 기기에서 포톤 서버(110)로 전송한 Event에 정해진 상수값을 가져와 Event 수행 결과를 동기화시킬 수도 있고, HMD 기기에서 포톤 서버(110)로 전송한 해당 플레이어의 아바타 위치 정보(위치 벡터값 및 회전 벡터값)를 가져와, 아바타의 움직임을 동기화시킬 수도 있다.
도 3은 본 발명에 따른 가상공간을 이용한 다중 사용자 간 협업 지원 시스템에서, 포톤 서버와 사용자앱 간 상세한 처리 흐름을 도시한 도면이다.
도 3에서는, 포톤 서버와 구체적인 행위 주체(Actor)들 간 상호 작용을 시간적 흐름에 따라 보다 세부적으로 설명한다.
도 3의 좌측은, HMD 기기를 착용한 홀로렌즈(Hololens) 사용자인 경우를 나타내고, 도 3의 우측은 모바일 기기의 안드로이드(Android) 사용자인 경우를 나타내며, HMD 기기와 일반적인 모바일 기기 간 협업 지원을 위한 기능적 상호 작용 과정을 세분화하여 설명한다.
단계(301)에서 HMD 기기(제1 협업단말)의 사용자앱(320)은 'Start Session' 명령을 발생해 HMD 기기가 위치한 주변공간 인식을 준비한다.
단계(302)에서 모바일 기기(제2 협업단말)의 사용자앱(330)도 'Start Session' 명령을 발생해 모바일 기기가 위치한 주변공간 인식을 준비한다.
일례로, 각 협업단말에서 사용자앱(320, 330)은, Spatial Anchor Manager를 위한 일정 용량의 메모리 공간을 할당하고, Microsoft.Azure.SpatialAnchors.Unity.SpatialAnchorManager클래스에 접근하여 'Start Session'을 통해 주변공간 인식을 시작할 수 있다.
단계(303)에서 HMD 기기의 사용자앱(320)은 HMD 기기 주변의 바닥, 객체를 인식하여 공간 데이터를 생성해 메모리 공간에 저장 후, 상기 공간 데이터의 공유를 위한 위치 정보인 Point Cloud Data로 변환하여 Anchor ID를 할당하는 과정을, 메모리 공간 내 공간 데이터가 정해진 인식률을 만족할 때까지 반복 수행하고, 정해진 인식률을 만족함에 따라 충분한 Point Cloud Data가 확보되면, 단계(304)로 이동한다.
HMD 기기의 사용자앱(320)은 카메라 기능을 통해 주변 객체를 Point Cloud Data로 변환하여, 사용자 주변에 객체를 인식하고 위치를 일치시키는데 사용할 수 있다.
HMD 기기의 사용자앱(320)은, 일례로 CoreServices.GetSpatialAwarenessSystemDataProvider<OpenXRSpatialAwarenessMeshObserver> DisplayOption 값을 SpatialAwarenessMeshDisplayOptions.Visable을 통해 주변공간 인식을 활성화하고 Microsoft.Azure.SpatialAnchors.Unity.SpatialAnchorManager 클래스에 접근하여 StartSession, StopSession, FindAzureAnchor을 활용할 수 있다.
단계(304)에서 HMD 기기의 사용자앱(320)은 'Sharing Session' 명령을 발생해 Point Cloud Data 및 Anchor ID를 포톤 서버(310)로 전송한다. 전송된 Point Cloud Data는 RecommendedForCreateProgress에 의해 클라우드에 저장된다.
단계(305)에서 HMD 기기의 사용자앱(320)은 전송 완료에 따라 'Stop Session' 명령을 발생한다. 일례로 HMD 기기의 사용자앱(320)은 상기 단계(301)에서 Spatial Anchor Manager에 할당한 메모리 공간을 할당 해제하고, Microsoft.Azure.SpatialAnchors.Unity.SpatialAnchorManager 클래스에 접근하여 'StopSession'을 통해 주변 공간 인식을 중지할 수 있다.
단계(306)에서 모바일 기기의 사용자앱(330)은 'Create Session' 명령 발생을 통해, HMD 기기에서 공유된 공간 데이터인 Point Cloud Data에 할당된 모든 Anchor ID를 포톤 서버(310)로부터 가져오고, 가져온 모든 Anchor ID가 NULL값이 될 때까지 클라우드 서버로부터 Anchor ID에 할당된 Point Cloud Data를 다운로드하여 메모리 공간에 저장하는 과정을 반복 수행한다.
여기서 Anchor ID는, RES(RaiseEventSender) 클래스를 통해 포톤 서버(310)에 접속해 있는 여러 플레이어에게 전파되어 공유되고, 모바일 기기의 사용자앱(330)은 CreateAnchorAsync로 저장 후 ID와 매칭되는 Anchor ID를 서버에서 Callback으로 내려받아 메모리에 저장할 수 있다.
모바일 기기의 사용자앱(330)은 다운로드한 Point Cloud Data에 따라 해당 주변공간의 객체를 이동시켜 위치를 동기화시킬 수 있다. 객체 이동을 위해 Microsoft.Azure.SpatialAnchors.CloudSpatialAnchorWatcher.Session.CreateWatcher(AnchorLocateCriteria)가 이용된다.
이 밖에도 모바일 기기의 사용자앱(330)은 이벤트 수신을 통해 받은 AnchorID를 Microsoft.Azure.SpatialAnchors.AnchorLocateCriteria.Identifiers에 등록한 후 Microsoft.Azure.SpatialAnchors.Unity.SpatialAnchorManager.Session에 접근하여 엥커를 찾을 수 있다.
단계(307)에서 모바일 기기의 사용자앱(330)은 저장 완료에 따라 'Stop Session' 명령을 발생한다.
단계(308)에서 HMD 기기의 사용자앱(320)은, HMD 기기 착용자의 머리의 움직임을 HMD 기기에 구비된 자이로 센서(Gyroscope)를 통해 측정하여, 측정된 움직임값(위치 벡터값 및 회전 벡터값)을 포톤 서버(310)로 전송해 다른 협업단말과 공유하고, HMD 기기에서의 건물 데이터 로딩이나 기상 데이터 로딩과 같은 Event 발생 시 Event 수행 결과를 포톤 서버(310)로 전송해 다른 협업단말과 공유한다.
HMD 기기의 사용자앱(320)은 HoloLens의 Gyroscope를 통해 움직이는 머리 위치 값과 회전 값을 포톤 서버(310)에 전송하여 다른 플레이어와 공유한다.
이때 HMD 기기의 사용자앱(320)은 RaiseEventOptions을 통해 ①자신 외 다른 사람에게 데이터를 전송할 것인지, ②모든 플레이어에게 전송할 것인지, 또는 ③Master에게만 전송할 것인지를 설정할 수 있으며, EventCaching 데이터를 ①룸 캐시 메모리를 할당하여 사용할 것인지 아니면 ②룸 캐시에 추가되지 않도록 할 것인지 설정하여 이벤트를 전송할 수 있다.
또한 OnEvent(EventDataphotonEvent)에 지정된 상수는 Enum.Object(typeof(EventType), photonEvent.Code를 통해 분류되어 해당 이벤트가 공유될 수 있다.
단계(309)에서 모바일 기기의 사용자앱(330)은, HMD 기기로부터 공유된 움직임값 및 Event 수행 결과를 포톤 서버(310)로부터 가져와 3D 작업공간에 반영해 동기화 처리한다.
모바일 기기의 사용자앱(330)은, PhotonNetwork.NetworkingClient.EventReceive+= OnEvent 호출을 통해 새로 등록된 다른 플레이어의 이벤트를 포톤 서버(310)로부터 수신할 수 있고, 포톤 서버(310)로부터 수신된 다른 플레이어의 움직임값/Event 수행 결과에 따라 동기화를 진행한다.
단계(310)에서 모바일 기기의 사용자앱(330)은, 모바일 기기의 Gyroscope를 통해 움직이는 위치값과 회전값을 포톤 서버(310)에 전송하여 자신의 움직임값을 다른 플레이어에게 공유하고, 단계(311)에서 HMD 기기의 사용자앱(320)은, 모바일 기기에 의해 공유된 움직임값을 포톤 서버(310)로부터 가져와 3D 작업공간에 반영해 동기화 처리한다.
도 4는 본 발명에 따른 가상공간을 이용한 다중 사용자 간 협업 지원 시스템의 내부 구성을 도시한 블록도이다.
도 4를 참조하면, 본 발명의 일실시예에 따른 가상공간을 이용한 다중 사용자 간 협업 지원 시스템(400)은, 시각화부(410), 수집부(420), 동기화 처리부(430), 인식 처리부(440) 및 이벤트 처리부(450)를 포함하여 구성할 수 있다.
시각화부(410)는 복수의 협업단말의 접속에 따라, 디지털 트윈 기반의 3D 작업공간을 각 협업단말에서 실행되는 앱을 통해 시각화 한다.
여기서 각 협업단말은, 가상현실에 특화된 HMD 웨어러블 기기(470) 또는 일반적인 모바일 기기(480)일 수 있다.
HMD 웨어러블 기기(470)는, 주변공간 인식을 위한 카메라(471), 가상의 3D 작업공간이 시각화되는 홀로렌즈(472), HMD 착용자의 머리 움직임을 측정하는 자이로 센서(473) 및 공간 데이터를 저장하기 위한 메모리(474)를 포함하여 구성할 수 있다.
모바일 기기(480)는, 주변공간 인식을 위한 카메라(481), 가상의 3D 작업공간이 시각화되는 터치 스크린(482), 모바일 기기의 움직임을 측정하는 자이로 센서(483) 및 공간 데이터를 저장하기 위한 메모리(484)를 포함하여 구성할 수 있다.
다중 사용자 간 협업 지원 시스템(400)은 HMD 웨어러블 기기(470)에 협업 인터페이스를 제공하는 HMD용 사용자앱을 배포해 HMD 웨어러블 기기(470) 간의 협업을 지원할 수 있다. HMD용 사용자앱을 통해서는 서버를 통하지 않고 HMD 웨어러블 기기(470) 간의 직접적인 데이터 공유가 가능해진다.
한편 사용자가 협업 참여를 위해 사용하는 장비가 모바일 기기(480)이면 HMD 웨어러블 기기(470)와 모바일 기기(480) 간 장비 차이로 직접적인 데이터 공유가 어렵기 때문에, 다중 사용자 간 협업 지원 시스템(400)은 모바일 기기(480)를 위한 사용자앱을 배포하여, HMD 웨어러블 기기(470) 간 공유되는 데이터가 서버를 경유해 모바일 기기(480)에도 제공되도록 할 수 있다.
이를 통해 본 발명은 사용 장비에 구애되지 않고 다양한 상황에서 사용자가 협업에 참여할 수 있게 지원할 수 있다.
수집부(420)는 상기 복수의 협업단말 각각으로부터, 각 협업단말이 위치한 주변공간을 인식하여 생성되는 공간 데이터를 수집하고, 상기 수집된 공간 데이터에 AnchorID를 할당하여, 네트워크 연결된 클라우드 서버(460)에 저장한다.
일례로, 인식 처리부(440)는 복수의 협업단말 중 제1 협업단말(470)의 사용자에 의해 주변공간에 대한 인식 명령이 입력됨에 따라, 제1 협업단말(470)에서 실행되는 앱을 통해 제1 협업단말(470)에 구비된 카메라를 구동하여, 제1 협업단말의 위치벡터값 및 회전벡터값에 따른 전방을 촬영하고, 촬영한 영상으로부터 제1 협업단말(470)의 주변공간에 존재하는 바닥(bottom) 및 객체(Object)를 인식하고, 인식한 바닥 및 객체를 포함하여 생성되는 공간 데이터를, 제1 협업단말(470) 내 할당된 메모리공간(474)에 저장한다.
시각화부(410)는 메모리공간(474) 내 공간 데이터에 따라, 제1 협업단말(470)에 시각화된 상기 3D 작업공간을 조정할 수 있다.
또한 제1 협업단말(470) 이외의 제2 협업단말(480)에서도, 제1 협업단말(470)에서 인식한 공간 데이터를 3D 작업공간에 반영해 동기화할 수 있도록, 수집부(420)는, 인식 처리부(440)에 의해 메모리공간(474) 내 공간 데이터의 개수가 정해진 인식률(Recognition Rate)에 도달함에 따라, 제1 협업단말(470)에서의 주변공간의 인식이 중지되면, 제1 협업단말(470)로부터 메모리공간(474) 내 공간 데이터를 수집하고, 수집된 공간 데이터에 AnchorID를 할당하여, 네트워크 연결된 클라우드 서버(460)에 저장할 수 있다.
동기화 처리부(430)는 상기 저장에 따라, 상기 3D 작업공간에 접속되어 있는 각 협업단말에 상기 AnchorID를 전파한다.
이후 동기화 처리부(430)는 상기 각 협업단말에서 상기 AnchorID를 이용한 콜백 다운로드 명령을 입력함에 따라, 상기 AnchorID에 의해 식별되는 클라우드 서버(460) 내 공간 데이터를 상기 각 협업단말로 전송하여, 상기 공간 데이터에 따라 상기 각 협업단말에 시각화된 상기 3D 작업공간이 동기화되도록 처리한다.
일례로 상기 제1 협업단말(470)과 상이한 제2 협업단말(480)의 사용자에 의해 상기 AnchorID를 이용한 상기 콜백 다운로드 명령이 입력됨에 따라, 동기화 처리부(430)는 제1 협업단말(470)로부터 수집된 공간 데이터를 상기 AnchorID를 이용해 클라우드 서버(460)로부터 식별하고, 식별된 공간 데이터를 제2 협업단말(480)로 전송하여, 제2 협업단말(480) 내 할당된 메모리공간(484)에 저장시킬 수 있다.
이후 동기화 처리부(430)는 제2 협업단말(480)에서 실행되는 앱을 통해, 메모리공간(484) 내 공간 데이터에 따라, 제2 협업단말(480)에 시각화된 상기 3D 작업공간 상의 객체를 이동시켜, 제1 협업단말(470)에 시각화된 상기 3D 작업공간과 동기화되도록 할 수 있다.
실시예에 따라, 다중 사용자 간 협업 지원 시스템(400)은 플레이어 별 아바타 매칭을 통한 메타버스 구현을 통해 다중 사용자의 협업을 지원할 수 있다.
시각화부(410)는 복수의 협업단말이 상기 3D 작업공간에 접속되는 순서에 상응하여, 복수의 협업단말 각각에 매칭된 아바타를 각 협업단말에 시각화된 3D 작업공간 상에 표시할 수 있다.
수집부(420)는 상기 각 협업단말에 구비된 자이로센서(473, 483)에 의해 측정되는 위치벡터값 및 회전벡터값을 일정 주기로 수집하여, 상기 각 협업단말의 움직임을 감지하고, 동기화 처리부(430)는 상기 각 협업단말의 위치벡터값 및 회전벡터값에 따라, 상기 3D 작업공간 상의 아바타를 위치 이동 또는 회전 이동하여, 상기 각 협업단말의 움직임을 시각화 할 수 있다.
또한 다중 사용자 간 협업 지원 시스템(400)은 각 협업단말에 매칭된 아바타의 움직임을 다른 협업단말에 공유 가능하게 할 수 있다.
이를 위해 인식 처리부(440)는 제1 협업단말(470)에 구비된 자이로센서(473, 483)에 의해 측정되는 제1 협업단말(470)의 위치벡터값 및 회전벡터값을 더 포함하도록 상기 공간 데이터를 Point Cloud Data로 변환하여 생성할 수 있다.
또한 시각화부(410)는 제1 협업단말(470)과 상이한 제2 협업단말(480)에 구비된 카메라의 촬영범위 내에 제1 협업단말(470)이 존재함에 따라, 제1 협업단말(470)에 매칭된 아바타를, 상기 공간 데이터 내 제1 협업단말(470)의 위치벡터값 및 회전벡터값에 따라, 제2 협업단말(480)에 시각화된 상기 3D 작업공간 상에 표시할 수 있다.
이후 동기화 처리부(430)는 일정 주기로 수집되는 상기 제1 협업단말의 위치벡터값 및 회전벡터값에 따라, 제1 협업단말(470)에 매칭된 아바타를 위치 이동 또는 회전 이동함으로써, 제1 협업단말(470)의 움직임을 제2 협업단말(480)의 3D 작업공간에 반영해 동기화할 수 있다.
또한 다중 사용자 간 협업 지원 시스템(400)은 다른 협업단말이 발생시킨 EVENT 수행 결과를 다른 협업단말에 공유 가능하게 할 수 있다.
이벤트 처리부(450)는 3D 작업공간이 시각화된 복수의 협업단말 중 어느 하나의 제1 협업단말(470)로부터, 건물데이터와 기상데이터 및 설정된 관심지역(POI) 데이터 중 적어도 하나의 데이터를 로딩하는 이벤트(Event)가 발생될 경우, 제1 협업단말(470)의 앱을 통해, 외부 서버(예, 맵 서버, 기상청 서버)로부터 상기 이벤트와 연관된 데이터를 로딩하여, 로딩한 데이터에 따라 상기 3D 작업공간 상에서 상기 이벤트에 따른 Action을 수행한다.
수집부(420)는 제1 협업단말(470)로부터, 상기 이벤트에 따른 Action을 수행한 결과에 관한 결과 데이터를 수집하고, 수집된 결과 데이터에 EventID 및 AnchorID를 할당하여, 클라우드 서버(460)에 저장함으로써 다른 협업단말이 발생시킨 EVENT 수행 결과가 다른 협업단말에 손쉽게 공유 가능해지도록 할 수 있다.
이와 같이, 본 발명을 통해 구현된 가상의 3D 작업공간을 개인에 한정되지 않고 공동의 작업에 참여하는 다수 사용자가 공유할 수 있게 구현하고, 공동 작업자의 모니터링 및 사용자 간의 정보 교환을 지원하여, 의사소통의 어려움 없이 3D 작업공간을 활용한 다중 사용자의 효율적인 협업을 지원할 수 있다.
본 발명에 따르면, 다중 사용자 간 협업을 지원하는 인터페이스를 제공하는 모바일 기기용 사용자앱을 마련하여, 3D 가상현실에 특화된 HMD 장비를 이용하지 않고, 일반적인 모바일 기기를 사용해, 장비의 제한 없이 협업 참여가 가능해지도록 할 수 있다.
본 발명에 따르면, 바닥, 사물 등의 주변공간을 인식한 공간 데이터와, 3D 작업공간 내에서의 아바타의 움직임, 및 건물 데이터나 기상 데이터, 관심지역(POI) 데이터의 3D 작업공간으로의 로딩에 관한 이벤트 수행 결과를 HMD 장비(예, 홀로렌즈 사용자)와 모바일 기기(예, 안드로이드 사용자) 간에 공유하여 일관성 있는 3D 작업공간을 구현함으로써, 다양한 장비 환경에서의 다중 사용자 간 협업을 지원할 수 있다.
다른 실시예로, 본 발명의 가상공간을 이용한 다중 사용자 간 협업 지원 시스템(400)은, 복수의 클라이언트 단말에 의한 공동작업이 설정되면, 저장된 공간 정보(타일, 바닥) 및 상기 공동작업에 관한 작업 정보를 고려하여, 상기 공동작업이 수행될 가상의 공간 객체를 생성하고, 복수의 클라이언트 단말 중 상기 공간 객체에 접속하는 제1 클라이언트 단말에 아바타 객체를 부여하고, 제1 클라이언트 단말의 위치값을 고려하여, 상기 아바타 객체를 상기 공간 객체 상에 위치시키고, 상기 공간 객체에 대해 작성되는 복수의 관점 별 3D화면뷰 중, 상기 아바타 객체의 시야에 상응하는 화면뷰를, 상기 제1 클라이언트 단말에 출력하고, 상기 제1 클라이언트 단말의 조작에 의해 상기 아바타 객체가 상기 공간 객체 상에서 수행하는 작업의 데이터를, 상기 화면뷰에 시각화 할 수 있다.
이때 상기 제1 클라이언트 단말에 의해 모니터링 기능이 실행 요청되는 경우, 다중 사용자 간 협업 지원 시스템(400)은, 복수의 클라이언트 단말 중 상기 제1 클라이언트 단말에 의해 지정된 제2 클라이언트 단말에 부여된 아바타 객체가 상기 공간 객체 상에서 수행하는 작업의 데이터를 상기 화면뷰에 더 시각화 함으로써, 상기 제1 클라이언트 단말에 의한 상기 제2 클라이언트 단말의 모니터링을 지원할 수 있다.
또한 다중 사용자 간 협업 지원 시스템(400)은, 상기 제1 클라이언트 단말에 의해 데이터 공유 기능이 실행 요청되는 경우, 상기 제1 클라이언트 단말 및 상기 제1 클라이언트 단말에 의해 지정된 제2 클라이언트 단말 간에 상기 실행 요청의 시점까지 수행된 작업 데이터를 선정된 데이터 교환 알고리즘에 의해 송수신 함으로써, 데이터 공유를 지원할 수 있다.
이때 다중 사용자 간 협업 지원 시스템(400)은, 상기 제1 클라이언트 단말의 위치값에 해당하는 기상 정보 및 도로 정보를 더 고려하여, 상기 공간 객체를 생성할 수 있다.
일례로 다중 사용자 간 협업 지원 시스템(400)은, 상기 제1 클라이언트 단말의 이동 조작에 의해 상기 아바타 객체가 상기 공간 객체 상에서 이동하면, 상기 이동한 위치에 따라, 상기 제1 클라이언트 단말에 출력된 상기 화면뷰를 전환할 수 있다.
다른 일례로 다중 사용자 간 협업 지원 시스템(400)은, 상기 제1 클라이언트 단말의 회전 조작에 의해 상기 아바타 객체가 상기 공간 객체 상에서 회전하면, 상기 회전한 각도 만큼 변경된 시야에 따라, 상기 제1 클라이언트 단말에 출력된 상기 화면뷰를 전환할 수 있다.
다중 사용자 간 협업 지원 시스템(400)은, 복수의 클라이언트 단말 중 마스터로 지정된 클라이언트 단말의 요청에 따라, 상기 공동작업에 참여하지 않는 관전자 단말의 상기 공간 객체로의 접속을 허용하고, 상기 공간 객체에 접속하는 상기 관전자 단말의 위치값에 따라, 상기 관전자 단말에 부여된 아바타 객체를, 상기 공간 객체 상에 위치시키고, 상기 관전자 단말의 조작에 따른 상기 아바타 객체의 변경된 시야에 상응하는 화면뷰를, 상기 관전자 단말에 출력하고, 동일한 가상공간에서 다수의 아바타 각각이 작업하는 데이터를 시각화해서 모니터링할 수 있게 함으로써, 다중 사용자의 협업을 지원할 수 있다.
본 발명에 따르면, 동일한 디지털 트윈 시티를 3D 모델화하여 가상의 3D 작업공간을 협업에 참여하는 각 사용자 단말에 제공해 공유할 수 있게 하고, 각 사용자 단말의 이동 및 회전 조작에 따른 아바타의 위치 및 관점별로 3D 작업공간의 화면뷰를 제공하여, 다중 사용자가 공동 작업을 수행할 수 있는 메타버스 환경을 제공할 수 있다.
이하 도 5a 내지 도 5c에 도시된 실시예를 참조하여 다중 사용자 간 협업 지원 과정을 구체적으로 설명한다.
도 5a는 본 발명에 따른 가상공간을 이용한 다중 사용자 간 협업 지원 시스템에서, 디지털 트윈 기반의 3D 작업공간을 시각화한 일례를 도시한 도면이다.
도 5a를 참조하면, 본 발명에 따른 가상공간을 이용한 다중 사용자 간 협업 지원 시스템은, 접속되는 제1 협업단말(501)과 제2 협업단말(502)에, 디지털 트윈 기반의 3D 작업 공간(510)을 시각화할 수 있다.
이때 제1 협업단말(501)와 제2 협업단말(502)의 위치가 상이하므로, 동일한 3D 작업 공간(510)이더라도 각 단말에 시각화되는 화면뷰는 달라지게 된다.
제1 협업단말(501)에 시각화되는 3D 작업 공간(510)은, 제1 협업단말(501)의 위치 벡터값 및 회전 벡터값에 따른 관점(또는 시선/시야)(A)에 따른 화면뷰로 제공되고, 제2 협업단말(502)에 시각화되는 3D 작업 공간(510)은, 제2 협업단말(502)의 위치 벡터값 및 회전 벡터값에 따른 관점(또는 시선/시야)(B)에 따른 화면뷰로 제공될 수 있다.
다중 사용자 간 협업 지원 시스템은, 제1 협업단말(501)과 제2 협업단말(502)이 주변공간을 인식한 공간 데이터를 공유하며 3D 작업 공간(510) 상에서 서로의 작업 과정을 모니터링하면서 작업을 수행하도록 할 수 있다.
또한 다중 사용자 간 협업 지원 시스템은, 자이로센서에 의해 측정된 제1 협업단말(501)과 제2 협업단말(502)의 위치 벡터값 및 회전 벡터값에 따라, 제1 협업단말(501)과 제2 협업단말(502)에 매칭된 '구' 형태의 아바타를 이동 조작 또는 회전 조작 함으로써, 3D 작업 공간(510)에서 개별 아바타의 움직임을 공유할 수 있다.
또한 다중 사용자 간 협업 지원 시스템은, 제1 협업단말(501)과 제2 협업단말(502) 중 어느 하나의 단말에서 3D 작업 공간(510) 상에 기상 데이터를 로딩한 경우, 예를 들어 바람이 흐르게 하는 등의 이벤트를 수행한 결과를 다른 단말에 공유하여 3D 작업 공간(510)에서 표현할 수 있다.
도 5b는 본 발명에 따른 가상공간을 이용한 다중 사용자 간 협업 지원 시스템에서, 3D 작업공간이 포커싱되는 일례를 도시한 도면이다.
도 5b를 참조하면, 본 발명에 따른 가상공간을 이용한 다중 사용자 간 협업 지원 시스템은, 제1 협업단말(501)의 관점(A)이 3D 작업 공간(510)에 도달함에 따라 3D 작업 공간(510)의 테두리(520)를 포커싱 처리할 수 있다.
도 5c는 본 발명에 따른 가상공간을 이용한 다중 사용자 간 협업 지원 시스템에서, HMD 및 모바일 기기 간 협업을 지원하는 일례를 도시한 도면이다.
도 5c를 참조하면, 본 발명에 따른 가상공간을 이용한 다중 사용자 간 협업 지원 시스템은, 제1 협업단말(501)이 관점(A)에 따라 3D 작업 공간(510)에서 작업 진행 중에, 다른 작업자인 제2 협업 단말(502)이 관점(B)에 따라 3D 작업 공간(510)에서 진행 중인 작업 과정을 모바일 기기(503)를 통해 관전하면서 작업할 수 있게 함으로써 다중 사용자의 협업을 지원할 수 있다.
도 6은 본 발명의 일실시예에 따른 가상공간을 이용한 다중 사용자 간 협업 지원 방법의 순서를 도시한 흐름도이다.
본 발명에 따른 가상공간을 이용한 다중 사용자 간 협업 지원 과정은, 상술한 다중 사용자 간 협업 지원 시스템을 구성하는 포톤 서버 및 각 협업단말에 배포한 사용자앱을 통해 구현될 수 있다.
도 6을 참조하면, 단계(610)에서 포톤 서버는, 접속되는 복수의 협업단말에 디지털 트윈 기반의 3D 작업공간을 시각화한다.
단계(620, 630)에서 제1 협업단말은 사용자앱을 통해 카메라를 구동해 주변공간을 인식하여 공간 데이터를 생성하고, 생성한 공간 데이터를 위치벡터값 및 회전벡터값을 포함하도록 Point Cloud Data로 변환한다.
단계(640 내지 660)에서 포톤 서버는 제1 협업단말로부터 공간 데이터를 수집하고, 수집한 공간 데이터에 AnchorID를 할당해 클라우드 서버에 저장하고, 제1 협업단말을 제외한 각 협업단말에 상기 AnchorID를 배포한다.
단계(670, 680)에서 포톤 서버는 상기 AnchorID를 이용해 콜백 다운로드 명령을 발생하는 제2 협업단말로, 상기 AnchorID에 의해 식별되는 클라우드 서버 내 공간 데이터를 전송한다.
단계(690)에서 제2 협업단말은, 포톤 서버로부터 전송된 공간 데이터에 따라, 3D 작업공간을 동기화 처리한다.
이와 같이, 본 발명에 따르면, 각 사용자 단말에서 주변공간을 인식하여 생성한 공간 데이터에, 데이터 공유를 위한 AnchorID를 할당하고, 할당한 AnchorID의 전파를 통해 공동 작업에 참여하는 다른 사용자 단말로 상기 공간 데이터를 손쉽게 공유하고, 공유된 공간 데이터에 따라 다른 사용자 단말에서 시각화되는 3D 작업공간을 조정하여 동기화 함으로써, 사용자 단말 간 데이터 공유 및 동기화에 의해 각 사용자 단말에 일관성 있는 가상의 3D 작업공간을 구현하여, 가상의 3D 작업공간을 이용한 다중 사용자의 효율적인 협업을 지원할 수 있다.
도 7은 본 발명의 다른 실시예에 따른 가상공간을 이용한 다중 사용자 간 협업 지원 방법의 순서를 도시한 흐름도이다.
도 7을 참조하면, 단계(710, 720)에서 본 발명의 다중 사용자 간 협업 지원 시스템은, 복수의 클라이언트 단말에 의한 공동작업 설정에 따라, 공동작업이 수행될 가상의 공간 객체를 생성한다.
단계(730)에서 본 발명의 다중 사용자 간 협업 지원 시스템은, 공간 객체에 접속한 제1 클라이언트 단말에 아바타 객체를 부여하고, 단계(740)에서 본 발명의 다중 사용자 간 협업 지원 시스템은, 제1 클라이언트 단말의 위치값에 따라, 아바타 객체를 공간 객체 상에 위치시킨다.
단계(750)에서 본 발명의 다중 사용자 간 협업 지원 시스템은, 아바타 객체의 시야에 상응하는 화면뷰를 제1 클라이언트 단말에 출력하고, 단계(760)에서 본 발명의 다중 사용자 간 협업 지원 시스템은, 제1 클라이언트 단말의 조작에 의해 아바타 객체가 공간 객체 상에서 수행하는 작업을 화면뷰에 시각화한다.
단계(770, 780)에서 본 발명의 다중 사용자 간 협업 지원 시스템은, 제1 클라이언트 단말로부터 공동 작업자인 제2 클라이언트 단말에 대한 모니터링 요청이 발생하면, 제1 클라이언트 단말에 출력된 화면뷰에 제2 클라이언트 단말에 부여된 아바타 객체가 상기 공간 객체 상에서 수행하는 작업을 시각화한다.
이와 같이 본 발명에 따르면, 동일한 디지털 트윈 시티를 3D 모델화하여 가상의 3D 작업공간을 협업에 참여하는 각 사용자 단말에 제공해 공유할 수 있게 하고, 각 사용자 단말의 이동 및 회전 조작에 따른 아바타의 위치 및 관점별로 3D 작업공간의 화면뷰를 제공하여, 다중 사용자가 공동 작업을 수행할 수 있는 메타버스 환경을 제공할 수 있다. 또한 본 발명에 따르면, 각 사용자 단말의 이동 및 회전 조작에 따른 3D 작업공간에서의 아바타의 위치 및 관점을 고려해, 각 사용자 단말에 시각화되는 3D 작업공간의 화면뷰를 전환함으로써, 사용자별 아바타 매칭 및 아바타 조작에 따른 객체 변환 정보의 자동 산출을 통해, 다중 사용자가 공동 작업을 수행하기 위한 메타버스 환경을 제공할 수 있다.
실시예에 따른 방법은 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 상기 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 매체에 기록되는 프로그램 명령은 실시예를 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다. 컴퓨터 판독 가능 기록 매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(magnetic media), CD-ROM, DVD와 같은 광기록 매체(optical media), 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media), 및 롬(ROM), 램(RAM), 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함한다. 상기된 하드웨어 장치는 실시예의 동작을 수행하기 위해 하나 이상의 소프트웨어 모듈로서 작동하도록 구성될 수 있으며, 그 역도 마찬가지이다.
소프트웨어는 컴퓨터 프로그램(computer program), 코드(code), 명령(instruction), 또는 이들 중 하나 이상의 조합을 포함할 수 있으며, 원하는 대로 동작하도록 처리 장치를 구성하거나 독립적으로 또는 결합적으로(collectively) 처리 장치를 명령할 수 있다. 소프트웨어 및/또는 데이터는, 처리 장치에 의하여 해석되거나 처리 장치에 명령 또는 데이터를 제공하기 위하여, 어떤 유형의 기계, 구성요소(component), 물리적 장치, 가상 장치(virtual equipment), 컴퓨터 저장 매체 또는 장치, 또는 전송되는 신호 파(signal wave)에 영구적으로, 또는 일시적으로 구체화(embody)될 수 있다. 소프트웨어는 네트워크로 연결된 컴퓨터 시스템 상에 분산되어서, 분산된 방법으로 저장되거나 실행될 수도 있다. 소프트웨어 및 데이터는 하나 이상의 컴퓨터 판독 가능 기록 매체에 저장될 수 있다.
이상과 같이 실시예들이 비록 한정된 도면에 의해 설명되었으나, 해당 기술분야에서 통상의 지식을 가진 자라면 상기를 기초로 다양한 기술적 수정 및 변형을 적용할 수 있다. 예를 들어, 설명된 기술들이 설명된 방법과 다른 순서로 수행되거나, 및/또는 설명된 시스템, 구조, 장치, 회로 등의 구성요소들이 설명된 방법과 다른 형태로 결합 또는 조합되거나, 다른 구성요소 또는 균등물에 의하여 대치되거나 치환되더라도 적절한 결과가 달성될 수 있다.
그러므로, 다른 구현들, 다른 실시예들 및 특허청구범위와 균등한 것들도 후술하는 청구범위의 범위에 속한다.
400: 다중 사용자 간 협업 지원 시스템
410: 시각화부
420: 수집부
430: 동기화 처리부
440: 인식 처리부
450: 이벤트 처리부
460: 클라우드 서버
470: HMD 웨어러블 기기(제1 협업단말)
480: 모바일 기기(제2 협업단말)
471, 481: 카메라
472: 홀로렌즈
482: 터치스크린
473, 483: 자이로 센서
474, 484: 메모리

Claims (7)

  1. 다중 사용자 간 협업 지원 시스템에 의해 구현되는, 가상공간을 이용한 다중 사용자 간 협업 지원 방법에 있어서,
    상기 다중 사용자 간 협업 지원 시스템 내 시각화부에서, 복수의 협업단말의 접속에 따라, 디지털 트윈 기반의 3D 작업공간을 각 협업단말에서 실행되는 앱을 통해 시각화 하는 단계;
    상기 다중 사용자 간 협업 지원 시스템 내 인식 처리부에서, 상기 복수의 협업단말 중 제1 협업단말의 사용자에 의해, 주변공간에 대한 인식 명령이 입력됨에 따라, 상기 제1 협업단말에서 실행되는 앱을 통해 상기 제1 협업단말에 구비된 카메라를 구동하여, 상기 제1 협업단말의 위치벡터값 및 회전벡터값에 따른 전방을 촬영하는 단계;
    상기 인식 처리부에서, 상기 촬영한 영상으로부터 상기 제1 협업단말의 주변공간에 존재하는 바닥(bottom) 및 객체(Object)를 인식하는 단계;
    상기 인식 처리부에서, 상기 제1 협업단말에 시각화되는 상기 3D 작업 공간을, 상기 제1 협업단말의 사용자의 관점에 따른 화면뷰로서 제공하기 위한 공간 데이터를, 상기 인식한 바닥 및 객체를 포함하여 생성하는 단계;
    상기 인식 처리부에서, 상기 공간 데이터를, 상기 제1 협업단말 내 할당된 메모리공간에 저장하는 단계;
    상기 다중 사용자 간 협업 지원 시스템 내 수집부에서, 상기 메모리공간 내 공간 데이터의 개수가 정해진 인식률(Recognition Rate)에 도달함에 따라, 상기 제1 협업단말에서 상기 주변공간의 인식이 중지되면, 상기 제1 협업단말로부터 상기 메모리공간 내 공간 데이터를 수집하는 단계;
    상기 수집부에서, 상기 수집된 공간 데이터에 AnchorID를 할당하여, 네트워크 연결된 클라우드 서버에 저장하는 단계;
    상기 다중 사용자 간 협업 지원 시스템 내 동기화 처리부에서, 상기 저장에 따라, 상기 3D 작업공간에 접속되어 있는 상기 각 협업단말에 상기 AnchorID를 전파하는 단계;
    상기 동기화 처리부에서, 상기 AnchorID를 이용한 콜백 다운로드 명령을 입력하는 상기 각 협업단말로, 상기 AnchorID에 의해 식별되는 상기 클라우드 서버 내 공간 데이터를 전송하여, 상기 공간 데이터에 따라 상기 각 협업단말에 시각화된 상기 3D 작업공간이 동기화되도록 처리하는 단계;
    상기 시각화부에서, 상기 제1 협업단말의 관점(A)이 상기 3D 작업공간에 도달함에 따라, 상기 3D 작업 공간의 테두리를 포커싱 처리하는 단계; 및
    상기 시각화부에서, 상기 제1 협업단말과 상이한 제2 협업단말의 관점(B)에 따라 상기 포커싱 처리된 3D 작업공간에서 진행 중인 작업 과정을, 상기 3D 작업공간 내 모바일 기기를 통해 상기 제1 협업단말에서 관전할 수 있게 하는 단계
    를 포함하는 가상공간을 이용한 다중 사용자 간 협업 지원 방법.
  2. 제1항에 있어서,
    상기 시각화부에서, 상기 메모리공간 내 공간 데이터에 따라, 상기 제1 협업단말에 시각화된 상기 3D 작업공간을 조정하는 단계
    를 더 포함하는 가상공간을 이용한 다중 사용자 간 협업 지원 방법.
  3. 제1항에 있어서,
    상기 제1 협업단말과 상이한 제2 협업단말의 사용자에 의해 상기 AnchorID를 이용한 상기 콜백 다운로드 명령이 입력됨에 따라,
    상기 3D 작업공간이 동기화되도록 처리하는 단계는,
    상기 제1 협업단말로부터 수집된 공간 데이터를 상기 AnchorID를 이용해 상기 클라우드 서버로부터 식별하는 단계;
    상기 식별된 공간 데이터를 상기 제2 협업단말로 전송하여, 상기 제2 협업단말 내 할당된 메모리공간에 저장시키는 단계; 및
    상기 제2 협업단말에서 실행되는 앱을 통해, 상기 메모리공간 내 공간 데이터에 따라, 상기 제2 협업단말에 시각화된 상기 3D 작업공간 상의 객체를 이동시켜, 상기 제1 협업단말에 시각화된 상기 3D 작업공간과 동기화되도록 하는 단계
    를 포함하는 가상공간을 이용한 다중 사용자 간 협업 지원 방법.
  4. 제1항에 있어서,
    상기 인식 처리부에서, 상기 제1 협업단말에 구비된 자이로센서에 의해 측정되는 상기 제1 협업단말의 위치벡터값 및 회전벡터값을 더 포함하도록 상기 공간 데이터를 생성하는 단계;
    상기 제1 협업단말과 상이한 제2 협업단말에 구비된 카메라의 촬영범위 내에, 상기 제1 협업단말이 존재하는 경우,
    상기 시각화부에서, 상기 제1 협업단말에 매칭된 아바타를, 상기 공간 데이터 내 상기 제1 협업단말의 위치벡터값 및 회전벡터값에 따라, 상기 제2 협업단말에 시각화된 상기 3D 작업공간 상에 표시하는 단계; 및
    상기 동기화 처리부에서, 일정 주기로 수집되는 상기 제1 협업단말의 위치벡터값 및 회전벡터값에 따라, 상기 제1 협업단말에 매칭된 아바타를 위치 이동 또는 회전 이동하는 단계
    를 더 포함하는 가상공간을 이용한 다중 사용자 간 협업 지원 방법.
  5. 제1항에 있어서,
    상기 시각화부에서, 상기 복수의 협업단말이 상기 3D 작업공간에 접속되는 순서에 상응하여, 상기 복수의 협업단말 각각에 매칭된 아바타를 상기 각 협업단말에 시각화된 상기 3D 작업공간 상에 표시하는 단계;
    상기 수집부에서, 상기 각 협업단말에 구비된 자이로센서에 의해 측정되는 위치벡터값 및 회전벡터값을 일정 주기로 수집하여, 상기 각 협업단말의 움직임을 감지하는 단계; 및
    상기 동기화 처리부에서, 상기 각 협업단말의 위치벡터값 및 회전벡터값에 따라, 상기 3D 작업공간 상의 아바타를 위치 이동 또는 회전 이동하여, 상기 각 협업단말의 움직임을 시각화 하는 단계
    를 더 포함하는 가상공간을 이용한 다중 사용자 간 협업 지원 방법.
  6. 제1항에 있어서,
    상기 3D 작업공간이 시각화된 상기 복수의 협업단말 중 어느 하나의 제1 협업단말로부터, 건물데이터와 기상데이터 및 설정된 관심지역(POI) 데이터 중 적어도 하나의 데이터를 로딩하는 이벤트(Event)가 발생될 경우,
    상기 다중 사용자 간 협업 지원 시스템 내 이벤트 처리부에서, 상기 제1 협업단말의 앱을 통해, 외부 서버로부터 상기 이벤트와 연관된 데이터를 로딩하여, 상기 로딩한 데이터에 따라 상기 3D 작업공간 상에서 상기 이벤트에 따른 Action을 수행하는 단계;
    상기 수집부에서, 상기 제1 협업단말로부터, 상기 이벤트에 따른 Action을 수행한 결과에 관한 결과 데이터를 수집하는 단계; 및
    상기 수집부에서, 상기 수집된 결과 데이터에 Event_AnchorID를 할당하여, 상기 클라우드 서버에 저장하는 단계
    를 더 포함하는 가상공간을 이용한 다중 사용자 간 협업 지원 방법.
  7. 복수의 협업단말의 접속에 따라, 디지털 트윈 기반의 3D 작업공간을 각 협업단말에서 실행되는 앱을 통해 시각화 하는 시각화부;
    상기 복수의 협업단말 중 제1 협업단말의 사용자에 의해, 주변공간에 대한 인식 명령이 입력됨에 따라, 상기 제1 협업단말에서 실행되는 앱을 통해 상기 제1 협업단말에 구비된 카메라를 구동하여, 상기 제1 협업단말의 위치벡터값 및 회전벡터값에 따른 전방을 촬영하고, 상기 촬영한 영상으로부터 상기 제1 협업단말의 주변공간에 존재하는 바닥 및 객체를 인식하고, 상기 제1 협업단말에 시각화되는 상기 3D 작업 공간을, 상기 제1 협업단말의 사용자의 관점에 따른 화면뷰로서 제공하기 위한 공간 데이터를, 상기 인식한 바닥 및 객체를 포함하여 생성하며, 상기 공간 데이터를, 상기 제1 협업단말 내 할당된 메모리공간에 저장하는 인식 처리부;
    상기 메모리공간 내 공간 데이터의 개수가 정해진 인식률(Recognition Rate)에 도달함에 따라, 상기 제1 협업단말에서 상기 주변공간의 인식이 중지되면, 상기 제1 협업단말로부터 상기 메모리공간 내 공간 데이터를 수집하고, 상기 수집된 공간 데이터에 AnchorID를 할당하여, 네트워크 연결된 클라우드 서버에 저장하는 수집부; 및
    상기 저장에 따라, 상기 3D 작업공간에 접속되어 있는 상기 각 협업단말에 상기 AnchorID를 전파하고, 상기 AnchorID를 이용한 콜백 다운로드 명령을 입력하는 상기 각 협업단말로, 상기 AnchorID에 의해 식별되는 상기 클라우드 서버 내 공간 데이터를 전송하여, 상기 공간 데이터에 따라 상기 각 협업단말에 시각화된 상기 3D 작업공간이 동기화되도록 처리하는 동기화 처리부
    를 포함하고,
    상기 시각화부는,
    상기 제1 협업단말의 관점(A)이 상기 3D 작업공간에 도달함에 따라, 상기 3D 작업 공간의 테두리를 포커싱 처리하고,
    상기 제1 협업단말과 상이한 제2 협업단말의 관점(B)에 따라 상기 포커싱 처리된 3D 작업공간에서 진행 중인 작업 과정을, 상기 3D 작업공간 내 모바일 기기를 통해 상기 제1 협업단말에서 관전할 수 있게 하는
    가상공간을 이용한 다중 사용자 간 협업 지원 시스템.
KR1020220019056A 2022-02-14 2022-02-14 가상공간을 이용한 다중 사용자 간 협업 지원 방법 및 시스템 KR102571086B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020220019056A KR102571086B1 (ko) 2022-02-14 2022-02-14 가상공간을 이용한 다중 사용자 간 협업 지원 방법 및 시스템

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020220019056A KR102571086B1 (ko) 2022-02-14 2022-02-14 가상공간을 이용한 다중 사용자 간 협업 지원 방법 및 시스템

Publications (3)

Publication Number Publication Date
KR20230122415A KR20230122415A (ko) 2023-08-22
KR102571086B1 true KR102571086B1 (ko) 2023-08-29
KR102571086B9 KR102571086B9 (ko) 2023-10-19

Family

ID=87799806

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020220019056A KR102571086B1 (ko) 2022-02-14 2022-02-14 가상공간을 이용한 다중 사용자 간 협업 지원 방법 및 시스템

Country Status (1)

Country Link
KR (1) KR102571086B1 (ko)

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100656342B1 (ko) * 2004-12-16 2006-12-11 한국전자통신연구원 다중 입체 영상 혼합 제시용 시각 인터페이스 장치
KR101579491B1 (ko) * 2013-07-17 2015-12-23 한국과학기술원 증강현실에서의 원격 협업을 위한 디지로그 공간 생성기 및 그를 이용한 디지로그 공간 생성 방법
KR102570208B1 (ko) * 2018-01-02 2023-08-25 엘지전자 주식회사 가상 모델하우스 제공 시스템

Also Published As

Publication number Publication date
KR102571086B9 (ko) 2023-10-19
KR20230122415A (ko) 2023-08-22

Similar Documents

Publication Publication Date Title
US10567449B2 (en) Apparatuses, methods and systems for sharing virtual elements
US11050977B2 (en) Immersive interactive remote participation in live entertainment
EP3332565B1 (en) Mixed reality social interaction
CN109874021B (zh) 直播互动方法、装置及系统
KR101640767B1 (ko) 이종 수행 환경을 위한 네트워크 기반의 실시간 가상 현실 입출력 시스템 및 가상 현실 입출력 방법
US20160225188A1 (en) Virtual-reality presentation volume within which human participants freely move while experiencing a virtual environment
US20210350612A1 (en) Connecting spatial anchors for augmented reality
US10306292B2 (en) Method and system for transitioning between a 2D video and 3D environment
KR101720132B1 (ko) 측위 정보를 기반으로 복수의 사용자 간 동일한 증강 현실 영상을 공유하는 방법 및 그 시스템
CN109314800B (zh) 用于将用户注意力引导到基于位置的游戏进行伴随应用的方法和系统
JP2018106297A (ja) 複合現実感提示システム、及び、情報処理装置とその制御方法、並びに、プログラム
US11818492B2 (en) Communication management apparatus, image communication system, communication management method, and recording medium
WO2021261346A1 (ja) 情報処理装置、方法、プログラム及び情報処理システム
CN106201259A (zh) 一种虚拟现实系统中分享全景影像的方法和装置
US20220189127A1 (en) Information processing system, information processing terminal device, server device, information processing method and program thereof
US10803652B2 (en) Image generating apparatus, image generating method, and program for displaying fixation point objects in a virtual space
EP1331550A2 (en) Visualization processing system, visualization processing method, and visualization processing program product
US20160345003A1 (en) Extensible Authoring and Playback Platform for Complex Virtual Reality Interactions and Immersive Applications
KR102571086B1 (ko) 가상공간을 이용한 다중 사용자 간 협업 지원 방법 및 시스템
US10675542B2 (en) Method and system for transitioning between a 2D video and 3D environment
KR20200143293A (ko) 실시간 다원 ar 방송을 위한 증강 현실 영상 생성 방법 및 장치
JP6149967B1 (ja) 動画配信サーバ、動画出力装置、動画配信システム、及び動画配信方法
KR102169024B1 (ko) 3차원 증강현실을 이용한 합동 지휘통제 훈련 시스템 및 제공방법
JP7282222B2 (ja) コンピュータプログラム、方法及びサーバ装置
US10940387B2 (en) Synchronized augmented reality gameplay across multiple gaming environments

Legal Events

Date Code Title Description
AMND Amendment
AMND Amendment
AMND Amendment
X701 Decision to grant (after re-examination)
GRNT Written decision to grant
G170 Re-publication after modification of scope of protection [patent]