KR20220094988A - Method and apparatus for providing augmented reality, virtual reality, mixed reality and extended reality services - Google Patents
Method and apparatus for providing augmented reality, virtual reality, mixed reality and extended reality services Download PDFInfo
- Publication number
- KR20220094988A KR20220094988A KR1020200186775A KR20200186775A KR20220094988A KR 20220094988 A KR20220094988 A KR 20220094988A KR 1020200186775 A KR1020200186775 A KR 1020200186775A KR 20200186775 A KR20200186775 A KR 20200186775A KR 20220094988 A KR20220094988 A KR 20220094988A
- Authority
- KR
- South Korea
- Prior art keywords
- objects
- information
- environment space
- relationship
- electronic device
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T19/00—Manipulating 3D models or images for computer graphics
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/01—Input arrangements or combined input and output arrangements for interaction between user and computer
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/011—Arrangements for interaction with the human body, e.g. for user immersion in virtual reality
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/048—Interaction techniques based on graphical user interfaces [GUI]
- G06F3/0481—Interaction techniques based on graphical user interfaces [GUI] based on specific properties of the displayed interaction object or a metaphor-based environment, e.g. interaction with desktop elements like windows or icons, or assisted by a cursor's changing behaviour or appearance
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/048—Interaction techniques based on graphical user interfaces [GUI]
- G06F3/0481—Interaction techniques based on graphical user interfaces [GUI] based on specific properties of the displayed interaction object or a metaphor-based environment, e.g. interaction with desktop elements like windows or icons, or assisted by a cursor's changing behaviour or appearance
- G06F3/04815—Interaction with a metaphor-based environment or interaction object displayed as three-dimensional, e.g. changing the user viewpoint with respect to the environment or object
-
- G06K9/62—
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION 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/00—Systems or methods specially adapted for specific business sectors, e.g. utilities or tourism
- G06Q50/10—Services
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/10—Segmentation; Edge detection
- G06T7/11—Region-based segmentation
Abstract
Description
본 개시는 증강 현실, 가상 현실, 혼합 현실 및 확장 현실 서비스를 제공하기 위한 장치 및 방법에 관한 것이다.The present disclosure relates to an apparatus and method for providing augmented reality, virtual reality, mixed reality and extended reality services.
최근, 증강 현실(augmented reality, AR) 및 가상 현실(virtual reality, VR) 서비스를 제공할 수 있는 전자 장치가 개발되면서, 이를 활용할 수 있는 기술(방안)에 대한 관심이 높아지고 있다. 나아가, 5G 이동 통신 기술의 도입에 따라, 혼합 현실(mixed reality, MR) 및 확장 현실(extended reality, XR)을 실현하고 활용할 수 있는 기술도 연구되고 있다.Recently, as electronic devices capable of providing augmented reality (AR) and virtual reality (VR) services have been developed, interest in technologies (plans) that can utilize them is increasing. Furthermore, with the introduction of 5G mobile communication technology, technologies capable of realizing and utilizing mixed reality (MR) and extended reality (XR) are also being studied.
그러나, 현재의 확장 현실 기술의 경우, 서버에 증강 현실 서비스를 위한 모듈과 가상 현실 서비스를 위한 모듈이 별개로 존재하기 때문에 장치의 타입(예를 들어, 증강 현실 장치 또는 가상 현실 장치 등)에 따라 지원받을 수 있는 서비스가 제한된다는 문제점이 존재한다. However, in the case of the current extended reality technology, since the module for the augmented reality service and the module for the virtual reality service exist separately in the server, depending on the type of device (eg, augmented reality device or virtual reality device, etc.) There is a problem that the service that can be supported is limited.
또한, 현재의 증강 현실 서비스는 GPS(global positioning system)에 기반하여 제공되기 때문에, 사용자의 주변 환경 공간과 관계 없이, 특정 객체가 모든 사용자에게 동일한 위치에 렌더링된다는 한계가 존재한다.In addition, since the current augmented reality service is provided based on a global positioning system (GPS), there is a limitation that a specific object is rendered to the same location for all users regardless of the user's surrounding environment space.
상술한 논의를 바탕으로, 본 개시는 증강 현실, 가상 현실, 혼합 현실 및 확장 현실 서비스를 제공하기 위한 장치 및 방법을 제공한다.Based on the above discussion, the present disclosure provides apparatus and methods for providing augmented reality, virtual reality, mixed reality and extended reality services.
본 개시의 일 실시예에 의하면, 서버는,According to an embodiment of the present disclosure, the server,
하나 이상의 인스트럭션들을 저장하는 메모리;a memory storing one or more instructions;
상기 하나 이상의 인스트럭션들을 실행하는 적어도 하나의 프로세서를 포함하고, at least one processor executing the one or more instructions;
상기 적어도 하나의 프로세서는 상기 하나 이상의 인스트럭션들을 실행함으로써,The at least one processor by executing the one or more instructions,
전자 장치로부터 스트리밍 요청 및 제1 사용자 정보를 수신하고,Receive a streaming request and first user information from the electronic device,
상기 제1 사용자 정보에 기초하여, 상기 전자 장치의 타입 및 사용자의 주변 환경 공간에 관한 정보를 식별하고,based on the first user information, identify information about a type of the electronic device and a user's surrounding environment space,
제1 가상 환경 공간에 존재하는 복수의 객체들 간의 관계를 식별하고,Identifies a relationship between a plurality of objects existing in the first virtual environment space,
상기 전자 장치의 타입, 상기 사용자의 주변 환경 공간에 관한 정보 및 상기 복수의 객체들 간의 관계에 기초하여, 상기 복수의 객체들 중 하나 이상의 객체를 선택하고,selecting one or more objects from among the plurality of objects based on the type of the electronic device, information about the user's surrounding environment space, and a relationship between the plurality of objects,
상기 선택된 하나 이상의 객체에 관한 영상 데이터를 상기 전자 장치에게 전송할 수 있다.Image data regarding the one or more selected objects may be transmitted to the electronic device.
상기 적어도 하나의 프로세서는 미디어 컨텐츠 또는 상기 사용자의 주변 환경 공간에 관한 정보에 기초하여, 상기 제1 가상 환경 공간에 관한 정보를 결정할 수 있다.The at least one processor may determine information about the first virtual environment space based on media content or information about the user's surrounding environment space.
상기 복수의 객체들 중 하나 이상의 객체를 선택할 때, 상기 전자 장치가 증강 현실 장치인 경우, 상기 적어도 하나의 프로세서는 상기 사용자의 주변 환경 공간에 존재하는 적어도 하나의 객체 및 상기 복수의 객체들 간의 관계에 기초하여 선택할 수 있다.When selecting one or more objects from among the plurality of objects, if the electronic device is an augmented reality device, the at least one processor is configured to: at least one object existing in the user's surrounding environment space and a relationship between the plurality of objects can be selected based on
상기 복수의 객체들 중 하나 이상의 객체를 선택할 때, 상기 전자 장치가 가상 현실 장치인 경우, 상기 적어도 하나의 프로세서는 상기 전자 장치가 렌더링하는 제2 가상 환경 공간에 관한 정보 및 상기 복수의 객체들 간의 관계에 기초하여 선택할 수 있다.When one or more objects are selected from among the plurality of objects, if the electronic device is a virtual reality device, the at least one processor is configured to provide information about a second virtual environment space rendered by the electronic device and information about the space between the plurality of objects. You can choose based on your relationship.
상기 적어도 하나의 프로세서는 상기 제1 가상 환경 공간에 존재하는 상기 복수의 객체들 간의 관계를 식별할 때, 상기 복수의 객체들 간의 접촉 면적 및 중심 간 거리 중 적어도 하나에 기초하여 상기 복수의 객체들 간의 관계를 식별할 수 있다.When the at least one processor identifies a relationship between the plurality of objects existing in the first virtual environment space, the plurality of objects are selected based on at least one of a contact area between the plurality of objects and a center-to-center distance. relationship between them can be identified.
상기 적어도 하나의 프로세서는 상기 제1 가상 환경 공간에 존재하는 상기 복수의 객체들 간의 관계를 식별할 때, 의미론적 추론(semantic reasoning)에 기초하여 상기 복수의 객체들 간의 관계를 식별할 수 있다.When identifying the relationship between the plurality of objects existing in the first virtual environment space, the at least one processor may identify the relationship between the plurality of objects based on semantic reasoning.
상기 복수의 객체들 간의 관계에 관한 정보는 상기 복수의 객체들 간의 위치(position) 관계에 관한 정보를 포함할 수 있다.The information on the relationship between the plurality of objects may include information on the position relationship between the plurality of objects.
상기 적어도 하나의 프로세서는 상기 복수의 객체들 중 하나 이상의 객체를 선택할 때, 상기 사용자의 주변 환경 공간에 존재하는 적어도 하나의 객체 또는 상기 전자 장치가 렌더링하는 제2 가상 환경 공간에 존재하는 적어도 하나의 객체 중 제1 객체를 선택하고, 상기 복수의 객체들 간의 관계에 기초하여, 상기 제1 객체와 관계가 있는 제2 객체를 선택할 수 있다. 또한, 상기 적어도 하나의 프로세서는 상기 적어도 하나의 프로세서는 상기 복수의 객체들 간의 관계에 기초하여, 상기 제2 객체와 관계가 있는 제3 객체를 선택할 수 있다.When the at least one processor selects one or more objects from among the plurality of objects, at least one object existing in the environment space surrounding the user or at least one object present in the second virtual environment space rendered by the electronic device A first object may be selected from among the objects, and a second object related to the first object may be selected based on the relationship between the plurality of objects. Also, the at least one processor may select a third object related to the second object based on the relationship between the plurality of objects.
상기 적어도 하나의 프로세서는 상기 전자 장치로부터 제2 사용자 정보를 수신하고, 상기 제2 사용자 정보는 상기 사용자의 변경된 주변 환경 공간에 관한 정보를 포함할 수 있다.The at least one processor may receive second user information from the electronic device, and the second user information may include information about the user's changed surrounding environment space.
본 개시의 일 실시예에 의하면, 서버에 의해 수행되는 방법은, According to an embodiment of the present disclosure, the method performed by the server,
전자 장치로부터 스트리밍 요청 및 제1 사용자 정보를 수신하는 단계;Receiving a streaming request and first user information from the electronic device;
상기 제1 사용자 정보에 기초하여, 상기 전자 장치의 타입 및 사용자의 주변 환경 공간에 관한 정보를 식별하는 단계;identifying information about a type of the electronic device and a user's surrounding environment space based on the first user information;
제1 가상 환경 공간에 존재하는 복수의 객체들 간의 관계를 식별하는 단계;identifying a relationship between a plurality of objects existing in a first virtual environment space;
상기 전자 장치의 타입, 상기 사용자의 주변 환경 공간에 관한 정보 및 상기 복수의 객체들 간의 관계에 기초하여, 상기 복수의 객체들 중 하나 이상의 객체를 선택하는 단계; 및selecting one or more objects from among the plurality of objects based on the type of the electronic device, information about the user's surrounding environment space, and a relationship between the plurality of objects; and
상기 선택된 하나 이상의 객체에 관한 영상 데이터를 상기 전자 장치에게 전송하는 단계를 포함할 수 있다.The method may include transmitting image data regarding the one or more selected objects to the electronic device.
상기 서버에 의해 수행되는 방법은, 미디어 컨텐츠 또는 상기 사용자의 주변 환경 공간에 관한 정보에 기초하여, 상기 제1 가상 환경 공간에 관한 정보를 결정하는 단계를 더 포함할 수 있다.The method performed by the server may further include determining information about the first virtual environment space based on media content or information about the user's surrounding environment space.
상기 복수의 객체들 중 하나 이상의 객체를 선택하는 단계는, 상기 전자 장치가 증강 현실 장치인 경우, 상기 사용자의 주변 환경 공간에 존재하는 적어도 하나의 객체 및 상기 복수의 객체들 간의 관계에 기초하여 선택하는 단계를 포함할 수 있다.The selecting of one or more objects from among the plurality of objects may include selecting, when the electronic device is an augmented reality device, based on at least one object existing in a space surrounding the user and a relationship between the plurality of objects. may include the step of
상기 복수의 객체들 중 하나 이상의 객체를 선택하는 단계는, 상기 전자 장치가 가상 현실 장치인 경우, 상기 전자 장치가 렌더링하는 제2 가상 환경 공간에 관한 정보 및 상기 복수의 객체들 간의 관계에 기초하여 선택하는 단계를 포함할 수 있다.The selecting of one or more objects from among the plurality of objects may include, when the electronic device is a virtual reality device, based on information about a second virtual environment space rendered by the electronic device and a relationship between the plurality of objects. It may include the step of selecting.
상기 제1 가상 환경 공간에 존재하는 복수의 객체들 간의 관계를 식별하는 단계는, 상기 복수의 객체들 간의 접촉 면적 및 중심 간 거리 중 적어도 하나에 기초하여 상기 복수의 객체들 간의 관계를 식별하는 단계를 포함할 수 있다.The identifying of the relationship between the plurality of objects existing in the first virtual environment space may include: identifying the relationship between the plurality of objects based on at least one of a contact area between the plurality of objects and a distance between centers; may include
상기 제1 가상 환경 공간에 존재하는 복수의 객체들 간의 관계를 식별하는 단계는, 의미론적 추론에 기초하여 상기 복수의 객체들 간의 관계를 식별하는 단계를 포함할 수 있다.The identifying of the relationship between the plurality of objects existing in the first virtual environment space may include identifying the relationship between the plurality of objects based on semantic inference.
상기 복수의 객체들 간의 관계에 관한 정보는 상기 복수의 객체들 간의 위치 관계에 관한 정보를 포함할 수 있다.The information on the relationship between the plurality of objects may include information on the positional relationship between the plurality of objects.
상기 복수의 객체들 중 하나 이상의 객체를 선택하는 단계는, 상기 사용자의 주변 환경 공간에 존재하는 적어도 하나의 객체 또는 상기 전자 장치가 렌더링하는 제2 가상 환경 공간에 존재하는 적어도 하나의 객체 중 제1 객체를 선택하는 단계; 및 상기 복수의 객체들 간의 관계에 기초하여, 상기 제1 객체와 관계가 있는 제2 객체를 선택하는 단계를 포함할 수 있다. 또한, 상기 복수의 객체들 중 하나 이상의 객체를 선택하는 단계는, 상기 복수의 객체들 간의 관계에 기초하여, 상기 제2 객체와 관계가 있는 제3 객체를 선택하는 단계를 더 포함할 수 있다.The selecting of the one or more objects from among the plurality of objects may include: a first among at least one object existing in an environment space surrounding the user or at least one object present in a second virtual environment space rendered by the electronic device selecting an object; and selecting a second object having a relationship with the first object based on the relationship between the plurality of objects. In addition, the selecting of one or more objects from among the plurality of objects may further include selecting a third object having a relationship with the second object based on a relationship between the plurality of objects.
상기 서버에 의해 수행되는 방법은, 상기 전자 장치로부터 제2 사용자 정보를 수신하는 단계를 더 포함하고, 상기 제2 사용자 정보는 상기 사용자의 변경된 주변 환경 공간에 관한 정보를 포함할 수 있다.The method performed by the server may further include receiving second user information from the electronic device, wherein the second user information may include information about the user's changed surrounding environment space.
본 개시의 일 실시예에 의하면, 상기 서버에 의해 수행되는 방법을 구현하기 위한 프로그램이 기록된 컴퓨터로 판독 가능한 기록 매체가 제공될 수 있다.According to an embodiment of the present disclosure, a computer-readable recording medium in which a program for implementing the method performed by the server is recorded may be provided.
본 개시의 일 실시예에 의하면, 전자 장치는,According to an embodiment of the present disclosure, an electronic device,
하나 이상의 인스트럭션들을 저장하는 메모리;a memory storing one or more instructions;
상기 하나 이상의 인스트럭션들을 실행하는 적어도 하나의 프로세서를 포함하고, at least one processor executing the one or more instructions;
상기 적어도 하나의 프로세서는 상기 하나 이상의 인스트럭션들을 실행함으로써,The at least one processor by executing the one or more instructions,
서버로 스트리밍 요청 및 사용자 정보를 송신하고,Send streaming request and user information to the server,
상기 사용자 정보에 대응하는 하나 이상의 객체에 관한 영상 데이터를 상기 서버로부터 수신하고,Receive image data about one or more objects corresponding to the user information from the server,
상기 수신한 영상 데이터에 기초하여 렌더링을 수행하고,Rendering is performed based on the received image data,
상기 영상 데이터는 상기 사용자 정보에 기초하여 식별된 전자 장치의 타입 및 사용자의 주변 환경 공간에 관한 정보와 가상 환경 공간에 존재하는 복수의 객체들 간의 관계에 기초하여, 선택된 상기 복수의 객체들 중 하나 이상의 객체에 관한 영상 데이터인 것을 특징으로 할 수 있다.The image data may include one of the plurality of objects selected based on the type of the electronic device identified based on the user information and the relationship between the information on the user's surrounding environment space and the plurality of objects existing in the virtual environment space. It may be characterized in that it is image data related to the above objects.
본 개시의 실시예에 따라, 전자 장치의 사용자들은 마치 그들이 같은 공간에 존재하는 것과 같은 경험을 할 수 있다. 보다 상세하게는, 사용자의 주변 환경 공간이 변화할 때마다 서버가 가상 환경 공간에 존재하는 복수의 객체들 중 렌더링할 객체를 다시 선택함으로써, 전자 장치의 사용자들은 마치 그들이 같은 공간에 존재하는 것과 같은 경험을 할 수 있다.According to an embodiment of the present disclosure, users of the electronic device may experience as if they were present in the same space. More specifically, whenever the user's surrounding environment space changes, the server reselects an object to be rendered from among a plurality of objects existing in the virtual environment space, so that users of the electronic device can act as if they exist in the same space. can experience
본 개시의 실시예에 따라, 증강 현실 및 가상 현실 서비스를 위한 모듈을 통합함으로써, 서버는 전자 장치의 타입과 관계 없이 확장 현실 서비스를 제공할 수 있다.According to an embodiment of the present disclosure, by integrating the modules for the augmented reality and virtual reality services, the server may provide the extended reality service regardless of the type of the electronic device.
본 개시의 실시예에 따라, 사용자의 주변 환경 공간에 존재하는 객체들에 관한 정보에 기초하여 가상 객체를 렌더링함으로써, 증강 현실 서비스 사용자는 보다 현실감 있는 증강 현실을 경험할 수 있다.According to an embodiment of the present disclosure, an augmented reality service user may experience a more realistic augmented reality by rendering a virtual object based on information about objects existing in the user's surrounding environment space.
본 개시의 실시예에 따라, 가상 환경 공간에 존재하는 복수의 객체들 간의 관계를 식별하고 이에 기초하여 복수의 객체들 중 하나 이상의 객체를 선택함으로써, 전자 장치는 다른 객체들과 관계가 없는 사소한 객체를 렌더링하지 않을 수 있다.According to an embodiment of the present disclosure, by identifying a relationship between a plurality of objects existing in the virtual environment space and selecting one or more objects from among the plurality of objects based on the identification, the electronic device is a trivial object that has no relationship with other objects. may not be rendered.
도 1은 본 개시의 일 실시예에 따른 개략적인 네트워크 환경을 설명하기 위한 도면이다.
도 2는 본 개시의 일 실시예에 따른 전자 장치와 서버 간의 동작 절차를 나타내는 흐름도이다.
도 3은 본 개시의 일 실시예에 따른 전자 장치들과 서버 간의 동작 절차를 나타내는 흐름도이다.
도 4 내지 도 6은 본 개시의 일 실시예에 따라 서버가 전자 장치의 타입에 기초하여 동작하는 과정을 나타내는 흐름도이다.
도 7a 내지 도 7c는 본 개시의 일 실시예에 따라 서버가 가상 환경 공간에 존재하는 복수의 객체들 간의 관계를 식별하는 과정을 설명하기 위한 도면이다.
도 8a 내지 도 8f는 본 개시의 일 실시예에 따라 서버가 전자 장치의 타입, 사용자의 주변 환경 공간에 관한 정보 및 복수의 객체들 간의 관계에 기초하여, 가상 환경 공간에 존재하는 복수의 객체들 중 하나 이상의 객체를 선택하는 과정을 설명하기 위한 도면이다.
도 9 내지 도 10은 본 개시의 일 실시예에 따라 사용자의 주변 환경 공간이 변화된 경우, 전자 장치들과 서버 간의 동작 절차를 나타내는 흐름도이다.
도 11은 서버와 전자 장치 간의 동작 절차를 개략적으로 설명하기 위한 도면이다.
도 12a 내지 도 12e는 본 개시의 일 실시예에 따라, 전자 장치가 서버에 스트리밍 요청 및 사용자 정보를 전송하고, 서버로부터 영상 데이터를 수신하여 렌더링을 수행하는 일 예를 설명하기 위한 도면이다.1 is a diagram for explaining a schematic network environment according to an embodiment of the present disclosure.
2 is a flowchart illustrating an operation procedure between an electronic device and a server according to an embodiment of the present disclosure.
3 is a flowchart illustrating an operation procedure between electronic devices and a server according to an embodiment of the present disclosure.
4 to 6 are flowcharts illustrating a process in which a server operates based on a type of an electronic device according to an embodiment of the present disclosure.
7A to 7C are diagrams for explaining a process in which a server identifies a relationship between a plurality of objects existing in a virtual environment space according to an embodiment of the present disclosure.
8A to 8F are diagrams illustrating a server according to an embodiment of the present disclosure showing a plurality of objects existing in a virtual environment space based on a type of an electronic device, information about a user's surrounding environment space, and relationships between the plurality of objects; It is a diagram for explaining a process of selecting one or more objects among
9 to 10 are flowcharts illustrating an operation procedure between electronic devices and a server when a user's surrounding environment space is changed according to an embodiment of the present disclosure.
11 is a diagram for schematically explaining an operation procedure between a server and an electronic device.
12A to 12E are diagrams for explaining an example in which an electronic device transmits a streaming request and user information to a server, receives image data from the server, and performs rendering, according to an embodiment of the present disclosure.
이하, 본 개시의 실시예를 첨부된 도면을 참조하여 상세하게 설명한다.Hereinafter, embodiments of the present disclosure will be described in detail with reference to the accompanying drawings.
아래에서는 실시예를 설명함에 있어서 본 개시가 속하는 기술 분야에 익히 알려져 있고 본 개시와 직접적으로 관련이 없는 기술 내용에 대해서는 설명을 생략한다. 이는 불필요한 설명을 생략함으로써 본 개시의 요지를 흐리지 않고 더욱 명확히 전달하기 위함이다.Hereinafter, in describing the embodiments, descriptions of technical contents that are well known in the technical field to which the present disclosure pertains and are not directly related to the present disclosure will be omitted. This is to more clearly convey the gist of the present disclosure without obscuring the gist of the present disclosure by omitting unnecessary description.
마찬가지 이유로 첨부 도면에 있어서 일부 구성요소는 과장되거나 생략되거나 개략적으로 도시하였다. 또한, 각 구성요소의 크기는 실제 크기를 전적으로 반영하는 것이 아니다. 각 도면에서 동일한 또는 대응하는 구성요소에는 동일한 참조 번호를 부여하였다.For the same reason, some components are exaggerated, omitted, or schematically illustrated in the accompanying drawings. In addition, the size of each component does not fully reflect the actual size. In each figure, the same or corresponding elements are assigned the same reference numerals.
본 개시의 이점 및 특징, 그리고 그것들을 달성하는 방법은 첨부되는 도면과 함께 상세하게 후술되어 있는 실시예들을 참조하면 명확해질 것이다. 그러나 본 개시는 이하에서 개시되는 실시예들에 한정되는 것이 아니라 서로 다른 다양한 형태로 구현될 수 있으며, 단지 본 실시예들은 본 개시가 완전하도록 하고, 본 개시가 속하는 기술분야에서 통상의 지식을 가진 자에게 본 개시의 범주를 완전하게 알려주기 위해 제공되는 것이며, 본 개시는 청구항의 범주에 의해 정의될 뿐이다. 명세서 전체에 걸쳐 동일 참조 부호는 동일 구성 요소를 지칭한다.Advantages and features of the present disclosure, and methods of achieving them will become apparent with reference to the embodiments described below in detail in conjunction with the accompanying drawings. However, the present disclosure is not limited to the embodiments disclosed below, but may be implemented in various different forms, and only the present embodiments allow the present disclosure to be complete, and those of ordinary skill in the art to which the present disclosure pertains. It is provided to fully inform the person of the scope of the present disclosure, and the present disclosure is only defined by the scope of the claims. Like reference numerals refer to like elements throughout.
이때, 처리 흐름도 도면들의 각 블록과 흐름도 도면들의 조합들은 컴퓨터 프로그램 인스트럭션들에 의해 수행될 수 있음을 이해할 수 있을 것이다. 이들 컴퓨터 프로그램 인스트럭션들은 범용 컴퓨터, 특수용 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비의 프로세서에 탑재될 수 있으므로, 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비의 프로세서를 통해 수행되는 그 인스트럭션들이 흐름도 블록(들)에서 설명된 기능들을 수행하는 수단을 생성하게 된다. 이들 컴퓨터 프로그램 인스트럭션들은 특정 방식으로 기능을 구현하기 위해 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비를 지향할 수 있는 컴퓨터 이용 가능 또는 컴퓨터 판독 가능 메모리에 저장되는 것도 가능하므로, 그 컴퓨터 이용가능 또는 컴퓨터 판독 가능 메모리에 저장된 인스트럭션들은 흐름도 블록(들)에서 설명된 기능을 수행하는 인스트럭션 수단을 내포하는 제조 품목을 생산하는 것도 가능하다. 컴퓨터 프로그램 인스트럭션들은 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비 상에 탑재되는 것도 가능하므로, 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비 상에서 일련의 동작 단계들이 수행되어 컴퓨터로 실행되는 프로세스를 생성해서 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비를 수행하는 인스트럭션들은 흐름도 블록(들)에서 설명된 기능들을 실행하기 위한 단계들을 제공하는 것도 가능하다.At this time, it will be understood that each block of the flowchart diagrams and combinations of the flowchart diagrams may be performed by computer program instructions. These computer program instructions may be embodied in a processor of a general purpose computer, special purpose computer, or other programmable data processing equipment, such that the instructions performed by the processor of the computer or other programmable data processing equipment are not described in the flowchart block(s). It creates a means to perform functions. These computer program instructions may also be stored in a computer-usable or computer-readable memory that may direct a computer or other programmable data processing equipment to implement a function in a particular manner, and thus the computer-usable or computer-readable memory. It is also possible that the instructions stored in the flow chart block(s) produce an article of manufacture containing instruction means for performing the function described in the flowchart block(s). The computer program instructions may also be mounted on a computer or other programmable data processing equipment, such that a series of operational steps are performed on the computer or other programmable data processing equipment to create a computer-executed process to create a computer or other programmable data processing equipment. It is also possible that instructions for performing the processing equipment provide steps for performing the functions described in the flowchart block(s).
또한, 각 블록은 특정된 논리적 기능(들)을 실행하기 위한 하나 이상의 실행 가능한 인스트럭션들을 포함하는 모듈, 세그먼트 또는 코드의 일부를 나타낼 수 있다. 또한, 몇 가지 대체 실행 예들에서는 블록들에서 언급된 기능들이 순서를 벗어나서 발생하는 것도 가능함을 주목해야 한다. 예컨대, 잇달아 도시되어 있는 두 개의 블록들은 사실 실질적으로 동시에 수행되는 것도 가능하고 또는 그 블록들이 때때로 해당하는 기능에 따라 역순으로 수행되는 것도 가능하다.Additionally, each block may represent a module, segment, or portion of code that includes one or more executable instructions for executing specified logical function(s). It should also be noted that in some alternative implementations it is also possible for the functions recited in blocks to occur out of order. For example, two blocks shown one after another may be performed substantially simultaneously, or the blocks may sometimes be performed in the reverse order according to a corresponding function.
이 때, 본 실시예에서 사용되는 '~부'라는 용어는 소프트웨어 또는 FPGA또는 ASIC과 같은 하드웨어 구성요소를 의미하며, '~부'는 어떤 역할들을 수행한다. 그렇지만 '~부'는 소프트웨어 또는 하드웨어에 한정되는 의미는 아니다. '~부'는 어드레싱할 수 있는 저장 매체에 있도록 구성될 수도 있고 하나 또는 그 이상의 프로세서들을 재생시키도록 구성될 수도 있다. 따라서, 일 예로서 '~부'는 소프트웨어 구성요소들, 객체지향 소프트웨어 구성요소들, 클래스 구성요소들 및 태스크 구성요소들과 같은 구성요소들과, 프로세스들, 함수들, 속성들, 프로시저들, 서브루틴들, 프로그램 코드의 세그먼트들, 드라이버들, 펌웨어, 마이크로코드, 회로, 데이터, 데이터베이스, 데이터 구조들, 테이블들, 어레이들 및 변수들을 포함한다. 구성요소들과 '~부'들 안에서 제공되는 기능은 더 작은 수의 구성요소들 및 '~부'들로 결합되거나 추가적인 구성요소들과 '~부'들로 더 분리될 수 있다. 뿐만 아니라, 구성요소들 및 '~부'들은 디바이스 또는 보안 멀티미디어카드 내의 하나 또는 그 이상의 CPU들을 재생시키도록 구현될 수도 있다. 또한, 실시예에서 ‘~부’는 하나 이상의 프로세서를 포함할 수 있다.At this time, the term '~ unit' used in this embodiment means software or hardware components such as FPGA or ASIC, and '~ unit' performs certain roles. However, '-part' is not limited to software or hardware. '~' may be configured to reside on an addressable storage medium or may be configured to refresh one or more processors. Accordingly, as an example, '~' indicates components such as software components, object-oriented software components, class components, and task components, and processes, functions, properties, and procedures. , subroutines, segments of program code, drivers, firmware, microcode, circuitry, data, databases, data structures, tables, arrays and variables. The functions provided in the components and '~ units' may be combined into a smaller number of components and '~ units' or further separated into additional components and '~ units'. In addition, components and '~ units' may be implemented to play one or more CPUs in a device or secure multimedia card. Also, in an embodiment, '~ part' may include one or more processors.
본 개시에서, 가상 환경(virtual environment)은 증강 현실(augmented reality, AR), 가상 현실(virtual reality, VR), 혼합 현실(mixed reality, MR), 또는 확장 현실(extended reality, XR) 중 적어도 하나를 재현하기 위하여 시각적 경험과 함께 음성을 포함한 감각 정보를 추가하여 인공적으로 만든 합성 환경을 의미한다.In the present disclosure, a virtual environment is at least one of augmented reality (AR), virtual reality (VR), mixed reality (MR), or extended reality (XR). It refers to a synthetic environment created artificially by adding sensory information including voice along with visual experience to reproduce .
본 개시에서, 증강 현실(AR)은 현실 세계의 물리적 환경 공간이나 현실 객체 상에 가상 이미지를 오버레이(overlay)하여 함께 보여주는 것을 의미한다.In the present disclosure, augmented reality (AR) refers to overlaying and displaying a virtual image on a physical environment space or real object of the real world.
본 개시에서, 가상 현실(VR)은 인공적인 기술로 만들어낸 실제와 유사하지만 실제가 아닌 어떤 특정한 환경이나 상황을 의미한다.In the present disclosure, virtual reality (VR) refers to a specific environment or situation that is similar to the real world created by artificial technology but is not real.
본 개시에서, 혼합 현실(MR)은 가상 세계와 현실 세계를 합쳐서 새로운 환경 등 새로운 정보를 보여주는 것을 의미한다.In the present disclosure, mixed reality (MR) means showing new information such as a new environment by combining the virtual world and the real world.
본 개시에서, 확장 현실(XR)은 인공적인 기술로 생성된, 현실 세계와 가상 세계가 결합되어 인간과 기계가 상호 작용할 수 있는 환경이나 상황을 의미하거나, 증강 현실, 가상 현실 또는 혼합 현실 기술을 자유롭게 선택하며 확장된 현실을 창조하는 개념을 의미한다.In the present disclosure, extended reality (XR) refers to an environment or situation in which the real world and the virtual world are combined to allow humans and machines to interact, or augmented reality, virtual reality or mixed reality technology created by artificial technology. It refers to the concept of freely choosing and creating an expanded reality.
본 개시에서, 증강 현실 장치는 증강 현실 서비스를 제공할 수 있는 장치를 의미하며, 가상 현실 장치는 가상 현실 서비스를 제공할 수 있는 장치를 의미한다.In the present disclosure, an augmented reality device refers to a device capable of providing an augmented reality service, and a virtual reality device refers to a device capable of providing a virtual reality service.
이하, 본 개시의 실시예를 첨부된 도면을 참조하여 상세하게 설명한다.Hereinafter, embodiments of the present disclosure will be described in detail with reference to the accompanying drawings.
도 1은 본 개시의 일 실시예에 따른 개략적인 네트워크 환경을 설명하기 위한 도면이다.1 is a diagram for explaining a schematic network environment according to an embodiment of the present disclosure.
도 1을 참조하면, 본 개시의 네트워크 환경(100)은 서버(1000), 복수의 전자 장치들(2000, 2100, 2200) 및 네트워크(3000)를 포함할 수 있다. 다만, 네트워크 환경(100)이 포함하는 구성이 이에 제한되는 것은 아니다. 특히, 도 1에는 3개의 전자 장치들(2000, 2100, 2200)이 도시되어 있지만, 네트워크 환경(100)은 1개, 2개 또는 4개 이상의 전자 장치를 포함할 수 있다.Referring to FIG. 1 , the
일 실시예에 따르면, 네트워크 환경(100)에 포함되는 구성요소들 각각은 물리적인 객체(entity) 단위를 의미하거나, 개별적인 기능(function)을 수행할 수 있는 소프트웨어 또는 모듈 단위를 의미할 수 있다.According to an embodiment, each of the components included in the
일 실시예에 따른, 서버(1000)는 증강 현실, 가상 현실, 혼합 현실 또는 확장 현실 중 적어도 하나를 포함하는 가상 환경에 사용자가 몰입(immersed) 하도록 하기 위한, 컨텐츠를 제공하는 서버일 수 있다. 예를 들어, 서버(1000)는 MEC(multi-access edge computing 또는 mobile-edge computing) 서비스를 제공하기 위한 서버(MEC 서버), 클라우드 서버 등을 포함할 수 있다According to an embodiment, the
일 실시예에 따르면, 전자 장치(2000, 2100, 2200)는 사용자에 의해 사용되는 장치를 의미할 수 있다. 예를 들어, 전자 장치(2000, 2100, 2200)는 단말(terminal), 사용자 단말(UE, user equipment), 이동국(mobile station), 가입자국(subscriber station), 원격 단말(remote terminal), 무선 단말(wireless terminal), 또는 사용자 장치(user device)를 의미할 수 있다.According to an embodiment, the
또한, 전자 장치(2000, 2100, 2200)는 증강 현실, 가상 현실, 혼합 현실 또는 확장 현실 중 적어도 하나를 포함하는 가상 환경에 사용자가 몰입(immersed) 하도록 하기 위한, 컨텐츠를 제공하는 단말일 수 있다.In addition, the
즉, 일 실시예에 의하면, 전자 장치(2000, 2100, 2200)는 가상 현실, 증강 현실, 혼합 현실, 또는 확장 현실을 위한 컨텐츠를 제공하는 헤드 마운트 디스플레이(Head Mounted Display, HMD), 가상 현실 헤드셋(virtual reality headset, VRH), 안면부(顔面部)에 착용하는 안경 형상의 증강 현실 안경 장치(augmented reality glasses) 또는 증강 현실 헬멧(augmented reality helmet)일 수 있다.That is, according to an embodiment, the
일 실시예에 따르면, 네트워크(3000)는 전자 장치(2000, 2100, 2200)와의 무선 통신을 위한 채널(channel)을 제공할 수 있다. 예를 들어, 네트워크(3000)는 RAN(radio access network), 기지국(base station), 이노드비(eNB, eNodeB), 송수신 포인트(TRP, transmission/reception point), 또는 5GNB(5th generation NodeB)를 의미할 수 있다.According to an embodiment, the
일 실시예에 따르면, 복수의 전자 장치들(2000, 2100, 2200) 각각은 네트워크(3000)를 통해 서버(1000)에게 스트리밍 요청 및 사용자 정보를 전송하고, 서버(1000)로부터 영상 데이터를 수신할 수 있다. 사용자 정보에 기초한, 서버(1000)와 전자 장치(2000, 2100, 2200) 간의 동작에 대한 자세한 설명은 후술하기로 한다.According to an embodiment, each of the plurality of
도 2는 본 개시의 일 실시예에 따른 전자 장치(2000)와 서버(1000) 간의 동작 절차를 나타내는 흐름도이다.2 is a flowchart illustrating an operation procedure between the
도 2는 복수의 전자 장치들(2000, 2100, 2200) 중 하나의 전자 장치(2000)만이 서버(1000)와 동작을 수행하는 것으로 도시하지만, 복수의 전자 장치들(2000, 2100, 2200) 각각이 서버(1000)와 상기 동작을 동시에(simultaneously) 또는 시간차를 두고 수행할 수 있다.2 illustrates that only one
도 2를 참조하면, S210 단계에서, 전자 장치(2000)는 서버(1000)에게 스트리밍 요청 및 사용자 정보를 전송할 수 있다. 스트리밍 요청은 가상 환경 공간에 관한 정보를 요청하는 것일 수 있다. 또한, 사용자 정보는 전자 장치(2000)를 사용하는 사용자의 환경에 관한 정보를 포함할 수 있다. 예를 들어, 사용자 정보는 전자 장치(2000)의 타입에 관한 정보 또는 사용자의 주변 환경 공간에 관한 정보를 포함할 수 있다. 한편, 사용자의 주변 환경 공간에 관한 정보는 전자 장치(2000)에 의해 획득될 수 있다.Referring to FIG. 2 , in step S210 , the
S220 단계에서, 서버(1000)는 사용자 정보에 기초하여, 전자 장치(2000)의 타입에 관한 정보 및 사용자의 주변 환경 공간에 관한 정보를 식별할 수 있다. 전자 장치(2000)의 타입에 관한 정보는 전자 장치(2000)가 증강 현실, 가상 현실, 혼합 현실 또는 확장 현실에 관한 서비스 중 어느 서비스를 제공할 수 있는지에 관한 정보일 수 있다.In operation S220 , the
한편, 사용자의 주변 환경 공간에 관한 정보는 사용자의 주변에 존재하는 하나 이상의 객체(object)에 관한 정보로서 객체의 목록, 객체의 타입(type), 객체의 크기(size), 객체의 위치(position) 및 객체의 회전(rotation) 중 적어도 하나에 관한 정보를 포함할 수 있다. 이때, 하나 이상의 객체는 배경에 대응하는 객체를 포함할 수 있다. 한편, 하나 이상의 객체에 관한 정보는 깊이 맵(depth map), 포인트 클라우드(point cloud), 세그먼트화 마스크(segmentation mask) 또는 카메라 매트릭스(camera matrix) 등으로 표현될 수 있으나, 이에 제한되지 않는다.On the other hand, information about the user's surrounding environment space is information about one or more objects existing around the user. ) and information about at least one of rotation of the object. In this case, the one or more objects may include an object corresponding to the background. Meanwhile, information about one or more objects may be expressed as a depth map, a point cloud, a segmentation mask, or a camera matrix, but is not limited thereto.
일 실시예에 따르면, 서버(1000)는 전자 장치(2000)가 증강 현실 장치임을 식별하는 경우, 사용자의 주변 환경 공간에 관한 정보를 식별할 수 있다. 또한, 서버(1000)는 전자 장치(2000)가 가상 현실 장치임을 식별하는 경우, 사용자의 주변 환경 공간에 관한 정보를 식별하지 않을 수 있으나, 이제 제한되지 않는다.According to an embodiment, when the
한편, 도 2에는 서버(1000)가 사용자 정보에 기초하여 사용자의 주변 환경 공간에 관한 정보를 식별하는 것으로 도시되어 있으나, 일 실시예에 따르면, 전자 장치(2000)가 객체의 목록, 객체의 타입, 객체의 크기, 객체의 위치 또는 객체의 회전 중 적어도 하나에 관한 정보를 포함하는 사용자의 주변 환경 공간에 관한 정보를 식별하고 서버(1000)에 식별된 정보를 전송할 수도 있다.Meanwhile, although FIG. 2 illustrates that the
S230 단계에서, 서버(1000)는 가상 환경 공간에 존재하는 복수의 객체들 간의 관계를 식별할 수 있다. 객체들 간의 관계(relationship)는 객체들 간의 견련성(connectivity) 또는 의존성(dependency)이 있음을 나타내는 것으로서, 객체들 간의 인접도, 의미론적 추론(semantic reasoning) 또는 움직임에 기초하여 식별될 수 있다. 이와 관련하여 도 7a 내지 7c을 참조하여 자세히 설명하기로 한다.In step S230 , the
S240 단계에서, 서버(1000)는 전자 장치(2000)의 타입, 사용자의 주변 환경 공간에 관한 정보 및 복수의 객체들 간의 관계에 기초하여, 가상 환경 공간에 존재하는 복수의 객체들 중 하나 이상의 객체를 선택할 수 있다. 이와 관련하여 도 8a 내지 8f를 참조하여 자세히 설명하기로 한다.In operation S240 , the
S250 단계에서, 서버(1000)는 선택된 하나 이상의 객체에 관한 영상 데이터를 생성할 수 있다. 이때, 영상 데이터는 복수의 객체들 간의 관계에 기초하여 선택된 하나 이상의 객체의 목록, 타입, 크기, 위치 및 회전 중 적어도 하나에 관한 정보를 포함할 수 있다.In operation S250 , the
S260 단계에서, 서버(1000)는 생성된 영상 데이터를 전자 장치(2000)에게 전송할 수 있다. 이때, 영상 데이터는 등장방형 이미지(equirectangular image), 입방형 이미지(cubic image) 및 3D(3-Dimensional) 객체 목록 및 위치 정보 등으로 표현될 수 있으나, 이에 제한되지 않는다. In operation S260 , the
S270 단계에서, 전자 장치(2000)는 수신한 영상 데이터에 기초하여, 렌더링을 수행할 수 있다.In operation S270 , the
도 3은 본 개시의 일 실시예에 따른 전자 장치들(2000, 2100)과 서버(1000) 간의 동작 절차를 나타내는 흐름도이다. 도 2와 중복되는 동작은 간략하게 설명하기로 한다.3 is a flowchart illustrating an operation procedure between the
S310 단계에서, 제1 전자 장치(2000)는 서버(1000)에게 스트리밍 요청 및 사용자 정보를 전송할 수 있다. S315 단계에서, 제2 전자 장치(2100)는 서버(1000)에게 스트리밍 요청 및 사용자 정보를 전송할 수 있다. 사용자 정보는 스트리밍 요청과 별도로 전송될 수 있으나, 이에 제한되지 않고, 사용자 정보는 스트리밍 요청에 포함될 수 있다.In operation S310 , the first
이때, 사용자 정보는 제1 전자 장치(2000) 또는 제2 전자 장치(2100)를 사용하는 사용자에 대응하는 객체 각각의 크기, 위치 및 회전 중 적어도 하나에 관한 정보를 포함할 수 있다.In this case, the user information may include information about at least one of a size, a position, and a rotation of each object corresponding to the user who uses the first
비록 도 3에서는 제1 전자 장치(2000)가 제2 전자 장치(2100)보다 스트리밍 요청 및 사용자 정보를 먼저 전송하는 것으로 도시되어 있지만, 이는 하나의 실시예에 불과하며, 제2 전자 장치(2100)가 제1 전자 장치(2000)보다 스트리밍 요청 및 사용자 정보를 먼저 전송하거나 동시에 전송할 수 있다. 또한, 제2 전자 장치(2100)는 서버(1000)가 S320 동작을 수행하기 이전에 스트리밍 요청 및 사용자 정보를 전송하는 것으로 도시되어 있지만, 이는 하나의 실시예에 불과하며, 제2 전자 장치(2100)는 서버(1000)가 S320 동작을 수행한 이후 어느 순간에도 스트리밍 요청 및 사용자 정보를 전송할 수 있다.Although it is illustrated in FIG. 3 that the first
S320 단계에서, 서버(1000)는 사용자 정보에 기초하여, 제1 또는 제2 전자 장치(2000, 2100)의 타입에 관한 정보 및 사용자의 주변 환경 공간에 관한 정보를 식별할 수 있다.In operation S320 , the
S325 단계에서, 서버(1000)는 미디어 컨텐츠 또는 사용자의 주변 환경 공간에 관한 정보에 기초하여 가상 환경 공간에 관한 정보를 결정(또는 생성)할 수 있다. 가상 환경 공간에 관한 정보는 가상 환경 공간 내에 존재하는 객체의 목록, 객체의 타입, 객체의 크기, 객체의 위치 및 객체의 회전 중 적어도 하나에 관한 정보를 포함할 수 있다.In operation S325 , the
서버(1000)가 미디어 컨텐츠에 기초하여 가상 환경 공간에 관한 정보를 결정하는 경우, 서버(1000)는 미디어 컨텐츠 내 존재하는 하나 이상의 객체를 식별하고, 식별한 하나 이상의 객체에 관한 정보를 깊이 맵, 포인트 클라우드, 세그먼트화 마스크 또는 카메라 매트릭스 등으로 표현할 수 있으나, 이에 제한되지 않는다.When the
일 실시예에 따르면, 미디어 컨텐츠는 기 생성되어 서버(1000)에 입력되거나 서버(1000)에 존재하던 것으로, 동영상, 라이브-스트림(live-stream) 컨텐츠 또는 가상 현실 영상을 포함할 수 있다. 이때, 가상 현실 영상은 등장방형도법(equirectangular projection) 영상 또는 입방형 투영법(cubic projection) 영상을 의미할 수 있으나, 이에 제한되지 않는다.According to an embodiment, the media content is previously generated and input to the
서버(1000)가 사용자의 주변 환경 공간에 관한 정보에 기초하여 가상 환경 공간에 관한 정보를 결정하는 경우, 일 실시예에 따르면, 서버(1000)는 제1 또는 제2 전자 장치(2000, 2100)로부터 수신한 사용자 정보 중 하나의 사용자 정보를 선택하고 이에 기초하여 가상 환경 공간에 관한 정보를 결정할 수 있다. 또한, 일 실시예에 따르면, 서버(1000)는 제1 또는 제2 전자 장치(2000, 2100)로부터 수신한 사용자 정보 각각에 기초하여, 둘 이상의 가상 환경 공간에 관한 정보를 결정할 수 있다.When the
S330 단계에서, 서버(1000)는 가상 환경 공간에 존재하는 복수의 객체들 간의 관계를 식별할 수 있다.In operation S330 , the
S340 단계에서, 서버(1000)는 제1 또는 제2 전자 장치(2000, 2100)의 타입, 사용자의 주변 환경 공간 및 복수의 객체들 간의 관계에 기초하여, 복수의 객체들 중 하나 이상의 객체를 선택할 수 있다.In operation S340 , the
S350 단계에서, 서버(1000)는 선택된 하나 이상의 객체에 관한 영상 데이터를 생성할 수 있다. 이때, 영상 데이터는 제1 또는 제2 전자 장치(2000, 2100)의 사용자에 대응하는 객체에 관한 정보를 포함할 수 있다. 일 실시예에 따르면, 제1 전자 장치(2000)에게 전송될 영상 데이터는 제2 전자 장치(2100)의 사용자에 대응하는 객체에 관한 정보를 포함할 수 있고, 제2 전자 장치(2100)에게 전송될 영상 데이터는 제1 전자 장치(2000)의 사용자에 대응하는 객체에 관한 정보를 포함할 수 있다.In operation S350 , the
S360 단계에서, 서버(1000)는 생성된 영상 데이터를 제1 또는 제2 전자 장치(2000, 2100)에게 전송할 수 있다. S370 단계에서, 제1 또는 제2 전자 장치(2000, 2100)는 수신한 영상 데이터에 기초하여, 렌더링을 수행할 수 있다.In operation S360 , the
도 4 내지 도 6은 본 개시의 일 실시예에 따라 서버(1000)가 전자 장치(2000, 2100, 2200)의 타입에 기초하여 동작하는 과정을 나타내는 흐름도이다. 도 2 및 도 3과 중복되는 동작은 간략하게 설명하기로 한다.4 to 6 are flowcharts illustrating a process in which the
도 4를 참고하면, S410 단계예서, 서버(1000)는 전자 장치(2000, 2100, 2200)로부터 스트리밍 요청 및 사용자 정보를 수신할 수 있다. S420 단계에서, 서버(1000)는 사용자 정보에 기초하여, 전자 장치(2000, 2100, 2200)의 타입에 관한 정보 및 사용자의 주변 환경 공간에 관한 정보를 식별할 수 있다. S430 단계에서, 서버(1000)는 미디어 컨텐츠 또는 사용자의 주변 환경 공간에 관한 정보에 기초하여 제1 가상 환경 공간에 관한 정보를 결정할 수 있다. S440 단계에서, 서버(1000)는 제1 가상 환경 공간에 존재하는 복수의 객체들 간의 관계를 식별할 수 있다.Referring to FIG. 4 , in step S410 , the
S450 단계에서, 서버(1000)는 전자 장치(2000, 2100, 2200)의 타입을 식별할 수 있다.In operation S450 , the
도 5a는 S450 단계에서의 식별 결과, 전자 장치(2000, 2100, 2200)가 증강 현실 장치인 경우, 서버(1000)가 복수의 객체들 중 하나 이상의 객체를 선택하는 방법을 나타내는 흐름도이다.5A is a flowchart illustrating a method in which the
S510 단계에서, 서버(1000)는 사용자의 주변 환경 공간에 존재하는 적어도 하나의 객체 및 복수의 객체들 간의 관계에 기초하여, 복수의 객체들 중 하나 이상의 객체를 선택할 수 있다. 사용자의 주변 환경 공간에 존재하는 적어도 하나의 객체에 관한 정보는 전자 장치(2000, 2100, 2200)로부터 수신한 사용자 정보에 기초하여 획득될 수 있다.In operation S510 , the
도 5b는 S450 단계에서의 식별 결과, 전자 장치(2000, 2100, 2200)가 가상 현실 장치인 경우, 서버(1000)가 복수의 객체들 중 하나 이상의 객체를 선택하는 방법을 나타내는 흐름도이다.5B is a flowchart illustrating a method in which the
S520 단계에서, 서버(1000)는 전자 장치(2000, 2100, 2200)가 디폴트(default) 영상 데이터에 기초하여, 제2 가상 환경 공간을 렌더링했는지 여부를 식별할 수 있다. 일 실시예에 따르면, 디폴트 영상 데이터는 전자 장치(2000, 2100, 2200)가 서버(1000)에게 스트리밍 요청을 전송하기 이전 또는 서버(1000)로부터 영상 데이터를 수신하기 이전에 전자 장치(2000, 2100, 2200)에 존재하던 영상 데이터를 의미할 수 있다. 또한, 일 실시예에 따르면, 디폴트 영상 데이터에 기초하여 생성된 가상 환경 공간에는 아무런 객체가 존재하지 않을 수 있다.In operation S520 , the
S530 단계에서, 서버(1000)는, S520 단계에서의 식별 결과가 No인 경우, 제2 가상 환경 공간이 제1 가상 환경 공간과 동일한지 여부를 식별할 수 있다.In operation S530 , when the identification result in operation S520 is No, the
일 실시예에 따르면, S520 단계에서의 식별 결과가 No라는 것은 전자 장치(2000, 2100, 2200)가 이전에 서버(1000)로부터 수신한 영상 데이터에 기초하여 제2 가상 환경 공간을 렌더링 했다는 것을 의미할 수 있다. 또한, 이전에 서버(1000)로부터 수신한 영상 데이터는 전자 장치(2000, 2100, 2200)가 서버(1000)로부터 수신한 영상 데이터 중 가장 최근의 영상 데이터를 의미할 수 있다.According to an embodiment, that the identification result in step S520 is No means that the
S540 단계에서, 서버(1000)는, S530 단계에서의 식별 결과가 Yes인 경우, 다른 전자 장치의 사용자에 대응하는 객체를 선택할 수 있다. 일 실시예에 따르면, S530 단계에서의 식별 결과가 Yes라는 것은 서버(1000)가 제2 가상 환경 공간에 관한 정보를 기초로 제1 가상 환경 공간에 관한 정보를 결정했다는 것을 의미할 수 있다.In operation S540 , when the identification result in operation S530 is Yes, the
S550 단계에서, 서버(1000)는, S530 단계에서의 식별 결과가 No인 경우, 제1 가상 환경 공간에 존재하는 복수의 객체들 중 하나 이상의 객체를 제2 가상 환경 공간에 렌더링할지를 결정할 수 있다. 제1 가상 환경 공간에 존재하는 복수의 객체들 중 하나 이상의 객체를 제2 가상 환경 공간에 렌더링한다는 것은 전자 장치가 렌더링한 제2 가상 환경 공간에 이후 과정에서 선택될 하나 이상의 객체를 렌더링하여 추가한다는 것을 의미할 수 있다.In operation S550 , when the identification result in operation S530 is No, the
일 실시예에 따르면, 서버(1000)는 사용자 입력을 수신하고 이에 기초하여, 제1 가상 환경 공간에 존재하는 복수의 객체들 중 하나 이상의 객체를 제2 가상 환경 공간에 렌더링할지를 결정할 수 있다. 또다른 실시예에 따르면, 서버(1000)는 기 결정된 설정에 기초하여, 제1 가상 환경 공간에 존재하는 복수의 객체들 중 하나 이상의 객체를 제2 가상 환경 공간에 렌더링할지를 결정할 수 있다.According to an embodiment, the
S560 단계에서, 서버(1000)는, S520 단계에서의 식별 결과가 Yes이거나, S550 단계에서의 결정 결과가 No인 경우, 제1 가상 환경 공간에 존재하는 모든 객체를 선택할 수 있다. 이때, 제1 가상 환경 공간에 존재하는 모든 객체에는 제1 가상 환경 공간의 배경에 대응하는 객체도 포함될 수 있다.In operation S560, when the identification result in operation S520 is Yes or the determination result in operation S550 is No, the
S570 단계에서 서버(1000)는, S550 단계에서의 결정 결과가 Yes인 경우, 제2 가상 환경 공간에 관한 정보를 식별할 수 있다. 제2 가상 환경 공간에 관한 정보는 제2 가상 환경 공간에 존재하는 객체의 목록, 객체의 타입, 객체의 크기, 객체의 위치 및 객체의 회전 중 적어도 하나에 관한 정보를 포함할 수 있다.In step S570 , when the determination result in step S550 is Yes, the
S580 단계에서, 서버(1000)는 제2 가상 환경 공간에 존재하는 적어도 하나의 객체 및 복수의 객체들 간의 관계에 기초하여, 복수의 객체들 중 하나 이상의 객체를 선택할 수 있다.In operation S580 , the
도 6을 참고하면, S610 단계에서, 서버(1000)는 선택된 하나 이상의 객체에 관한 영상 데이터를 생성할 수 있다. S620 단계에서, 서버(1000)는 생성된 영상 데이터를 전자 장치(2000, 2100, 2200)에게 전송할 수 있다.Referring to FIG. 6 , in step S610 , the
도 7a 내지 도 7c는 본 개시의 일 실시예에 따라 서버(1000)가 가상 환경 공간에 존재하는 복수의 객체들 간의 관계를 식별하는 과정을 설명하기 위한 도면이다.7A to 7C are diagrams for explaining a process in which the
도 7a는 본 개시의 일 실시예에 따라, 가상 환경 공간에 존재하는 복수의 객체들 간의 인접도에 기초하여 관계를 식별하는 과정을 도시한다.7A illustrates a process of identifying a relationship based on a degree of proximity between a plurality of objects existing in a virtual environment space, according to an embodiment of the present disclosure.
도 7a를 참조하면, 가상 환경 공간에 존재하는 복수의 객체들을 식별한 결과로서 세그먼트화 마스크(510)가 도시되어 있다. 일 실시예에 따르면, 가상 환경 공간에 존재하는 사람(712), 술잔(714), 배경(716) 및 테이블(718)이 식별될 수 있다. 가상 환경 공간에 존재하는 복수의 객체들을 식별한 결과로서 세그먼트화 마스크(710)가 도시되어 있지만, 이에 제한되지 않는다. Referring to FIG. 7A , a segmentation mask 510 is illustrated as a result of identifying a plurality of objects existing in the virtual environment space. According to an embodiment, a
일 실시예에 따르면, 서버(1000)는 복수의 객체들 간의 접촉 면적 또는 중심 간 거리에 기초하여 관계를 식별할 수 있다. 예를 들어, 제1 객체의 전체 면적 중 제2 객체와 접촉한 면적이 기 설정된 값 이상인 경우, 서버(1000)는 제1 객체와 제2 객체 간의 관계가 존재한다고 판단할 수 있다. 또는, 제1 객체의 중심과 제2 객체의 중심 간 거리가 기 설정된 값 이하일 경우, 서버(1000)는 제1 객체와 제2 객체 간의 관계가 존재한다고 판단할 수 있다.According to an embodiment, the
예를 들어, 서버(1000)는 술잔(714)의 전체 면적 중 사람(712)과 접촉한 면적이 기 설정된 값 이상이므로, 술잔(714)과 사람(712) 간의 관계가 존재한다고 판단할 수 있다. 또한, 서버(1000)는 사람(712)의 중심과 테이블(718)의 중심 간 거리가 기 설정된 값 이하이므로, 사람(712)과 테이블(718) 간의 관계가 존재한다고 판단할 수 있다.For example, the
서버(1000)가 객체들 간의 관계를 식별한 경우, 서버(1000)는 관계가 존재하는 객체들 간의 위치 관계를 식별할 수 있다. 일 실시예에 따르면, 서버(1000)는 관계가 존재하는 객체들 간의 위치 관계를 식별하고, 이를 벡터로서 나타낼 수 있다. 예를 들어, 서버(1000)는 술잔(714)과 사람(712)의 중심 간의 위치 차이를 벡터(722)로서 나타낼 수 있다. 또한, 서버(1000)는 사람(712)과 테이블(718)의 중심 간의 위치 차이를 벡터(724, 726)로서 나타낼 수 있다. 벡터는 방향을 가지는 물리량으로서 판단의 기준이 되는 객체에 따라 일방향으로 나타날 수 있지만 양방향으로도 나타날 수도 있다. 예를 들어, 술잔(714)을 기준으로 사람(712)과의 위치 차이를 벡터로 나타내는 경우, 벡터(722)의 작용점이 술잔(714)에 위치하고 벡터(722)의 방향이 사람(712)을 향할 수 있다. 한편, 객체들 간의 위치 관계를 나타내는 방법으로서 벡터가 도시되어 있지만, 이는 실시예에 불과할 뿐 이에 제한되지 않는다.When the
도 7b는 본 개시의 일 실시예에 따라, 가상 환경 공간에 존재하는 복수의 객체들 간의 의미론적 추론(semantic reasoning)에 기초하여 관계를 식별하는 과정을 도시한다.7B illustrates a process of identifying a relationship based on semantic reasoning between a plurality of objects existing in a virtual environment space, according to an embodiment of the present disclosure.
도 7b를 참조하면, YOLO(You Only Look One) 알고리즘을 이용하여 가상 환경 공간에 존재하는 복수의 객체들을 식별한 결과(730)가 도시되어 있다. 일 실시예에 따르면, 가상 환경 공간에 존재하는 소년(732), 포크(734), 아이들(736), 테이블(738) 및 디저트(740)가 식별될 수 있다. YOLO 알고리즘을 이용하여, 가상 환경 공간에 존재하는 복수의 객체들을 식별한 결과가 도시되어 있지만, 이에 제한되지 않는다. 한편, 세그먼트화 마스크(710) 또는 YOLO 알고리즘을 이용하여 식별한 결과(730)는 사용자의 주변 환경 공간 또는 미디어 콘텐츠 내 존재하는 하나 이상의 객체를 식별하는 과정에서 획득될 수 있다.Referring to FIG. 7B , a
일 실시예에 따르면, 서버(1000)는 제1 객체의 의미와 제2 객체의 의미에 기초하여, 객체 간 수행될 수 있는 행동이나 위치 관계 등을 추론할 수 있는 경우, 제1 객체와 제2 객체 간의 관계가 존재한다고 판단할 수 있다.According to an embodiment, when the
도 7b를 참조하면, 예를 들어, 서버(1000)가 소년(732)이 포크(734)를 쥘 수 있다고 추론할 수 있으므로, 서버(1000)는 소년(732)과 포크(734) 간의 관계가 존재한다고 판단할 수 있다. 또한, 서버(1000)가 아이들(736)이 테이블(738)을 둘러 앉을 수 있다고 추론할 수 있으므로, 서버(1000)는 아이들(736)과 테이블(738) 간의 관계가 존재한다고 판단할 수 있다. 서버(1000)가 아이들(736)이 디저트(740)을 먹을 수 있다고 추론할 수 있으므로, 서버(1000)는 아이들(736)과 디저트(740) 간의 관계가 존재한다고 판단할 수 있다.Referring to FIG. 7B , for example, since
한편, 도 7a 내지 도 7b는 서버(1000)가 복수의 객체들 간의 인접도 또는 의미론적 추론에 기초하여 관계를 식별하는 실시예를 도시하지만, 이는 일 실시예에 불과하며, 서버(1000)는 다른 요인에 기초하여 복수의 객체들 간의 관계를 식별할 수 있다. 예를 들어, 서버(1000)는 객체의 움직임에 기초하여 관계를 식별할 수 있다. 보다 구체적으로, 서버(1000)는 객체가 서로 다른 시작점에서 동일한 방향 및 속도로 이동하거나 또는 서로 다른 시작점에서 동일한 장소로 이동하는 등의 움직임에 기초하여 관계가 존재한다고 판단할 수 있다.Meanwhile, although FIGS. 7A to 7B show an embodiment in which the
일 실시예에 따르면, 서버(1000)는 전술한 하나의 요인에 기초하여 객체들 간의 관계를 식별할 수 있지만, 이에 제한되지 않고, 둘 이상의 요인에 기초하여 객체들 간의 관계를 식별할 수도 있다.According to an embodiment, the
도 7c는 본 개시의 일 실시예에 따라, 서버(1000)가 가상 환경 공간에 존재하는 복수의 객체들 간의 관계를 식별한 결과에 대응하는 표(750)를 도시한다.7C illustrates a table 750 corresponding to a result of the
객체 열(752)은 가상 환경 공간에 존재하는 복수의 객체들에 관한 정보를 포함할 수 있다.The
시간 열(754)은 객체 간의 관계가 식별된 시간에 관한 정보를 포함할 수 있다. 한편, 표(750)는 객체 간의 관계가 식별된 시간을 초(second)를 기준으로 나누어 나타냈지만, 프레임 넘버(frame number)를 기준으로 나눌 수도 있으며, 이에 제한되지 않는다.The
위치 열(756) 및 크기 열(758)은 식별된 객체의 위치 및 크기에 관한 정보를 포함할 수 있다. 일 실시예에 따르면, 식별된 객체의 위치는 객체의 중심의 위치로 표현되고, 객체의 크기는 객체의 면적으로 표현될 수 있으나, 이에 제한되지 않는다.The
관계 열(760)은 특정 시간에 객체 열(752)의 객체와 관계가 존재한다고 판단된 객체에 관한 정보를 포함할 수 있다. 표(750)에는 특정 시간에 하나의 객체만이 객체 열(752)의 객체와 관계가 존재하는 것으로 도시되어 있지만, 일 실시예에 따라, 특정 시간에 2 이상의 객체가 객체 열(752)의 객체와 관계가 존재하는 것으로 판단될 수 있다.The
벡터 열(762)은 관계가 존재한다고 판단된 객체들의 중심 간의 위치 차이에 관한 정보를 포함할 수 있다.The
한편, 표(750)의 항목에 위치 열(756) 및 크기 열(758) 등이 포함되어 있지만, 이는 실시예에 불과할 뿐, 사용자의 주변 환경 공간 또는 미디어 콘텐츠 내 존재하는 하나 이상의 객체를 식별한 결과의 표현 방법에 따라 표(750)의 항목은 달라질 수 있다.Meanwhile, although the items of the table 750 include a
도 8a 내지 도 8f는 본 개시의 일 실시예에 따라 서버(1000)가 전자 장치의 타입, 사용자의 주변 환경 공간에 관한 정보 및 복수의 객체들 간의 관계에 기초하여, 가상 환경 공간에 존재하는 복수의 객체들을 중 하나 이상의 객체를 선택하는 과정을 설명하기 위한 도면이다. 도 7a 내지 도 7c와 중복되는 내용은 간략하게 설명하기로 한다.8A to 8F are diagrams illustrating a
도 8a는 본 개시의 일 실시예에 따른, 증강 현실 장치 사용자의 주변 환경 공간을 도시한다. 사용자의 주변 환경 공간에는 테이블(802), 체스판(804), 소파(806) 및 쿠션(808)이 존재할 수 있다.8A illustrates an environment space around a user of an augmented reality device, according to an embodiment of the present disclosure. A table 802 , a
도 8b는 본 개시의 일 실시예에 따라, 서버(1000)가 사용자의 주변 환경 공간에 존재하는 하나 이상의 객체를 식별한 결과에 대응하는 표(820)를 도시한다. 객체 열(822)은 사용자 주변 환경 공간에 존재하는 하나 이상의 객체(802 내지 808)에 관한 정보를 포함할 수 있다. 위치 열(824) 및 크기 열(826)은 식별된 객체의 위치 및 크기에 관한 정보를 포함할 수 있다. 8B illustrates a table 820 corresponding to a result of the
도 8c는 본 개시의 일 실시예에 따라, 서버(1000)가 가상 환경 공간에 존재하는 복수의 객체들 간의 관계를 식별한 결과에 대응하는 표(840)를 도시한다. 도 8c의 표(840)는 도 7c의 표(750)와 동일한 식별 결과를 나타낼 수 있다.FIG. 8C illustrates a table 840 corresponding to a result of the
도 8d는 본 개시의 일 실시예에 따라, 서버(1000)가 가상 환경 공간에 존재하는 복수의 객체들 간의 관계에 기초하여 하나 이상의 객체를 선택한 결과에 대응하는 표(860)를 도시한다. 표(860)는 도 8b의 표(820)와 비교하여, 시간 열(862), 관련 객체 열(864) 및 벡터 열(866)을 더 포함할 수 있다.FIG. 8D illustrates a table 860 corresponding to a result of the
일 실시예에 따르면, 서버(1000)는 가상 환경 공간에 존재하는 복수의 객체들 중 사용자의 주변 환경 공간에 존재하는 객체에 대응하는 객체를 식별할 수 있다. 예를 들어, 서버(1000)는 가상 환경 공간에 존재하는 복수의 객체들 중 사용자의 주변 환경 공간에 존재하는 테이블(802)에 대응하는 테이블(846)을 식별할 수 있다. 다음으로, 서버(1000)는 표(840)에 기초하여, 식별된 객체와 관계가 있는 객체를 선택하고 관련 객체 열(864)에 입력할 수 있다. 예를 들어, 서버(1000)는 표(840)에 기초하여, 테이블(846)과 관계가 있는 사람(842)를 선택하고 관련 객체 열(864)에 입력할 수 있다. 일 실시예에 따르면, 서버(1000)는 표(840)에 기초하여, 관계가 식별된 시간 및 관계가 있는 객체 간 위치 차이를 나타내는 벡터에 관한 정보를 획득하고, 이를 표(860)의 시간 열(862) 및 벡터 열(866) 각각에 입력할 수 있다. 예를 들어, 서버(1000)는 표(840)에 기초하여, 테이블(846)과 사람(842) 간의 관계가 식별된 시간에 관한 정보인 0:03~0:04와 0:04~0:05를 획득하고, 해당 시간의 테이블(846)과 사람(842) 간의 위치 차이를 나타내는 벡터 {10, 256}와 {10, 258}을 획득할 수 있다. 이후, 서버(1000)는 획득한 시간 및 벡터에 관한 정보를 표(860)의 시간 열(862) 및 벡터 열(866) 각각에 입력할 수 있다.According to an embodiment, the
도 8e는 본 개시의 일 실시예에 따라, 서버(1000)가, 가상 환경 공간에 존재하는 복수의 객체들 간의 관계에 기초하여, 선택된 객체와 관계가 있는 객체를 추가로 선택한 결과에 대응하는 표(880)을 도시한다. 전술한 동작과 중복되는 동작은 간략하게 설명하기로 한다.8E is a table corresponding to a result of the
일 실시예에 따르면, 서버(1000)는 관련 객체 열(864)에 입력된 객체를 객체 열(822)에 추가로 입력할 수 있다. 예를 들어, 서버(1000)는 관련 객체 열(864)에 입력된 사람을 객체 열(822)에 추가로 입력할 수 있다. 다음으로, 서버(1000)는 표(840)에 기초하여, 객체 열(822)에 추가로 입력된 객체의 크기 및 위치를 결정할 수 있다. 예를 들어, 서버(1000)는 테이블(846)과 사람(842)의 위치 차이를 나타내는 벡터에 기초하여, 사람(882)의 위치 및 크기를 결정하고 이를 위치 열(824) 및 객체 열(826)에 입력할 수 있다. 이때, 서버(1000)는 사용자의 주변 환경 공간에 관한 정보에 기초하여, 사람(882)의 위치 및 크기를 조절할 수 있다.According to an embodiment, the
일 실시예에 따르면, 서버(1000)는 새롭게 추가된 사람(882)에 대해 도 8d에 관하여 서술한 동작을 반복하여 수행할 수 있다. 예를 들어, 서버(1000)는 사람(882)에 대응하는 사람(842)를 식별하고, 사람과 관계가 있는 술잔(844)에 관한 정보를 표(880)에 입력할 수 있다. 이때, 서버(1000)는 판단의 기준이 되는 객체가 사람(882)임을 고려하여, 표(840)의 벡터와 반대 방향의 벡터를 입력할 수 있다.According to an embodiment, the
이후, 서버(1000)는 추가로 입력된 객체와 관계가 있는 객체를 식별하지 못할 때까지 상기 동작들을 반복하여 수행하거나 또는 기 설정된 횟수만큼 상기 동작들을 반복하여 수행할 수 있다.Thereafter, the
도 8f는 본 개시의 일 실시예에 따라, 가상 환경 공간에 존재하는 복수의 객체들 중 선택된 객체에 관한 영상 데이터를 렌더링한 결과를 도시한다. 예를 들어, 전자 장치(2000, 2100, 2200)은 선택된 사람(882) 및 술잔(884)이 포함된 영상 데이터를 수신하고 이를 렌더링할 수 있다.8F illustrates a result of rendering image data regarding a selected object from among a plurality of objects existing in a virtual environment space, according to an embodiment of the present disclosure. For example, the
한편, 도 8a 내지 도 8f가 전자 장치(2000, 2100, 2200)가 증강 현실 장치인 경우에 서버(1000)가 동작하는 방법을 도시하지만, 서버(1000)는 전자 장치(2000, 2100, 2200)가 가상 현실 장치인 경우에도 상기 동작들을 수행할 수 있다.Meanwhile, although FIGS. 8A to 8F illustrate a method in which the
도 9 내지 도 10은 본 개시의 일 실시예에 따라 사용자의 주변 환경 공간이 변화한 경우, 전자 장치들(2000, 2100)과 서버(1000) 간의 동작 절차를 나타내는 흐름도이다. 도 2 및 도 3과 중복되는 동작은 간략하게 설명하기로 한다.9 to 10 are flowcharts illustrating an operation procedure between the
도 9는 본 개시의 일 실시예에 따라 서버(1000)가 제1 전자 장치(2000)의 사용자의 주변 환경 공간에 관한 정보에 기초하여 가상 환경 공간에 관한 정보를 결정하지 않은 경우, 제1 전자 장치(2000)와 서버(1000) 간의 동작 절차를 도시한다.9 is a diagram illustrating a case in which the
S910 단계에서, 제1 전자 장치(2000)는 서버(1000)에게 제2 사용자 정보를 전송할 수 있다. 일 실시예에 따르면, 제2 사용자 정보는 사용자의 변경된 주변 환경 공간에 관한 정보를 포함할 수 있다. 이때, 사용자의 주변 환경 공간이 변화하였다는 것은 사용자의 주변 환경 공간에 존재하는 객체의 목록, 타입, 크기, 위치 또는 회전 중 적어도 하나에 관한 정보가 변경되었다는 것을 의미할 수 있다.In operation S910 , the first
S920 단계에서, 서버(1000)는 제2 사용자 정보에 기초하여, 사용자의 변경된 주변 환경 공간에 관한 정보를 식별할 수 있다.In operation S920 , the
S930 단계에서, 서버(1000)는 전자 장치의 타입, 사용자의 변경된 주변 환경 공간에 관한 정보 및 복수의 객체들 간의 관계에 기초하여, 복수의 객체들 중 하나 이상의 객체를 선택할 수 있다. In step S930 , the
S940 단계에서, 서버(1000)는 선택된 하나 이상의 객체에 관한 영상 데이터를 생성할 수 있다. 일 실시예에 따라, 영상 데이터에 포함된 하나 이상의 객체의 목록, 타입, 크기, 위치 및 회전 중 적어도 하나에 관한 정보는 사용자의 주변 환경 공간이 변화하기 전의 정보와 같을 수도 또는 다를 수도 있다.In operation S940 , the
S950 단계에서, 서버(1000)는 생성된 영상 데이터를 제1 전자 장치(2000)에게 전송할 수 있다. S960 단계에서, 제1 전자 장치(2000)는 수신한 영상 데이터에 기초하여, 렌더링을 수행할 수 있다.In operation S950 , the
도 10은 본 개시의 일 실시예에 따라 서버(1000)가 제1 전자 장치(2000)의 사용자의 주변 환경 공간에 관한 정보에 기초하여 가상 환경 공간에 관한 정보를 결정한 경우, 제1 및 제2 전자 장치(2000, 2100)와 서버(1000) 간의 동작 절차를 도시한다.10 is a diagram illustrating first and second cases when the
S1010 단계에서, 제1 전자 장치(2000)는 서버(1000)에게 제2 사용자 정보를 전송할 수 있다. 일 실시예에 따르면, 제2 사용자 정보는 사용자의 변경된 주변 환경 공간에 관한 정보를 포함할 수 있다.In step S1010 , the first
S1020 단계에서, 서버(1000)는 제2 사용자 정보에 기초하여, 사용자의 변경된 주변 환경 공간에 관한 정보를 식별할 수 있다.In step S1020 , the
S1025 단계에서, 서버(1000)는 사용자의 변경된 주변 환경 공간에 관한 정보에 기초하여, 제2 가상 환경 공간에 관한 정보를 결정할 수 있다.In step S1025 , the
S1030 단계에서, 서버(1000)는 제2 가상 환경 공간에 존재하는 제2 복수의 객체들 간의 관계를 식별할 수 있다. 제2 복수의 객체들 간의 관계는 사용자의 주변 환경 공간이 변화하기 전의 복수의 객체들 간의 관계와 같을 수도 또는 다를 수도 있다.In operation S1030 , the
S1040 단계에서, 서버(1000)는 전자 장치의 타입, 사용자의 주변 환경 공간에 관한 정보 및 제2 복수의 객체들 간의 관계에 기초하여, 복수의 객체들 중 하나 이상의 객체를 선택할 수 있다.In operation S1040 , the
S1050 단계에서, 서버(1000)는 선택된 하나 이상의 객체에 관한 영상 데이터를 생성할 수 있다. In operation S1050 , the
S1060 단계에서, 서버(1000)는 생성된 영상 데이터를 제1 또는 제2 전자 장치(2000, 2100)에게 전송할 수 있다. S1070 단계에서, 제1 또는 제2 전자 장치(2000, 2100)는 수신한 영상 데이터에 기초하여, 렌더링을 수행할 수 있다. 일 실시예에 따라, 서버(1000)는 제2 사용자 정보를 전송한 제1 전자 장치(2000)에게는 생성된 영상 데이터를 전송하지 않을 수 있다.In operation S1060 , the
도 11은 서버(1000)와 전자 장치(2000) 간의 동작 절차를 개략적으로 설명하기 위한 도면이다.11 is a diagram schematically illustrating an operation procedure between the
일 실시예에 따르면, 서버(1000)는 네트워크 인터페이스(1110), 프로세서(1120) 및 메모리(1130)를 포함할 수 있다. 그러나, 서버(1000)의 구성은 전술한 바에 한정되지 않고, 더 많은 구성을 포함하거나 적은 구성을 포함할 수 있다.According to an embodiment, the
서버(1000)는 네트워크 인터페이스(1110)를 이용하여 전자 장치(2000)로부터 스트리밍 요청 및 사용자 정보(1142)를 수신하고, 선택된 하나 이상의 객체에 관한 영상 데이터(1144)를 전자 장치(2000)에게 전송할 수 있다.The
일 실시예에 따르면, 프로세서(1120)는 메모리(1130) 내 하나 이상의 인스트럭션을 실행함으로써 서버(1000)의 전반적인 동작을 제어할 수 있다. According to an embodiment, the
예를 들어, 프로세서(1120)는 전자 장치(2000)로부터 수신한 사용자 정보에 기초하여, 사용자의 주변 환경 공간에 존재하는 하나 이상의 객체를 식별할 수 있다. 또한, 프로세서(1120)는 미디어 컨텐츠 내 존재하는 하나 이상의 객체를 식별할 수 있다. For example, the
프로세서(1120)는 미디어 컨텐츠 또는 사용자의 주변 환경 공간에 관한 정보에 기초하여 가상 환경 공간에 관한 정보를 결정할 수 있다. 또한, 프로세서(1120)는 가상 환경 공간에 존재하는 복수의 객체들 간의 관계를 식별할 수 있다.The
프로세서(1120)는 전자 장치(2000)의 타입, 사용자의 주변 환경 공간 및 복수의 객체들 간의 관계에 기초하여, 복수의 객체들 중 하나 이상의 객체를 선택할 수 있다. 또한, 프로세서(1120)는 선택된 하나 이상의 객체에 관한 영상 데이터를 생성할 수 있다.The
프로세서(1120)는 생성된 영상 데이터(1144)를 전자 장치(2000)에게 전송할 수 있다.The
프로세서(1120)의 상기 동작들과 관련하여, 도 2 및 도 3을 참조하여 전술한 바 있으므로, 자세한 내용은 생략하겠다.With respect to the operations of the
일 실시예에 따르면, 메모리(1130)는 서버(1000)가 사용자의 주변 환경 공간 또는 미디어 컨텐츠에 존재하는 하나 이상의 객체를 식별하기 위한 인스트럭션들을 저장하는 객체 식별 모듈(1132)을 포함할 수 있다.According to an embodiment, the
메모리(1130)는 서버(1000)가 미디어 컨텐츠 또는 사용자의 주변 환경 공간에 관한 정보에 기초하여 가상 환경 공간에 관한 정보를 결정하기 위한 인스트럭션들을 저장하는 가상 환경 공간 관리 모듈(1134)을 포함할 수 있다. 이때, 가상 환경 공간 관리 모듈(1134)은 가상 환경 공간에 관한 정보를 결정하고 가상 환경 공간에 존재하는 객체들에 관한 정보를 관리하기 위한 모듈로서, 3D 게임 엔진 또는 3D 시뮬레이션 모듈을 의미할 수 있다.The
메모리(1130)는 서버(1000)가 가상 환경 공간에 존재하는 복수의 객체들 간의 관계를 식별하기 위한 인스트럭션들을 저장하는 관계 식별 모듈(1136)을 포함할 수 있다. 또한, 메모리(1130)는 서버(1000)가 전자 장치(2000)의 타입, 사용자의 주변 환경 공간에 관한 정보 및 복수의 객체들 간의 관계에 기초하여, 복수의 객체들 중 하나 이상의 객체를 선택하기 위한 인스트럭션들을 저장하는 객체 선택 모듈(1138)을 포함할 수 있다. The
메모리(1130)는 서버(1000)가 선택된 하나 이상의 객체에 관한 영상 데이터를 생성하기 위한 인스트럭션들을 저장하는 장면 구성 모듈(scene composition module, 1140)을 포함할 수 있으나, 이에 한정되는 것은 아니다.The
일 실시예에 따르면, 전자 장치(2000)는 네트워크 인터페이스(1150), 센싱 모듈(1160), 프로세서(1170) 및 메모리(1180)를 포함할 수 있다. 그러나, 전자 장치(2000)의 구성은 전술한 바에 한정되지 않고, 더 많은 구성을 포함하거나 적은 구성을 포함할 수 있다.According to an embodiment, the
전자 장치(2000)는 네트워크 인터페이스(1150)를 이용하여 서버(1000)에게 스트리밍 요청 및 사용자 정보(1142)를 전송하고, 선택된 하나 이상의 객체 관한 영상 데이터(1144)를 서버(1000)로부터 수신할 수 있다.The
전자 장치(2000)는 센싱 모듈(1160)을 이용하여, 사용자의 주변 환경 공간에 관한 정보를 획득할 수 있다. 또한, 전자 장치(2000)는 센싱 모듈(1160)을 이용하여, 제1 가상 환경 공간에 존재하는 복수의 객체들 중 하나 이상의 객체를 제2 가상 환경 공간에 렌더링할지 여부에 관한 사용자 입력을 획득할 수 있다.The
일 실시예에 따르면, 프로세서(1170)는 메모리(1180) 내 하나 이상의 인스트럭션을 실행함으로써 전자 장치(2000)의 전반적인 동작을 제어한다. 예를 들어, 프로세서(1170)는 메모리(1180)에 저장된 하나 이상의 인스트럭션을 실행함으로써, 센싱 모듈(1160), 네트워크 인터페이스(1150) 등을 제어할 수 있다.According to an embodiment, the
일 실시예에 따르면, 메모리(1180)는 서버(1000)로부터 수신한 영상 데이터(1144)에 기초하여 렌더링을 수행하기 위한 인스트럭션들을 저장하는 렌더링 모듈(1182)을 포함할 수 있으나, 이에 한정되는 것은 아니다.According to an embodiment, the
도 12a 내지 도 12e는 본 개시의 일 실시예에 따라, 전자 장치(2000, 2100, 2200)가 서버(1000)에게 스트리밍 요청 및 사용자 정보를 전송하고, 서버(1000)로부터 영상 데이터를 수신하여 렌더링을 수행하는 일 예를 설명하기 위한 도면이다.12A to 12E show that the
도 12a를 참조하면, 일 실시예에 따라 제1 및 제2 전자 장치(2000, 2100)는 증강 현실 장치일 수 있고, 제3 전자 장치(2200)는 가상 현실 전자 장치일 수 있다. 일 실시예에 따르면, 제1 전자 장치(2000)의 사용자의 주변 환경 공간(빈 사무실)에는 테이블(1202)만이 존재할 수 있다. 또한, 제2 전자 장치(2100)의 사용자의 주변 환경 공간(회의실)에는 테이블(1212), 노트북(1214), 방석(1216) 및 의자(1218)가 존재할 수 있다. 제3 전자 장치(2200)는 디폴트 영상 데이터에 기초하여 제2 가상 환경 공간에 관한 정보를 결정할 수 있다. 이는 제3 전자 장치가 렌더링한 제2 가상 환경 공간에 아무런 객체가 존재하지 않다는 것을 의미할 수 있다. 그러나, 이는 일 실시예에 불과하며, 제3 전자 장치(2200)는 이전에 수신한 영상 데이터에 기초하여 하나 이상의 객체가 존재하는 제2 가상 환경 공간을 렌더링할 수 있다.Referring to FIG. 12A , according to an embodiment, the first and second
일 실시예에 따르면, 전자 장치(2000, 2100, 2200)는 서버(1000)에게 스트리밍 요청 및 제1 사용자 정보를 전송할 수 있다. 제1 사용자 정보는 전자 장치(2000, 2100, 2200)의 타입에 관한 정보 또는 사용자의 주변 환경 공간에 관한 정보 등을 포함할 수 있다. 예를 들어, 제1 전자 장치(2000)가 전송한 제1 사용자 정보는 제1 전자 장치(2000)가 증강 현실 장치임을 나타내는 정보 및 사용자의 주변 환경 공간(사무실)에 관한 정보 등을 포함할 수 있다. 또한, 제2 전자 장치(2100)가 전송한 제1 사용자 정보는 제2 전자 장치(2100)가 증강 현실 장치임을 나타내는 정보 및 사용자의 주변 환경 공간(회의실)에 관한 정보 등을 포함할 수 있다. 제3 전자 장치(2200)가 전송한 제1 사용자 정보는 제3 전자 장치(2200)가 가상 현실 장치임을 나타내는 정보 및 제3 전자 장치(2200)가 디폴트 영상 데이터에 기초하여 제2 가상 환경 공간을 렌더링했는지 여부에 대한 정보 등을 포함할 수 있다. 다만, 제1 사용자 정보에 포함되는 정보는 이에 제한되지 않는다.According to an embodiment, the
일 실시예에 따르면, 서버(1000)는 미디어 컨텐츠 또는 사용자의 주변 환경 공간에 관한 정보에 기초하여 제1 가상 환경 공간에 관한 정보를 결정할 수 있다. 예를 들어, 서버(1000)는 제2 전자 장치(2100) 사용자의 주변 환경 공간(회의실)에 관한 정보에 기초하여 제1 가상 환경 공간에 관한 정보를 결정할 수 있다. 또는, 서버(1000)는 제3 전자 장치(2200)가 렌더링한 제2 가상 환경 공간에 관한 정보에 기초하여 제1 가상 환경 공간에 관한 정보를 결정할 수 있다. According to an embodiment, the
일 실시예에 따르면, 서버(1000)는 제1 가상 환경 공간에 존재하는 복수의 객체들 간의 관계를 식별할 수 있다. 예를 들어, 서버(1000)는 제1 가상 환경 공간에 존재하는 객체들 간의 관계를 식별할 수 있다. 보다 구체적으로, 서버(1000)는 테이블(1212)과 노트북(1214) 간의 관계 및 방석(1216)과 의자(1218) 간의 관계가 존재한다고 판단할 수 있다.According to an embodiment, the
일 실시예에 따르면, 서버(1000)는 전자 장치(2000, 2100, 2200)의 타입, 사용자의 주변 환경 공간에 관한 정보 및 복수의 객체들 간의 관계에 기초하여, 가상 환경 공간에 존재하는 복수의 객체들 중 하나 이상의 객체를 선택할 수 있다. 예를 들어, 서버(1000)는 제1 전자 장치(2000)의 타입, 사용자의 주변 환경 공간에 관한 정보 및 복수의 객체들 간의 관계에 기초하여, 제2 및 제3 전자 장치(2100, 2200)의 사용자에 대응하는 객체 및 노트북(1214)을 선택할 수 있다. 또한, 서버(1000)는 제2 전자 장치(2100)의 타입, 사용자의 주변 환경 공간에 관한 정보 및 복수의 객체들 간의 관계에 기초하여, 제1 및 제3 전자 장치(2000, 2200)의 사용자에 대응하는 객체를 선택할 수 있다. 서버(1000)는 제3 전자 장치(2200)의 타입 및 복수의 객체들 간의 관계에 기초하여, 제1 및 제2 전자 장치(2000, 2100)의 사용자에 대응하는 객체를 포함한 모든 객체를 선택할 수 있다.According to an embodiment, the
일 실시예에 따르면, 서버(1000)는 선택된 하나 이상의 객체에 관한 영상 데이터를 생성하고, 생성된 영상 데이터를 전자 장치들(2000, 2100, 2200)에게 전송할 수 있다. According to an embodiment, the
도 12b를 참조하면, 전자 장치(2000, 2100, 2200)는 수신한 영상 데이터에 기초하여, 렌더링을 수행할 수 있다. 예를 들어, 제1 전자 장치(2000)는 제2 및 제3 전자 장치(2100, 2200)의 사용자에 대응하는 객체(1280, 1290) 및 노트북(1204)을 렌더링 할 수 있다. 또한, 제2 전자 장치(2100)는 제1 및 제3 전자 장치(2000, 2200)의 사용자에 대응하는 객체(1270, 1290)를 렌더링할 수 있다. 제3 전자 장치(2200)는 제1 및 제2 전자 장치(2000, 2100)의 사용자에 대응하는 객체(1270, 1280), 테이블(1222), 노트북(1224), 방석(1226) 및 의자(1228)를 렌더링할 수 있다. 그에 따라, 전자 장치(2000, 2100, 2200)의 사용자들은 마치 그들이 같은 공간에 존재하는 것과 같은 경험을 할 수 있다. 이때, 렌더링되는 객체들의 크기 및 위치는 사용자의 주변 환경 공간에 관한 정보에 기초하여 변경될 수 있다.Referring to FIG. 12B , the
한편, 도 12b 내지 도 12e는, 사용자의 주변 환경에 존재하는 객체와 제1 및 제2 전자 장치(2000, 2100)가 렌더링한 객체를 구별하기 위하여, 제1 및 제2 전자 장치(2000, 2100)가 렌더링한 객체의 윤곽(outline)을 굵게 도시하였다.Meanwhile, FIGS. 12B to 12E show the first and second
일 실시예에 따르면, 전자 장치(2000, 2100, 2200)의 사용자의 주변 환경 공간이 변화한 경우, 전자 장치(2000, 2100, 2200)는 서버(1000)에게 변경된 주변 환경 공간에 관한 정보를 포함하는 제2 사용자 정보를 전송할 수 있다.According to an embodiment, when the user's surrounding environment space of the
도 12c를 참조하면, 예를 들어, 제1 전자 장치(2000)의 사용자의 주변 환경 공간에 의자(1206)가 새롭게 추가된 경우, 제1 전자 장치(2000)는 의자(1206)에 관한 정보를 추가로 포함하는 제2 사용자 정보를 전송할 수 있다. 다음으로, 서버(1000)는 변경된 주변 환경 공간에 관한 정보 및 복수의 객체들 간의 관계에 기초하여, 제2 및 제3 전자 장치(2100, 2200)의 사용자에 대응하는 객체, 노트북(1214) 및 방석(1216)을 선택하고 선택한 객체들에 관한 영상 데이터를 제1 전자 장치(2000)에게 전송할 수 있다. 제1 전자 장치는 수신한 데이터에 기초하여 제2 및 제3 전자 장치(2100, 2200)의 사용자에 대응하는 객체(1280, 1290), 노트북(1204) 및 방석(1208)을 렌더링 할 수 있다.Referring to FIG. 12C , for example, when a
도 12d를 참조하면, 예를 들어, 제2 전자 장치(2100)의 사용자의 주변 환경 공간에서 노트북(1214)이 없어진 경우, 제2 전자 장치(2100)는 노트북(1214)에 관한 정보를 포함하지 않는 제2 사용자 정보를 전송할 수 있다. 다음으로, 서버(1000)는 변경된 주변 환경 공간에 관한 정보 및 복수의 객체들 간의 관계에 기초하여, 제2 및 제3 전자 장치(2100, 2200)의 사용자에 대응하는 객체를 선택하고, 선택한 객체에 관한 영상 데이터를 제1 전자 장치(2000)에게 전송할 수 있다. 또한, 서버(1000)는 제1 및 제2 전자 장치(2000, 2100)의 사용자에 대응하는 객체 및 테이블(1212), 방석(1216) 및 의자(1218)를 선택하고, 선택한 객체에 관한 영상 데이터를 제3 전자 장치(2200)에게 전송할 수 있다.Referring to FIG. 12D , for example, when the
일 실시예에 따르면, 제1 전자 장치(2000)는 수신한 데이터에 기초하여 제2 및 제3 전자 장치(2100, 2200)의 사용자에 대응하는 객체(1280, 1290)를 렌더링 할 수 있다. 또한, 제3 전자 장치(2200)는 제1 및 제2 전자 장치(2000, 2100)의 사용자에 대응하는 객체(1270, 1280), 테이블(1222), 방석(1226) 및 의자(1228)를 렌더링할 수 있다.According to an embodiment, the first
도 12e를 참조하면, 제2 전자 장치(2100)의 사용자의 주변 환경 공간에서 노트북(1214)의 위치 및 회전이 변경된 경우, 제2 전자 장치(2100)는 변경된 노트북(1244)에 관한 정보를 포함하는 제2 사용자 정보를 전송할 수 있다. 다음으로, 서버(1000)는 변경된 노트북(1244)에 관한 영상 데이터를 제1 및 제3 전자 장치(2000, 2200)에게 전송할 수 있다.Referring to FIG. 12E , when the position and rotation of the
일 실시예에 따르면, 제1 전자 장치(2000)는 변경된 노트북(1244)에 관한 영상 데이터에 기초하여 위치와 회전이 변경된 노트북(1234)을 렌더링할 수 있다. 또한, 제3 전자 장치(2200)는 변경된 노트북(1244)에 관한 영상 데이터에 기초하여 위치와 회전이 변경된 노트북(1254)을 렌더링할 수 있다.According to an embodiment, the first
서버(1000)가 사용자의 주변 환경 공간이 변화할 때마다 전술한 동작을 수행함으로써, 전자 장치(2000, 2100, 2200)의 사용자들은 마치 그들이 같은 공간에 존재하는 것과 같은 경험을 할 수 있다.When the
Claims (20)
상기 하나 이상의 인스트럭션들을 실행하는 적어도 하나의 프로세서를 포함하고,
상기 적어도 하나의 프로세서는 상기 하나 이상의 인스트럭션들을 실행함으로써,
전자 장치로부터 스트리밍 요청 및 제1 사용자 정보를 수신하고,
상기 제1 사용자 정보에 기초하여, 상기 전자 장치의 타입 및 사용자의 주변 환경 공간에 관한 정보를 식별하고,
제1 가상 환경 공간에 존재하는 복수의 객체들 간의 관계를 식별하고,
상기 전자 장치의 타입, 상기 사용자의 주변 환경 공간에 관한 정보 및 상기 복수의 객체들 간의 관계에 기초하여, 상기 복수의 객체들 중 하나 이상의 객체를 선택하고,
상기 선택된 하나 이상의 객체에 관한 영상 데이터를 상기 전자 장치에게 전송하는, 서버a memory storing one or more instructions; and
at least one processor executing the one or more instructions;
The at least one processor by executing the one or more instructions,
Receive a streaming request and first user information from the electronic device,
based on the first user information, identify information about a type of the electronic device and a user's surrounding environment space,
Identifies a relationship between a plurality of objects existing in the first virtual environment space,
selecting one or more objects from among the plurality of objects based on the type of the electronic device, information about the user's surrounding environment space, and a relationship between the plurality of objects,
A server that transmits image data regarding the selected one or more objects to the electronic device
상기 적어도 하나의 프로세서는 미디어 컨텐츠 또는 상기 사용자의 주변 환경 공간에 관한 정보에 기초하여, 상기 제1 가상 환경 공간에 관한 정보를 결정하는 것을 특징으로 하는, 서버.According to claim 1,
The at least one processor is configured to determine the information about the first virtual environment space based on media content or information about the user's surrounding environment space.
상기 복수의 객체들 중 하나 이상의 객체를 선택할 때, 상기 전자 장치가 증강 현실 장치인 경우, 상기 적어도 하나의 프로세서는 상기 사용자의 주변 환경 공간에 존재하는 적어도 하나의 객체 및 상기 복수의 객체들 간의 관계에 기초하여 선택하는 것을 특징으로 하는, 서버.According to claim 1,
When selecting one or more objects from among the plurality of objects, if the electronic device is an augmented reality device, the at least one processor is configured to control at least one object existing in the environment space surrounding the user and a relationship between the plurality of objects Characterized in selecting based on the, server.
상기 복수의 객체들 중 하나 이상의 객체를 선택할 때, 상기 전자 장치가 가상 현실 장치인 경우, 상기 적어도 하나의 프로세서는 상기 전자 장치가 렌더링하는 제2 가상 환경 공간에 관한 정보 및 상기 복수의 객체들 간의 관계에 기초하여 선택하는 것을 특징으로 하는, 서버.According to claim 1,
When one or more objects are selected from among the plurality of objects, if the electronic device is a virtual reality device, the at least one processor is configured to provide information on a second virtual environment space rendered by the electronic device and information about the space between the plurality of objects. A server, characterized in that the selection is based on a relationship.
상기 적어도 하나의 프로세서는 상기 제1 가상 환경 공간에 존재하는 상기 복수의 객체들 간의 관계를 식별할 때, 상기 복수의 객체들 간의 접촉 면적 및 중심 간 거리 중 적어도 하나에 기초하여 상기 복수의 객체들 간의 관계를 식별하는 것을 특징으로 하는, 서버.According to claim 1,
When the at least one processor identifies a relationship between the plurality of objects existing in the first virtual environment space, the plurality of objects are selected based on at least one of a contact area between the plurality of objects and a center-to-center distance. A server, characterized in that it identifies a relationship between them.
상기 적어도 하나의 프로세서는 상기 제1 가상 환경 공간에 존재하는 상기 복수의 객체들 간의 관계를 식별할 때, 의미론적 추론(semantic reasoning)에 기초하여 상기 복수의 객체들 간의 관계를 식별하는 것을 특징으로 하는, 서버.According to claim 1,
When the at least one processor identifies the relationship between the plurality of objects existing in the first virtual environment space, the at least one processor identifies the relationship between the plurality of objects based on semantic reasoning. that the server.
상기 적어도 하나의 프로세서는 상기 복수의 객체들 중 하나 이상의 객체를 선택할 때, 상기 사용자의 주변 환경 공간에 존재하는 적어도 하나의 객체 또는 상기 전자 장치가 렌더링하는 제2 가상 환경 공간에 존재하는 적어도 하나의 객체 중 제1 객체를 선택하고,
상기 복수의 객체들 간의 관계에 기초하여, 상기 제1 객체와 관계가 있는 제2 객체를 선택하는 것을 특징으로 하는, 서버.According to claim 1,
When the at least one processor selects one or more objects from among the plurality of objects, at least one object existing in the environment space surrounding the user or at least one object present in a second virtual environment space rendered by the electronic device Select the first object among the objects,
Based on the relationship between the plurality of objects, the server, characterized in that selecting a second object having a relationship with the first object.
상기 적어도 하나의 프로세서는 상기 복수의 객체들 간의 관계에 기초하여, 상기 제2 객체와 관계가 있는 제3 객체를 선택하는 것을 특징으로 하는, 서버.9. The method of claim 8,
The server, characterized in that the at least one processor selects a third object having a relationship with the second object based on a relationship between the plurality of objects.
상기 적어도 하나의 프로세서는 상기 전자 장치로부터 제2 사용자 정보를 수신하고,
상기 제2 사용자 정보는 상기 사용자의 변경된 주변 환경 공간에 관한 정보를 포함하는 것을 특징으로 하는, 서버.According to claim 1,
The at least one processor receives second user information from the electronic device,
The second user information is characterized in that it includes information about the changed surrounding environment space of the user, the server.
전자 장치로부터 스트리밍 요청 및 제1 사용자 정보를 수신하는 단계;
상기 제1 사용자 정보에 기초하여, 상기 전자 장치의 타입 및 사용자의 주변 환경 공간에 관한 정보를 식별하는 단계;
제1 가상 환경 공간에 존재하는 복수의 객체들 간의 관계를 식별하는 단계;
상기 전자 장치의 타입, 상기 사용자의 주변 환경 공간에 관한 정보 및 상기 복수의 객체들 간의 관계에 기초하여, 상기 복수의 객체들 중 하나 이상의 객체를 선택하는 단계; 및
상기 선택된 하나 이상의 객체에 관한 영상 데이터를 상기 전자 장치에게 전송하는 단계를 포함하는, 방법.A method performed by a server comprising:
Receiving a streaming request and first user information from the electronic device;
identifying information about a type of the electronic device and a user's surrounding environment space based on the first user information;
identifying a relationship between a plurality of objects existing in a first virtual environment space;
selecting one or more objects from among the plurality of objects based on the type of the electronic device, information about the user's surrounding environment space, and relationships between the plurality of objects; and
and transmitting image data regarding the selected one or more objects to the electronic device.
미디어 컨텐츠 또는 상기 사용자의 주변 환경 공간에 관한 정보에 기초하여, 상기 제1 가상 환경 공간에 관한 정보를 결정하는 단계를 더 포함하는, 방법.12. The method of claim 11,
The method further comprising the step of determining information about the first virtual environment space based on media content or information about the surrounding environment space of the user.
상기 전자 장치가 증강 현실 장치인 경우, 상기 사용자의 주변 환경 공간에 존재하는 적어도 하나의 객체 및 상기 복수의 객체들 간의 관계에 기초하여 선택하는 단계를 포함하는, 방법.The method of claim 11, wherein selecting one or more objects from among the plurality of objects comprises:
When the electronic device is an augmented reality device, the method comprising the step of selecting based on at least one object existing in a space surrounding the user and a relationship between the plurality of objects.
상기 전자 장치가 가상 현실 장치인 경우, 상기 전자 장치가 렌더링하는 제2 가상 환경 공간에 관한 정보 및 상기 복수의 객체들 간의 관계에 기초하여 선택하는 단계를 포함하는, 방법.The method of claim 11, wherein selecting one or more objects from among the plurality of objects comprises:
When the electronic device is a virtual reality device, the method comprising: selecting based on information about a second virtual environment space rendered by the electronic device and a relationship between the plurality of objects.
상기 복수의 객체들 간의 접촉 면적 및 중심 간 거리 중 적어도 하나에 기초하여 상기 복수의 객체들 간의 관계를 식별하는 단계를 포함하는, 방법The method of claim 11 , wherein the step of identifying a relationship between a plurality of objects existing in the first virtual environment space comprises:
identifying a relationship between the plurality of objects based on at least one of a center-to-center distance and a contact area between the plurality of objects;
의미론적 추론에 기초하여 상기 복수의 객체들 간의 관계를 식별하는 단계를 포함하는, 방법.The method of claim 11 , wherein the step of identifying a relationship between a plurality of objects existing in the first virtual environment space comprises:
and identifying a relationship between the plurality of objects based on semantic inference.
상기 사용자의 주변 환경 공간에 존재하는 적어도 하나의 객체 또는 상기 전자 장치가 렌더링하는 제2 가상 환경 공간에 존재하는 적어도 하나의 객체 중 제1 객체를 선택하는 단계; 및
상기 복수의 객체들 간의 관계에 기초하여, 상기 제1 객체와 관계가 있는 제2 객체를 선택하는 단계를 포함하는, 방법.The method of claim 11, wherein selecting one or more objects from among the plurality of objects comprises:
selecting a first object from among at least one object existing in an environment space surrounding the user or at least one object existing in a second virtual environment space rendered by the electronic device; and
and selecting a second object having a relationship with the first object based on the relationship between the plurality of objects.
상기 복수의 객체들 간의 관계에 기초하여, 상기 제2 객체와 관계가 있는 제3 객체를 선택하는 단계를 더 포함하는, 방법.The method of claim 17, wherein selecting one or more objects from among the plurality of objects comprises:
based on the relationship between the plurality of objects, further comprising selecting a third object having a relationship with the second object.
상기 전자 장치로부터 제2 사용자 정보를 수신하는 단계를 더 포함하고,
상기 제2 사용자 정보는 상기 사용자의 변경된 주변 환경 공간에 관한 정보를 포함하는, 방법.12. The method of claim 11,
Further comprising the step of receiving second user information from the electronic device,
The second user information includes information about the changed surrounding environment space of the user.
A computer-readable recording medium in which a program for executing the method of any one of claims 11 to 19 in a computer is recorded.
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020200186775A KR20220094988A (en) | 2020-12-29 | 2020-12-29 | Method and apparatus for providing augmented reality, virtual reality, mixed reality and extended reality services |
PCT/KR2021/002037 WO2022145574A1 (en) | 2020-12-29 | 2021-02-17 | Device and method for providing augmented reality, virtual reality, mixed reality, and extended reality services |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020200186775A KR20220094988A (en) | 2020-12-29 | 2020-12-29 | Method and apparatus for providing augmented reality, virtual reality, mixed reality and extended reality services |
Publications (1)
Publication Number | Publication Date |
---|---|
KR20220094988A true KR20220094988A (en) | 2022-07-06 |
Family
ID=82259468
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020200186775A KR20220094988A (en) | 2020-12-29 | 2020-12-29 | Method and apparatus for providing augmented reality, virtual reality, mixed reality and extended reality services |
Country Status (2)
Country | Link |
---|---|
KR (1) | KR20220094988A (en) |
WO (1) | WO2022145574A1 (en) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20230120973A (en) * | 2022-02-10 | 2023-08-17 | 주식회사 이매지니어스 | Method for providing augmented reality service with non-fungible token content |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DK180470B1 (en) * | 2017-08-31 | 2021-05-06 | Apple Inc | Systems, procedures, and graphical user interfaces for interacting with augmented and virtual reality environments |
US11249714B2 (en) * | 2017-09-13 | 2022-02-15 | Magical Technologies, Llc | Systems and methods of shareable virtual objects and virtual objects as message objects to facilitate communications sessions in an augmented reality environment |
US20190324538A1 (en) * | 2018-04-20 | 2019-10-24 | Immersion Corporation | Haptic-enabled wearable device for generating a haptic effect in an immersive reality environment |
US10573019B1 (en) * | 2018-09-25 | 2020-02-25 | Ebay Inc. | Augmented reality digital content search and sizing techniques |
US20200371673A1 (en) * | 2019-05-22 | 2020-11-26 | Microsoft Technology Licensing, Llc | Adaptive interaction models based on eye gaze gestures |
-
2020
- 2020-12-29 KR KR1020200186775A patent/KR20220094988A/en unknown
-
2021
- 2021-02-17 WO PCT/KR2021/002037 patent/WO2022145574A1/en active Application Filing
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20230120973A (en) * | 2022-02-10 | 2023-08-17 | 주식회사 이매지니어스 | Method for providing augmented reality service with non-fungible token content |
Also Published As
Publication number | Publication date |
---|---|
WO2022145574A1 (en) | 2022-07-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11195332B2 (en) | Information interaction method based on virtual space scene, computer equipment and computer-readable storage medium | |
US11477509B2 (en) | Immersive cognitive reality system with real time surrounding media | |
CN110809750B (en) | Virtually representing spaces and objects while preserving physical properties | |
US10917622B2 (en) | Information processing apparatus, display control method, and storage medium | |
EP2394448B1 (en) | Method and apparatus for creating virtual graffiti in a mobile virtual and augmented reality system | |
KR101643678B1 (en) | Method and apparatus for recognizing target object at machine side in human-machine interaction | |
US11483629B2 (en) | Providing virtual content based on user context | |
EP3258698A1 (en) | Server, user terminal device, and control method therefor | |
US20090111434A1 (en) | Mobile virtual and augmented reality system | |
US9509907B2 (en) | Information processing device, storage medium having moving image data stored thereon, information processing system, storage medium having moving image reproduction program stored thereon, and moving image reproduction method | |
KR20150026367A (en) | Method for providing services using screen mirroring and apparatus thereof | |
US11157530B2 (en) | Automatic generation of geographic imagery tours | |
WO2017087251A1 (en) | System and method for using augmented reality to visualize network service quality | |
WO2009029423A1 (en) | Mobile virtual and augmented reality system | |
KR20160108158A (en) | Method for synthesizing a 3d backgroud content and device thereof | |
US10957063B2 (en) | Dynamically modifying virtual and augmented reality content to reduce depth conflict between user interface elements and video content | |
CN106982240A (en) | The display methods and device of information | |
JP2014515153A (en) | Content conversion apparatus, content conversion method and storage medium therefor | |
CN109478342A (en) | Image display device and image display system | |
KR20220094988A (en) | Method and apparatus for providing augmented reality, virtual reality, mixed reality and extended reality services | |
CN113206993A (en) | Method for adjusting display screen and display device | |
CN106598250A (en) | VR display method and apparatus, and electronic device | |
KR102140077B1 (en) | Master device, slave device and control method thereof | |
JP7168969B2 (en) | Heat map presentation device and heat map presentation program | |
US10482671B2 (en) | System and method of providing a virtual environment |