KR102669261B1 - 클라우드 xr 기반의 프로그램 가상화 방법 - Google Patents

클라우드 xr 기반의 프로그램 가상화 방법 Download PDF

Info

Publication number
KR102669261B1
KR102669261B1 KR1020210137640A KR20210137640A KR102669261B1 KR 102669261 B1 KR102669261 B1 KR 102669261B1 KR 1020210137640 A KR1020210137640 A KR 1020210137640A KR 20210137640 A KR20210137640 A KR 20210137640A KR 102669261 B1 KR102669261 B1 KR 102669261B1
Authority
KR
South Korea
Prior art keywords
application
virtual space
program
cloud
user
Prior art date
Application number
KR1020210137640A
Other languages
English (en)
Other versions
KR20230054068A (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 KR1020210137640A priority Critical patent/KR102669261B1/ko
Priority to US17/878,927 priority patent/US20230122666A1/en
Publication of KR20230054068A publication Critical patent/KR20230054068A/ko
Application granted granted Critical
Publication of KR102669261B1 publication Critical patent/KR102669261B1/ko

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/131Protocols for games, networked simulations or virtual reality
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/011Arrangements for interaction with the human body, e.g. for user immersion in virtual reality
    • 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/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • 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/44Arrangements for executing specific programs
    • G06F9/448Execution paradigms, e.g. implementations of programming paradigms
    • G06F9/4482Procedural
    • G06F9/4484Executing subprograms
    • 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/44Arrangements for executing specific programs
    • G06F9/451Execution arrangements for user interfaces
    • G06F9/452Remote windowing, e.g. X-Window System, desktop virtualisation
    • 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/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • 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
    • G06T15/003D [Three Dimensional] image rendering
    • G06T15/10Geometric effects
    • G06T15/20Perspective computation
    • G06T15/205Image-based rendering
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T19/00Manipulating 3D models or images for computer graphics
    • G06T19/006Mixed reality
    • 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/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/45562Creating, deleting, cloning virtual machine instances

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Graphics (AREA)
  • Human Computer Interaction (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • Geometry (AREA)
  • Mathematical Physics (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Processing Or Creating Images (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

본 발명은 클라우드 VR 기반의 3차원 영상 제공 방법에 관한 것으로, 클라우드 서버에서 3차원 가상 공간 내에서 어플리케이션을 실행할 수 있도록 구현된 XR(eXtended Reality) 어플리케이션을 실행하는 단계, 상기 XR 어플리케이션을 실행하는 과정에서 3차원 가상 공간을 렌더링하는 단계, 상기 렌더링된 3차원 가상 공간을 기초로 가상 공간 영상을 생성하는 단계, 생성된 가상 공간 영상을 인코딩하여 원격의 XR 기기로 전송하는 단계, 응용 프로그램이 실행되면 해당 응용 프로그램의 실행 화면을 렌더링하는 단계, 상기 렌더링된 3차원 가상 공간과 상기 응용 프로그램 실행 화면을 통합하여 하나의 3차원 영상을 생성하는 단계 및 상기 생성된 3차원 영상을 인코딩하여 상기 XR 기기로 전송하는 단계를 포함한다.

Description

클라우드 XR 기반의 프로그램 가상화 방법{CLOUD XR-BASED PROGRAM VIRTUALIZING METHOD}
본 발명은 클라우드 기반의 프로그램 가상화 기술에 관한 것으로, 보다 상세하게는 클라우드 XR을 기반으로 가상 공간 내에서 원격의 컴퓨터를 이용할 수 있는 클라우드 XR 기반의 프로그램 가상화 방법에 관한 것이다.
가상 현실(Virtual Reality, VR)은 컴퓨터 등을 통해 인공적으로 실제와 유사하지만 실제가 아닌 특정한 환경이나 상황을 만드는 기술을 의미한다. 이때, 만들어진 가상의 환경이나 상황 등은 사용자의 오감을 자극하며, 사용자가 실제와 유사한 공간적, 시간적 체험을 하게 함으로써 현실과 가상의 경계를 자유롭게 드나들게 한다. 사용자는 만들어진 가상의 현실에 단순히 몰입할 뿐만 아니라 실재하는 디바이스를 이용해 조작이나 명령을 가하는 등 가상의 현실 속에 구현된 객체들과 상호작용할 수 있다.
기존의 유선 기반의 VR 시스템이나 LTE 기반의 VR 시스템은 데이터 전송 속도, 응답 지연시간 및 편의성의 측면에서 대용량의 VR 컨텐츠를 사용자에게 효과적으로 제공하기는 어려웠다.
5G 네트워크는 빠른 데이터 전송 속도와 초저지연 응답을 특징으로 한다. 5G 네트워크는 고해상도의 그래픽을 초저지연으로 전송할 수 있으므로 무선 VR 시스템을 구현하기에 적합하다.
한국등록특허 제10-1990428호 (2019.06.12)
본 발명의 일 실시예는 가상 공간 내에서 원격의 컴퓨터를 이용할 수 있는 클라우드 XR 기반의 프로그램 가상화 방법을 제공하고자 한다.
본 발명의 일 실시예는 컴퓨팅 프로세스를 XR 기기에서 처리하는 기존 방식과 달리 클라우드 가상화를 통해 컴퓨팅 프로세스를 원격의 서버에서 처리하고 처리 결과를 XR기기로 스트리밍할 수 있는 클라우드 XR 기반의 프로그램 가상화 방법을 제공하고자 한다.
본 발명의 일 실시예는 클라우드 XR 기반으로 다수의 사용자가 가상 공간에서 업무를 수행할 수 있는 클라우드 XR 기반의 프로그램 가상화 방법을 제공하고자 한다.
실시예들 중에서, 클라우드 VR 기반의 프로그램 가상화 방법은 클라우드 서버에서 3차원 가상 공간 내에서 어플리케이션을 실행할 수 있도록 구현된 XR(eXtended Reality) 어플리케이션을 실행하는 단계, 상기 XR 어플리케이션을 실행하는 과정에서 3차원 가상 공간을 렌더링하는 단계, 상기 렌더링된 3차원 가상 공간을 기초로 가상 공간 영상을 생성하는 단계, 생성된 가상 공간 영상을 인코딩하여 원격의 XR 기기로 전송하는 단계, 응용 프로그램이 실행되면 해당 응용 프로그램의 실행 화면을 렌더링하는 단계, 상기 렌더링된 3차원 가상 공간과 상기 응용 프로그램 실행 화면을 통합하여 하나의 3차원 영상을 생성하는 단계 및 상기 생성된 3차원 영상을 인코딩하여 상기 XR 기기로 전송하는 단계를 포함한다.
상기 3차원 가상 공간을 렌더링하는 단계는 개인 룸 및 회의 룸을 포함하는 가상 공간을 렌더링할 수 있다.
상기 가상 공간 영상을 생성하는 단계는 사용자에 의해 커스터마이즈된 사용자 개인 식별 객체를 렌더링하는 단계 및 렌더링된 사용자 개인 식별 객체와 3차원 가상 공간을 기초로, 상기 사용자 개인 식별 객체가 포함된 가상 공간 영상을 생성하는 단계를 포함할 수 있다.
상기 가상 공간 영상을 생성하는 단계는 상기 가상 공간에 접속한 참여자에 의해 커스터마이즈된 참여자 개인 식별 객체를 렌더링하는 단계를 더 포함하고, 상기 개인 식별 객체가 포함된 가상 공간 영상을 생성하는 단계는 상기 사용자 개인 식별 객체와 상기 참여자 개인 식별 객체가 포함된 가상 공간 영상을 생성하는 단계를 포함할 수 있다.
상기 실행 화면을 렌더링하는 단계는 원격의 사용자 컴퓨팅 장치에 설치된 응용 프로그램의 실행 요청 신호가 수신된 경우, 상기 사용자 컴퓨팅 장치에 상기 실행 요청 신호를 전송하는 단계, 상기 사용자 컴퓨팅 장치에서 상기 응용 프로그램을 실행하는 과정에서 캡쳐(capture)된 캡쳐 데이터를 수신하는 단계 및 수신된 캡쳐 데이터를 기초로 응용 프로그램의 실행 화면을 렌더링하는 단계를 포함할 수 있다.
상기 캡쳐 데이터는 상기 사용자 컴퓨팅 장치에서 실행되는 개별 프로그램별로 프로세스를 캡쳐한 프로세스 캡쳐 데이터일 수 있다.
상기 캡쳐 데이터는 상기 사용자 컴퓨팅 장치의 화면을 캡쳐한 화면 캡쳐 데이터일 수 있다.
상기 사용자 컴퓨팅 장치에 상기 실행 요청 신호를 전송하는 단계는 상기 XR 기기로부터 실행 요청 신호를 수신하는 단계를 포함할 수 있다.
상기 실행 화면을 렌더링하는 단계는 클라우드 서버에 설치된 응용 프로그램의 실행 요청 신호가 수신된 경우, 해당 응용 프로그램을 실행하는 단계 및 상기 응용 프로그램의 실행 화면을 렌더링하는 단계를 포함할 수 있다.
상기 응용 프로그램은 메모 프로그램, 화이트 보드 프로그램, 스크린 프로그램, 3D 뷰어 프로그램, 음성 채팅 프로그램, 포인터 프로그램, 키보드 입력 프로그램 또는 객체 트래킹 프로그램을 포함할 수 있다.
실시예들 중에서, 클라우드 VR 기반의 프로그램 가상화 방법은 사용자 컴퓨팅 장치에 설치된 클라우드 XR 플랫폼에서 3차원 가상 공간 내에서 어플리케이션을 실행할 수 있도록 구현된 XR(eXtended Reality) 어플리케이션을 실행하는 단계, 상기 XR 어플리케이션을 실행하는 과정에서 3차원 가상 공간을 렌더링하는 단계, 상기 렌더링된 3차원 가상 공간을 기초로 가상 공간 영상을 생성하는 단계, 생성된 가상 공간 영상을 인코딩하여 원격의 XR 기기로 전송하는 단계, 상기 사용자 컴퓨팅 장치에서 응용 프로그램을 실행하는 과정에서 캡쳐된 캡쳐 데이터를 수신하는 단계, 상기 캡쳐 데이터를 기초로 해당 응용 프로그램의 실행 화면을 렌더링하는 단계, 제어에 따라 상기 렌더링된 3차원 가상 공간과 상기 응용 프로그램 실행 화면을 통합하여 하나의 3차원 영상을 생성하는 단계 및 상기 생성된 3차원 영상을 인코딩하여 상기 XR 기기로 전송하는 단계를 포함한다.
개시된 기술은 다음의 효과를 가질 수 있다. 다만, 특정 실시예가 다음의 효과를 전부 포함하여야 한다거나 다음의 효과만을 포함하여야 한다는 의미는 아니므로, 개시된 기술의 권리범위는 이에 의하여 제한되는 것으로 이해되어서는 아니 될 것이다.
본 발명의 일 실시예에 따른 클라우드 XR 기반의 프로그램 가상화 방법은 가상 공간 내에서 원격의 컴퓨터를 이용할 수 있다.
본 발명의 일 실시예에 따른 클라우드 XR 기반의 프로그램 가상화 방법은 클라우드 가상화를 통해 컴퓨팅 프로세스를 원격의 서버에서 처리하고 처리 결과를 XR기기로 스트리밍함으로써, 기존에 많이 사용되는 업무 프로그램을 원활하게 사용할 수 있으며, 사용자의 요구사항에 맞는 가상 공간을 용이하게 구성할 수 있다.
본 발명의 일 실시예에 따른 클라우드 XR 기반의 프로그램 가상화 방법은 가상 공간에서 다수의 사용자가 현실 세계에서의 협업과 유사한 방식으로 업무를 수행할 수 있다.
도 1은 본 발명의 일 실시예에 따른 클라우드 XR 기반의 프로그램 가상화 시스템을 설명하는 도면이다.
도 2는 도 1의 클라우드 서버의 시스템 구성을 설명하는 도면이다.
도 3은 본 발명의 일 실시예에 따른 도 1의 클라우드 XR 기반의 프로그램 가상화 시스템의 기능적 구성을 설명하는 도면이다.
도 4는 본 발명의 다른 실시예에 따른 클라우드 XR 기반의 프로그램 가상화 시스템을 설명하는 도면이다.
도 5는 본 발명의 다른 실시예에 따른 도 4의 클라우드 XR 기반의 프로그램 가상화 시스템의 기능적 구성을 설명하는 도면이다.
도 6는 본 발명에 따른 클라우드 XR 기반의 프로그램 가상화 방법의 일 실시예를 설명하는 순서도이다.
도 7은 본 발명에 따른 클라우드 XR 기반의 프로그램 가상화 방법의 다른 실시예를 설명하는 순서도이다.
본 발명에 관한 설명은 구조적 내지 기능적 설명을 위한 실시예에 불과하므로, 본 발명의 권리범위는 본문에 설명된 실시예에 의하여 제한되는 것으로 해석되어서는 아니 된다. 즉, 실시예는 다양한 변경이 가능하고 여러 가지 형태를 가질 수 있으므로 본 발명의 권리범위는 기술적 사상을 실현할 수 있는 균등물들을 포함하는 것으로 이해되어야 한다. 또한, 본 발명에서 제시된 목적 또는 효과는 특정 실시예가 이를 전부 포함하여야 한다거나 그러한 효과만을 포함하여야 한다는 의미는 아니므로, 본 발명의 권리범위는 이에 의하여 제한되는 것으로 이해되어서는 아니 될 것이다.
한편, 본 출원에서 서술되는 용어의 의미는 다음과 같이 이해되어야 할 것이다.
"제1", "제2" 등의 용어는 하나의 구성요소를 다른 구성요소로부터 구별하기 위한 것으로, 이들 용어들에 의해 권리범위가 한정되어서는 아니 된다. 예를 들어, 제1 구성요소는 제2 구성요소로 명명될 수 있고, 유사하게 제2 구성요소도 제1 구성요소로 명명될 수 있다.
어떤 구성요소가 다른 구성요소에 "연결되어"있다고 언급된 때에는, 그 다른 구성요소에 직접적으로 연결될 수도 있지만, 중간에 다른 구성요소가 존재할 수도 있다고 이해되어야 할 것이다. 반면에, 어떤 구성요소가 다른 구성요소에 "직접 연결되어"있다고 언급된 때에는 중간에 다른 구성요소가 존재하지 않는 것으로 이해되어야 할 것이다. 한편, 구성요소들 간의 관계를 설명하는 다른 표현들, 즉 "~사이에"와 "바로 ~사이에" 또는 "~에 이웃하는"과 "~에 직접 이웃하는" 등도 마찬가지로 해석되어야 한다.
단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한 복수의 표현을 포함하는 것으로 이해되어야 하고, "포함하다"또는 "가지다" 등의 용어는 실시된 특징, 숫자, 단계, 동작, 구성요소, 부분품 또는 이들을 조합한 것이 존재함을 지정하려는 것이며, 하나 또는 그 이상의 다른 특징이나 숫자, 단계, 동작, 구성요소, 부분품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.
각 단계들에 있어 식별부호(예를 들어, a, b, c 등)는 설명의 편의를 위하여 사용되는 것으로 식별부호는 각 단계들의 순서를 설명하는 것이 아니며, 각 단계들은 문맥상 명백하게 특정 순서를 기재하지 않는 이상 명기된 순서와 다르게 일어날 수 있다. 즉, 각 단계들은 명기된 순서와 동일하게 일어날 수도 있고 실질적으로 동시에 수행될 수도 있으며 반대의 순서대로 수행될 수도 있다.
본 발명은 컴퓨터가 읽을 수 있는 기록매체에 컴퓨터가 읽을 수 있는 코드로서 구현될 수 있고, 컴퓨터가 읽을 수 있는 기록 매체는 컴퓨터 시스템에 의하여 읽혀질 수 있는 데이터가 저장되는 모든 종류의 기록 장치를 포함한다. 컴퓨터가 읽을 수 있는 기록 매체의 예로는 ROM, RAM, CD-ROM, 자기 테이프, 플로피 디스크, 광 데이터 저장 장치 등이 있다. 또한, 컴퓨터가 읽을 수 있는 기록 매체는 네트워크로 연결된 컴퓨터 시스템에 분산되어, 분산 방식으로 컴퓨터가 읽을 수 있는 코드가 저장되고 실행될 수 있다.
여기서 사용되는 모든 용어들은 다르게 정의되지 않는 한, 본 발명이 속하는 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가진다. 일반적으로 사용되는 사전에 정의되어 있는 용어들은 관련 기술의 문맥상 가지는 의미와 일치하는 것으로 해석되어야 하며, 본 출원에서 명백하게 정의하지 않는 한 이상적이거나 과도하게 형식적인 의미를 지니는 것으로 해석될 수 없다.
도 1은 본 발명에 따른 클라우드 XR(eXtended Reality) 기반의 프로그램 가상화 시스템을 설명하는 도면이다.
도 1을 참조하면, 프로그램 가상화 시스템(100)은 사용자 컴퓨팅 장치(110), 클라우드 서버(120) 및 XR(eXtended Reality) 기기(130)를 포함할 수 있다.
사용자 컴퓨팅 장치(110)는 사용자에 의해 제어되는 컴퓨터에 해당할 수 있다. 예를 들어, 사용자 컴퓨팅 장치(110)는 사용자의 PC, 노트북, 태블릿 PC 등에 해당할 수 있다. 사용자 컴퓨팅 장치(110)는 클라우드 서버(120)와 네트워크를 통해 연결되어 데이터를 주고받을 수 있다. 일 실시예에서, 사용자 컴퓨팅 장치(110)는 클라우드 서버(120)와 블루투스, WiFi, 5G 통신 등과 같은 무선 네트워크로 연결될 수 있고, 네트워크를 통해 클라우드 서버(120)와 데이터를 송·수신할 수 있다.
사용자 컴퓨팅 장치(110)는 OS(Operating System)에 의해 운영되며, OS 상에서 다양한 응용 프로그램을 실행하고 프로세스를 처리할 수 있다. 또한, 사용자 컴퓨팅 장치(110)는 본 발명에 따른 클라우드 XR 기반의 프로그램 가상화 방법을 통해 동작하도록 구현될 수 있다. 이를 위해, 사용자 컴퓨팅 장치(110)는 클라우드 서버(120)와 연동하여 동작할 수 있다. 사용자 컴퓨팅 장치(110)는 클라우드 서버(120)와 연동하여 응용 프로그램을 실행하고, 응용 프로그램을 실행하는 과정에서 개별 프로그램별로 프로세스를 캡쳐(capture)할 수 있다. 또는, 사용자 컴퓨팅 장치(110)는 응용 프로그램을 실행하는 과정에서 실행 화면을 캡쳐 할 수 있다. 사용자 컴퓨팅 장치(110)는 캡쳐 데이터를 생성하여 클라우드 서버(120)에 캡쳐 데이터를 전송할 수 있다. 이를 위하여, 사용자 컴퓨팅 장치(110)는 클라우드 서버(120)와 연동하여 동작하는 XR 어플리케이션(에이전트)을 설치하여 실행할 수 있다.
일 실시예에서, 사용자 컴퓨팅 장치(110)는 응용 프로그램 실행 요청 신호를 클라우드 서버(120)로부터 수신할 수 있다. 다른 실시예에서, 사용자 컴퓨팅 장치(110)는 응용 프로그램 실행 요청 신호를 XR 기기(130)로부터 수신할 수도 있다.
XR 기기(130)는 AR(Augmented Reality)/VR(Virtual Reality) 영상을 재생할 수 있는 사용자 단말에 해당할 수 있다. 여기에서, XR 기기(130)는 HMD(Head Mounted Display) 단말, AR Glass 등으로 구현될 수 있으나, 반드시 이에 한정되지 않고, VR/AR 영상을 재생할 수 있는 다양한 디바이스로 구현될 수 있음은 물론이다. XR 기기(130)는 클라우드 서버(120)와 네트워크를 통해 연결되어 데이터를 주고받을 수 있다.
XR 기기(130)는 본 발명에 따른 클라우드 XR 기반의 프로그램 가상화 방법을 통해 동작하도록 구현될 수 있다. 이를 위해, XR 기기(130)는 클라우드 서버(120)와 연동하여 동작할 수 있다. 즉, XR 기기(130)는 클라우드 서버(120)와 상호 연동하여 클라우드 서버(120)로부터 수신된 3차원 영상을 재생할 수 있다.
일 실시예에서, XR 기기(130)는 3차원 가상 공간을 재생할 수 있고, 3차원 가상 공간에 응용 프로그램 실행 화면이 통합된 3차원 영상을 재생할 수 있다. 일 실시예에서, XR 기기(130)는 3차원 가상 공간을 재생하는 동안 본 발명에 따른 클라우드 XR 기반의 프로그램 가상화를 위한 구체적 동작을 수행할 수 있다.
예를 들어, XR 기기(130)는 사용자의 제어에 따라 가상 공간에 가상 입력 수단(예를 들어, 가상 키보드, 가상 마우스 등)을 생성하고 해당 가상 입력 수단을 통해 사용자의 명령을 입력받을 수 있다. 다른 실시예에서, XR 기기(130)는 하드웨어 입력 수단(예를 들어, 블루투스 키보드, 블루투스 마우스 등)을 통해 사용자의 명령을 입력받을 수도 있다. 다른 실시예에서, XR 기기(130)는 객체 트래킹(예를 들어, 핸드 트래킹, 헤드 트래킹 등)을 통해 사용자의 명령을 입력받을 수도 있다. XR 기기(130)는 입력 수단을 통해 입력받은 명령에 따른 신호(예를 들어, 명령어 신호, 움직임 신호, 응용 프로그램 실행 요청 신호 등)를 생성하여 클라우드 서버(120)에 전달할 수 있고, 클라우드 서버(120)는 해당 요청 신호를 수신하여 대응하는 응용 프로그램의 실행 화면을 생성하고, 3차원 가상 공간에 응용 프로그램 실행 화면이 통합된 3차원 영상을 XR 기기(130)에게 전송할 수 있다. 이때, 클라우드 서버(120)는 생성된 3차원 영상을 인코딩(encoding) 한 후 XR 기기(130)에 전송할 수 있으며, XR 기기(130)는 해당 3차원 영상을 수신하여 디코딩(decoding) 한 후 재생할 수 있다. 이를 위하여, XR 기기(130)는 클라우드 서버(120)와 연동하여 동작하는 XR 어플리케이션(클라이언트)을 설치하여 실행할 수 있다.
일 실시예에서, XR 기기(130)는 사용자의 움직임 정보에 관한 6 DoF(Degrees of Freedom) 센서를 포함하여 구현될 수 있다. 또한, XR 기기(130)는 필요에 따라 다양한 센서들을 더 포함하여 구현될 수 있다. 예를 들어, XR 기기(130)는 GPS 센서, 모션 센서 등을 더 포함할 수 있다. 다른 실시예에서, XR 기기(130)는 외부에서 동작하는 6 DoF 센서로부터 사용자의 움직임 정보를 수신할 수 있다.
클라우드 서버(120)는 가상 공간을 포함하는 3차원 영상을 네트워크를 통해 XR 기기(130)에 전송하는 컴퓨터 또는 프로그램에 해당하는 서버로 구현될 수 있다. 또한, 클라우드 서버(120)는 XR 기기(130)의 요청을 수신하여 클라우드 서버(120)에 설치된 응용 프로그램을 직접 실행할 수 있고, 가상 공간에 해당 응용 프로그램의 실행 화면이 통합된 3차원 영상을 XR 기기(130)에 전송할 수 있다. 다른 실시예에서, 클라우드 서버(120)는 XR 기기(130)의 요청을 수신하여 원격의 사용자 컴퓨팅 장치(110)에 설치된 응용 프로그램을 실행할 수 있고, 사용자 컴퓨팅 장치(110)로부터 수신된 캡쳐 데이터를 기초로 가상 공간에 해당 응용 프로그램의 실행 화면이 통합된 3차원 영상을 XR 기기(130)에 전송할 수도 있다. 다른 실시예에서, 사용자 컴퓨팅 장치(110)는 XR 기기(130)의 요청을 수신하여 해당 사용자 컴퓨팅 장치(110)에 설치된 응용 프로그램을 실행할 수 있고 응용 프로그램의 실행 과정에서 캡쳐 데이터를 생성하여 클라우드 서버(120)에 전송할 수 있으며, 클라우드 서버(120)는 사용자 컴퓨팅 장치(110)로부터 수신된 캡쳐 데이터를 기초로 가상 공간에 해당 응용 프로그램의 실행 화면이 통합된 3차원 영상을 XR 기기(130)에 전송할 수도 있다.
클라우드 서버(120)는 XR 기기(130)와 블루투스, WiFi, 5G 통신 등과 같은 무선 네트워크로 연결될 수 있고, 네트워크를 통해 XR 기기(130)와 데이터를 송·수신할 수 있다.
또한, 클라우드 서버(120)는 XR 기기(130)로부터 사용자의 움직임 정보로서 6 DoF 신호를 수신할 수 있고, 이를 기초로 사용자의 움직임에 반응하는 영상을 생성하여 XR 기기(130)에게 전송할 수 있다. 이를 위하여, 클라우드 서버(120)는 XR 기기(130)와 연동하여 동작하는 XR 어플리케이션을 설치하여 실행할 수 있다.
도 2는 도 1의 클라우드 서버의 시스템 구성을 설명하는 도면이다.
도 2를 참조하면, 클라우드 서버(120)는 프로세서(210), 메모리(220), 사용자 입출력부(230) 및 네트워크 입출력부(240)를 포함하여 구현될 수 있다.
프로세서(210)는 클라우드 서버(120)가 동작하는 과정에서의 각 단계들을 처리하는 프로시저를 실행할 수 있고, 그 과정 전반에서 읽혀지거나 작성되는 메모리(220)를 관리할 수 있으며, 메모리(220)에 있는 휘발성 메모리와 비휘발성 메모리 간의 동기화 시간을 스케줄할 수 있다. 프로세서(210)는 클라우드 서버(120)의 동작 전반을 제어할 수 있고, 메모리(220), 사용자 입출력부(230) 및 네트워크 입출력부(240)와 전기적으로 연결되어 이들 간의 데이터 흐름을 제어할 수 있다. 프로세서(210)는 클라우드 서버(120)의 CPU(Central Processing Unit)로 구현될 수 있다.
메모리(220)는 SSD(Solid State Drive) 또는 HDD(Hard Disk Drive)와 같은 비휘발성 메모리로 구현되어 클라우드 서버(120)에 필요한 데이터 전반을 저장하는데 사용되는 보조기억장치를 포함할 수 있고, RAM(Random Access Memory)과 같은 휘발성 메모리로 구현된 주기억장치를 포함할 수 있다.
사용자 입출력부(230)는 사용자 입력을 수신하기 위한 환경 및 사용자에게 특정 정보를 출력하기 위한 환경을 포함할 수 있다. 예를 들어, 사용자 입출력부(230)는 터치 패드, 터치 스크린, 화상 키보드 또는 포인팅 장치와 같은 어댑터를 포함하는 입력장치 및 모니터 또는 터치스크린과 같은 어댑터를 포함하는 출력장치를 포함할 수 있다. 일 실시예에서, 사용자 입출력부(230)는 원격 접속을 통해 접속되는 사용자 컴퓨팅 장치에 해당할 수 있고, 그러한 경우, 클라우드 서버(120)는 독립적인 서버로서 수행될 수 있다.
네트워크 입출력부(240)은 네트워크를 통해 외부 장치 또는 시스템과 연결하기 위한 환경을 포함하고, 예를 들어, LAN(Local Area Network), MAN(Metropolitan Area Network), WAN(Wide Area Network) 및 VAN(Value Added Network) 등의 통신을 위한 어댑터를 포함할 수 있다.
도 3은 본 발명의 일 실시예에 따른 도 1의 클라우드 XR 기반의 프로그램 가상화 시스템의 기능적 구성을 설명하는 도면이다.
도 3을 참조하면, 클라우드 XR 기반의 프로그램 가상화 시스템(300)은 사용자 컴퓨팅 장치(310), 클라우드 서버(320) 및 XR 기기(330)를 포함할 수 있다. 사용자 컴퓨팅 장치(310)는 응용 프로그램(312) 및 XR 어플리케이션(에이전트)(314)을 포함한다.
사용자 컴퓨팅 장치(110)에는 응용 프로그램(312)이 미리 설치될 수 있다. 일 실시예에서, 응용 프로그램(312)은 업무용 오피스 프로그램, 이미지/영상 편집 프로그램, 게임 프로그램, 교육 프로그램, 프로그래밍 언어 프로그램, 웹 브라우저 프로그램 등 다양한 프로그램을 포함할 수 있다. 예를 들어, 업무용 오피스 프로그램은 워드 프로그램, 스프레드시트 프로그램, 프레젠테이션 프로그램 등을 포함할 수 있다.
사용자 컴퓨팅 장치(310)는 사용자의 제어에 따라 XR 어플리케이션을 다운로드 받아 XR 어플리케이션(에이전트)(314)를 설치할 수 있다. 일 실시예에서, 사용자 컴퓨팅 장치(110)는 클라우드 XR 서비스 사이트에 접속하여 해당 XR 어플리케이션을 다운로드할 수 있다.
XR 어플리케이션(에이전트)(314)은 클라우드 서버(320)와 연동하여 응용 프로그램(312)을 실행한다. 클라우드 서버(320)로부터 실행 대상 응용 프로그램(312)에 대한 정보와 해당 응용 프로그램(312)의 실행 요청 신호가 수신되면, 사용자 컴퓨팅 장치(310)는 해당 응용 프로그램(312)을 실행한다. XR 어플리케이션(에이전트)(314)은 응용 프로그램(312)을 실행하는 과정에서 개별 프로그램별로 프로세스를 캡쳐(capture)할 수 있다. 또는, XR 어플리케이션(에이전트)(314)은 응용 프로그램(312)을 실행하는 과정에서 실행 화면을 캡쳐 할 수 있다. XR 어플리케이션(에이전트)(314)은 캡쳐 데이터를 생성하여 클라우드 서버(320)에 캡쳐 데이터를 전송할 수 있다.
클라우드 서버(320)에는 클라우드 XR 플랫폼이 설치되며, 클라우드 XR 플랫폼은 XR 어플리케이션(322), 3차원 영상 생성부(324), 인코딩부(326) 및 응용 프로그램(328)을 포함할 수 있다. 클라우드 XR 플랫폼은 사용자 컴퓨팅 장치(310) 또는 XR 기기(330)를 통해 입력된 사용자의 요청에 따라 3차원 가상 공간을 생성할 수 있고, 해당 3차원 가상 공간에 접속할 수 있는 URL을 생성할 수 있다. 클라우드 XR 플랫폼은 해당 URL에 접속한 적어도 하나 이상의 XR 기기(330)에 동일한 3차원 가상 공간의 영상을 제공할 수 있다.
XR 어플리케이션(322)은 사용자 컴퓨팅 장치(310) 및 XR 기기(330)와 연동하여, 컴퓨팅, 프로세싱, 렌더링 등을 수행한다. 클라우드 XR 플랫폼은 사용자 컴퓨팅 장치(310) 또는 XR 기기(330)를 통해 입력된 사용자의 요청에 따라 XR 어플리케이션을 실행할 수 있다. XR 어플리케이션(322)은 실행되는 과정에서 3차원 가상 공간을 렌더링한다. 일 실시예에서, XR 어플리케이션(322)은 개인 룸 및 회의 룸을 포함하는 가상 공간을 렌더링할 수 있다. 일 실시예에서, 렌더링된 가상 공간은 3차원 모델 회의 룸을 더 포함할 수 있다.
개인 룸은 XR 기기(330)의 사용자가 대형 멀티스크린으로 사용자 컴퓨팅 장치(110)의 응용 어플리케이션들로 업무를 하는 곳이다. 개인 룸은 개인 업무를 목적으로 사용되지만 동료를 개인 식별 객체(예를 들어, 아바타)로 초대하여 화면을 공유하면서 함께 업무가 진행될 수도 있다. 개인 룸은 포토리얼리즘 그래픽으로 구현될 수 있으며, 대형 멀티스크린은 2D/3D를 지원하여 객체 또는 디자인 상품들을 2D 또는 3D로 디스플레이할 수 있다.
XR 어플리케이션(322)은 가상 키보드, 가상 마우스와 같은 가상 입력수단, 객체 트래킹(예를 들어, 핸드 트래킹, 헤드 트래킹 등) 등의 입력수단을 통해 사용자의 XR 기기(330)로부터 명령을 입력받아 사용자 컴퓨팅 장치(310)의 응용 어플리케이션(312) 또는 클라우드 XR 플랫폼에 설치된 응용 프로그램(Tool)(328)을 실행하거나 해당 응용 어플리케이션에 대한 명령을 수행할 수 있다. XR 어플리케이션(322)은 사용자 컴퓨팅 장치(310)의 응용 어플리케이션(312) 또는 클라우드 XR 플랫폼에 설치된 응용 프로그램(Tool)(328)을 실행시킬 수 있는 UX(User Experience)/UI(User Interface) 화면을 3차원 가상 공간내 배치하거나 가상의 패드/스마트폰 등을 통해 UX/UI를 구현하여 3차원 가상 공간내 배치할 수 있다.
회의 룸은 실제 회의실과 같이 다수의 사용자가 참석하여 협업할 수 있는 공간이다. 적어도 하나 이상의 사용자가 해당 사용자의 XR 기기(330)를 이용하여 동일한 3차원 가상 공간에 접속한 경우, XR 어플리케이션(322)은 접속한 사용자를 회의 룸 내에 개인 식별 객체(예를 들어, 아바타)로 표시할 수 있다. XR 어플리케이션(322)은 회의 룸 내에서 사용자의 움직임 및 상태를 개인 식별 객체를 통해 표현할 수 있다. 회의 룸에서는 클라우드 XR 플랫폼에 설치된 응용 프로그램(Tool)(328) 또는 사용자 컴퓨팅 장치(310)의 응용 어플리케이션(312)을 통해 다수의 사용자가 협업할 수 있다. 일 실시예에서, 응용 프로그램(Tool)(328)은 메모 프로그램, 화이트 보드 프로그램, 스크린 프로그램, 3D 뷰어(viewer) 프로그램, 음성 채팅 프로그램, 포인터 프로그램, 키보드 입력 프로그램 또는 객체 트래킹 프로그램을 포함할 수 있다.
예를 들어, 스크린 프로그램을 실행하여 다수의 사용자가 프리젠테이션 화면을 공유할 수 있으며, 화이트 보드 프로그램을 실행하여 회의 내용 기록할 수 있다.
3차원 모델 회의 룸은 다수의 사용자가 참석하여 3D 객체를 생성하거나 이미 만들어진 3D 객체를 공유하면서 협업할 수 있는 공간이다. 예를 들어, 3D 뷰어 프로그램을 실행하여 3D 스크린을 구현하고 다수의 사용자가 3D 스크린 상의 3D 객체를 공유하면서 회의를 할 수 있다.
동일한 3차원 가상 공간에 접속한 적어도 하나 이상의 사용자의 사용자 컴퓨팅 장치(310)들은 Peer to Peer 방식으로 직접 데이터를 주고받을 수도 있다. 사용자의 사용자 컴퓨팅 장치(310)들에 공인 IP가 할당되어 있지 않은 경우, 홀펀칭(Hole Punching) 방식을 통해 Peer to Peer 방식으로 직접 데이터를 주고받을 수 있다.
3차원 영상 생성부(324)는 렌더링된 3차원 가상 공간을 기초로 가상 공간 영상을 생성하고, 인코딩부(326)는 생성된 가상 공간 영상을 인코딩하여 원격의 XR 기기(330)로 전송한다. 일 실시예에서, 3차원 영상 생성부(324)는 기 설정되거나 입력된 텍스쳐(Texture) 정보 및 쉐이더(Shader) 정보를 기초로 가상 공간 영상을 생성할 수 있다.
일 실시예에서, XR 어플리케이션(322)은 사용자에 의해 커스터마이즈된 사용자 개인 식별 객체(예를 들어, 아바타(avatar), 개인 캐릭터 등)를 렌더링하고, 3차원 영상 생성부(324)는 렌더링된 사용자 개인 식별 객체와 3차원 가상 공간을 기초로, 사용자 개인 식별 객체가 포함된 가상 공간 영상을 생성할 수 있다. 일 실시예에서, 동일한 3차원 가상 공간에 접속한 하나 이상의 참여자가 있는 경우, XR 어플리케이션(322)은 해당 참여자에 의해 커스터마이즈된 참여자 개인 식별 객체를 렌더링하고, 3차원 영상 생성부(324)는 사용자 개인 식별 객체와 참여자 개인 식별 객체가 포함된 가상 공간 영상을 생성할 수 있다.
일 실시예에서, 클라우드 XR 플랫폼에 설치된 응용 프로그램(Tool)(328) 또는 사용자 컴퓨팅 장치(310)의 응용 어플리케이션(312)이 실행되면 XR 어플리케이션(322)은 해당 응용 프로그램의 실행 화면을 렌더링한다. 3차원 영상 생성부(324)는 렌더링된 3차원 가상 공간과 응용 프로그램 실행 화면을 통합하여 하나의 3차원 영상을 생성하고, 인코딩부(326)는 생성된 3차원 영상을 인코딩하여 XR 기기(330)로 전송한다. 예를 들어, XR 기기(330)로부터 원격의 사용자 컴퓨팅 장치(310)에 설치된 응용 프로그램의 실행 요청 신호가 수신되는 경우, XR 어플리케이션(322)은 사용자 컴퓨팅 장치(310)에 응용 프로그램의 실행 요청 신호를 전송한다. XR 어플리케이션(322)은 사용자 컴퓨팅 장치(310)에서 응용 프로그램을 실행하는 과정에서 캡쳐된 캡쳐 데이터를 수신하고, 수신된 캡쳐 데이터를 기초로 응용 프로그램의 실행 화면을 렌더링한다.
XR 기기(330)로부터 클라우드 서버(320)의 클라우드 XR 플랫폼에 설치된 응용 프로그램의 실행 요청 신호가 수신된 경우, XR 어플리케이션(322)은 해당 응용 프로그램을 실행하고, 해당 응용 프로그램의 실행 화면을 렌더링한다.
XR 기기(330)는 XR 어플리케이션(클라이언트)(332), 로컬 어플리케이션(334) 및 디스플레이부(336)를 포함할 수 있다.
클라우드 서버(320)는 3차원 영상을 XR 기기(330)에게 전송하고 XR 기기(310)는 수신된 3차원 영상을 디코딩하여 재생할 수 있다. 한편, 본 발명에 따른 클라우드 XR 기반의 프로그램 가상화 방법은 XR 기기(330)를 통해 독립적으로 수행될 수 있으며, 이에 따라 저사양 XR 기기(330)에서도 색상, 질감 등을 정확히 표현할 수 있는 고해상도의 XR 영상을 제공할 수 있다.
XR 기기(330)는 클라우드 서버(120)와 연동하여 동작하는 XR 어플리케이션(클라이언트)(332)을 설치하여 실행할 수 있다.
XR 어플리케이션(클라이언트)(332)은 사용자의 제어에 따라 클라우드 서버(320)와 연동하여 URL을 통해 3차원 가상 공간에 접속하고, 클라우드 서버(320)로부터 3차원 영상을 수신한다. XR 어플리케이션(클라이언트)(332)은 입력받은 명령에 따른 신호(예를 들어, 명령어 신호, 움직임 신호, 응용 프로그램 실행 요청 신호 등)를 생성하여 클라우드 서버(320)로 전송할 수 있다.
로컬 어플리케이션(334)은 XR 기기(330)의 기본 동작과 기능을 실행한다. 로컬 어플리케이션(334)은 XR 어플리케이션(클라이언트)(332)을 통해 수신된 3차원 영상을 디코딩할 수 있다.
일 실시예에서, 로컬 어플리케이션(334)은 가상 키보드, 가상 마우스와 같은 가상 입력수단, 하드웨어 입력수단(예를 들어, 블루투스 키보드, 블루투스 마우스 등), 객체 트래킹(예를 들어, 핸드 트래킹, 헤드 트래킹 등) 등의 입력 수단을 통해 명령을 입력받을 수 있다.
예를 들어, 로컬 어플리케이션(334)은 디스플레이부(336)를 통해 디스플레이되는 3차원 가상 공간에 가상 키보드를 생성하여, 가상 공간에서 명령 입력 기능을 제공할 수 있다. 가상 키보드는 핸드 트래킹 기능과 연동하여 가상 공간상의 키보드에서 사용자의 손을 이용하여 명령을 입력할 수 있다.
로컬 어플리케이션(334)은 블루투스 키보드와 연결되고 사용자가 키보드를 타이핑하면 입력된 명령을 XR 어플리케이션(클라이언트)(332)으로 전송한다. 핸드 트래킹을 지원하는 XR 기기(330)를 이용하는 경우, 로컬 어플리케이션(334)은 핸드 트래킹을 통해 모션(motion) 기반의 명령을 입력받을 수 있다.
디스플레이부(336)는 디코딩된 3차원 영상을 디스플레이하여, 사용자가 3차원 가상 공간을 체험할 수 있도록 한다.
도 4는 본 발명의 다른 실시예에 따른 클라우드 XR 기반의 프로그램 가상화 시스템을 설명하는 도면이다.
도 4를 참조하면, 프로그램 가상화 시스템(400)은 사용자 컴퓨팅 장치(410) 및 XR 기기(420)를 포함하고, 사용자 컴퓨팅 장치(410)에는 클라우드 XR 플랫폼(412)이 설치될 수 있다.
도 4는 클라우드 XR 플랫폼(412)이 각 사용자 개인의 컴퓨팅 장치(410)(예를 들어, PC, 노트북, 태블릿 PC 등)에 설치되어 있으며, 사용자 컴퓨팅 장치(410)에서 3차원 영상을 바로 XR기기(420)로 전송하고, XR기기(420)에서 입력된 명령이나 또는 입력된 명령에 따른 요청 신호를 바로 사용자 컴퓨팅 장치(410)로 전송하는 경우의 예이다. 클라우드 XR 플랫폼(412)이 설치된 사용자 컴퓨팅 장치(410)는 클라우드 PC가 될 수도 있다. 이하에서는, 설명의 편의를 위해 도 1과 차이가 있는 내용을 중심으로 설명하기로 한다.
사용자 컴퓨팅 장치(410)는 사용자에 의해 제어되는 컴퓨터로 XR기기(420)와 네트워크를 통해 연결되어 데이터를 주고받을 수 있다. 일 실시예에서, 사용자 컴퓨팅 장치(410)는 XR기기(420)와 블루투스, WiFi, 5G 통신 등과 같은 무선 네트워크로 연결될 수 있고, 네트워크를 통해 XR기기(420)와 데이터를 송·수신할 수 있다.
사용자 컴퓨팅 장치(410)는 OS에 의해 운영되며, OS 상에서 다양한 응용 프로그램을 실행하고 프로세스를 처리할 수 있다. 또한, 사용자 컴퓨팅 장치(410)는 본 발명에 따른 클라우드 XR 기반의 프로그램 가상화 방법을 통해 동작하도록 구현될 수 있다. 사용자 컴퓨팅 장치(410)에는 클라우드 XR 플랫폼(412) 및 클라우드 XR 플랫폼(412)와 연동하여 동작하는 XR 어플리케이션(에이전트)이 설치될 수 있다. 사용자 컴퓨팅 장치(410)에 설치된 XR 어플리케이션(에이전트)은 클라우드 XR 플랫폼(412)과 연동하여 응용 프로그램을 실행하고, 응용 프로그램을 실행하는 과정에서 개별 프로그램별로 프로세스를 캡쳐(capture)할 수 있다. 또는, 사용자 컴퓨팅 장치(410)에 설치된 XR 어플리케이션(에이전트)은 응용 프로그램을 실행하는 과정에서 실행 화면을 캡쳐 할 수 있다. 사용자 컴퓨팅 장치(410)의 XR 어플리케이션(에이전트)는 캡쳐 데이터를 생성하여 클라우드 XR 플랫폼(412)에 캡쳐 데이터를 전송할 수 있다.
일 실시예에서, 사용자 컴퓨팅 장치(410)는 응용 프로그램 실행 요청 신호를 XR기기(420)로부터 수신할 수 있다. 예를 들어, 사용자 컴퓨팅 장치(410)의 XR 어플리케이션(에이전트)는 XR 기기(420)로부터 응용 프로그램 실행 요청 신호를 수신할 수 있다.
XR 기기(420)는 AR/VR 영상을 재생할 수 있는 사용자 단말에 해당할 수 있다. XR 기기(420)는 사용자 컴퓨팅 장치(410)의 클라우드 XR 플랫폼(412)과 네트워크를 통해 연결되어 데이터를 주고받을 수 있다.
XR 기기(420)는 본 발명에 따른 클라우드 XR 기반의 프로그램 가상화 방법을 통해 동작하도록 구현될 수 있다. XR 기기(420)는 사용자 컴퓨팅 장치(410)의 클라우드 XR 플랫폼(412)과 상호 연동하여 클라우드 XR 플랫폼(412)으로부터 수신된 3차원 영상을 재생할 수 있다.
일 실시예에서, XR 기기(420)는 3차원 가상 공간을 재생할 수 있고, 3차원 가상 공간에 응용 프로그램 실행 화면이 통합된 3차원 영상을 재생할 수 있다. 일 실시예에서, XR 기기(420)는 3차원 가상 공간을 재생하는 동안 본 발명에 따른 클라우드 XR 기반의 프로그램 가상화를 위한 구체적 동작을 수행할 수 있다.
예를 들어, XR 기기(420)는 사용자의 제어에 따라 가상 공간에 가상 입력 수단(예를 들어, 가상 키보드, 가상 마우스 등)을 생성하고 해당 가상 입력 수단을 통해 사용자의 명령을 입력받을 수 있다. 다른 실시예에서, XR 기기(420)는 하드웨어 입력 수단(예를 들어, 블루투스 키보드, 블루투스 마우스 등)을 통해 사용자의 명령을 입력받을 수도 있다. 다른 실시예에서, XR 기기(420)는 객체 트래킹(예를 들어, 핸드 트래킹, 헤드 트래킹 등)을 통해 사용자의 명령을 입력받을 수도 있다.
XR 기기(420)는 입력 수단을 통해 입력받은 명령에 따른 신호(예를 들어, 명령어 신호, 움직임 신호, 응용 프로그램 실행 요청 신호 등)를 생성하여 사용자 컴퓨팅 장치(410)에 전달할 수 있다. 사용자 컴퓨팅 장치(410)는 해당 요청 신호를 수신하여 대응하는 응용 프로그램의 실행 화면을 생성하고, 3차원 가상 공간에 응용 프로그램 실행 화면이 통합된 3차원 영상을 XR 기기(420)에게 전송할 수 있다. 이때, 사용자 컴퓨팅 장치(410)의 클라우드 XR 플랫폼(412)은 생성된 3차원 영상을 인코딩 한 후 XR 기기(420)에 전송할 수 있으며, XR 기기(420)는 해당 3차원 영상을 수신하여 디코딩 한 후 재생할 수 있다. 이를 위하여, XR 기기(420)는 사용자 컴퓨팅 장치(410)의 클라우드 XR 플랫폼(412)과 연동하여 동작하는 XR 어플리케이션(클라이언트)을 설치하여 실행할 수 있다.
일 실시예에서, XR 기기(420)는 사용자의 움직임 정보에 관한 6 DoF(Degrees of Freedom) 센서를 포함하여 구현될 수 있다. 또한, XR 기기(420)는 필요에 따라 다양한 센서들을 더 포함하여 구현될 수 있다. 예를 들어, XR 기기(420)는 GPS 센서, 모션 센서 등을 더 포함할 수 있다. 다른 실시예에서, XR 기기(420)는 외부에서 동작하는 6 DoF 센서로부터 사용자의 움직임 정보를 수신할 수 있다.
클라우드 XR 플랫폼(412)은 가상 공간을 포함하는 3차원 영상을 네트워크를 통해 XR 기기(420)에 전송하는 프로그램에 해당할 수 있다. 일 실시에에서, 클라우드 XR 플랫폼(412)은 XR 기기(420)로부터 수신된 요청에 따라 클라우드 XR 플랫폼(412)에 설치된 응용 프로그램을 직접 실행할 수 있고, 가상 공간에 해당 응용 프로그램의 실행 화면이 통합된 3차원 영상을 XR 기기(420)에 전송할 수 있다. 다른 실시예에서, 사용자 컴퓨팅 장치(410)는 XR 기기(420)의 요청에 따라 사용자 컴퓨팅 장치(410)에 설치된 응용 프로그램을 실행할 수 있고, XR 어플리케이션(에이전트)은 응용 프로그램의 실행 과정에서 캡쳐 데이터를 생성하여 클라우드 XR 플랫폼(412)에 전송할 수 있다. 클라우드 XR 플랫폼(412)은 XR 어플리케이션(에이전트)으로부터 수신된 캡쳐 데이터를 기초로 가상 공간에 해당 응용 프로그램의 실행 화면이 통합된 3차원 영상을 XR 기기(420)에 전송할 수 있다.
사용자 컴퓨팅 장치(410)는 XR 기기(420)로부터 사용자의 움직임 정보로서 6 DoF 신호를 수신할 수 있고, 클라우드 XR 플랫폼(412)은 이를 기초로 사용자의 움직임에 반응하는 영상을 생성하여 XR 기기(420)에 전송할 수 있다. 이를 위하여, 클라우드 XR 플랫폼(412)은 XR 기기(420)와 연동하여 동작하는 XR 어플리케이션을 설치하여 실행할 수 있다.
도 5는 본 발명의 다른 실시예에 따른 도 4의 클라우드 XR 기반의 프로그램 가상화 시스템의 기능적 구성을 설명하는 도면이다.
도 5를 참조하면, 클라우드 XR 기반의 프로그램 가상화 시스템(500)은 사용자 컴퓨팅 장치(510) 및 XR 기기(530)를 포함할 수 있다. 사용자 컴퓨팅 장치(510)는 응용 프로그램(512), XR 어플리케이션(에이전트)(514) 및 클라우드 XR 플랫폼(520)을 포함한다. 클라우드 XR 플랫폼(520)은 XR 어플리케이션(522), 3차원 영상 생성부(524), 인코딩부(526) 및 응용 프로그램(528)을 포함할 수 있다. XR 기기(530)는 XR 어플리케이션(클라이언트)(532), 로컬 어플리케이션(534), 디스플레이부(536) 및 입력 수단(538)을 포함할 수 있다. 이하에서는, 설명의 편의를 위해 도 3과 차이가 있는 내용을 중심으로 설명하기로 한다.
XR 어플리케이션(에이전트)(514)은 XR 기기(530) 및 클라우드 XR 플랫폼(520)과 연동하여 본 발명에 따른 클라우드 XR 기반의 프로그램 가상화 방법을 수행한다. XR 기기(530)로부터 실행 대상 응용 프로그램(512)에 대한 정보와 해당 응용 프로그램(512)의 실행 요청 신호가 수신되면, 사용자 컴퓨팅 장치(510)는 해당 응용 프로그램(512)을 실행한다. XR 어플리케이션(에이전트)(514)은 응용 프로그램(512)을 실행하는 과정에서 캡쳐 데이터를 생성하여 클라우드 XR 플랫폼(520)에 캡쳐 데이터를 전송할 수 있다.
클라우드 XR 플랫폼(520)은 XR 기기(530)에서 수신된 요청 신호에 따라 3차원 가상 공간을 생성할 수 있고, 해당 3차원 가상 공간에 접속할 수 있는 URL을 생성할 수 있다. 클라우드 XR 플랫폼(520)은 해당 URL에 접속한 적어도 하나 이상의 XR 기기(530)에 동일한 3차원 가상 공간의 영상을 제공할 수 있다.
XR 어플리케이션(522)은 XR 어플리케이션(에이전트)(514) 및 XR 기기(530)와 연동하여, 컴퓨팅, 프로세싱, 렌더링 등을 수행한다. 클라우드 XR 플랫폼(520)은 XR 기기(430)를 통해 입력된 요청 신호에 따라 XR 어플리케이션(522)을 실행할 수 있다. XR 어플리케이션(522)은 실행되는 과정에서 3차원 가상 공간을 렌더링한다.
3차원 영상 생성부(524)는 렌더링된 3차원 가상 공간을 기초로 가상 공간 영상(3차원 영상)을 생성하고, 인코딩부(526)는 생성된 가상 공간 영상을 인코딩하여 원격의 XR 기기(530)로 전송한다.
일 실시예에서, XR 어플리케이션(522)은 사용자에 의해 커스터마이즈된 사용자 개인 식별 객체를 렌더링하고, 3차원 영상 생성부(524)는 렌더링된 사용자 개인 식별 객체와 3차원 가상 공간을 기초로, 사용자 개인 식별 객체가 포함된 가상 공간 영상을 생성할 수 있다. 일 실시예에서, 동일한 3차원 가상 공간에 접속한 하나 이상의 참여자가 있는 경우, XR 어플리케이션(522)은 해당 참여자에 의해 커스터마이즈된 참여자 개인 식별 객체를 렌더링하고, 3차원 영상 생성부(524)는 사용자 개인 식별 객체와 참여자 개인 식별 객체가 포함된 가상 공간 영상을 생성할 수 있다.
일 실시예에서, 클라우드 XR 플랫폼(520)에 설치된 응용 프로그램(Tool)(528) 또는 사용자 컴퓨팅 장치(510)의 응용 어플리케이션(512)이 실행되면 XR 어플리케이션(522)은 해당 응용 프로그램의 실행 화면을 렌더링한다. 3차원 영상 생성부(524)는 렌더링된 3차원 가상 공간과 응용 프로그램 실행 화면을 통합하여 하나의 3차원 영상을 생성하고, 인코딩부(526)는 생성된 3차원 영상을 인코딩하여 XR 기기(530)로 전송한다.
예를 들어, 사용자 컴퓨팅 장치(510)가 XR 기기(530)로부터 사용자 컴퓨팅 장치(510)에 설치된 응용 프로그램(512)의 실행 요청 신호를 수신하는 경우, XR 어플리케이션(에이전트)(514)는 해당 응용 프로그램(512)을 실행한다. 일 실시예에서, 실행 요청 신호는 실행 대상 응용 프로그램에 대한 정보를 포함할 수 있다. XR 어플리케이션(에이전트)(514)는 응용 프로그램을 실행하는 과정에서 캡쳐 데이터를 생성하고, 캡쳐 데이터를 사용자 컴퓨팅 장치(510)에 전송한다. XR 기기(530)로부터 응용 프로그램(512)에 대한 명령어 신호가 수신되는 경우, XR 어플리케이션(에이전트)(514)는 해당 명령어 신호를 응용 프로그램(512)에 전송하여 해당 응용 프로그램(512)이 명령을 실행하도록 한다.
사용자 컴퓨팅 장치(510)가 XR 기기(530)로부터 클라우드 XR 플랫폼(520)에 설치된 응용 프로그램(528)의 실행 요청 신호를 수신하는 경우, XR 어플리케이션(에이전트)(514)는 사용자 컴퓨팅 장치(510)에 응용 프로그램(528)의 실행 요청 신호를 전송한다. 일 실시예에서, 실행 요청 신호는 실행 대상 응용 프로그램에 대한 정보를 포함할 수 있다. 실행 요청 신호가 수신되면, XR 어플리케이션(522)은 해당 응용 프로그램을 실행하고, 해당 응용 프로그램의 실행 화면을 렌더링한다.
3차원 영상 생성부(524)는 렌더링된 3차원 가상 공간과 응용 프로그램 실행 화면을 통합하여 하나의 3차원 영상을 생성하고, 인코딩부(526)는 생성된 3차원 영상을 인코딩하여 XR 기기(530)로 전송한다.
클라우드 XR 플랫폼(520)는 3차원 영상을 XR 기기(530)에게 전송하고 XR 기기(510)는 수신된 3차원 영상을 디코딩하여 재생할 수 있다.
XR 어플리케이션(클라이언트)(532)은 사용자의 제어에 따라 클라우드 XR 플랫폼(520)와 연동하여 URL을 통해 3차원 가상 공간에 접속하고, 클라우드 XR 플랫폼(520)로부터 3차원 영상을 수신한다. XR 어플리케이션(클라이언트)(532)은 입력 수단(538)을 통해 입력된 명령을 기초로 입력받은 명령에 따른 신호(예를 들어, 명령어 신호, 움직임 신호, 응용 프로그램 실행 요청 신호 등)를 생성하여 사용자 컴퓨팅 장치(510)에 전송한다.
로컬 어플리케이션(534)은 XR 기기(530)의 기본 동작과 기능을 실행한다. 로컬 어플리케이션(534)은 XR 어플리케이션(클라이언트)(532)을 통해 수신된 3차원 영상을 디코딩할 수 있다.
디스플레이부(536)는 디코딩된 3차원 영상을 디스플레이하여, 사용자가 3차원 가상 공간을 체험할 수 있도록 한다.
입력 수단(538)은 사용자의 제어에 따라 명령을 입력받고, 입력받은 명령에 따른 신호(예를 들어, 명령어 신호, 움직임 신호, 응용 프로그램 실행 요청 신호 등)를 생성하여 사용자 컴퓨팅 장치(510)에 전송할 수 있다. 일 실시예에서, 입력 수단(538)은 가상 키보드, 가상 마우스와 같은 가상 입력수단, 하드웨어 입력수단(예를 들어, 블루투스 키보드, 블루투스 마우스 등), 객체 트래킹(예를 들어, 핸드 트래킹, 헤드 트래킹 등) 등의 입력 수단을 포함할 수 있다.
예를 들어, 입력 수단(538)은 디스플레이부(536)를 통해 디스플레이되는 3차원 가상 공간에 가상 키보드를 생성하여, 가상 공간에서 명령 입력 기능을 제공할 수 있다. 가상 키보드는 핸드 트래킹 기능과 연동하여 가상 공간상의 키보드에서 사용자의 손을 이용하여 명령을 입력할 수 있다. 입력 수단(538)은 블루투스 키보드와 연결될 수 있고 해당 키보드를 통해 명령이 입력되면 입력 수단(538)은 입력받은 명령에 따른 신호를 사용자 컴퓨팅 장치(510)로 전송할 수도 있다. 핸드 트래킹을 지원하는 XR 기기(530)의 경우, 입력 수단(538)은 핸드 트래킹을 통해 모션 기반의 명령을 입력받을 수도 있다.
도 6은 본 발명에 따른 클라우드 XR 기반의 프로그램 가상화 방법의 일 실시예를 설명하는 순서도이다.
도 6과 도 3을 참조하면, 클라우드 서버(320)는 3차원 가상 공간 내에서 어플리케이션을 실행할 수 있도록 구현된 XR 어플리케이션을 실행한다(단계 S610).
클라우드 서버(320)는 XR 어플리케이션을 실행하는 과정에서 3차원 가상 공간을 렌더링하고(단계 S620), 렌더링된 3차원 가상 공간을 기초로 가상 공간 영상을 생성한다(단계 S630). 클라우드 서버(320)는 생성된 가상 공간 영상을 인코딩하여 원격의 XR 기기(330)로 전송한다(단계 S640).
XR 기기(330)로부터 수신된 응용 프로그램 실행 요청 신호에 따라 응용 프로그램이 실행되면 클라우드 서버(320)는 해당 응용 프로그램의 실행 화면을 렌더링한다(단계 S650). 예를 들어, XR 기기(330)로부터 원격의 사용자 컴퓨팅 장치(310)에 설치된 응용 프로그램의 실행 요청 신호가 수신되는 경우, 클라우드 서버(320)는 사용자 컴퓨팅 장치(310)에 응용 프로그램의 실행 요청 신호를 전송한다. 클라우드 서버(320)는 사용자 컴퓨팅 장치(310)에서 응용 프로그램을 실행하는 과정에서 캡쳐된 캡쳐 데이터를 수신하고, 수신된 캡쳐 데이터를 기초로 응용 프로그램의 실행 화면을 렌더링한다.
XR 기기(330)로부터 클라우드 서버(320)의 클라우드 XR 플랫폼에 설치된 응용 프로그램의 실행 요청 신호가 수신된 경우, 클라우드 서버(320)는 해당 응용 프로그램을 실행하고, 해당 응용 프로그램의 실행 화면을 렌더링한다.
클라우드 서버(320)는 렌더링된 3차원 가상 공간과 응용 프로그램 실행 화면을 통합하여 하나의 3차원 영상을 생성하고(단계 S660), 생성된 3차원 영상을 인코딩하여 XR 기기(330)로 전송한다(단계 S670). XR 기기(330)는 수신된 3차원 영상을 디코딩하여 재생할 수 있다. 각 단계에 대한 구체적인 설명은 도 3에서 설명한 바와 같다.
도 7은 본 발명에 따른 클라우드 XR 기반의 프로그램 가상화 방법의 다른 실시예를 설명하는 순서도이다.
도 7과 도 5를 참조하면, 사용자 컴퓨팅 장치(510)에 설치된 클라우드 XR 플랫폼(520)은 3차원 가상 공간 내에서 어플리케이션을 실행할 수 있도록 구현된 XR 어플리케이션을 실행한다(단계 S710).
클라우드 XR 플랫폼(520)은 XR 어플리케이션을 실행하는 과정에서 3차원 가상 공간을 렌더링하고(단계 S720), 렌더링된 3차원 가상 공간을 기초로 가상 공간 영상을 생성한다(단계 S730). 클라우드 XR 플랫폼(520)은 생성된 가상 공간 영상을 인코딩하여 원격의 XR 기기(530)로 전송한다(단계 S740).
클라우드 XR 플랫폼(520)은 사용자 컴퓨팅 장치(510)에서 응용 프로그램을 실행하는 과정에서 캡쳐된 캡쳐 데이터를 수신하고(단계 S750), 캡쳐 데이터를 기초로 해당 응용 프로그램의 실행 화면을 렌더링한다(단계 S760).
예를 들어, XR 기기(530)로부터 응용 프로그램(512)의 실행 요청 신호가 수신되는 경우, 사용자 컴퓨팅 장치(510)는 해당 응용 프로그램(512)을 실행하고, XR 어플리케이션(에이전트)(514)는 응용 프로그램(512)을 실행하는 과정에서 캡쳐 데이터를 생성하여 캡쳐 데이터를 클라우드 XR 플랫폼(520)에 전송한다.
XR 기기(530)로부터 클라우드 XR 플랫폼(520)에 설치된 응용 프로그램(528)의 실행 요청 신호가 수신되는 경우, XR 어플리케이션(에이전트)(514)는 클라우드 XR 플랫폼(520)에 응용 프로그램(528)의 실행 요청 신호를 전송한다. 실행 요청 신호가 수신되면, 클라우드 XR 플랫폼(520)는 해당 응용 프로그램을 실행하고, 해당 응용 프로그램의 실행 화면을 렌더링한다.
클라우드 XR 플랫폼(520)은 제어에 따라 렌더링된 3차원 가상 공간과 응용 프로그램 실행 화면을 통합하여 하나의 3차원 영상을 생성하고(단계 S770), 생성된 3차원 영상을 인코딩하여 XR 기기(530)로 전송한다(단계 S780). XR 기기(530)는 수신된 3차원 영상을 디코딩하여 재생할 수 있다. 각 단계에 대한 구체적인 설명은 도 5에서 설명한 바와 같다.
상기에서는 본 발명의 바람직한 실시예를 참조하여 설명하였지만, 해당 기술 분야의 숙련된 당업자는 하기의 특허 청구의 범위에 기재된 본 발명의 사상 및 영역으로부터 벗어나지 않는 범위 내에서 본 발명을 다양하게 수정 및 변경시킬 수 있음을 이해할 수 있을 것이다.
300: 클라우드 XR 기반의 프로그램 가상화 시스템
310: 사용자 컴퓨팅 장치 320: 클라우드 서버
330: XR 기기 312: 응용 프로그램
314: XR 어플리케이션(에이전트) 322: XR 어플리케이션
324: 3차원 영상 생성부 326: 인코딩부
328: 응용 프로그램 332: XR 어플리케이션(클라이언트)
334: 로컬 어플리케이션 336: 디스플레이부

Claims (11)

  1. 클라우드 서버에서 3차원 가상 공간 내에서 어플리케이션을 실행할 수 있도록 구현된 XR(eXtended Reality) 어플리케이션을 실행하는 단계;
    상기 XR 어플리케이션을 실행하는 과정에서 3차원 가상 공간을 렌더링하고, 상기 XR 어플리케이션을 통해 응용 어플리케이션 또는 응용 프로그램을 실행시키는 UX(User Experience)/UI(User Interface) 화면을 상기 3차원 가상 공간내 배치하는 단계;
    사용자에 의해 커스터마이즈된 사용자 개인 식별 객체와 상기 가상 공간에 접속한 참여자에 의해 커스터마이즈된 참여자 개인 식별 객체를 각각 렌더링하고, 상기 렌더링된 3차원 가상 공간을 기초로 상기 사용자 개인 식별 객체와 상기 참여자 개인 식별 객체가 포함된 가상 공간 영상을 생성하는 단계;
    생성된 가상 공간 영상을 인코딩하여 원격의 XR 기기로 전송하는 단계;
    응용 프로그램이 실행되면 해당 응용 프로그램의 실행 화면을 렌더링하는 과정에서, 원격의 사용자 컴퓨팅 장치에 설치된 특정 응용 프로그램의 실행 요청 신호가 수신된 경우 상기 사용자 컴퓨팅 장치에 상기 실행 요청 신호를 전송하고, 상기 사용자 컴퓨팅 장치에서 상기 특정 응용 프로그램을 실행하는 동안 캡쳐(capture)된 캡쳐 데이터를 수신하며, 수신된 캡쳐 데이터를 기초로 상기 특정 응용 프로그램의 실행 화면을 렌더링하는 단계;
    상기 렌더링된 3차원 가상 공간과 상기 응용 프로그램 실행 화면을 통합하여 하나의 3차원 영상을 생성하는 단계; 및
    상기 생성된 3차원 영상을 인코딩하여 상기 XR 기기로 전송하는 단계를 포함하는 클라우드 XR 기반의 프로그램 가상화 방법.
  2. 제1항에 있어서, 상기 3차원 가상 공간을 렌더링하는 단계는
    개인 룸 및 회의 룸을 포함하는 가상 공간을 렌더링하는 클라우드 XR 기반의 프로그램 가상화 방법.
  3. 삭제
  4. 삭제
  5. 삭제
  6. 제1항에 있어서, 상기 캡쳐 데이터는
    상기 사용자 컴퓨팅 장치에서 실행되는 개별 프로그램별로 프로세스를 캡쳐한 프로세스 캡쳐 데이터인 클라우드 XR 기반의 프로그램 가상화 방법.
  7. 제1항에 있어서, 상기 캡쳐 데이터는
    상기 사용자 컴퓨팅 장치의 화면을 캡쳐한 화면 캡쳐 데이터인 클라우드 XR 기반의 프로그램 가상화 방법.
  8. 제1항에 있어서, 상기 사용자 컴퓨팅 장치에 상기 실행 요청 신호를 전송하는 단계는
    상기 XR 기기로부터 실행 요청 신호를 수신하는 단계를 포함하는 클라우드 XR 기반의 프로그램 가상화 방법.
  9. 제1항에 있어서, 상기 실행 화면을 렌더링하는 단계는
    클라우드 서버에 설치된 응용 프로그램의 실행 요청 신호가 수신된 경우, 해당 응용 프로그램을 실행하는 단계; 및
    상기 응용 프로그램의 실행 화면을 렌더링하는 단계를 포함하는 클라우드 XR 기반의 프로그램 가상화 방법.
  10. 제9항에 있어서, 상기 응용 프로그램은
    메모 프로그램, 화이트 보드 프로그램, 스크린 프로그램, 3D 뷰어 프로그램, 음성 채팅 프로그램, 포인터 프로그램, 키보드 입력 프로그램 또는 객체 트래킹 프로그램을 포함하는 클라우드 XR 기반의 프로그램 가상화 방법.
  11. 사용자 컴퓨팅 장치에 설치된 클라우드 XR 플랫폼에서 3차원 가상 공간 내에서 어플리케이션을 실행할 수 있도록 구현된 XR(eXtended Reality) 어플리케이션을 실행하는 단계;
    상기 XR 어플리케이션을 실행하는 과정에서 3차원 가상 공간을 렌더링하고, 상기 XR 어플리케이션을 통해 응용 어플리케이션 또는 응용 프로그램을 실행시키는 UX(User Experience)/UI(User Interface) 화면을 상기 3차원 가상 공간내 배치하는 단계;
    사용자에 의해 커스터마이즈된 사용자 개인 식별 객체와 상기 가상 공간에 접속한 참여자에 의해 커스터마이즈된 참여자 개인 식별 객체를 각각 렌더링하고, 상기 렌더링된 3차원 가상 공간을 기초로 상기 사용자 개인 식별 객체와 상기 참여자 개인 식별 객체가 포함된 가상 공간 영상을 생성하는 단계;
    생성된 가상 공간 영상을 인코딩하여 원격의 XR 기기로 전송하는 단계;
    클라우드 서버에 의해 수신되어 전송된 응용 프로그램에 대한 실행 요청 신호에 따라 상기 사용자 컴퓨팅 장치에서 응용 프로그램을 실행하는 과정에서 캡쳐된 캡쳐 데이터를 수신하는 단계;
    상기 캡쳐 데이터를 기초로 해당 응용 프로그램의 실행 화면을 렌더링하는 단계;
    제어에 따라 상기 렌더링된 3차원 가상 공간과 상기 응용 프로그램 실행 화면을 통합하여 하나의 3차원 영상을 생성하는 단계; 및
    상기 생성된 3차원 영상을 인코딩하여 상기 XR 기기로 전송하는 단계를 포함하는 클라우드 XR 기반의 프로그램 가상화 방법.
KR1020210137640A 2021-10-15 2021-10-15 클라우드 xr 기반의 프로그램 가상화 방법 KR102669261B1 (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020210137640A KR102669261B1 (ko) 2021-10-15 2021-10-15 클라우드 xr 기반의 프로그램 가상화 방법
US17/878,927 US20230122666A1 (en) 2021-10-15 2022-08-02 Cloud xr-based program virtualizing method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020210137640A KR102669261B1 (ko) 2021-10-15 2021-10-15 클라우드 xr 기반의 프로그램 가상화 방법

Publications (2)

Publication Number Publication Date
KR20230054068A KR20230054068A (ko) 2023-04-24
KR102669261B1 true KR102669261B1 (ko) 2024-05-28

Family

ID=85981426

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020210137640A KR102669261B1 (ko) 2021-10-15 2021-10-15 클라우드 xr 기반의 프로그램 가상화 방법

Country Status (2)

Country Link
US (1) US20230122666A1 (ko)
KR (1) KR102669261B1 (ko)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101678389B1 (ko) * 2014-02-28 2016-11-22 엔트릭스 주식회사 클라우드 스트리밍 기반의 영상데이터 제공 방법, 이를 위한 장치 및 시스템
US20210004630A1 (en) * 2019-07-03 2021-01-07 Magic Leap, Inc. Simple environment solver using planar extraction

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20140027741A (ko) * 2012-08-27 2014-03-07 한국전자통신연구원 응용 서비스 제공 시스템 및 방법, 응용 서비스를 위한 서버 장치 및 클라이언트 장치
US10838574B2 (en) * 2018-04-09 2020-11-17 Spatial Systems Inc. Augmented reality computing environments—workspace save and load
US11232532B2 (en) * 2018-05-30 2022-01-25 Sony Interactive Entertainment LLC Multi-server cloud virtual reality (VR) streaming
KR101990428B1 (ko) 2018-06-12 2019-06-19 한길씨앤씨 주식회사 다수의 사용자에 대하여 실시간 동기화가 가능한 vr 시스템 및 이를 이용한 vr 시스템의 실시간 동기화 방법
US20230092103A1 (en) * 2021-09-21 2023-03-23 Meta Platforms Technologies, Llc Content linking for artificial reality environments
EP4161067A1 (en) * 2021-09-30 2023-04-05 Nokia Technologies Oy A method, an apparatus and a computer program product for video encoding and video decoding
US11733826B2 (en) * 2021-10-31 2023-08-22 Zoom Video Communications, Inc. Virtual environment interactivity for video communications participants

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101678389B1 (ko) * 2014-02-28 2016-11-22 엔트릭스 주식회사 클라우드 스트리밍 기반의 영상데이터 제공 방법, 이를 위한 장치 및 시스템
US20210004630A1 (en) * 2019-07-03 2021-01-07 Magic Leap, Inc. Simple environment solver using planar extraction

Also Published As

Publication number Publication date
KR20230054068A (ko) 2023-04-24
US20230122666A1 (en) 2023-04-20

Similar Documents

Publication Publication Date Title
CN108885522B (zh) 渲染3d环境中的内容
CN113661471B (zh) 混合渲染
US9965253B2 (en) Methods and systems for generation and execution of miniapp of computer application served by cloud computing system
US9230298B2 (en) Information processing device, and information processing system
JP2022526977A (ja) 複合現実システムを用いて仮想3次元空間内のウェブページを管理および表示すること
JP2018524661A (ja) 共同システムにおける仮想作業空間ビューポート・フォロー・モード
Ortiz Is 3d finally ready for the web?
US20140074911A1 (en) Method and apparatus for managing multi-session
WO2022048677A1 (zh) 基于云手机的vr应用设计方法及系统
Mouton et al. Collaborative visualization: current systems and future trends
US20120114200A1 (en) Addition of immersive interaction capabilities to otherwise unmodified 3d graphics applications
EP3076647B1 (en) Techniques for sharing real-time content between multiple endpoints
CN112221127B (zh) 一种云游戏的多点控制方法及装置
US20170228137A1 (en) Local zooming of a workspace asset in a digital collaboration environment
US20130143657A1 (en) Input Mapping Regions
US10701431B2 (en) Handheld controller gestures for virtual reality video playback
KR102669261B1 (ko) 클라우드 xr 기반의 프로그램 가상화 방법
KR101744684B1 (ko) 클라우드 게임 서비스 제공 장치 및 방법
US20180053350A1 (en) AR/VR Device Virtualisation
KR102362140B1 (ko) 스트리밍 게임 제공 방법 및 장치
KR102369525B1 (ko) 원격 접속을 위한 장치, 시스템 및 방법
KR102656014B1 (ko) 분산 렌더링 기반의 클라우드 vr 장치
KR20240096015A (ko) Vr 클라우드 장치
KR20240085130A (ko) Ai 기반 인터랙티브 아바타톡 제공 장치 및 방법
Thelen Advanced Visualization and Interaction Techniques for Large High-Resolution Displays

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